diff --git a/DEPS b/DEPS index 9ca8bebc..4c98ddbe 100644 --- a/DEPS +++ b/DEPS
@@ -79,11 +79,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': '4be123fb6c04b366dc0b931c16340d29f2ce2f04', + 'skia_revision': '1a8d762a18d6f6494408a3a5e06a80097f8b85f7', # 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': 'd500271571b92cb18dcd7b15885b51e8f437d640', + 'v8_revision': '00dbe0281a2279b4e2395ba1a7ddf5a40f1ec73a', # 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. @@ -91,7 +91,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': 'b27b03a2c9ead5e4b367e9199a47d3de8a9a6663', + 'angle_revision': 'f0e89be699061ef17878b4dff0c5c2afcbebb036', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling build tools # and whatever else without interference from each other. @@ -103,7 +103,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': '9a7c2396705a23d1ce6bdba0025eb2316ae301c4', + 'pdfium_revision': '31e08d1d6db10d22c1ba9f3f68773f8a88f05e3b', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling openmax_dl # and whatever else without interference from each other. @@ -206,7 +206,7 @@ }, 'src/ios/third_party/material_components_ios/src': { - 'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '9de3fbdb9d71fdb0f643f5320a7331854651b592', + 'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '7d2e0214553aba8b5bb09fbe023df0f0dc48005a', 'condition': 'checkout_ios', }, @@ -277,7 +277,7 @@ }, 'src/third_party/android_tools': { - 'url': Var('chromium_git') + '/android_tools.git' + '@' + '9a70d48fcdd68cd0e7e968f342bd767ee6323bd1', + 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a', 'condition': 'checkout_android', }, @@ -657,7 +657,7 @@ Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '3c1cb0203b6cfc10389e85a350b2ea6ca29d01ce', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '3f693b9e75fc83a5c5233f21f0fddfa276edfb07', # commit position 21742 + Var('webrtc_git') + '/src.git' + '@' + '8d9dcb1c89354356df4e5c7623a907c05a3cc35a', # commit position 21742 'src/third_party/xdg-utils': { 'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d', @@ -680,7 +680,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@644d1e63d9ad9fe855d4e3712c34be8589e24e29', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@5dc7db08f8081b8e3b96a060f3279843295ad0f2', 'condition': 'checkout_src_internal', },
diff --git a/ash/components/strings/ash_components_strings_am.xtb b/ash/components/strings/ash_components_strings_am.xtb index a10441f0..728e9eb 100644 --- a/ash/components/strings/ash_components_strings_am.xtb +++ b/ash/components/strings/ash_components_strings_am.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="am"> +<translation id="104962181688258143">የፋይሎች መተግበሪያን ይክፈቱ</translation> +<translation id="1126871238933253947">እየተጠቀሙ ወደነበሩት የቀዳሚው ቁልፍ ሰሌዳ ቋንቋ ይቀይሩ።</translation> +<translation id="1195667586424773550">አገናኙን ወደ የትሩ አድራሻ አሞሌ ይጎትቱት</translation> +<translation id="1204450209689312104">አዲስ ትር ማንነት በማያሳውቅ ሁነታ ውስጥ ይክፈቱ</translation> +<translation id="1299858300159559687">አሁን ያለውን ገጽዎን ያትሙ</translation> <translation id="1383876407941801731">ፍለጋ </translation> +<translation id="1439252533104567537">ቁጥር ወዳለው ትር ይሂዱ</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ወይም <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">ማስጀመሪያ</translation> +<translation id="152892567002884378">ድምጽ ጨምር</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />፣ ከዚያ <ph name="ESC" /></translation> +<translation id="1652741121070700329">ወደ የቀዳሚው ቃል መጀመሪያ ይውሰዱ</translation> +<translation id="1679841710523778799">ብሩህነትን ጨምር</translation> +<translation id="168356808214100546"><ph name="ALT" />ን ተጭነው ይያዙ፣ መክፈት የሚፈልጉትን መስኮት እስኪያገኙ ድረስ <ph name="TAB" /> መታ ያድርጉ፣ ከዚያ ይልቀቁ።</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">በአድራሻ አሞሌው ላይ ወዳለው ግቤትዎ www. እና .com ያክሉ፣ ከዚያ ገጹን ይክፈቱ</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />፣ ከዚያ <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ወይም <ph name="LEFT" /></translation> +<translation id="1996162290124031907">ወደ የሚቀጥለው ትር ይሂዱ</translation> +<translation id="2010818616644390445">በመስኮቱ ውስጥ ያለው የመጨረሻ ትር ይሂዱ</translation> <translation id="2145908266289632567">የጽሑፍ አርትዖት</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 እስከ =</translation> +<translation id="2181097965834437145">የእልባት አሞሌን አሳይ ወይም ደብቅ</translation> +<translation id="2185166372312820725">ወደ ቀዳሚው ትር ሂድ</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> ይጫኑ እና አገናኝ ጠቅ ያድርጉ</translation> +<translation id="2424073332829844142">Caps Lock ያብሩ እና ያጥፉ</translation> +<translation id="2441202986792279177">በመስኮቶች መካከል በፍጥነት ይቀያይሩ</translation> +<translation id="2478303094958140141">ChromeVox (የሚነገር ግብረመልስ) አብራ ወይም አጥፋ</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">በድር ገጹ ላይ ወደታች ይሸብልሉ</translation> +<translation id="2568632782096378307">የማያ ገጽ ጥራትን ወደ ነባሪ ዳግም አቀናብር</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />፣ ከዚያ <ph name="TAB" /> ወይም <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">የአሁኑን ድረ-ገጽዎን እንደ እልባት ያስቀምጡ</translation> +<translation id="2750942583782703988">የአሁኑን ገጽዎን ዳግም ይጫኑ</translation> +<translation id="2789868185375229787">በገጹ ላይ ያሳንሱ</translation> +<translation id="2804480015716812239"><ph name="ALT" /> ይጫኑ እና አገናኝ ጠቅ ያድርጉ</translation> +<translation id="2830827904629746450">በስተቀኝ በኩል መስኮት ይሰኩ</translation> <translation id="2872353916818027657">ዋና ማሳያውን ቀይር</translation> +<translation id="2914313326123580426">የገንቢ መሣሪያዎች ፓነልን አሳይ ወይም ደብቅ</translation> +<translation id="292495055542441795">ሙሉ ማያ ገጽ ቀያይር</translation> +<translation id="3084301071537457911">በእርስዎ መደርደሪያ ላይ ቀጣዩን ንጥል ያድምቁ</translation> +<translation id="309173601632226815">በእርስዎ መደርደሪያ ላይ አስጀማሪ አዝራሩን ያድምቁ</translation> <translation id="3105917916468784889">ቅጽበታዊ ገጽ እይታን ያነሳል</translation> +<translation id="3118681365140644126">በእርስዎ መደርደሪያ ላይ በአዝራሩ ላይ ያለውን ማድመቂያ ያስወግዱ</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">የአድራሻ አሞሌ ላይ አተኩር</translation> +<translation id="3288816184963444640">የአሁኑን መስኮት ይዝጉ</translation> +<translation id="3356202203145076517">በቅርቡ ብዙም ያልተጠቀሙበትን መስኮት ይክፈቱ</translation> +<translation id="3407560819924487926">የተግባር አስተዳዳሪን ያምጡት</translation> +<translation id="3422679037938588196">ለፍለጋዎ ወደ ቀዳሚው ተዛማጅ ይሂዱ</translation> +<translation id="344577624355799426"><ph name="ALT" /> ወይም <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">የማጉላት ደረጃን ዳግም ያስጀምሩ</translation> +<translation id="353037708190149633">ሁሉንም የተከፈቱ ገጾች በአሁኑ መስኮትዎ ውስጥ በአዲስ አቃፊ ውስጥ እንደ እልባት ያስቀምጧቸው</translation> +<translation id="355103131818127604">አገናኙን ከበስተጀርባ በአዲስ ትር ውስጥ ይክፈቱ</translation> <translation id="3649256019230929621">መስኮትን ያሳንሱት</translation> -<translation id="385051799172605136">ተመለስ</translation> +<translation id="3668361878347172356">የመጨረሻው እርምጃዎን ይድገሙት</translation> +<translation id="3720939646656082033">አገናኙን በአዲስ ትር ይክፈቱና ወደ አዲሱ ትር ይቀይሩ</translation> +<translation id="3725795051337497754">የአሁኑን ትር ይዝጉ</translation> +<translation id="3751033133896282964">የመጨረሻዎን እርምጃ ይቀልብሱ</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> ከ1 እስከ 8</translation> +<translation id="3837047332182291558">የቁልፍ ሰሌዳን ይበልጥ ብሩህ ያድርጉ (የጀርባ ብርሃን ላላቸው ቁልፍ ሰሌዳዎች ብቻ)</translation> +<translation id="3976863468609830880">በእርስዎ መደርደሪያ ላይ የመጨረሻውን አዶ ጠቅ ያድርጉ</translation> +<translation id="4035482366624727273">በገጹ ላይ ሁሉንም ነገር ይምረጡ</translation> +<translation id="4060703249685950734">የዘጉትን የመጨረሻው ትር ወይም መስኮት ዳግም ይክፈቱ</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />ን ተጭነው ይያዙ፣ መክፈት የሚፈልጉትን መስኮት እስኪያገኙ ድረስ <ph name="TAB" /> መታ ያድርጉ፣ ከዚያ ይልቀቁ።</translation> +<translation id="4092538597492297615">የተመረጠውን ይዘት ወደ ቅንጥብ ሰሌዳው ይቅዱ</translation> +<translation id="4123108089450197101">አገናኙን እንደ እልባት ያስቀምጡ</translation> +<translation id="4141203561740478845">የአድራሻ አሞሌው ያለውን ረድፍ ያድምቁ</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ወይም <ph name="ENTER" /></translation> +<translation id="4556221320735744018">የቁልፍ ሰሌዳ አቋራጭ አጋዥን ይመልከቱ</translation> +<translation id="4628718545549558538">የሁኔታ አካባቢን ይክፈቱ (የመለያ ሥዕልዎ ብቅ የሚልበት ቦታ)</translation> +<translation id="4642092649622328492">ከፊል ቅጽበታዊ ገጽ ዕይታን ያንሱ</translation> +<translation id="4725377341024374454">በእርስዎ መደርደሪያ ላይ የደመቀውን አዝራር ይክፈቱ</translation> +<translation id="4801989101741319327">ወደ የቀጣዩ ቃል መጨረሻ ይውሰዱ</translation> +<translation id="4916163929714267752">አገናኙን በአዲስ መስኮት ውስጥ ይክፈቱ</translation> +<translation id="5034421018520995080">ወደ ገጹ አናት ይሂዱ</translation> +<translation id="5042305953558921026">የአጠቃላይ ዕይታ ሁነታ ቁልፍ</translation> +<translation id="5104462712192763270">አሁን ያለውን የእርስዎን ገጽ ያስቀምጡ</translation> +<translation id="5121628974188116412">ወደ ገጹ ግርጌ ይሂዱ</translation> +<translation id="5236674127086649162">የተሸጎጠ ይዘትን ሳይጠቀሙ አሁን ያለውን ገጽዎ ዳግም ይጫኑ</translation> +<translation id="526651782186312376">ጽሑፍን እስከ የመስመሩ መጀመሪያ ይምረጡ</translation> <translation id="5316716239522500219">ማሳያዎችን አንጸባርቅ</translation> +<translation id="5335199890994453201">የDOM መርማሪውን ያሳዩ ወይም ይደብቁ</translation> +<translation id="5541719484267030947">ትሩን እየጎተቱ እያሉ <ph name="ESC" />ን ይጫኑ</translation> +<translation id="5554139136362089836">የአሁኑን ገጽ ይፈልጉ</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ይጫኑ እና አገናኝ ጠቅ ያድርጉ</translation> +<translation id="561814908794220892">ድረ-ገጹን በአዲስ ትር ውስጥ ይክፈቱ</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ወይም <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">አገናኙን በአዲስ ትር ውስጥ ይክፈቱ</translation> +<translation id="5757474750054631686">ቁልፍ ሰሌዳን ያጨልሙ (የጀርባ ብርሃን ላላቸው ቁልፍ ሰሌዳዎች ብቻ)</translation> +<translation id="587531134027443617">ቀዳሚውን ቃል ይሰርዙ</translation> <translation id="5928303187149237472">የማያ ገጽ ጥራት ይለውጡ</translation> <translation id="5975083100439434680">አሳንስ</translation> +<translation id="6011500873794669296">በእነዚህ መካከል ትኩረትን ቀያይር፦ የሁኔታ አካባቢ (የእርስዎ መለያ ሥዕል ብቅ የሚልበት ቦታ) አስጀማሪ አድራሻ አሞሌ የእልባት አሞሌ (የሚታይ ከሆነ) የተከፈተው ድረ-ገጽ የውርዶች አሞሌ (የሚታይ ከሆነ)</translation> <translation id="6022924867608035986">የፍለጋ ሳጥን ጽሑፍን አጽዳ</translation> +<translation id="6045998054441862242">ባለከፍተኛ ንጽጽር ሁነታን አብራ</translation> +<translation id="6052614013050385269">አገናኝን በቀኝ ጠቅ ያድርጉ</translation> <translation id="6129953537138746214">ባዶ ቦታ</translation> +<translation id="6143669479988153888">በገጹ ላይ ያሳንሱ</translation> <translation id="6185696379715117369">ገጽ ወደላይ</translation> +<translation id="6228457605945141550">ብሩህነትን ቀንስ</translation> +<translation id="6276708887952587684">የገጽ ምንጭን ይመልከቱ</translation> +<translation id="6321940490215594447">የታሪክ ገጹን ይክፈቱ</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">ጽሑፍን እስከ የመስመሩ መጨረሻ ይምረጡ</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ወይም <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">በእርስዎ መደርደሪያ ላይ 1-8 አዶዎችን ጠቅ ያድርጉ</translation> +<translation id="6435207348963613811">በእርስዎ መደርደሪያ ላይ ቀዳሚውን ንጥል ያድምቁ</translation> +<translation id="6445033640292336367">ትሩን ወደ የመጀመሪያው አቀማመጡ ይመልሱ</translation> +<translation id="649811797655257835">ፋይሉን ይምረጡ፣ ከዚያ <ph name="SPACE" /> ይጫኑ</translation> +<translation id="6572206071785323178">እርስዎ ባቀናበሯቸው የቁልፍ ሰሌዳ ቋንቋዎች መካከል ይቀያይሩ። የቁልፍ ሰሌዳ ቋንቋዎን እንዴት እንደሚመርጡ ይረዱ።</translation> +<translation id="6634456834225946400">የእልባት አሞሌውን ያድምቁ (የሚታይ ከሆነ)</translation> +<translation id="666343722268997814">ለደመቀው ንጥል በቀኝ ጠቅ ምናሌን ይክፈቱ</translation> +<translation id="6671538777808758331">ለፍለጋዎ ወደ ቀጣዩ ተዛማጅ ይሂዱ</translation> +<translation id="6690765639083431875">መስኮት በስተግራ በኩል ይሰኩ</translation> +<translation id="6692847073476874842">አንድ ፋይልን በፋይሎች መተግበሪያ ውስጥ በቅድመ-ዕይታ ይመልከቱ</translation> <translation id="671928215901716392">ማያ ገጽ ይቆልፉ</translation> <translation id="6727005317916125192">ቀዳሚ ንጥል</translation> +<translation id="6740781404993465795">ቀጣዩን ቃል ወይም ፊደል ይምረጡ</translation> +<translation id="6760706756348334449">ድምጽ ቀንስ</translation> <translation id="6981982820502123353">ተደራሽነት</translation> <translation id="7020813747703216897">ምንም ተዛማጅ ውጤቶች አልተገኙም</translation> <translation id="7025325401470358758">ቀጣይ ንጥል</translation> -<translation id="7272373489634936181">አቋራጮችን ይፈልጉ</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ወይም <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">ቀጣዩን ፊደል ይሰርዙ (ወደፊት ስረዛ)</translation> +<translation id="766326951329901120">ይዘትን ከቅንጥብ ሰሌዳው ላይ እንደ ዝርግ ጽሑፍ ለጥፍ</translation> <translation id="7724603315864178912">ቁረጥ</translation> -<translation id="8004192919599017226">ፍለጋ ይጀምሩ...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />፣ ከዚያ <ph name="SPACE" /> ወይም <ph name="ENTER" /></translation> +<translation id="7787242579016742662">አንድ ፋይል በአሳሹ ውስጥ ይክፈቱ</translation> +<translation id="7917881398263220094">የአሁኑን ገጽዎ መጫን ያስቁሙ</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ወይም <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ወደ የሰነድ መጀመሪያ ይሂዱ</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ወይም <ph name="E" /></translation> +<translation id="8234414138295101081">ማያ ገጽን 90 ዲግሪ አሽከርክር</translation> +<translation id="836869401750819675">የውርዶች ገጽን ይክፈቱ</translation> +<translation id="8388247778047144397">አገናኙን በትሩ ድርድር ላይ ወዳለ ባዶ ቦታ ይጎትቱት</translation> +<translation id="8389638407792712197">አዲስ መስኮት ይክፈቱ</translation> +<translation id="8429696719963529183">የF ቁልፎችን ይጠቀሙ (F1 እስከ F12)</translation> +<translation id="85690795166292698">አገናኙን በአዲስ ትር ውስጥ ይክፈቱ</translation> +<translation id="8609384513243082612">አዲስ ትር ይክፈቱ</translation> +<translation id="8644639153978066712">በፋይሎች መተግበሪያ ውስጥ የተደበቁ ፋይሎችን አሳይ</translation> +<translation id="8709893667941082515">የአድራሻ አሞሌን በፍለጋ ላይ ትኩረት ያድርጉበት</translation> +<translation id="8717459106217102612">ቀዳሚውን ቃል ወይም ፊደል ይምረጡ</translation> +<translation id="8727232706774971183">የእርስዎን ማሳወቂያዎች ይመልከቱ</translation> <translation id="88986195241502842">ገጽ ወደ ታች</translation> <translation id="8903921497873541725">አጉላ</translation> <translation id="9179672198516322668">ታዋቂ አቋራጮች</translation>
diff --git a/ash/components/strings/ash_components_strings_ar.xtb b/ash/components/strings/ash_components_strings_ar.xtb index 625f629..89d981c 100644 --- a/ash/components/strings/ash_components_strings_ar.xtb +++ b/ash/components/strings/ash_components_strings_ar.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ar"> +<translation id="104962181688258143">فتح تطبيق الملفات</translation> +<translation id="1126871238933253947">التبديل إلى لغة لوحة المفاتيح السابقة التي كنت تستخدمها.</translation> +<translation id="1195667586424773550">اسحب الرابط إلى شريط عناوين علامة التبويب</translation> +<translation id="1204450209689312104">فتح نافذة جديدة في وضع التصفح المتخفي</translation> +<translation id="1299858300159559687">طباعة الصفحة الحالية</translation> <translation id="1383876407941801731">البحث</translation> +<translation id="1439252533104567537">الانتقال إلى علامة تبويب مرقمة</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> أو <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">المشغّل</translation> +<translation id="152892567002884378">رفع مستوى الصوت</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="ESC" /></translation> +<translation id="1652741121070700329">الانتقال إلى بداية الكلمة السابقة</translation> +<translation id="1679841710523778799">زيادة السطوع</translation> +<translation id="168356808214100546">اضغط مع الاستمرار على <ph name="ALT" />، وانقر على <ph name="TAB" /> إلى أن تصل إلى النافذة المراد فتحها، ثم ارفع إصبعك.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">إضافة .www وcom. إلى الإدخال في شريط العناوين، ثم فتح الصفحة</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> أو <ph name="LEFT" /></translation> +<translation id="1996162290124031907">الانتقال إلى علامة التبويب التالية</translation> +<translation id="2010818616644390445">الانتقال إلى علامة التبويب الأخيرة في النافذة</translation> <translation id="2145908266289632567">تعديل النص</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 إلى =</translation> +<translation id="2181097965834437145">عرض شريط الإشارات أو إخفاؤه</translation> +<translation id="2185166372312820725">الانتقال إلى علامة التبويب السابقة</translation> +<translation id="2194790690264064655">اضغط على <ph name="CTRL" /> وانقر على رابط</translation> +<translation id="2424073332829844142">تفعيل مفتاح Caps Lock وإيقافه</translation> +<translation id="2441202986792279177">التبديل بين النوافذ بسرعة</translation> +<translation id="2478303094958140141">تفعيل ChromeVox (التعليقات والملاحظات المنطوقة) أو إيقافه</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">التمرير إلى أسفل صفحة الويب</translation> +<translation id="2568632782096378307">إعادة تعيين مستوى دقة الشاشة على الخيار التلقائي</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="TAB" /> أو <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">حفظ صفحة الويب الحالية كإشارة مرجعية</translation> +<translation id="2750942583782703988">إعادة تحميل الصفحة الحالية</translation> +<translation id="2789868185375229787">التصغير في الصفحة</translation> +<translation id="2804480015716812239">اضغط على <ph name="ALT" /> وانقر على رابط</translation> +<translation id="2830827904629746450">إرساء نافذة على اليسار</translation> <translation id="2872353916818027657">تبديل الشاشة الرئيسية</translation> -<translation id="3105917916468784889">التقاط لقطة شاشة</translation> +<translation id="2914313326123580426">عرض لوحة أدوات المطوِّرين أو إخفاؤها</translation> +<translation id="292495055542441795">تبديل وضع ملء الشاشة</translation> +<translation id="3084301071537457911">تحديد العنصر التالي على الرف</translation> +<translation id="309173601632226815">تحديد الزر Launcher على الرف</translation> +<translation id="3105917916468784889">أخذ لقطة شاشة</translation> +<translation id="3118681365140644126">إزالة التحديد عن زر على الرف</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">تركيز شريط العناوين</translation> +<translation id="3288816184963444640">إغلاق النافذة الحالية</translation> +<translation id="3356202203145076517">فتح آخر نافذة استخدمتها</translation> +<translation id="3407560819924487926">استدعاء إدارة المهام</translation> +<translation id="3422679037938588196">الانتقال إلى المطابقة السابقة للبحث</translation> +<translation id="344577624355799426"><ph name="ALT" /> أو <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">إعادة تعيين مستوى التكبير/التصغير</translation> +<translation id="353037708190149633">حفظ كل الصفحات المفتوحة في النافذة الحالية كإشارات مرجعية في مجلد جديد</translation> +<translation id="355103131818127604">فتح الرابط في علامة تبويب جديدة في الخلفية</translation> <translation id="3649256019230929621">تصغير النافذة</translation> -<translation id="385051799172605136">الرجوع إلى الوراء</translation> +<translation id="3668361878347172356">إعادة الإجراء الأخير</translation> +<translation id="3720939646656082033">فتح الرابط في علامة تبويب جديدة والتبديل إلى علامة التبويب الجديدة</translation> +<translation id="3725795051337497754">إغلاق علامة التبويب الحالية</translation> +<translation id="3751033133896282964">التراجع عن الإجراء الأخير</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 إلى 8</translation> +<translation id="3837047332182291558">زيادة سطوع لوحة المفاتيح (للوحات المفاتيح المزودة بإضاءة خلفية فقط)</translation> +<translation id="3976863468609830880">النقر على الرمز الأخير على الرف</translation> +<translation id="4035482366624727273">تحديد كل محتوى الصفحة</translation> +<translation id="4060703249685950734">إعادة فتح آخر علامة تبويب أو نافذة أغلقتها</translation> +<translation id="4090342722461256974">اضغط مع الاستمرار على <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />، وانقر على <ph name="TAB" /> حتى تحصل على النافذة المراد فتحها، ثم ارفع إصبعك.</translation> +<translation id="4092538597492297615">نسخ المحتوى المحدد إلى الحافظة</translation> +<translation id="4123108089450197101">حفظ الرابط كإشارة</translation> +<translation id="4141203561740478845">تحديد الصف الذي يتضمن شريط العناوين</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> أو <ph name="ENTER" /></translation> +<translation id="4556221320735744018">الاطلاع على "مساعد اختصارات لوحة المفاتيح"</translation> +<translation id="4628718545549558538">فتح منطقة الحالة (التي تظهر فيها صورة الحساب)</translation> +<translation id="4642092649622328492">أخذ لقطة شاشة جزئية</translation> +<translation id="4725377341024374454">فتح الزر المُحدَّد على الرف</translation> +<translation id="4801989101741319327">الانتقال إلى نهاية الكلمة التالية</translation> +<translation id="4916163929714267752">فتح الرابط في نافذة جديدة</translation> +<translation id="5034421018520995080">الانتقال إلى أعلى الصفحة</translation> +<translation id="5042305953558921026">مفتاح وضع النظرة العامة</translation> +<translation id="5104462712192763270">حفظ الصفحة الحالية</translation> +<translation id="5121628974188116412">الانتقال إلى أسفل الصفحة</translation> +<translation id="5236674127086649162">إعادة تحميل الصفحة الحالية بدون استخدام المحتوى المخزن مؤقتًا</translation> +<translation id="526651782186312376">تحديد النص حتى بداية السطر</translation> <translation id="5316716239522500219">نسخ الشاشات</translation> +<translation id="5335199890994453201">عرض مراقب DOM أو إخفاؤه</translation> +<translation id="5541719484267030947">أثناء سحب علامة التبويب، اضغط على <ph name="ESC" /></translation> +<translation id="5554139136362089836">البحث في الصفحة الحالية</translation> +<translation id="5563050856984839829">اضغط على <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> وانقر على رابط</translation> +<translation id="561814908794220892">فتح صفحة الويب في علامة تبويب جديدة</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> أو <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">فتح الرابط في علامة التبويب</translation> +<translation id="5757474750054631686">تعتيم لوحة المفاتيح (للوحات المفاتيح المزودة بإضاءة خلفية فقط)</translation> +<translation id="587531134027443617">حذف الكلمة السابقة</translation> <translation id="5928303187149237472">تغيير دقة شاشة</translation> <translation id="5975083100439434680">تصغير</translation> +<translation id="6011500873794669296">تبديل التركيز فيما بين: منطقة الحالة (حيث تظهر صورة حسابك) ومشغل التطبيقات وشريط العناوين وشريط الإشارات (إن كان ظاهرًا) وصفحة الويب المفتوحة وشريط التنزيلات (إن كان ظاهرًا)</translation> <translation id="6022924867608035986">محو نص مربع البحث</translation> +<translation id="6045998054441862242">تشغيل وضع التباين العالي</translation> +<translation id="6052614013050385269">النقر بالزر الأيمن على رابط</translation> <translation id="6129953537138746214">مسافة</translation> +<translation id="6143669479988153888">التكبير في الصفحة</translation> <translation id="6185696379715117369">صفحة لأعلى</translation> +<translation id="6228457605945141550">تقليل السطوع</translation> +<translation id="6276708887952587684">عرض مصدر الصفحة</translation> +<translation id="6321940490215594447">فتح صفحة السجل</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">تحديد النص حتى نهاية السطر</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> أو <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">النقر على الرموز 1-8 على الرف</translation> +<translation id="6435207348963613811">تحديد العنصر السابق على الرف</translation> +<translation id="6445033640292336367">إرجاع علامة التبويب إلى موضعها الأصلي</translation> +<translation id="649811797655257835">حدِّد الملف، ثم اضغط على <ph name="SPACE" /></translation> +<translation id="6572206071785323178">التبديل بين لغات لوحة المفاتيح التي عينّتها. التعرُّف على كيفية اختيار لغة لوحة المفاتيح.</translation> +<translation id="6634456834225946400">تحديد شريط الإشارات (في حال ظهوره)</translation> +<translation id="666343722268997814">النقر بالزر الأيمن لفتح قائمة العنصر المُحدَّد</translation> +<translation id="6671538777808758331">الانتقال إلى المطابقة التالية للبحث</translation> +<translation id="6690765639083431875">إرساء نافذة على اليمين</translation> +<translation id="6692847073476874842">معاينة ملف في تطبيق "الملفات"</translation> <translation id="671928215901716392">قفل الشاشة</translation> <translation id="6727005317916125192">الجزء السابق</translation> +<translation id="6740781404993465795">تحديد الكلمة التالية أو الحرف التالي</translation> +<translation id="6760706756348334449">خفض مستوى الصوت</translation> <translation id="6981982820502123353">إمكانية الدخول</translation> <translation id="7020813747703216897">لم يتم العثور على أي نتائج مطابقة.</translation> <translation id="7025325401470358758">الجزء التالي</translation> -<translation id="7272373489634936181">البحث عن اختصارات</translation> +<translation id="7379254767514753910"><ph name="ALT" /> أو <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">حذف الحرف التالي (حذف باتجاه الأمام)</translation> +<translation id="766326951329901120">لصق المحتوى من الحافظة كنص عادي</translation> <translation id="7724603315864178912">قص</translation> -<translation id="8004192919599017226">جارٍ بدء البحث...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="SPACE" /> أو <ph name="ENTER" /></translation> +<translation id="7787242579016742662">فتح ملف في المتصفح</translation> +<translation id="7917881398263220094">إيقاف تحميل الصفحة الحالية</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> أو <ph name="MINUS" /></translation> +<translation id="8130528849632411619">الانتقال إلى بداية المستند</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> أو <ph name="E" /></translation> +<translation id="8234414138295101081">تدوير الشاشة بزاوية 90 درجة</translation> +<translation id="836869401750819675">فتح صفحة "التنزيلات"</translation> +<translation id="8388247778047144397">اسحب الرابط إلى منطقة فارغة على شريط علامات التبويب</translation> +<translation id="8389638407792712197">فتح نافذة جديدة</translation> +<translation id="8429696719963529183">استخدام مفاتيح F (من F1 إلى F12)</translation> +<translation id="85690795166292698">فتح الرابط في علامة تبويب جديدة</translation> +<translation id="8609384513243082612">فتح علامة تبويب جديدة</translation> +<translation id="8644639153978066712">عرض الملفات المخفية في تطبيق "الملفات"</translation> +<translation id="8709893667941082515">تركيز شريط العناوين على البحث</translation> +<translation id="8717459106217102612">تحديد الكلمة السابقة أو الحرف السابق</translation> +<translation id="8727232706774971183">الاطلاع على الإشعارات</translation> <translation id="88986195241502842">صفحة لأسفل</translation> <translation id="8903921497873541725">تكبير</translation> <translation id="9179672198516322668">الاختصارات الشائعة</translation>
diff --git a/ash/components/strings/ash_components_strings_bg.xtb b/ash/components/strings/ash_components_strings_bg.xtb index f5fb5f4..cd05e35 100644 --- a/ash/components/strings/ash_components_strings_bg.xtb +++ b/ash/components/strings/ash_components_strings_bg.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="bg"> +<translation id="104962181688258143">Отваряне на приложението Файлове</translation> +<translation id="1126871238933253947">Превключване към предишния използван от вас език на клавиатурата.</translation> +<translation id="1195667586424773550">Преместете с плъзгане връзката в адресната лента на раздела</translation> +<translation id="1204450209689312104">Отваряне на нов прозорец в режим „инкогнито“</translation> +<translation id="1299858300159559687">Отпечатване на текущата страница</translation> <translation id="1383876407941801731">Търсене</translation> +<translation id="1439252533104567537">Към раздела с дадения номер</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> или <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Стартов панел</translation> +<translation id="152892567002884378">Увеличаване на силата на звука</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> и след това <ph name="ESC" /></translation> +<translation id="1652741121070700329">Преместване в началото на предишната дума</translation> +<translation id="1679841710523778799">Увеличаване на яркостта</translation> +<translation id="168356808214100546">Натиснете и задръжте <ph name="ALT" />, използвайте <ph name="TAB" />, за да стигнете до желания прозорец, и освободете клавишите.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Добавяне на www. и .com към въведеното в адресната лента и отваряне на съответната страница</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> и след това <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> или <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Към следващия раздел</translation> +<translation id="2010818616644390445">Преминаване към последния раздел в прозореца</translation> <translation id="2145908266289632567">Редактиране на текст</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 до =</translation> +<translation id="2181097965834437145">Показване или скриване на лентата на отметките</translation> +<translation id="2185166372312820725">Към предишния раздел</translation> +<translation id="2194790690264064655">Натиснете <ph name="CTRL" /> и кликнете върху връзка</translation> +<translation id="2424073332829844142">Включване и изключване на Caps Lock</translation> +<translation id="2441202986792279177">Бързо превключване между прозорците</translation> +<translation id="2478303094958140141">Включване или изключване на ChromeVox (обратна връзка с говор)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Превъртане на уеб страницата надолу</translation> +<translation id="2568632782096378307">Задаване на стандартната разделителна способност на екрана</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> и след това <ph name="TAB" /> или <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Запазване на текущата уеб страница като отметка</translation> +<translation id="2750942583782703988">Презареждане на текущата страница</translation> +<translation id="2789868185375229787">Намаляване на мащаба на страницата</translation> +<translation id="2804480015716812239">Натиснете <ph name="ALT" /> и кликнете върху връзка</translation> +<translation id="2830827904629746450">Закрепване на прозорец отдясно</translation> <translation id="2872353916818027657">Размяна на основния монитор</translation> +<translation id="2914313326123580426">Показване или скриване на панела с инструменти за програмисти</translation> +<translation id="292495055542441795">Превключване на режима на цял екран</translation> +<translation id="3084301071537457911">Поставяне на фокуса върху следващия елемент в лавицата</translation> +<translation id="309173601632226815">Поставяне на фокуса върху бутона на стартовия панел в лавицата</translation> <translation id="3105917916468784889">Създаване на екранна снимка</translation> +<translation id="3118681365140644126">Премахване на фокуса от бутон в лавицата</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Преместване на фокуса върху адресната лента</translation> +<translation id="3288816184963444640">Затваряне на текущия прозорец</translation> +<translation id="3356202203145076517">Отваряне на прозореца, който сте използвали най-отдавна</translation> +<translation id="3407560819924487926">Показване на диспечера на задачите</translation> +<translation id="3422679037938588196">Преминаване към предишното съответствие за търсенето ви</translation> +<translation id="344577624355799426"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Повторно задаване на мащаба на страницата</translation> +<translation id="353037708190149633">Запазване на всички отворени страници в текущия прозорец като отметки в нова папка</translation> +<translation id="355103131818127604">Отваряне на връзката в нов раздел на заден план</translation> <translation id="3649256019230929621">Намаляване на прозореца</translation> -<translation id="385051799172605136">Назад</translation> +<translation id="3668361878347172356">Възстановяване на последното ви действие</translation> +<translation id="3720939646656082033">Отваряне на връзката в нов раздел и превключване към него</translation> +<translation id="3725795051337497754">Затваряне на текущия раздел</translation> +<translation id="3751033133896282964">Отмяна на последното ви действие</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 до 8</translation> +<translation id="3837047332182291558">Увеличаване на яркостта на клавиатурата (само за клавиатури с подсветка)</translation> +<translation id="3976863468609830880">Кликване върху последната икона в лавицата</translation> +<translation id="4035482366624727273">Избиране на всичко на страницата</translation> +<translation id="4060703249685950734">Повторно отваряне на последния затворен раздел или прозорец</translation> +<translation id="4090342722461256974">Натиснете и задръжте <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, използвайте <ph name="TAB" />, за да стигнете до желания прозорец, и освободете клавишите.</translation> +<translation id="4092538597492297615">Копиране на избраното съдържание в буферната памет</translation> +<translation id="4123108089450197101">Запазване на връзката като отметка</translation> +<translation id="4141203561740478845">Поставяне на фокуса върху реда с адресната лента</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> или <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Преглед на помощта за клавишните комбинации</translation> +<translation id="4628718545549558538">Отваряне на лентата на състоянието (където се показва снимката на профила ви)</translation> +<translation id="4642092649622328492">Създаване на частична екранна снимка</translation> +<translation id="4725377341024374454">Натискане на бутона в лавицата, върху който е поставен фокусът</translation> +<translation id="4801989101741319327">Преместване в края на следващата дума</translation> +<translation id="4916163929714267752">Отваряне на връзката в нов прозорец</translation> +<translation id="5034421018520995080">Преминаване в началото на страницата</translation> +<translation id="5042305953558921026">Клавиш за режима за общ преглед</translation> +<translation id="5104462712192763270">Запазване на текущата страница</translation> +<translation id="5121628974188116412">Преминаване към края на страницата</translation> +<translation id="5236674127086649162">Презареждане на текущата страница, без да се използва кеширано съдържание</translation> +<translation id="526651782186312376">Избиране на текста до началото на реда</translation> <translation id="5316716239522500219">Дублиране на мониторите</translation> +<translation id="5335199890994453201">Показване или скриване на DOM Inspector</translation> +<translation id="5541719484267030947">Докато премествате раздела с плъзгане, натиснете <ph name="ESC" /></translation> +<translation id="5554139136362089836">Търсене в текущата страница</translation> +<translation id="5563050856984839829">Натиснете <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> и кликнете върху връзка</translation> +<translation id="561814908794220892">Отваряне на уеб страницата в нов раздел</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> или <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Отваряне на връзката в раздела</translation> +<translation id="5757474750054631686">Намаляване на яркостта на клавиатурата (само за клавиатури с подсветка)</translation> +<translation id="587531134027443617">Изтриване на предишната дума</translation> <translation id="5928303187149237472">Промяна на разделителната способност на екрана</translation> <translation id="5975083100439434680">Намаляване на мащаба</translation> +<translation id="6011500873794669296">Превключване на фокуса между лентата на състоянието (където се показва снимката на профила ви), стартовия панел, адресната лента, лентата на отметките (ако се вижда), отворената уеб страница, лентата на изтеглянето (ако се вижда)</translation> <translation id="6022924867608035986">Изчистване на текста от полето за търсене</translation> +<translation id="6045998054441862242">Включване на режима на висок контраст</translation> +<translation id="6052614013050385269">Кликване с десния бутон на мишката върху връзка</translation> <translation id="6129953537138746214">Интервал</translation> +<translation id="6143669479988153888">Увеличаване на мащаба на страницата</translation> <translation id="6185696379715117369">Страница нагоре</translation> +<translation id="6228457605945141550">Намаляване на яркостта</translation> +<translation id="6276708887952587684">Преглед на изходния код на страницата</translation> +<translation id="6321940490215594447">Отваряне на страницата „История“</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Избиране на текста до края на реда</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> или <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Кликване върху иконите от 1 до 8 в лавицата</translation> +<translation id="6435207348963613811">Поставяне на фокуса върху предишния елемент в лавицата</translation> +<translation id="6445033640292336367">Връщане на раздела на първоначалната му позиция</translation> +<translation id="649811797655257835">Изберете файла и натиснете <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Превключване между зададените от вас езици на клавиатурата. Научете как да изберете език за нея.</translation> +<translation id="6634456834225946400">Поставяне на фокуса върху лентата на отметките (ако се показва)</translation> +<translation id="666343722268997814">Отваряне на контекстното меню за откроения елемент</translation> +<translation id="6671538777808758331">Преминаване към следващото съответствие за търсенето ви</translation> +<translation id="6690765639083431875">Закрепване на прозорец отляво</translation> +<translation id="6692847073476874842">Визуализиране на файл в приложението Файлове</translation> <translation id="671928215901716392">Заключване на екрана</translation> <translation id="6727005317916125192">Предишният панел</translation> +<translation id="6740781404993465795">Избиране на следващата дума или буква</translation> +<translation id="6760706756348334449">Намаляване на силата на звука</translation> <translation id="6981982820502123353">Достъпност</translation> <translation id="7020813747703216897">Не бяха намерени съответстващи резултати</translation> <translation id="7025325401470358758">Следващият панел</translation> -<translation id="7272373489634936181">Търсене на комбинации</translation> +<translation id="7379254767514753910"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Изтриване на следващата буква (изтриване напред)</translation> +<translation id="766326951329901120">Поставяне на съдържанието от буферната памет като неформатиран текст</translation> <translation id="7724603315864178912">Изрязване</translation> -<translation id="8004192919599017226">Начало на търсенето...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> и след това <ph name="SPACE" /> или <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Отваряне на файл в браузъра</translation> +<translation id="7917881398263220094">Спиране на зареждането на текущата страница</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> или <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Към началото на документа</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> или <ph name="E" /></translation> +<translation id="8234414138295101081">Завъртане на екрана на 90 градуса</translation> +<translation id="836869401750819675">Отваряне на страницата „Изтегляния“</translation> +<translation id="8388247778047144397">Преместете с плъзгане връзката до празен участък на лентата с раздели</translation> +<translation id="8389638407792712197">Отваряне на нов прозорец</translation> +<translation id="8429696719963529183">Използване на функционалните клавиши (F1 до F12)</translation> +<translation id="85690795166292698">Отваряне на връзката в нов раздел</translation> +<translation id="8609384513243082612">Отваряне на нов раздел</translation> +<translation id="8644639153978066712">Показване на скритите файлове в приложението Файлове</translation> +<translation id="8709893667941082515">Преместване на фокуса върху адресната лента за търсене</translation> +<translation id="8717459106217102612">Избиране на предишната дума или буква</translation> +<translation id="8727232706774971183">Преглед на известията ви</translation> <translation id="88986195241502842">Страница надолу</translation> <translation id="8903921497873541725">Увеличаване на мащаба</translation> <translation id="9179672198516322668">Популярни комбинации</translation>
diff --git a/ash/components/strings/ash_components_strings_bn.xtb b/ash/components/strings/ash_components_strings_bn.xtb index f17e590..c947f07 100644 --- a/ash/components/strings/ash_components_strings_bn.xtb +++ b/ash/components/strings/ash_components_strings_bn.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="bn"> +<translation id="104962181688258143">ফাইল অ্যাপ খুলুন</translation> +<translation id="1126871238933253947">আপনি যে কীবোর্ড ভাষা ব্যবহার করছিলেন সেটিতে পরিবর্তন করুন।</translation> +<translation id="1195667586424773550">ট্যাব অ্যাড্রেস বারে লিঙ্কটি টেনে আনুন</translation> +<translation id="1204450209689312104">ছদ্মবেশী মোডে একটি নতুন উইন্ডো খুলুন</translation> +<translation id="1299858300159559687">আপনার বর্তমান পৃষ্ঠাটি প্রিন্ট করুন</translation> <translation id="1383876407941801731">সার্চ করুন</translation> +<translation id="1439252533104567537">নম্বরযুক্ত ট্যাবে যান</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> অথবা <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">লঞ্চার</translation> +<translation id="152892567002884378">ভলিউম বাড়ান</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, তারপর <ph name="ESC" /></translation> +<translation id="1652741121070700329">আগের শব্দের শুরুতে নিয়ে যান</translation> +<translation id="1679841710523778799">উজ্জ্বলতা বাড়ান</translation> +<translation id="168356808214100546"><ph name="ALT" /> বোতাম টিপে ধরে রেখে যে উইন্ডোটি খুলতে চান সেটি বেছে নেওয়ার জন্য <ph name="TAB" /> বোতাামটি বারবার টিপুন এবং তারপর উইন্ডোটি বেছে নেওয়া হয়ে গেলে আঙুল তুলে নিন।</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">অ্যাড্রেস বারে আপনার ইনপুটে www. এবং .com যোগ করে পৃষ্ঠা খুলুন</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, তারপর <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> অথবা <ph name="LEFT" /></translation> +<translation id="1996162290124031907">পরের ট্যাবে যান</translation> +<translation id="2010818616644390445">উইন্ডোটির শেষ ট্যাবে যান</translation> <translation id="2145908266289632567">টেক্সট সম্পাদনা</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> ১ থেকে =</translation> +<translation id="2181097965834437145">বুকমার্ক বার দেখুন অথবা লুকান</translation> +<translation id="2185166372312820725">আগের ট্যাবে যান</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> টিপুন এবং একটি লিঙ্কে ক্লিক করুন</translation> +<translation id="2424073332829844142">CapsLock চালু এবং বন্ধ করুন</translation> +<translation id="2441202986792279177">উইন্ডোগুলির মধ্যে দ্রুত পরিবর্তন করুন</translation> +<translation id="2478303094958140141">ChromeVox (স্ক্রিনে যা আছে তা পড়ে শোনানোর বৈশিষ্ট্য) চালু অথবা বন্ধ করুন</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">ওয়েব পৃষ্ঠাটিকে স্ক্রল করে নিচে নিয়ে আসুন</translation> +<translation id="2568632782096378307">ডিফল্টে স্ক্রিন রেজোলিউশন রিসেট করুন</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, তারপর <ph name="TAB" /> অথবা <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">আপনার বর্তমান ওয়েব পৃষ্ঠাটি একটি বুকমার্ক হিসেবে সেভ করুন</translation> +<translation id="2750942583782703988">আপনার বর্তমান পৃষ্ঠাটি আবার লোড করুন</translation> +<translation id="2789868185375229787">পৃষ্ঠাটিতে ছোট করুন</translation> +<translation id="2804480015716812239"><ph name="ALT" /> টিপুন এবং একটি লিঙ্কে ক্লিক করুন</translation> +<translation id="2830827904629746450">ডান দিকে উইন্ডো ডক করুন</translation> <translation id="2872353916818027657">প্রাথমিক মনিটর অদলবদল করুন</translation> +<translation id="2914313326123580426">ডেভেলপার টুল প্যানেল দেখুন অথবা লুকান</translation> +<translation id="292495055542441795">ফুলস্ক্রিন টগল করুন</translation> +<translation id="3084301071537457911">আপনার শেল্ফে পরবর্তী আইটেমটি হাইলাইট করুন</translation> +<translation id="309173601632226815">আপনার শেল্ফে লঞ্চার বোতামটি হাইলাইট করুন</translation> <translation id="3105917916468784889">স্ক্রিনশট নিন</translation> +<translation id="3118681365140644126">আপনার শেল্ফে বোতাম থেকে হাইলাইট সরিয়ে দিন</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">ফোকাস ঠিকানা দণ্ড</translation> +<translation id="3288816184963444640">বর্তমান উইন্ডোটি বন্ধ করুন</translation> +<translation id="3356202203145076517">আপনি সম্প্রতি ব্যবহার করেছেন এমন উইন্ডোটি খুলুন</translation> +<translation id="3407560819924487926">টাস্ক ম্যানেজার আনুন</translation> +<translation id="3422679037938588196">আপনার সার্চের জন্য আগের ম্যাচে যান</translation> +<translation id="344577624355799426"><ph name="ALT" /> অথবা <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">জুম লেভেল রিসেট করুন</translation> +<translation id="353037708190149633">আপনার বর্তমান উইন্ডোতে খোলা সমস্ত পৃষ্ঠা বুকমার্ক হিসেবে একটি নতুন ফোল্ডারে সেভ করুন</translation> +<translation id="355103131818127604">ব্যাকগ্রাউন্ডে একটি নতুন ট্যাবে লিঙ্কটি খুলুন</translation> <translation id="3649256019230929621">উইন্ডো সংক্ষিপ্তায়ন করুন</translation> -<translation id="385051799172605136">ফিরুন</translation> +<translation id="3668361878347172356">আপনার শেষ অ্যাকশনটি আবার করুন</translation> +<translation id="3720939646656082033">একটি নতুন ট্যাবে লিঙ্কটি খুলুন এবং নতুন ট্যাবে পরিবর্তন করুন</translation> +<translation id="3725795051337497754">বর্তমান ট্যাবটি বন্ধ করুন</translation> +<translation id="3751033133896282964">আপনার শেষ অ্যাকশনটি আগের অবস্থায় ফেরান</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> ১ থেকে ৮ পর্যন্ত</translation> +<translation id="3837047332182291558">কীবোর্ডের উজ্জ্বলতা বাড়ান (ব্যাকলিট কীবোর্ডের জন্য)</translation> +<translation id="3976863468609830880">আপনার শেল্ফে শেষ আইকনটি ক্লিক করুন</translation> +<translation id="4035482366624727273">পৃষ্ঠাতে থাকা সবকিছুই বেছে নিন</translation> +<translation id="4060703249685950734">আপনার বন্ধ করা শেষ ট্যাব অথবা উইন্ডোটি খুলুন</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> বোতাম টিপে ধরে রেখে যে উইন্ডোটি খুলতে চান সেটি বেছে নেওয়ার জন্য <ph name="TAB" /> বোতাামটি বারবার টিপুন এবং তারপর উইন্ডোটি বেছে নেওয়া হয়ে গেলে আঙুল তুলে নিন।</translation> +<translation id="4092538597492297615">ক্লিপবোর্ডে বেছে নেওয়া কন্টেন্ট কপি করুন</translation> +<translation id="4123108089450197101">লিঙ্কটি একটি বুকমার্ক হিসেবে সেভ করুন</translation> +<translation id="4141203561740478845">অ্যাড্রেস বার সহ সারিটি হাইলাইট করুন</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> অথবা <ph name="ENTER" /></translation> +<translation id="4556221320735744018">কীবোর্ড শর্টকাট সহায়তাকারী দেখুন</translation> +<translation id="4628718545549558538">স্ট্যাটাস এলাকা খুলুন (যেখানে আপনার অ্যাকাউন্টের ছবি দেখানো হয়)</translation> +<translation id="4642092649622328492">আংশিক স্ক্রিনশট নিন</translation> +<translation id="4725377341024374454">আপনার শেল্ফে হাইলাইট করা বোতামটি খুলুন</translation> +<translation id="4801989101741319327">পরের শব্দের শেষে নিয়ে যান</translation> +<translation id="4916163929714267752">একটি নতুন উইন্ডোতে লিঙ্কটি খুলুন</translation> +<translation id="5034421018520995080">পৃষ্ঠার উপরে যান</translation> +<translation id="5042305953558921026">এক নজরে দেখার বোতাম</translation> +<translation id="5104462712192763270">আপনার বর্তমান পৃষ্ঠাটি সেভ করুন</translation> +<translation id="5121628974188116412">পৃষ্ঠার নিচে যান</translation> +<translation id="5236674127086649162">ক্যাশ করা কন্টেন্ট ব্যবহার না করেই আপনার বর্তমান পৃষ্ঠাটি আবার লোড করুন</translation> +<translation id="526651782186312376">লাইনের শুরুতে টেক্সট বেছে নিন</translation> <translation id="5316716239522500219">আয়না মনিটর</translation> +<translation id="5335199890994453201">DOM পরিদর্শক দেখুন বা লুকান</translation> +<translation id="5541719484267030947">ট্যাবটি টেনে আনার সময় <ph name="ESC" /> টিপুন</translation> +<translation id="5554139136362089836">বর্তমান পৃষ্ঠায় খুঁজুন</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> টিপুন এবং একটি লিঙ্ক ক্লিক করুন</translation> +<translation id="561814908794220892">একটি নতুন ট্যাবে ওয়েবপৃষ্ঠা খুলুন</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> অথবা <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">ট্যাবে লিঙ্কটি খুলুন</translation> +<translation id="5757474750054631686">কীবোর্ডের আলো কম করুন (শুধুমাত্র ব্যাকলিট কীবোর্ডের জন্য)</translation> +<translation id="587531134027443617">আগের শব্দটি মুছুন</translation> <translation id="5928303187149237472">স্ক্রিনের রেজোলিউশন পরিবর্তন করুন</translation> <translation id="5975083100439434680">জুম কমান</translation> +<translation id="6011500873794669296">এর মধ্যে নজর দিন: স্ট্যাটাস এলাকা (যেখানে আপনার অ্যাকাউন্টের ছবি দেখানো হয়) লঞ্চার অ্যাড্রেস বার বুকমার্ক বার (যদি দেখা যায়) ডাউনলোড বারে খোলা ওয়েব পেজ (যদি দেখা যায়)</translation> <translation id="6022924867608035986">সার্চ বক্সের টেক্সট সাফ করুন</translation> +<translation id="6045998054441862242">উচ্চ কনট্রাস্ট মোড চালু করুন</translation> +<translation id="6052614013050385269">একটি লিঙ্কে রাইট ক্লিক করুন</translation> <translation id="6129953537138746214">ব্যবধান</translation> +<translation id="6143669479988153888">পৃষ্ঠাটিতে বড় করুন</translation> <translation id="6185696379715117369">পৃষ্ঠায় উপরের দিকে যান</translation> +<translation id="6228457605945141550">উজ্জ্বলতা কমান</translation> +<translation id="6276708887952587684">পৃষ্ঠার সূত্র দেখুন</translation> +<translation id="6321940490215594447">ইতিহাস পৃষ্ঠাটি খুলুন</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">লাইনের শেষে টেক্সট বেছে নিন</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> অথবা <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">আপনার শেল্ফে ১-৮টি আইকন ক্লিক করুন</translation> +<translation id="6435207348963613811">আপনার শেল্ফে আগের আইটেমটি হাইলাইট করুন</translation> +<translation id="6445033640292336367">ট্যাবটিকে তার আসল অবস্থানে ফেরত নিয়ে যান</translation> +<translation id="649811797655257835">ফাইল বেছে নিয়ে <ph name="SPACE" /> টিপুন</translation> +<translation id="6572206071785323178">আপনার সেট করা কীবোর্ড ভাষার মধ্যে পরিবর্তন করুন। কীভাবে কীবোর্ড ভাষা বেছে নিতে হয় তা শিখুন।</translation> +<translation id="6634456834225946400">বুকমার্ক বার হাইলাইট করুন (যদি দেখা যায়)</translation> +<translation id="666343722268997814">হাইলাইট করা আইটেমের জন্য রাইট ক্লিক মেনু খুলুন</translation> +<translation id="6671538777808758331">আপনার সার্চের জন্য পরের ম্যাচে যান</translation> +<translation id="6690765639083431875">বাঁ দিকে উইন্ডো ডক করুন</translation> +<translation id="6692847073476874842">ফাইল অ্যাপে একটি ফাইলের প্রিভিউ দেখুন</translation> <translation id="671928215901716392">স্ক্রিন লক করুন</translation> <translation id="6727005317916125192">পূর্ববর্তী ফলক</translation> +<translation id="6740781404993465795">পরের শব্দ অথবা অক্ষরটি বেছে নিন</translation> +<translation id="6760706756348334449">ভলিউম কমান</translation> <translation id="6981982820502123353">অ্যাক্সেযোগ্যতা</translation> <translation id="7020813747703216897">মিলে যাওয়া কোনও ফলাফল খুঁজে পাওয়া যায়নি</translation> <translation id="7025325401470358758">পরবর্তী ফলক</translation> -<translation id="7272373489634936181">শর্টকাটগুলি খুঁজুন</translation> +<translation id="7379254767514753910"><ph name="ALT" /> অথবা <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">পরের অক্ষরটি মুছুন (সামনের দিকে মুছুন)</translation> +<translation id="766326951329901120">ক্লিপবোর্ড থেকে সাধারণ টেক্সট হিসেবে কন্টেন্ট পেস্ট করুন</translation> <translation id="7724603315864178912">কাটুন</translation> -<translation id="8004192919599017226">খুঁজুন...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, তারপর <ph name="SPACE" /> অথবা <ph name="ENTER" /></translation> +<translation id="7787242579016742662">ব্রাউজারে একটি ফাইল খুলুন</translation> +<translation id="7917881398263220094">আমার বর্তমান পৃষ্ঠা লোড হওয়া বন্ধ করুন</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> অথবা <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ডকুমেন্টের শুরুতে যান</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> অথবা <ph name="E" /></translation> +<translation id="8234414138295101081">স্ক্রিনকে ৯০ ডিগ্রি ঘোরান</translation> +<translation id="836869401750819675">ডাউনলোড হওয়া পৃষ্ঠাটি খুলুন</translation> +<translation id="8388247778047144397">ট্যাব বারের ফাঁকা অঞ্চলে একটি লিঙ্ক টেনে আনুন</translation> +<translation id="8389638407792712197">নতুন উইন্ডো খুলুন</translation> +<translation id="8429696719963529183">F কীগুলি ব্যবহার করুন (F1 থেকে F12)</translation> +<translation id="85690795166292698">একটি নতুন ট্যাবে লিঙ্কটি খুলুন</translation> +<translation id="8609384513243082612">নতুন ট্যাব খুলুন</translation> +<translation id="8644639153978066712">ফাইল অ্যাপে লুকিয়ে থাকা ফাইলগুলি ডিসপ্লে করুন</translation> +<translation id="8709893667941082515">সার্চে অ্যাড্রেস বারের উপর নজর রাখুন</translation> +<translation id="8717459106217102612">আগের শব্দ অথবা অক্ষরটি বেছে নিন</translation> +<translation id="8727232706774971183">আপনার বিজ্ঞপ্তিগুলি দেখুন</translation> <translation id="88986195241502842">পৃষ্ঠায় নীচের দিকে যান</translation> <translation id="8903921497873541725">জুম বাড়ান</translation> <translation id="9179672198516322668">জনপ্রিয় শর্টকাট</translation>
diff --git a/ash/components/strings/ash_components_strings_ca.xtb b/ash/components/strings/ash_components_strings_ca.xtb index 4b44a91d..d1756866 100644 --- a/ash/components/strings/ash_components_strings_ca.xtb +++ b/ash/components/strings/ash_components_strings_ca.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ca"> +<translation id="104962181688258143">Obre l'aplicació Fitxers</translation> +<translation id="1126871238933253947">Canvia a l'idioma de teclat que has utilitzat anteriorment.</translation> +<translation id="1195667586424773550">Arrossega l'enllaç a la barra d'adreces de la pestanya</translation> +<translation id="1204450209689312104">Obre una finestra nova en mode d'incògnit</translation> +<translation id="1299858300159559687">Imprimeix la pàgina actual</translation> <translation id="1383876407941801731">Cerca</translation> +<translation id="1439252533104567537">Ves a la pestanya numerada</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> o <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Menú d'aplicacions</translation> +<translation id="152892567002884378">Apuja el volum</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> i després <ph name="ESC" /></translation> +<translation id="1652741121070700329">Mou el cursor a l'inici de la paraula anterior</translation> +<translation id="1679841710523778799">Augmenta la brillantor</translation> +<translation id="168356808214100546">Mantén premuda la tecla <ph name="ALT" />, toca <ph name="TAB" /> fins a arribar a la finestra que vulguis obrir i deixa anar la tecla.</translation> <translation id="169515659049020177">Maj</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Afegeix www. i .com al text de la barra d'adreces i obre la pàgina</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> i després <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Ves a la pestanya següent</translation> +<translation id="2010818616644390445">Ves a l'última pestanya de la finestra</translation> <translation id="2145908266289632567">Edició de text</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> de l'1 a =</translation> +<translation id="2181097965834437145">Mostra o amaga la barra d'adreces d'interès</translation> +<translation id="2185166372312820725">Ves a la pestanya anterior</translation> +<translation id="2194790690264064655">Prem <ph name="CTRL" /> i fes clic en un enllaç</translation> +<translation id="2424073332829844142">Activa i desactiva el bloqueig de majúscules</translation> +<translation id="2441202986792279177">Canvia de finestra ràpidament</translation> +<translation id="2478303094958140141">Activa o desactiva ChromeVox (comentaris de veu)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Desplaça la pàgina web cap avall</translation> +<translation id="2568632782096378307">Restableix la resolució de pantalla a l'opció predeterminada</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> i després <ph name="TAB" /> o <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Desa la pàgina web actual a les adreces d'interès</translation> +<translation id="2750942583782703988">Torna a carregar la pàgina actual</translation> +<translation id="2789868185375229787">Redueix la pàgina</translation> +<translation id="2804480015716812239">Prem <ph name="ALT" /> i fes clic en un enllaç</translation> +<translation id="2830827904629746450">Fixa una finestra a la dreta</translation> <translation id="2872353916818027657">Canvia el monitor principal</translation> -<translation id="3105917916468784889">Captura Pantalla</translation> +<translation id="2914313326123580426">Mostra o amaga el tauler d'eines per a desenvolupadors</translation> +<translation id="292495055542441795">Activa/desactiva la pantalla completa</translation> +<translation id="3084301071537457911">Destaca l'element següent del prestatge</translation> +<translation id="309173601632226815">Destaca el botó del menú d'aplicacions al prestatge</translation> +<translation id="3105917916468784889">Fes una captura de pantalla</translation> +<translation id="3118681365140644126">Deixa de destacar un botó del prestatge</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Mou el focus a la barra d'adreces</translation> +<translation id="3288816184963444640">Tanca la finestra actual</translation> +<translation id="3356202203145076517">Obre la finestra que s'ha utilitzat més recentment</translation> +<translation id="3407560819924487926">Obre el gestor de tasques</translation> +<translation id="3422679037938588196">Ves al resultat anterior de la cerca</translation> +<translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Restableix el nivell de zoom</translation> +<translation id="353037708190149633">Desa totes les pàgines obertes de la finestra actual a les adreces d'interès en una carpeta nova</translation> +<translation id="355103131818127604">Obre l'enllaç en una pestanya nova en segon pla</translation> <translation id="3649256019230929621">Minimitza la finestra</translation> -<translation id="385051799172605136">Enrere</translation> +<translation id="3668361878347172356">Refés la darrera acció</translation> +<translation id="3720939646656082033">Obre l'enllaç en una pestanya nova i canvia a aquesta pestanya</translation> +<translation id="3725795051337497754">Tanca la pestanya actual</translation> +<translation id="3751033133896282964">Desfés la darrera acció</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> de l'1 al 8</translation> +<translation id="3837047332182291558">Augmenta la brillantor del teclat (només als teclats retroil·luminats)</translation> +<translation id="3976863468609830880">Fes clic a la darrera icona del prestatge</translation> +<translation id="4035482366624727273">Selecciona tot el contingut de la pàgina</translation> +<translation id="4060703249685950734">Torna a obrir la darrera pestanya o finestra que s'ha tancat</translation> +<translation id="4090342722461256974">Mantén premudes les tecles <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, toca <ph name="TAB" /> fins a arribar a la finestra que vulguis obrir i deixa anar les tecles.</translation> +<translation id="4092538597492297615">Copia el contingut seleccionat al porta-retalls</translation> +<translation id="4123108089450197101">Desa l'enllaç a les adreces d'interès</translation> +<translation id="4141203561740478845">Destaca la fila on hi ha la barra d'adreces</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Consulta l'ajuda de les tecles de drecera</translation> +<translation id="4628718545549558538">Obre l'àrea d'estat (on es mostra la imatge del compte)</translation> +<translation id="4642092649622328492">Fes una captura de pantalla parcial</translation> +<translation id="4725377341024374454">Obre el botó destacat del prestatge</translation> +<translation id="4801989101741319327">Mou el cursor al final de la paraula següent</translation> +<translation id="4916163929714267752">Obre l'enllaç en una finestra nova</translation> +<translation id="5034421018520995080">Ves a la part superior de la pàgina</translation> +<translation id="5042305953558921026">Tecla del mode de visió general</translation> +<translation id="5104462712192763270">Desa la pàgina actual</translation> +<translation id="5121628974188116412">Ves a la part inferior de la pàgina</translation> +<translation id="5236674127086649162">Torna a carregar la pàgina actual sense utilitzar contingut desat a la memòria cau</translation> +<translation id="526651782186312376">Selecciona text fins al principi de la línia</translation> <translation id="5316716239522500219">Replica els monitors</translation> +<translation id="5335199890994453201">Mostra o amaga l'Inspector de DOM</translation> +<translation id="5541719484267030947">Mentre arrossegues la pestanya, prem <ph name="ESC" /></translation> +<translation id="5554139136362089836">Fes una cerca a la pàgina actual</translation> +<translation id="5563050856984839829">Prem <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> i fes clic en un enllaç</translation> +<translation id="561814908794220892">Obre la pàgina web en una pestanya nova</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> o <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Obre l'enllaç a la pestanya</translation> +<translation id="5757474750054631686">Atenua el teclat (només als teclats retroil·luminats)</translation> +<translation id="587531134027443617">Suprimeix la paraula anterior</translation> <translation id="5928303187149237472">Canvia la resolució de pantalla</translation> <translation id="5975083100439434680">Redueix</translation> +<translation id="6011500873794669296">Alterna el focus entre les seccions següents: àrea d'estat (on es mostra la imatge del compte), menú d'aplicacions, barra d'adreces, barra d'adreces d'interès (si és visible), la pàgina web que està oberta, la barra de baixades (si és visible)</translation> <translation id="6022924867608035986">Esborra el text del quadre de cerca</translation> +<translation id="6045998054441862242">Activa el mode d'alt contrast</translation> +<translation id="6052614013050385269">Fes clic amb el botó secundari del ratolí en un enllaç</translation> <translation id="6129953537138746214">Espai</translation> +<translation id="6143669479988153888">Amplia la pàgina</translation> <translation id="6185696379715117369">Re Pàg</translation> +<translation id="6228457605945141550">Disminueix la brillantor</translation> +<translation id="6276708887952587684">Mostra el codi font de la pàgina</translation> +<translation id="6321940490215594447">Obre la pàgina Historial</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Selecciona text fins al final de la línia</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Fes clic a les icones de l'1 al 8 del prestatge</translation> +<translation id="6435207348963613811">Destaca l'element anterior del prestatge</translation> +<translation id="6445033640292336367">Torna a col·locar la pestanya a la posició original</translation> +<translation id="649811797655257835">Selecciona el fitxer i prem <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Alterna entre els idiomes de teclat establerts. Obtén més informació sobre com triar l'idioma del teclat.</translation> +<translation id="6634456834225946400">Destaca la barra d'adreces d'interès (si es mostra)</translation> +<translation id="666343722268997814">Obre el menú contextual de l'element destacat</translation> +<translation id="6671538777808758331">Ves al resultat següent de la cerca</translation> +<translation id="6690765639083431875">Fixa una finestra a l'esquerra</translation> +<translation id="6692847073476874842">Previsualitza un fitxer a l'aplicació Fitxers</translation> <translation id="671928215901716392">Bloqueja la pantalla</translation> <translation id="6727005317916125192">Subfinestra anterior</translation> +<translation id="6740781404993465795">Selecciona la paraula o lletra següent</translation> +<translation id="6760706756348334449">Abaixa el volum</translation> <translation id="6981982820502123353">Accessibilitat</translation> <translation id="7020813747703216897">No s'ha trobat cap resultat coincident</translation> <translation id="7025325401470358758">Subfinestra següent</translation> -<translation id="7272373489634936181">Cerca dreceres</translation> +<translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Suprimeix la lletra següent (supressió cap endavant)</translation> +<translation id="766326951329901120">Enganxa el contingut del porta-retalls com a text sense format</translation> <translation id="7724603315864178912">Retalla</translation> -<translation id="8004192919599017226">Inicia la cerca...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> i després <ph name="SPACE" /> o <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Obre un fitxer al navegador</translation> +<translation id="7917881398263220094">Atura la càrrega de la pàgina actual</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Ves al principi del document</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation> +<translation id="8234414138295101081">Gira la pantalla 90 graus</translation> +<translation id="836869401750819675">Obre la pàgina Baixades</translation> +<translation id="8388247778047144397">Arrossega l'enllaç a una àrea buida de la barra de pestanyes</translation> +<translation id="8389638407792712197">Obre una finestra nova</translation> +<translation id="8429696719963529183">Fes servir les tecles de funció (F1 a F12)</translation> +<translation id="85690795166292698">Obre l'enllaç en una pestanya nova</translation> +<translation id="8609384513243082612">Obre una pestanya nova</translation> +<translation id="8644639153978066712">Mostra els fitxers amagats a l'aplicació Fitxers</translation> +<translation id="8709893667941082515">Mou el focus a la barra d'adreces durant una cerca</translation> +<translation id="8717459106217102612">Selecciona la paraula o la lletra anterior</translation> +<translation id="8727232706774971183">Mostra les notificacions</translation> <translation id="88986195241502842">Av Pàg</translation> <translation id="8903921497873541725">Amplia</translation> <translation id="9179672198516322668">Dreceres populars</translation>
diff --git a/ash/components/strings/ash_components_strings_cs.xtb b/ash/components/strings/ash_components_strings_cs.xtb index a46ae36..1d0a56a 100644 --- a/ash/components/strings/ash_components_strings_cs.xtb +++ b/ash/components/strings/ash_components_strings_cs.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="cs"> +<translation id="104962181688258143">Otevřít aplikaci Soubory</translation> +<translation id="1126871238933253947">Přepnout na předchozí jazyk klávesnice.</translation> +<translation id="1195667586424773550">Přetáhněte odkaz na adresní řádek na kartě</translation> +<translation id="1204450209689312104">Otevřít nové okno v anonymním režimu</translation> +<translation id="1299858300159559687">Vytisknout aktuální stránku</translation> <translation id="1383876407941801731">Vyhledávání</translation> +<translation id="1439252533104567537">Přejít na očíslovanou kartu</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> nebo <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Spouštěč</translation> +<translation id="152892567002884378">Zvýšit hlasitost</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> a poté <ph name="ESC" /></translation> +<translation id="1652741121070700329">Přesunout kurzor na začátek předchozího slova.</translation> +<translation id="1679841710523778799">Zvýšit jas</translation> +<translation id="168356808214100546">Stiskněte a podržte <ph name="ALT" /> a opakovaně stiskněte klávesu <ph name="TAB" />, dokud nepřejdete na okno, které chcete otevřít. Poté klávesy uvolněte.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Přidat k zadanému řetězci na adresním řádku www. a .com a poté otevřít stránku</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> a poté <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> nebo <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Přejít na další kartu</translation> +<translation id="2010818616644390445">Přejít na poslední kartu v okně</translation> <translation id="2145908266289632567">Úpravy textu</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 až =</translation> +<translation id="2181097965834437145">Zobrazit nebo skrýt lištu záložek</translation> +<translation id="2185166372312820725">Přejít na předchozí kartu</translation> +<translation id="2194790690264064655">Stiskněte klávesu <ph name="CTRL" /> a klikněte na odkaz</translation> +<translation id="2424073332829844142">Zapnout nebo vypnout režim Caps Lock</translation> +<translation id="2441202986792279177">Rychle přepnout mezi okny</translation> +<translation id="2478303094958140141">Zapnout nebo vypnout ChromeVox (hlasovou zpětnou vazbu)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Posunout webovou stránku dolů</translation> +<translation id="2568632782096378307">Obnovit výchozí rozlišení obrazovky</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> a poté <ph name="TAB" /> nebo <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Uložit aktuální webovou stránku jako záložku</translation> +<translation id="2750942583782703988">Znovu načíst aktuální stránku</translation> +<translation id="2789868185375229787">Oddálit stránku</translation> +<translation id="2804480015716812239">Stiskněte klávesu <ph name="ALT" /> a klikněte na odkaz</translation> +<translation id="2830827904629746450">Ukotvit okno vpravo</translation> <translation id="2872353916818027657">Změnit primární monitor</translation> +<translation id="2914313326123580426">Zobrazit nebo skrýt panel Nástroje pro vývojáře</translation> +<translation id="292495055542441795">Přepnout zobrazení na celou obrazovku</translation> +<translation id="3084301071537457911">Zvýraznit další položku na poličce</translation> +<translation id="309173601632226815">Zvýraznit tlačítko spouštěče na poličce</translation> <translation id="3105917916468784889">Pořídit snímek obrazovky</translation> +<translation id="3118681365140644126">Odebrat z tlačítka na poličce zvýraznění</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Přepnout do adresního řádku</translation> +<translation id="3288816184963444640">Zavřít aktuální okno</translation> +<translation id="3356202203145076517">Otevřít nedávno použité okno</translation> +<translation id="3407560819924487926">Otevřít správce úloh</translation> +<translation id="3422679037938588196">Přejít na předchozí výskyt hledaného výrazu</translation> +<translation id="344577624355799426"><ph name="ALT" /> nebo <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Resetovat úroveň přiblížení</translation> +<translation id="353037708190149633">Uložit všechny otevřené stránky v aktuálním okně jako záložky do nové složky</translation> +<translation id="355103131818127604">Otevřít odkaz na nové kartě na pozadí</translation> <translation id="3649256019230929621">Minimalizovat okno</translation> -<translation id="385051799172605136">Zpět</translation> +<translation id="3668361878347172356">Zopakovat poslední akci</translation> +<translation id="3720939646656082033">Otevřít odkaz na nové kartě a přejít na ni</translation> +<translation id="3725795051337497754">Zavřít aktuální kartu</translation> +<translation id="3751033133896282964">Vrátit zpět poslední akci</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 až 8</translation> +<translation id="3837047332182291558">Zvýšit jas klávesnice (pouze u podsvícených klávesnic)</translation> +<translation id="3976863468609830880">Kliknout na poslední ikonu na poličce</translation> +<translation id="4035482366624727273">Vybrat veškerý obsah stránky</translation> +<translation id="4060703249685950734">Znovu otevřít naposledy zavřenou kartu</translation> +<translation id="4090342722461256974">Stiskněte a podržte <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> a opakovaně stiskněte klávesu <ph name="TAB" />, dokud nepřejdete na okno, které chcete otevřít. Poté klávesy uvolněte.</translation> +<translation id="4092538597492297615">Zkopírovat vybraný obsah do schránky</translation> +<translation id="4123108089450197101">Uložit odkaz jako záložku</translation> +<translation id="4141203561740478845">Zvýraznit adresní řádek</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> nebo <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Zobrazit nápovědu ke klávesovým zkratkám</translation> +<translation id="4628718545549558538">Otevřít stavovou oblast (kde se zobrazuje obrázek účtu)</translation> +<translation id="4642092649622328492">Pořídit částečný snímek obrazovky</translation> +<translation id="4725377341024374454">Otevřít zvýrazněné tlačítko na poličce</translation> +<translation id="4801989101741319327">Přesunout kurzor na konec dalšího slova.</translation> +<translation id="4916163929714267752">Otevřít odkaz v novém okně</translation> +<translation id="5034421018520995080">Přejít na začátek stránky</translation> +<translation id="5042305953558921026">Klávesa režimu přehledu</translation> +<translation id="5104462712192763270">Uložit aktuální stránku</translation> +<translation id="5121628974188116412">Přejít na konec stránky</translation> +<translation id="5236674127086649162">Znovu načíst aktuální stránku bez použití obsahu z mezipaměti</translation> +<translation id="526651782186312376">Vybrat text k začátku řádku</translation> <translation id="5316716239522500219">Zrcadlit monitory</translation> +<translation id="5335199890994453201">Zobrazit nebo skrýt nástroj DOM Inspector</translation> +<translation id="5541719484267030947">Při přetahování karty stiskněte <ph name="ESC" /></translation> +<translation id="5554139136362089836">Vyhledávat na aktuální stránce</translation> +<translation id="5563050856984839829">Stiskněte <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> a klikněte na odkaz</translation> +<translation id="561814908794220892">Otevřít webovou stránku na nové kartě</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> nebo <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Otevřít odkaz na dané kartě</translation> +<translation id="5757474750054631686">Snížit jas klávesnice (pouze u podsvícených klávesnic)</translation> +<translation id="587531134027443617">Vymazat předchozí slovo</translation> <translation id="5928303187149237472">Změna rozlišení obrazovky</translation> <translation id="5975083100439434680">Oddálit</translation> +<translation id="6011500873794669296">Přecházet mezi: stavovou oblastí (kde se zobrazuje obrázek účtu), spouštěčem, adresním řádkem, lištou záložek (pokud je viditelná), otevřenou webovou stránkou a lištou se staženými soubory (pokud je viditelná)</translation> <translation id="6022924867608035986">Vymazat text z vyhledávacího pole</translation> +<translation id="6045998054441862242">Zapnout režim vysokého kontrastu</translation> +<translation id="6052614013050385269">Kliknout na odkaz pravým tlačítkem</translation> <translation id="6129953537138746214">Mezera</translation> +<translation id="6143669479988153888">Přiblížit stránku</translation> <translation id="6185696379715117369">O stránku nahoru</translation> +<translation id="6228457605945141550">Snížit jas</translation> +<translation id="6276708887952587684">Zobrazit zdrojový kód stránky</translation> +<translation id="6321940490215594447">Otevřít stránku Historie</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Vybrat text až do konce řádku</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> nebo <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Kliknout na položky 1–8 na poličce</translation> +<translation id="6435207348963613811">Zvýraznit předchozí položku na poličce</translation> +<translation id="6445033640292336367">Vrátit kartu na původní pozici</translation> +<translation id="649811797655257835">Vyberte soubor a stiskněte <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Přepnout mezi nastavenými jazyky klávesnice. Přečtěte si, jak vybrat jazyk klávesnice.</translation> +<translation id="6634456834225946400">Zvýraznit lištu záložek (pokud je zobrazena)</translation> +<translation id="666343722268997814">Otevřít pro zvýrazněnou položku kontextovou nabídku</translation> +<translation id="6671538777808758331">Přejít na další výskyt hledaného výrazu</translation> +<translation id="6690765639083431875">Ukotvit okno vlevo</translation> +<translation id="6692847073476874842">Zobrazit náhled souboru v aplikaci Soubory</translation> <translation id="671928215901716392">Zamknout obrazovku</translation> <translation id="6727005317916125192">Předchozí podokno</translation> +<translation id="6740781404993465795">Vybrat další slovo nebo písmeno</translation> +<translation id="6760706756348334449">Snížit hlasitost</translation> <translation id="6981982820502123353">Usnadnění</translation> <translation id="7020813747703216897">Nebyly nalezeny žádné odpovídající výsledky</translation> <translation id="7025325401470358758">Další podokno</translation> -<translation id="7272373489634936181">Hledat zkratky</translation> +<translation id="7379254767514753910"><ph name="ALT" /> nebo <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Vymazat následující písmeno (odstranění následujícího znaku).</translation> +<translation id="766326951329901120">Vložit obsah ze schránky jako prostý text</translation> <translation id="7724603315864178912">Vyjmout</translation> -<translation id="8004192919599017226">Zahájit hledání...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> a poté <ph name="SPACE" /> nebo <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Otevřít soubor v prohlížeči</translation> +<translation id="7917881398263220094">Zastavit načítání aktuální stránky.</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> nebo <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Přejít na začátek dokumentu</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> nebo <ph name="E" /></translation> +<translation id="8234414138295101081">Otočit obrazovku o 90 stupňů</translation> +<translation id="836869401750819675">Otevřít stránku Stažené soubory</translation> +<translation id="8388247778047144397">Přetáhněte odkaz na prázdné místo na liště karet</translation> +<translation id="8389638407792712197">Otevřít nové okno</translation> +<translation id="8429696719963529183">Použít funkční klávesy (F1 až F12)</translation> +<translation id="85690795166292698">Otevřít odkaz na nové kartě</translation> +<translation id="8609384513243082612">Otevřít novou kartu</translation> +<translation id="8644639153978066712">Zobrazit v aplikaci Soubory skryté soubory</translation> +<translation id="8709893667941082515">Přejít na adresní řádek za účelem vyhledávání</translation> +<translation id="8717459106217102612">Vybrat předchozí slovo nebo písmeno.</translation> +<translation id="8727232706774971183">Zobrazit oznámení</translation> <translation id="88986195241502842">O stránku dolů</translation> <translation id="8903921497873541725">Přiblížit</translation> <translation id="9179672198516322668">Oblíbené klávesové zkratky</translation>
diff --git a/ash/components/strings/ash_components_strings_da.xtb b/ash/components/strings/ash_components_strings_da.xtb index 271e080..9923dff 100644 --- a/ash/components/strings/ash_components_strings_da.xtb +++ b/ash/components/strings/ash_components_strings_da.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="da"> +<translation id="104962181688258143">Åbn appen Filer</translation> +<translation id="1126871238933253947">Skift til det forrige tastatursprog, du har brugt.</translation> +<translation id="1195667586424773550">Træk linket til adresselinjen på fanen</translation> +<translation id="1204450209689312104">Åbn et nyt vindue i inkognitotilstand</translation> +<translation id="1299858300159559687">Udskriv den aktuelle side</translation> <translation id="1383876407941801731">Søg</translation> +<translation id="1439252533104567537">Gå til nummereret fane</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> eller <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Appliste</translation> +<translation id="152892567002884378">Lydstyrke op</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og derefter <ph name="ESC" /></translation> +<translation id="1652741121070700329">Flyt til begyndelsen af det forrige ord</translation> +<translation id="1679841710523778799">Skru op for lysstyrken</translation> +<translation id="168356808214100546">Hold <ph name="ALT" /> nede, og tryk på <ph name="TAB" />, indtil det vindue, du vil åbne, vises. Giv derefter slip på tasterne.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Føj www. og .com til dit input i adresselinjen, og åbn siden</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og derefter <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> eller <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Gå til næste fane</translation> +<translation id="2010818616644390445">Gå til den sidste fane i vinduet</translation> <translation id="2145908266289632567">Tekstredigering</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 til =</translation> +<translation id="2181097965834437145">Vis eller skjul bogmærkelinjen</translation> +<translation id="2185166372312820725">Gå til forrige fane</translation> +<translation id="2194790690264064655">Tryk på <ph name="CTRL" />, og klik på et link</translation> +<translation id="2424073332829844142">Slå Caps Lock til og fra</translation> +<translation id="2441202986792279177">Skift hurtigt mellem vinduer</translation> +<translation id="2478303094958140141">Slå ChromeVox (oplæsning) til eller fra</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Rul ned på websiden</translation> +<translation id="2568632782096378307">Nulstil skærmopløsningen til standardindstillingen</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og derefter <ph name="TAB" /> eller <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Gem den aktuelle webside som et bogmærke</translation> +<translation id="2750942583782703988">Genindlæs den aktuelle side</translation> +<translation id="2789868185375229787">Zoom ud fra siden</translation> +<translation id="2804480015716812239">Tryk på <ph name="ALT" />, og klik på et link</translation> +<translation id="2830827904629746450">Fastgør et vindue i højre side</translation> <translation id="2872353916818027657">Skift primær skærm</translation> +<translation id="2914313326123580426">Vis eller skjul panelet med udviklerværktøj</translation> +<translation id="292495055542441795">Slå fuld skærm til eller fra</translation> +<translation id="3084301071537457911">Fremhæv det næste element på din hylde</translation> +<translation id="309173601632226815">Fremhæv knappen Appliste på din hylde</translation> <translation id="3105917916468784889">Tag screenshot</translation> +<translation id="3118681365140644126">Fjern fremhævningen af en knap på din hylde</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokuser på adresselinje</translation> +<translation id="3288816184963444640">Luk det aktuelle vindue</translation> +<translation id="3356202203145076517">Åbn det vindue, du har brugt for længst tid siden</translation> +<translation id="3407560819924487926">Se Jobliste</translation> +<translation id="3422679037938588196">Gå til det forrige match for din søgning</translation> +<translation id="344577624355799426"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Nulstil zoomniveauet</translation> +<translation id="353037708190149633">Gem alle åbne sider i dit nuværende vindue som bogmærker i en ny mappe</translation> +<translation id="355103131818127604">Åbn linket på en ny fane i baggrunden</translation> <translation id="3649256019230929621">Minimer vinduet</translation> -<translation id="385051799172605136">Tilbage</translation> +<translation id="3668361878347172356">Gentag den sidste handling</translation> +<translation id="3720939646656082033">Åbn linket i en ny fane, og skift til den nye fane</translation> +<translation id="3725795051337497754">Luk den aktuelle fane</translation> +<translation id="3751033133896282964">Fortryd den sidste handling</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 til 8</translation> +<translation id="3837047332182291558">Skru op for tastaturets lys (gælder kun for tastaturer med bagbelyste taster)</translation> +<translation id="3976863468609830880">Klik på det sidste ikon på din hylde</translation> +<translation id="4035482366624727273">Markér alt på siden</translation> +<translation id="4060703249685950734">Genåbn den sidste fane eller det sidste vindue, du lukkede</translation> +<translation id="4090342722461256974">Hold <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> nede, og tryk på <ph name="TAB" />, indtil det vindue, du vil åbne, vises. Giv derefter slip på tasterne</translation> +<translation id="4092538597492297615">Kopiér det valgte indhold til udklipsholderen</translation> +<translation id="4123108089450197101">Gem linket som et bogmærke</translation> +<translation id="4141203561740478845">Fremhæv rækken med adresselinjen</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> eller <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Se Hjælp til tastaturgenveje</translation> +<translation id="4628718545549558538">Åbn statusområdet (hvor dit kontobillede vises)</translation> +<translation id="4642092649622328492">Tag et delvist screenshot</translation> +<translation id="4725377341024374454">Åbn den fremhævede knap på din hylde</translation> +<translation id="4801989101741319327">Flyt til slutningen af det næste ord</translation> +<translation id="4916163929714267752">Åbn linket i et nyt vindue</translation> +<translation id="5034421018520995080">Gå til toppen af siden</translation> +<translation id="5042305953558921026">Tast til oversigtstilstand</translation> +<translation id="5104462712192763270">Gem den aktuelle side</translation> +<translation id="5121628974188116412">Gå til bunden af siden</translation> +<translation id="5236674127086649162">Genindlæs den aktuelle side uden at bruge cachelagret indhold</translation> +<translation id="526651782186312376">Markér teksten til begyndelsen af linjen</translation> <translation id="5316716239522500219">Spejlvend skærmene</translation> +<translation id="5335199890994453201">Vis eller skjul DOM Inspector</translation> +<translation id="5541719484267030947">Tryk på <ph name="ESC" />, mens du trækker fanen</translation> +<translation id="5554139136362089836">Søg på den aktuelle side</translation> +<translation id="5563050856984839829">Tryk på <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" />, og klik på et link</translation> +<translation id="561814908794220892">Åbn websiden på en ny fane</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> eller <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Åbn linket på fanen</translation> +<translation id="5757474750054631686">Dæmp tastaturets lys (gælder kun for tastaturer med bagbelyste taster)</translation> +<translation id="587531134027443617">Slet det forrige ord</translation> <translation id="5928303187149237472">Skift skærmopløsning</translation> <translation id="5975083100439434680">Zoom ud</translation> +<translation id="6011500873794669296">Skift fokus mellem: Statusområde (hvor dit kontobillede vises) Appliste Adresselinje Bogmærkelinje (hvis den er synlig) Den åbne webside Downloadlinje (hvis den er synlig)</translation> <translation id="6022924867608035986">Ryd teksten i søgefeltet</translation> +<translation id="6045998054441862242">Aktivér tilstanden Høj kontrast</translation> +<translation id="6052614013050385269">Højreklik på et link</translation> <translation id="6129953537138746214">Mellemrum</translation> +<translation id="6143669479988153888">Zoom ind på siden</translation> <translation id="6185696379715117369">Gå en side op</translation> +<translation id="6228457605945141550">Skru ned for lysstyrken</translation> +<translation id="6276708887952587684">Se sidekilden</translation> +<translation id="6321940490215594447">Åbn siden Historik</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Markér teksten til slutningen af linjen</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> eller <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klik på ikon 1-8 på din hylde</translation> +<translation id="6435207348963613811">Fremhæv det forrige element på din hylde</translation> +<translation id="6445033640292336367">Flyt fanen tilbage til sin udgangsposition</translation> +<translation id="649811797655257835">Vælg filen, og tryk på <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Skift mellem de tastatursprog, du har angivet. Se, hvordan du vælger tastatursprog.</translation> +<translation id="6634456834225946400">Fremhæv bogmærkelinjen (hvis denne vises)</translation> +<translation id="666343722268997814">Åbn højrekliksmenuen for det fremhævede element</translation> +<translation id="6671538777808758331">Gå til det næste match for din søgning</translation> +<translation id="6690765639083431875">Fastgør et vindue i venstre side</translation> +<translation id="6692847073476874842">Se eksempel på en fil i appen Filer</translation> <translation id="671928215901716392">Lås skærmen</translation> <translation id="6727005317916125192">Forrige rude</translation> +<translation id="6740781404993465795">Markér det næste ord eller bogstav</translation> +<translation id="6760706756348334449">Lydstyrke ned</translation> <translation id="6981982820502123353">Hjælpefunktioner</translation> <translation id="7020813747703216897">Der blev ikke fundet nogen matchende resultater</translation> <translation id="7025325401470358758">Næste rude</translation> -<translation id="7272373489634936181">Søg efter genveje</translation> +<translation id="7379254767514753910"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Slet det næste bogstav (slet fremad)</translation> +<translation id="766326951329901120">Indsæt indholdet fra udklipsholderen som almindelig tekst</translation> <translation id="7724603315864178912">Klip</translation> -<translation id="8004192919599017226">Start søgning...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og derefter <ph name="SPACE" /> eller <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Åbn en fil i browseren</translation> +<translation id="7917881398263220094">Stop indlæsningen af den aktuelle side</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> eller <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Gå til begyndelsen af dokumentet</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> eller <ph name="E" /></translation> +<translation id="8234414138295101081">Roter skærmen 90 grader</translation> +<translation id="836869401750819675">Åbn siden Downloads</translation> +<translation id="8388247778047144397">Træk linket til et tomt område på fanelinjen</translation> +<translation id="8389638407792712197">Åbn et nyt vindue</translation> +<translation id="8429696719963529183">Brug F-tasterne (F1 til F12)</translation> +<translation id="85690795166292698">Åbn linket på en ny fane</translation> +<translation id="8609384513243082612">Åbn en ny fane</translation> +<translation id="8644639153978066712">Vis skjulte filer i appen Filer</translation> +<translation id="8709893667941082515">Fokuser adresselinje i søgetilstand</translation> +<translation id="8717459106217102612">Markér det forrige ord eller bogstav</translation> +<translation id="8727232706774971183">Se dine underretninger</translation> <translation id="88986195241502842">Gå en side ned</translation> <translation id="8903921497873541725">Zoom ind</translation> <translation id="9179672198516322668">Populære genveje</translation>
diff --git a/ash/components/strings/ash_components_strings_de.xtb b/ash/components/strings/ash_components_strings_de.xtb index 3696c7f3..37d3cd99 100644 --- a/ash/components/strings/ash_components_strings_de.xtb +++ b/ash/components/strings/ash_components_strings_de.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="de"> +<translation id="104962181688258143">App "Dateien" öffnen</translation> +<translation id="1126871238933253947">Zur vorher verwendeten Tastatursprache wechseln.</translation> +<translation id="1195667586424773550">Link in Adressleiste des Tabs ziehen</translation> +<translation id="1204450209689312104">Neues Fenster im Inkognitomodus öffnen</translation> +<translation id="1299858300159559687">Aktuelle Seite drucken</translation> <translation id="1383876407941801731">Suchen</translation> +<translation id="1439252533104567537">Auf den nummerierten Tab klicken</translation> +<translation id="1454364489140280055">"<ph name="CTRL" />" <ph name="SEPARATOR1" /> "<ph name="SHIFT1" />" <ph name="SEPARATOR2" /> "<ph name="G" />" oder "<ph name="SHIFT2" />" <ph name="SEPARATOR3" /> "<ph name="ENTER" />"</translation> <translation id="1510238584712386396">Übersicht</translation> +<translation id="152892567002884378">Lauter</translation> +<translation id="1560480564179555003">"<ph name="SHIFT" />" <ph name="SEPARATOR1" /> "<ph name="ALT" />" <ph name="SEPARATOR2" /> "<ph name="L" />", dann "<ph name="ESC" />"</translation> +<translation id="1652741121070700329">Zum Anfang des vorherigen Wortes springen</translation> +<translation id="1679841710523778799">Helligkeit erhöhen</translation> +<translation id="168356808214100546">"<ph name="ALT" />" gedrückt halten und "<ph name="TAB" />" drücken, bis das gewünschte Fenster angezeigt wird, dann loslassen.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435">"<ph name="MODIFIER1" />" <ph name="SEPARATOR1" /> "<ph name="MODIFIER2" />" <ph name="SEPARATOR2" /> "<ph name="KEY" />"</translation> +<translation id="1733525068429116555">"www." und ".com" zur Eingabe in der Adressleiste hinzufügen und die Seite dann öffnen</translation> +<translation id="1920446759863417809">"<ph name="SHIFT1" />" <ph name="SEPARATOR1" /> "<ph name="ALT" />" <ph name="SEPARATOR2" /> "<ph name="L" />", dann "<ph name="SHIFT2" />" <ph name="SEPARATOR3" /> "<ph name="TAB" />" oder "<ph name="LEFT" />"</translation> +<translation id="1996162290124031907">Auf den nächsten Tab klicken</translation> +<translation id="2010818616644390445">Auf den letzten Tab im Fenster klicken</translation> <translation id="2145908266289632567">Textbearbeitung</translation> +<translation id="215292019801409139">"<ph name="SEARCH" />" <ph name="SEPARATOR" /> 1 bis =</translation> +<translation id="2181097965834437145">Lesezeichenleiste ein- oder ausblenden</translation> +<translation id="2185166372312820725">Auf den vorherigen Tab klicken</translation> +<translation id="2194790690264064655">"<ph name="CTRL" />" gedrückt halten und auf einen Link klicken</translation> +<translation id="2424073332829844142">Feststelltaste aktivieren und deaktivieren</translation> +<translation id="2441202986792279177">Schnell zwischen Fenstern wechseln</translation> +<translation id="2478303094958140141">ChromeVox für gesprochenes Feedback aktivieren oder deaktivieren</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Auf der Webseite nach unten scrollen</translation> +<translation id="2568632782096378307">Bildschirmauflösung auf Standardeinstellung zurücksetzen</translation> +<translation id="2685170433750953446">"<ph name="SHIFT" />" <ph name="SEPARATOR1" /> "<ph name="ALT" />" <ph name="SEPARATOR2" /> "<ph name="L" />", dann "<ph name="TAB" />" oder "<ph name="RIGHT" />"</translation> +<translation id="2699509451653686398">Aktuelle Webseite als Lesezeichen speichern</translation> +<translation id="2750942583782703988">Aktuelle Seite neu laden</translation> +<translation id="2789868185375229787">Seite herauszoomen</translation> +<translation id="2804480015716812239">"<ph name="ALT" />" gedrückt halten und auf einen Link klicken</translation> +<translation id="2830827904629746450">Fenster rechts andocken</translation> <translation id="2872353916818027657">Hauptmonitor tauschen</translation> +<translation id="2914313326123580426">Steuerfeld für Entwicklertools ein- oder ausblenden</translation> +<translation id="292495055542441795">Vollbildmodus an oder aus</translation> +<translation id="3084301071537457911">Nächstes Element in der Ablage markieren</translation> +<translation id="309173601632226815">Launcher-Symbol in der Ablage markieren</translation> <translation id="3105917916468784889">Screenshot aufnehmen</translation> +<translation id="3118681365140644126">Markierung einer Schaltfläche in der Ablage entfernen</translation> <translation id="3126026824346185272">Strg</translation> <translation id="3140353188828248647">Adressleiste fokussieren</translation> +<translation id="3288816184963444640">Aktuelles Fenster schließen</translation> +<translation id="3356202203145076517">Zuletzt verwendetes Fenster öffnen</translation> +<translation id="3407560819924487926">Task-Manager aufrufen</translation> +<translation id="3422679037938588196">Vorherigen Treffer für die Suchanfrage aufrufen</translation> +<translation id="344577624355799426">"<ph name="ALT" />" oder "<ph name="SEARCH" />" <ph name="SEPARATOR" /> "<ph name="DOWN" />"</translation> +<translation id="346243998268439747">Zoomstufe zurücksetzen</translation> +<translation id="353037708190149633">Alle geöffneten Webseiten im aktuellen Fenster als Lesezeichen in einem neuen Ordner speichern</translation> +<translation id="355103131818127604">Link in einem neuen Tab im Hintergrund öffnen</translation> <translation id="3649256019230929621">Fenster minimieren</translation> -<translation id="385051799172605136">Zurück</translation> +<translation id="3668361878347172356">Letzte Aktion wiederholen</translation> +<translation id="3720939646656082033">Link in einem neuen Tab öffnen und dorthin wechseln</translation> +<translation id="3725795051337497754">Aktuellen Tab schließen</translation> +<translation id="3751033133896282964">Letzte Aktion rückgängig machen</translation> +<translation id="379295446891231126">"<ph name="CTRL" />" <ph name="SEPARATOR" /> 1 bis 8</translation> +<translation id="3837047332182291558">Helligkeit der Tastaturbeleuchtung erhöhen (nur für beleuchtete Tastaturen)</translation> +<translation id="3976863468609830880">Auf das letzte Symbol in der Ablage klicken</translation> +<translation id="4035482366624727273">Gesamten Seiteninhalt markieren</translation> +<translation id="4060703249685950734">Zuletzt geschlossenen Tab oder zuletzt geschlossenes Fenster wieder öffnen</translation> +<translation id="4090342722461256974">"<ph name="ALT" />" <ph name="SEPARATOR" /> "<ph name="SHIFT" />" gedrückt halten und "<ph name="TAB" />" drücken, bis das gewünschte Fenster angezeigt wird, dann loslassen.</translation> +<translation id="4092538597492297615">Markierten Inhalt in die Zwischenablage kopieren</translation> +<translation id="4123108089450197101">Link als Lesezeichen speichern</translation> +<translation id="4141203561740478845">Zeile mit der Adressleiste markieren</translation> +<translation id="4148761611071495477">"<ph name="CTRL" />" <ph name="SEPARATOR" /> "<ph name="G" />" oder "<ph name="ENTER" />"</translation> +<translation id="4556221320735744018">Siehe Hilfe zu Tastenkombinationen</translation> +<translation id="4628718545549558538">Statusbereich mit dem Kontobild öffnen</translation> +<translation id="4642092649622328492">Screenshot eines Bildschirmausschnitts erstellen</translation> +<translation id="4725377341024374454">Markierte Schaltfläche in der Ablage öffnen</translation> +<translation id="4801989101741319327">Zum Ende des nächsten Wortes springen</translation> +<translation id="4916163929714267752">Link in einem neuen Fenster öffnen</translation> +<translation id="5034421018520995080">Zum Seitenanfang springen</translation> +<translation id="5042305953558921026">Übersichtsmodustaste</translation> +<translation id="5104462712192763270">Aktuelle Seite speichern</translation> +<translation id="5121628974188116412">Zum Seitenende springen</translation> +<translation id="5236674127086649162">Aktuelle Seite ohne zwischengespeicherte Inhalte aktualisieren</translation> +<translation id="526651782186312376">Text bis zum Zeilenanfang markieren</translation> <translation id="5316716239522500219">Monitore spiegeln</translation> +<translation id="5335199890994453201">DOM Inspector ein- oder ausblenden</translation> +<translation id="5541719484267030947">Beim Ziehen des Tabs die "<ph name="ESC" />"-Taste drücken</translation> +<translation id="5554139136362089836">Auf der aktuellen Seite suchen</translation> +<translation id="5563050856984839829">"<ph name="CTRL" />" <ph name="SEPARATOR" /> "<ph name="SHIFT" />" gedrückt halten und auf einen Link klicken</translation> +<translation id="561814908794220892">Webseite in einem neuen Tab öffnen</translation> +<translation id="5710621673935162997">"<ph name="CTRL" />" <ph name="SEPARATOR1" /> "<ph name="L" />" oder "<ph name="ALT" />" <ph name="SEPARATOR2" /> "<ph name="D" />"</translation> +<translation id="5757111373163288447">Link in dem Tab öffnen</translation> +<translation id="5757474750054631686">Tastatur dimmen (nur für beleuchtete Tastaturen)</translation> +<translation id="587531134027443617">Vorheriges Wort löschen</translation> <translation id="5928303187149237472">Bildschirmauflösung ändern</translation> <translation id="5975083100439434680">Verkleinern</translation> +<translation id="6011500873794669296">Fokus wechseln zwischen: Statusbereich (Bereich mit Kontobild), Launcher-Adressleiste, Lesezeichenleiste (falls sichtbar), offener Webseite und Downloadleiste (falls sichtbar)</translation> <translation id="6022924867608035986">Text im Suchfeld löschen</translation> +<translation id="6045998054441862242">Modus mit hohem Kontrast aktivieren</translation> +<translation id="6052614013050385269">Mit der rechten Maustaste auf einen Link klicken</translation> <translation id="6129953537138746214">Leerzeichen</translation> +<translation id="6143669479988153888">Seite heranzoomen</translation> <translation id="6185696379715117369">Bildlauf nach oben</translation> +<translation id="6228457605945141550">Helligkeit verringern</translation> +<translation id="6276708887952587684">Quelltext der Seite ansehen</translation> +<translation id="6321940490215594447">Verlauf öffnen</translation> +<translation id="6359811074279051077">"<ph name="MODIFIER" />" <ph name="SEPARATOR" /> "<ph name="KEY" />"</translation> +<translation id="6395172954772765143">Text bis zum Zeilenende markieren</translation> +<translation id="6419237577786823024">"<ph name="CTRL1" />" <ph name="SEPARATOR1" /> "<ph name="LEFT" />" oder "<ph name="CTRL2" />" <ph name="SEPARATOR2" /> "<ph name="RIGHT" />"</translation> +<translation id="6425378783626925378">Auf Symbole 1 bis 8 in der Ablage klicken</translation> +<translation id="6435207348963613811">Vorheriges Element in der Ablage markieren</translation> +<translation id="6445033640292336367">Tab zur Ausgangsposition zurückschieben</translation> +<translation id="649811797655257835">Datei auswählen und dann "<ph name="SPACE" />" drücken</translation> +<translation id="6572206071785323178">Zwischen den festgelegten Tastatursprachen wechseln. Sieh nach, wie du die Tastatursprache auswählst.</translation> +<translation id="6634456834225946400">Lesezeichenleiste markieren (falls angezeigt)</translation> +<translation id="666343722268997814">Kontextmenü für markierte Inhalte öffnen</translation> +<translation id="6671538777808758331">Nächsten Treffer für die Suchanfrage aufrufen</translation> +<translation id="6690765639083431875">Fenster links andocken</translation> +<translation id="6692847073476874842">Vorschau einer Datei in der App "Dateien" ansehen</translation> <translation id="671928215901716392">Bildschirm sperren</translation> <translation id="6727005317916125192">Vorheriger Bereich</translation> +<translation id="6740781404993465795">Nächstes Wort oder nächsten Buchstaben markieren</translation> +<translation id="6760706756348334449">Leiser</translation> <translation id="6981982820502123353">Bedienungshilfen</translation> <translation id="7020813747703216897">Keine passenden Ergebnisse gefunden</translation> <translation id="7025325401470358758">Nächster Bereich</translation> -<translation id="7272373489634936181">Tastenkombinationen suchen</translation> +<translation id="7379254767514753910">"<ph name="ALT" />" oder "<ph name="SEARCH" />" <ph name="SEPARATOR" /> "<ph name="UP" />"</translation> +<translation id="7439718573248533901">Nächsten Buchstaben löschen (vorwärts löschen)</translation> +<translation id="766326951329901120">Inhalt aus der Zwischenablage als unformatierten Text einfügen</translation> <translation id="7724603315864178912">Ausschneiden</translation> -<translation id="8004192919599017226">Suche starten…</translation> +<translation id="7730490981846175479">"<ph name="SHIFT" />" <ph name="SEPARATOR1" /> "<ph name="ALT" />" <ph name="SEPARATOR2" /> "<ph name="L" />", dann "<ph name="SPACE" />" oder "<ph name="ENTER" />"</translation> +<translation id="7787242579016742662">Datei im Browser öffnen</translation> +<translation id="7917881398263220094">Laden der aktuellen Seite beenden</translation> +<translation id="8025696740288105292">"<ph name="CTRL" />" <ph name="SEPARATOR1" /> "<ph name="SHIFT" />" <ph name="SEPARATOR2" /> "<ph name="PLUS" />" oder "<ph name="MINUS" />"</translation> +<translation id="8130528849632411619">Zum Anfang des Dokuments springen</translation> +<translation id="8147954207400281792">"<ph name="CTRL" />" <ph name="SEPARATOR" /> "<ph name="K" />" oder "<ph name="E" />"</translation> +<translation id="8234414138295101081">Bildschirm um 90 Grad drehen</translation> +<translation id="836869401750819675">Seite "Downloads" öffnen</translation> +<translation id="8388247778047144397">Link in einen leeren Bereich auf der Tableiste ziehen</translation> +<translation id="8389638407792712197">Neues Fenster öffnen</translation> +<translation id="8429696719963529183">Funktionstasten F1 bis F12 verwenden</translation> +<translation id="85690795166292698">Link in einem neuen Tab öffnen</translation> +<translation id="8609384513243082612">Neuen Tab öffnen</translation> +<translation id="8644639153978066712">Verborgene Dateien in der App "Dateien" anzeigen</translation> +<translation id="8709893667941082515">Adressleiste auf Suche fokussieren</translation> +<translation id="8717459106217102612">Vorheriges Wort oder vorherigen Buchstaben markieren</translation> +<translation id="8727232706774971183">Benachrichtigungen ansehen</translation> <translation id="88986195241502842">Bildlauf nach unten</translation> <translation id="8903921497873541725">Vergrößern</translation> <translation id="9179672198516322668">Häufig verwendete Tastenkombinationen</translation>
diff --git a/ash/components/strings/ash_components_strings_el.xtb b/ash/components/strings/ash_components_strings_el.xtb index 04c71f4..b600e352 100644 --- a/ash/components/strings/ash_components_strings_el.xtb +++ b/ash/components/strings/ash_components_strings_el.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="el"> +<translation id="104962181688258143">Άνοιγμα εφαρμογής Αρχεία</translation> +<translation id="1126871238933253947">Εναλλαγή στην προηγούμενη γλώσσα πληκτρολογίου που χρησιμοποιούσατε.</translation> +<translation id="1195667586424773550">Σύρετε τον σύνδεσμο στη γραμμή διευθύνσεων της καρτέλας</translation> +<translation id="1204450209689312104">Άνοιγμα νέου παραθύρου σε κατάσταση ανώνυμης περιήγησης</translation> +<translation id="1299858300159559687">Εκτύπωση της τρέχουσας σελίδας</translation> <translation id="1383876407941801731">Αναζήτηση</translation> +<translation id="1439252533104567537">Μετάβαση στην αριθμημένη καρτέλα</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ή <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Λειτουργία εκκίνησης</translation> +<translation id="152892567002884378">Αύξηση έντασης ήχου</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> και έπειτα <ph name="ESC" /></translation> +<translation id="1652741121070700329">Μετακίνηση στην αρχή της προηγούμενης λέξης</translation> +<translation id="1679841710523778799">Αύξηση φωτεινότητας</translation> +<translation id="168356808214100546">Πατώντας παρατεταμένα το <ph name="ALT" />, πατήστε το <ph name="TAB" /> μέχρι να φτάσετε στο παράθυρο που θέλετε να ανοίξετε και έπειτα αφήστε τα πλήκτρα.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Προσθέστε το www. και το .com στο κείμενο που έχετε πληκτρολογήσει στη γραμμή διευθύνσεων και έπειτα ανοίξτε τη σελίδα</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> και έπειτα <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ή <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Μετάβαση στην επόμενη καρτέλα</translation> +<translation id="2010818616644390445">Μετάβαση στην τελευταία καρτέλα στο παράθυρο</translation> <translation id="2145908266289632567">Επεξεργασία κειμένου</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 έως =</translation> +<translation id="2181097965834437145">Εμφάνιση ή απόκρυψη της γραμμής σελιδοδεικτών</translation> +<translation id="2185166372312820725">Μετάβαση στην προηγούμενη καρτέλα</translation> +<translation id="2194790690264064655">Πατήστε <ph name="CTRL" /> και κάντε κλικ σε έναν σύνδεσμο</translation> +<translation id="2424073332829844142">Ενεργοποίηση και απενεργοποίηση Caps Lock</translation> +<translation id="2441202986792279177">Γρήγορη εναλλαγή μεταξύ παραθύρων</translation> +<translation id="2478303094958140141">Ενεργοποίηση ή απενεργοποίηση του ChromeVox (εκφωνημένα σχόλια)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Κύλιση στην ιστοσελίδα προς τα κάτω</translation> +<translation id="2568632782096378307">Επαναφορά ανάλυσης οθόνης στην προεπιλογή</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> και έπειτα <ph name="TAB" /> ή <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Αποθήκευση της τρέχουσας ιστοσελίδας ως σελιδοδείκτη</translation> +<translation id="2750942583782703988">Επανάληψη φόρτωσης της τρέχουσας σελίδας</translation> +<translation id="2789868185375229787">Σμίκρυνση της σελίδας</translation> +<translation id="2804480015716812239">Πατήστε <ph name="ALT" /> και κάντε κλικ σε έναν σύνδεσμο</translation> +<translation id="2830827904629746450">Αγκύρωση παραθύρου στα δεξιά</translation> <translation id="2872353916818027657">Αλλαγή κύριας οθόνης</translation> +<translation id="2914313326123580426">Εμφάνιση ή απόκρυψη του πλαισίου "Εργαλεία για προγραμματιστές"</translation> +<translation id="292495055542441795">Εναλλαγή πλήρους οθόνης</translation> +<translation id="3084301071537457911">Επισήμανση του επόμενου στοιχείου στο ράφι σας</translation> +<translation id="309173601632226815">Επισήμανση του κουμπιού εκκίνησης στο ράφι σας</translation> <translation id="3105917916468784889">Λήψη στιγμιότυπου οθόνης</translation> +<translation id="3118681365140644126">Κατάργηση της επισήμανσης ενός κουμπιού στο ράφι σας</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Εστίαση γραμμής διευθύνσεων</translation> +<translation id="3288816184963444640">Κλείσιμο τρέχοντος παραθύρου</translation> +<translation id="3356202203145076517">Άνοιγμα του παραθύρου που έχετε να χρησιμοποιήσετε την περισσότερη ώρα</translation> +<translation id="3407560819924487926">Εμφάνιση της Διαχείρισης Εργασιών</translation> +<translation id="3422679037938588196">Μετάβαση στο προηγούμενο αποτέλεσμα της αναζήτησής σας</translation> +<translation id="344577624355799426"><ph name="ALT" /> ή <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Επαναφορά επιπέδου εστίασης</translation> +<translation id="353037708190149633">Αποθήκευση όλων των ανοικτών σελίδων στο τρέχον παράθυρο ως σελιδοδείκτες σε έναν νέο φάκελο</translation> +<translation id="355103131818127604">Άνοιγμα του συνδέσμου σε νέα καρτέλα στο παρασκήνιο</translation> <translation id="3649256019230929621">Ελαχιστοποίηση παραθύρου</translation> -<translation id="385051799172605136">Πίσω</translation> +<translation id="3668361878347172356">Επανάληψη της τελευταίας ενέργειας</translation> +<translation id="3720939646656082033">Άνοιγμα του συνδέσμου σε νέα καρτέλα και εναλλαγή στη νέα καρτέλα</translation> +<translation id="3725795051337497754">Κλείσιμο τρέχουσας καρτέλας</translation> +<translation id="3751033133896282964">Αναίρεση της τελευταίας ενέργειας</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 έως 8</translation> +<translation id="3837047332182291558">Αύξηση φωτεινότητας πληκτρολογίου (μόνο για πληκτρολόγια με οπίσθιο φωτισμό)</translation> +<translation id="3976863468609830880">Κλικ στο τελευταίο εικονίδιο στο ράφι σας</translation> +<translation id="4035482366624727273">Επιλογή όλων στη σελίδα</translation> +<translation id="4060703249685950734">Εκ νέου άνοιγμα της τελευταίας καρτέλας ή του παραθύρου που κλείσατε</translation> +<translation id="4090342722461256974">Πατώντας παρατεταμένα το <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, πατήστε το <ph name="TAB" /> μέχρι να φτάσετε στο παράθυρο που θέλετε να ανοίξετε και έπειτα αφήστε τα πλήκτρα.</translation> +<translation id="4092538597492297615">Αντιγραφή επιλεγμένου περιεχομένου στο πρόχειρο</translation> +<translation id="4123108089450197101">Αποθήκευση του συνδέσμου ως σελιδοδείκτη</translation> +<translation id="4141203561740478845">Επισήμανση της σειράς με τη γραμμή διευθύνσεων</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ή <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Ανατρέξτε στον Βοηθό συντομεύσεων πληκτρολογίου</translation> +<translation id="4628718545549558538">Άνοιγμα της περιοχής κατάστασης (εκεί που εμφανίζεται η εικόνα του λογαριασμού σας)</translation> +<translation id="4642092649622328492">Λήψη μερικού στιγμιότυπου οθόνης</translation> +<translation id="4725377341024374454">Άνοιγμα του κουμπιού που επισημαίνεται στο ράφι σας</translation> +<translation id="4801989101741319327">Μετακίνηση στο τέλος της επόμενης λέξης</translation> +<translation id="4916163929714267752">Άνοιγμα του συνδέσμου σε νέο παράθυρο</translation> +<translation id="5034421018520995080">Μετάβαση στο επάνω μέρος της σελίδας</translation> +<translation id="5042305953558921026">Πλήκτρο λειτουργίας επισκόπησης</translation> +<translation id="5104462712192763270">Αποθήκευση της τρέχουσας σελίδας</translation> +<translation id="5121628974188116412">Μετάβαση στο κάτω μέρος της σελίδας</translation> +<translation id="5236674127086649162">Επανάληψη φόρτωσης της τρέχουσας σελίδας χωρίς τη χρήση περιεχομένου που έχει αποθηκευτεί στην κρυφή μνήμη</translation> +<translation id="526651782186312376">Επιλογή κειμένου έως την αρχή της γραμμής</translation> <translation id="5316716239522500219">Κατοπτρισμός οθονών</translation> +<translation id="5335199890994453201">Εμφάνιση ή απόκρυψη της Επιθεώρησης DOM</translation> +<translation id="5541719484267030947">Καθώς σέρνετε την καρτέλα, πατήστε <ph name="ESC" /></translation> +<translation id="5554139136362089836">Αναζήτηση στην τρέχουσα σελίδα</translation> +<translation id="5563050856984839829">Πατήστε <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> και κάντε κλικ σε έναν σύνδεσμο</translation> +<translation id="561814908794220892">Άνοιγμα της ιστοσελίδας σε νέα καρτέλα</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ή <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Άνοιγμα του συνδέσμου στην καρτέλα</translation> +<translation id="5757474750054631686">Μείωση φωτεινότητας πληκτρολογίου (μόνο για πληκτρολόγια με οπίσθιο φωτισμό)</translation> +<translation id="587531134027443617">Διαγραφή προηγούμενης λέξης</translation> <translation id="5928303187149237472">Αλλαγή ανάλυσης οθόνης</translation> <translation id="5975083100439434680">Σμίκρυνση</translation> +<translation id="6011500873794669296">Εναλλαγή εστίασης μεταξύ: Περιοχής κατάστασης (όπου εμφανίζεται η εικόνα του λογαριασμού σας) Εφαρμογής εκκίνησης Γραμμής διευθύνσεων Γραμμής σελιδοδεικτών (εάν είναι ορατή) Ανοικτής ιστοσελίδας Γραμμής λήψεων (εάν είναι ορατή)</translation> <translation id="6022924867608035986">Διαγραφή κειμένου πλαισίου αναζήτησης</translation> +<translation id="6045998054441862242">Ενεργοποίηση λειτουργίας υψηλής αντίθεσης</translation> +<translation id="6052614013050385269">Δεξί κλικ σε έναν σύνδεσμο</translation> <translation id="6129953537138746214">Κενό</translation> +<translation id="6143669479988153888">Μεγέθυνση της σελίδας</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">Μείωση φωτεινότητας</translation> +<translation id="6276708887952587684">Προβολή πηγαίου κώδικα σελίδας</translation> +<translation id="6321940490215594447">Άνοιγμα σελίδας "Ιστορικό"</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Επιλογή κειμένου έως το τέλος της γραμμής</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ή <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Κλικ στα εικονίδια 1-8 στο ράφι σας</translation> +<translation id="6435207348963613811">Επισήμανση του προηγούμενου στοιχείου στο ράφι σας</translation> +<translation id="6445033640292336367">Επαναφορά της καρτέλας στην αρχική της θέση</translation> +<translation id="649811797655257835">Επιλέξτε το αρχείο και έπειτα πατήστε <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Εναλλαγή μεταξύ των γλωσσών πληκτρολογίου που έχετε ορίσει. Μάθετε πώς μπορείτε να επιλέξετε τη γλώσσα πληκτρολογίου σας.</translation> +<translation id="6634456834225946400">Επισήμανση της γραμμής σελιδοδεικτών (εάν εμφανίζεται)</translation> +<translation id="666343722268997814">Άνοιγμα του μενού δεξιού κλικ για το στοιχείο που έχετε επισημάνει</translation> +<translation id="6671538777808758331">Μετάβαση στο επόμενο αποτέλεσμα της αναζήτησής σας</translation> +<translation id="6690765639083431875">Αγκύρωση παραθύρου στα αριστερά</translation> +<translation id="6692847073476874842">Προεπισκόπηση ενός αρχείου στην εφαρμογή Αρχεία</translation> <translation id="671928215901716392">Κλείδωμα οθόνης</translation> <translation id="6727005317916125192">Προηγούμενο παράθυρο</translation> +<translation id="6740781404993465795">Επιλογή επόμενης λέξης ή γράμματος</translation> +<translation id="6760706756348334449">Μείωση έντασης ήχου</translation> <translation id="6981982820502123353">Προσβασιμότητα</translation> <translation id="7020813747703216897">Δεν βρέθηκαν αποτελέσματα αντιστοίχισης</translation> <translation id="7025325401470358758">Επόμενο παράθυρο</translation> -<translation id="7272373489634936181">Αναζήτηση συντομεύσεων</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ή <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Διαγραφή του επόμενου γράμματος (διαγραφή επόμενου)</translation> +<translation id="766326951329901120">Επικόλληση περιεχομένου από το πρόχειρο ως απλό κείμενο</translation> <translation id="7724603315864178912">Αποκοπή</translation> -<translation id="8004192919599017226">Έναρξη αναζήτησης…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> και έπειτα <ph name="SPACE" /> ή <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Άνοιγμα αρχείου στο πρόγραμμα περιήγησης</translation> +<translation id="7917881398263220094">Διακοπή φόρτωσης της τρέχουσας σελίδας</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ή <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Μετάβαση στην αρχή του εγγράφου</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ή <ph name="E" /></translation> +<translation id="8234414138295101081">Περιστροφή οθόνης κατά 90 μοίρες</translation> +<translation id="836869401750819675">Άνοιγμα σελίδας "Λήψεις"</translation> +<translation id="8388247778047144397">Σύρετε τον σύνδεσμο σε μια κενή περιοχή της γραμμής καρτελών</translation> +<translation id="8389638407792712197">Άνοιγμα νέου παραθύρου</translation> +<translation id="8429696719963529183">Χρήση των πλήκτρων F (F1 έως F12)</translation> +<translation id="85690795166292698">Άνοιγμα του συνδέσμου σε νέα καρτέλα</translation> +<translation id="8609384513243082612">Άνοιγμα νέας καρτέλας</translation> +<translation id="8644639153978066712">Εμφάνιση κρυφών αρχείων στην εφαρμογή Αρχεία</translation> +<translation id="8709893667941082515">Εστίαση γραμμής διευθύνσεων κατά την αναζήτηση</translation> +<translation id="8717459106217102612">Επιλογή προηγούμενης λέξης ή γράμματος</translation> +<translation id="8727232706774971183">Εμφάνιση όλων των ειδοποιήσεών σας</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">Μεγέθυνση</translation> <translation id="9179672198516322668">Δημοφιλείς συντομεύσεις</translation>
diff --git a/ash/components/strings/ash_components_strings_en-GB.xtb b/ash/components/strings/ash_components_strings_en-GB.xtb index 4cf5dbe..8d5f18a4 100644 --- a/ash/components/strings/ash_components_strings_en-GB.xtb +++ b/ash/components/strings/ash_components_strings_en-GB.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="en-GB"> +<translation id="104962181688258143">Open the Files app</translation> +<translation id="1126871238933253947">Switch to the previous keyboard language that you were using.</translation> +<translation id="1195667586424773550">Drag the link to the tab's address bar</translation> +<translation id="1204450209689312104">Open a new window in incognito mode</translation> +<translation id="1299858300159559687">Print your current page</translation> <translation id="1383876407941801731">Search</translation> +<translation id="1439252533104567537">Go to numbered tab</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> or <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Launcher</translation> +<translation id="152892567002884378">Volume up</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, then <ph name="ESC" /></translation> +<translation id="1652741121070700329">Move to the start of the previous word</translation> +<translation id="1679841710523778799">Turn brightness up</translation> +<translation id="168356808214100546">Press and hold <ph name="ALT" />, tap <ph name="TAB" /> until you get to the window that you want to open, then release.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Add www. and .com to your input in the address bar, then open the page</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, then <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> or <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Go to next tab</translation> +<translation id="2010818616644390445">Go to the last tab in the window</translation> <translation id="2145908266289632567">Text Editing</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 through =</translation> +<translation id="2181097965834437145">Show or hide the bookmarks bar</translation> +<translation id="2185166372312820725">Go to previous tab</translation> +<translation id="2194790690264064655">Press <ph name="CTRL" /> and click a link</translation> +<translation id="2424073332829844142">Turn Caps Lock on and off</translation> +<translation id="2441202986792279177">Switch quickly between windows</translation> +<translation id="2478303094958140141">Turn ChromeVox (spoken feedback) on or off</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Scroll down the web page</translation> +<translation id="2568632782096378307">Reset screen resolution to default</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, then <ph name="TAB" /> or <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Save your current web page as a bookmark</translation> +<translation id="2750942583782703988">Reload your current page</translation> +<translation id="2789868185375229787">Zoom out on the page</translation> +<translation id="2804480015716812239">Press <ph name="ALT" /> and click a link</translation> +<translation id="2830827904629746450">Dock a window on the right</translation> <translation id="2872353916818027657">Swap primary monitor</translation> +<translation id="2914313326123580426">Show or hide the Developer Tools panel</translation> +<translation id="292495055542441795">Toggle full screen</translation> +<translation id="3084301071537457911">Highlight the next item on your shelf</translation> +<translation id="309173601632226815">Highlight the launcher button on your shelf</translation> <translation id="3105917916468784889">Take screenshot</translation> +<translation id="3118681365140644126">Remove the highlight from a button on your shelf</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Focus address bar</translation> +<translation id="3288816184963444640">Close the current window</translation> +<translation id="3356202203145076517">Open the window least used recently</translation> +<translation id="3407560819924487926">Bring up task manager</translation> +<translation id="3422679037938588196">Go to the previous match for your search</translation> +<translation id="344577624355799426"><ph name="ALT" /> or <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Reset zoom level</translation> +<translation id="353037708190149633">Save all open pages in your current window as bookmarks in a new folder</translation> +<translation id="355103131818127604">Open the link in a new tab in the background</translation> <translation id="3649256019230929621">Minimise window</translation> -<translation id="385051799172605136">Back</translation> +<translation id="3668361878347172356">Redo your last action</translation> +<translation id="3720939646656082033">Open the link in a new tab and switch to the new tab</translation> +<translation id="3725795051337497754">Close the current tab</translation> +<translation id="3751033133896282964">Undo your last action</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 to 8</translation> +<translation id="3837047332182291558">Make keyboard brighter (for backlit keyboards only)</translation> +<translation id="3976863468609830880">Click the last icon on your shelf</translation> +<translation id="4035482366624727273">Select everything on the page</translation> +<translation id="4060703249685950734">Reopen the last tab or window that you closed</translation> +<translation id="4090342722461256974">Press and hold <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, tap <ph name="TAB" /> until you get to the window that you want to open, then release.</translation> +<translation id="4092538597492297615">Copy selected content to the clipboard</translation> +<translation id="4123108089450197101">Save the link as a bookmark</translation> +<translation id="4141203561740478845">Highlight the row with the address bar</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> or <ph name="ENTER" /></translation> +<translation id="4556221320735744018">See Keyboard Shortcut Helper</translation> +<translation id="4628718545549558538">Open the status area (where your account picture appears)</translation> +<translation id="4642092649622328492">Take partial screenshot</translation> +<translation id="4725377341024374454">Open the highlighted button on your shelf</translation> +<translation id="4801989101741319327">Move to the end of the next word</translation> +<translation id="4916163929714267752">Open the link in a new window</translation> +<translation id="5034421018520995080">Go to top of page</translation> +<translation id="5042305953558921026">Overview mode key</translation> +<translation id="5104462712192763270">Save your current page</translation> +<translation id="5121628974188116412">Go to bottom of page</translation> +<translation id="5236674127086649162">Reload your current page without using cached content</translation> +<translation id="526651782186312376">Select text to the beginning of the line</translation> <translation id="5316716239522500219">Mirror monitors</translation> +<translation id="5335199890994453201">Show or hide the DOM Inspector</translation> +<translation id="5541719484267030947">While dragging the tab, press <ph name="ESC" /></translation> +<translation id="5554139136362089836">Search the current page</translation> +<translation id="5563050856984839829">Press <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> and click a link</translation> +<translation id="561814908794220892">Open the web page in a new tab</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> or <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Open the link in the tab</translation> +<translation id="5757474750054631686">Dim keyboard (for backlit keyboards only)</translation> +<translation id="587531134027443617">Delete the previous word</translation> <translation id="5928303187149237472">Change screen resolution</translation> <translation id="5975083100439434680">Zoom out</translation> +<translation id="6011500873794669296">Switch focus between: Status area (where your account picture appears), Launcher Address bar, Bookmarks bar (if visible), the web page that's open, Downloads bar (if visible)</translation> <translation id="6022924867608035986">Clear search box text</translation> +<translation id="6045998054441862242">Turn on high contrast mode</translation> +<translation id="6052614013050385269">Right-click a link</translation> <translation id="6129953537138746214">Space</translation> +<translation id="6143669479988153888">Zoom in on the page</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">Turn brightness down</translation> +<translation id="6276708887952587684">View page source</translation> +<translation id="6321940490215594447">Open the History page</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Select text to the end of the line</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> or <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Click icons 1-8 on your shelf</translation> +<translation id="6435207348963613811">Highlight the previous item on your shelf</translation> +<translation id="6445033640292336367">Return the tab to its original position</translation> +<translation id="649811797655257835">Select the file, then press <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Switch between the keyboard languages that you've set. Learn how to choose your keyboard language.</translation> +<translation id="6634456834225946400">Highlight the bookmarks bar (if shown)</translation> +<translation id="666343722268997814">Open right-click menu for highlighted item</translation> +<translation id="6671538777808758331">Go to the next match for your search</translation> +<translation id="6690765639083431875">Dock a window on the left</translation> +<translation id="6692847073476874842">Preview a file in the Files app</translation> <translation id="671928215901716392">Lock screen</translation> <translation id="6727005317916125192">Previous pane</translation> +<translation id="6740781404993465795">Select the next word or letter</translation> +<translation id="6760706756348334449">Volume down</translation> <translation id="6981982820502123353">Accessibility</translation> <translation id="7020813747703216897">No matching results found</translation> <translation id="7025325401470358758">Next pane</translation> -<translation id="7272373489634936181">Search for shortcuts</translation> +<translation id="7379254767514753910"><ph name="ALT" /> or <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Delete the next letter (forward delete)</translation> +<translation id="766326951329901120">Paste content from the clipboard as plain text</translation> <translation id="7724603315864178912">Cut</translation> -<translation id="8004192919599017226">Start search…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, then <ph name="SPACE" /> or <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Open a file in the browser</translation> +<translation id="7917881398263220094">Stop the loading of your current page</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> or <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Go to beginning of document</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> or <ph name="E" /></translation> +<translation id="8234414138295101081">Rotate screen 90 degrees</translation> +<translation id="836869401750819675">Open the Downloads page</translation> +<translation id="8388247778047144397">Drag the link to a blank area on the tab strip</translation> +<translation id="8389638407792712197">Open new window</translation> +<translation id="8429696719963529183">Use F keys (F1 to F12)</translation> +<translation id="85690795166292698">Open the link in a new tab</translation> +<translation id="8609384513243082612">Open new tab</translation> +<translation id="8644639153978066712">Display hidden files in the Files app</translation> +<translation id="8709893667941082515">Focus address bar on search</translation> +<translation id="8717459106217102612">Select previous word or letter</translation> +<translation id="8727232706774971183">See your notifications</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">Zoom in</translation> <translation id="9179672198516322668">Popular Shortcuts</translation>
diff --git a/ash/components/strings/ash_components_strings_es-419.xtb b/ash/components/strings/ash_components_strings_es-419.xtb index ca841eb8..2e2453d 100644 --- a/ash/components/strings/ash_components_strings_es-419.xtb +++ b/ash/components/strings/ash_components_strings_es-419.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="es-419"> +<translation id="104962181688258143">Abrir la app de Archivos</translation> +<translation id="1126871238933253947">Cambiar al idioma de teclado anterior</translation> +<translation id="1195667586424773550">Arrastrar el vínculo a la barra de direcciones de la pestaña</translation> +<translation id="1204450209689312104">Abrir una ventana nueva en modo de navegación incógnito</translation> +<translation id="1299858300159559687">Imprimir la página actual</translation> <translation id="1383876407941801731">Buscar</translation> +<translation id="1439252533104567537">Ir a la pestaña numerada</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> o <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Selector</translation> +<translation id="152892567002884378">Subir el volumen</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="ESC" /></translation> +<translation id="1652741121070700329">Ir al principio de la palabra anterior</translation> +<translation id="1679841710523778799">Aumentar el brillo</translation> +<translation id="168356808214100546">Mantén presionado <ph name="ALT" /> y, luego, presiona <ph name="TAB" /> hasta que se muestre la ventana que deseas abrir; a continuación, suelta las teclas; a continuación, suelta las teclas.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Agregar www. y .com a la entrada en la barra de direcciones y, luego, abrir la página</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Ir a la pestaña siguiente</translation> +<translation id="2010818616644390445">Ir a la última pestaña de la ventana</translation> <translation id="2145908266289632567">Edición de textos</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 a =</translation> +<translation id="2181097965834437145">Mostrar u ocultar la barra de favoritos</translation> +<translation id="2185166372312820725">Ir a la pestaña anterior</translation> +<translation id="2194790690264064655">Presiona <ph name="CTRL" /> y, luego, haz clic en un vínculo</translation> +<translation id="2424073332829844142">Activar y desactivar Bloq Mayús</translation> +<translation id="2441202986792279177">Cambiar de ventana rápidamente</translation> +<translation id="2478303094958140141">Activar o desactivar ChromeVox (comentarios por voz)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Desplazarse hacia abajo por la página web</translation> +<translation id="2568632782096378307">Restablecer la resolución predeterminada de la pantalla</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="TAB" /> o <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Guardar la página web actual en Favoritos</translation> +<translation id="2750942583782703988">Volver a cargar la página actual</translation> +<translation id="2789868185375229787">Alejar la página</translation> +<translation id="2804480015716812239">Presiona <ph name="ALT" /> y haz clic en un vínculo</translation> +<translation id="2830827904629746450">Acoplar una ventana a la derecha</translation> <translation id="2872353916818027657">Intercambiar monitor principal</translation> +<translation id="2914313326123580426">Mostrar u ocultar el panel Herramientas para programadores</translation> +<translation id="292495055542441795">Activar o desactivar la pantalla completa</translation> +<translation id="3084301071537457911">Destacar el elemento siguiente en la biblioteca</translation> +<translation id="309173601632226815">Destacar el botón del Selector en la biblioteca</translation> <translation id="3105917916468784889">Tomar captura de pantalla</translation> +<translation id="3118681365140644126">Dejar de destacar un botón en la biblioteca</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Enfoque en la barra de direcciones</translation> +<translation id="3288816184963444640">Cerrar la ventana actual</translation> +<translation id="3356202203145076517">Abrir la ventana menos utilizada recientemente</translation> +<translation id="3407560819924487926">Mostrar el Administrador de tareas</translation> +<translation id="3422679037938588196">Ir a la coincidencia de búsqueda anterior</translation> +<translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Restablecer el nivel de zoom</translation> +<translation id="353037708190149633">Guardar todas las páginas abiertas en la ventana actual como marcadores en una nueva carpeta</translation> +<translation id="355103131818127604">Abrir el vínculo en una nueva pestaña en segundo plano</translation> <translation id="3649256019230929621">Minimizar ventana</translation> -<translation id="385051799172605136">Atrás</translation> +<translation id="3668361878347172356">Rehacer la última acción</translation> +<translation id="3720939646656082033">Abrir el vínculo en una pestaña nueva y cambiar a esa pestaña</translation> +<translation id="3725795051337497754">Cerrar la pestaña actual</translation> +<translation id="3751033133896282964">Deshacer la última acción</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation> +<translation id="3837047332182291558">Aumentar el brillo del teclado (solo para teclados retroiluminados)</translation> +<translation id="3976863468609830880">Hacer clic en el último ícono de la biblioteca</translation> +<translation id="4035482366624727273">Seleccionar toda la página</translation> +<translation id="4060703249685950734">Volver a abrir la última pestaña o ventana que cerraste</translation> +<translation id="4090342722461256974">Mantén presionado <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> y, luego, presiona <ph name="TAB" /> hasta que llegues a la ventana que quieres abrir; a continuación, suelta las teclas.</translation> +<translation id="4092538597492297615">Copiar el contenido seleccionado en el portapapeles</translation> +<translation id="4123108089450197101">Guardar el vínculo en Favoritos</translation> +<translation id="4141203561740478845">Destacar la fila con la barra de direcciones</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Mostrar el asistente de combinaciones de teclas</translation> +<translation id="4628718545549558538">Abrir el área de estado (donde aparece la imagen de tu cuenta)</translation> +<translation id="4642092649622328492">Realizar una captura de pantalla parcial</translation> +<translation id="4725377341024374454">Abrir el botón destacado en la biblioteca</translation> +<translation id="4801989101741319327">Ir al final de la palabra siguiente</translation> +<translation id="4916163929714267752">Abrir el vínculo en una ventana nueva</translation> +<translation id="5034421018520995080">Ir a la parte superior de la página</translation> +<translation id="5042305953558921026">Tecla del modo de descripción general</translation> +<translation id="5104462712192763270">Guardar la página actual</translation> +<translation id="5121628974188116412">Ir a la parte inferior de la página</translation> +<translation id="5236674127086649162">Volver a cargar la página actual sin usar el contenido almacenado en caché</translation> +<translation id="526651782186312376">Seleccionar el texto hasta el principio de la línea</translation> <translation id="5316716239522500219">Reflejar monitores</translation> +<translation id="5335199890994453201">Mostrar u ocultar el Inspector de DOM</translation> +<translation id="5541719484267030947">Mientras arrastras la pestaña, presiona <ph name="ESC" /></translation> +<translation id="5554139136362089836">Buscar en la página actual</translation> +<translation id="5563050856984839829">Presiona <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> y haz clic en un vínculo</translation> +<translation id="561814908794220892">Abrir la página web en una pestaña nueva</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> o <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Abrir el vínculo en la pestaña</translation> +<translation id="5757474750054631686">Atenuar el teclado (solo para teclados retroiluminados)</translation> +<translation id="587531134027443617">Borrar la palabra anterior</translation> <translation id="5928303187149237472">Cambia la resolución de la pantalla</translation> <translation id="5975083100439434680">Alejar</translation> +<translation id="6011500873794669296">Alternar el foco entre el área de estado (donde se muestra la imagen de tu cuenta), el Selector, la barra de direcciones, la barra de favoritos (si está visible), la página web que se abre y la barra de descargas (si está visible)</translation> <translation id="6022924867608035986">Borrar el texto en el cuadro de búsqueda</translation> +<translation id="6045998054441862242">Activar el modo de contraste alto</translation> +<translation id="6052614013050385269">Hacer clic con el botón derecho en un vínculo</translation> <translation id="6129953537138746214">Google Space</translation> +<translation id="6143669479988153888">Acercar la página</translation> <translation id="6185696379715117369">Retroceder página</translation> +<translation id="6228457605945141550">Disminuir el brillo</translation> +<translation id="6276708887952587684">Ver la página de origen</translation> +<translation id="6321940490215594447">Abrir la página Historial</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Seleccionar el texto hasta el final de la línea</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Hacer clic en los íconos 1 a 8 de la biblioteca</translation> +<translation id="6435207348963613811">Destacar el elemento anterior en la biblioteca</translation> +<translation id="6445033640292336367">Volver a colocar la pestaña en su posición original</translation> +<translation id="649811797655257835">Selecciona el archivo y, luego, presiona <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Alternar entre los idiomas de teclado que estableciste. Obtén información sobre cómo elegir el idioma del teclado.</translation> +<translation id="6634456834225946400">Destacar la barra de favoritos (si está visible)</translation> +<translation id="666343722268997814">Abrir el menú contextual del elemento destacado</translation> +<translation id="6671538777808758331">Ir a la siguiente coincidencia de búsqueda</translation> +<translation id="6690765639083431875">Acoplar una ventana a la izquierda</translation> +<translation id="6692847073476874842">Obtener una vista previa de un archivo en la app de Archivos</translation> <translation id="671928215901716392">Bloquear pantalla</translation> <translation id="6727005317916125192">Panel anterior</translation> +<translation id="6740781404993465795">Seleccionar la siguiente palabra o letra</translation> +<translation id="6760706756348334449">Bajar el volumen</translation> <translation id="6981982820502123353">Accesibilidad</translation> <translation id="7020813747703216897">No se encontraron resultados que coincidan</translation> <translation id="7025325401470358758">Siguiente panel</translation> -<translation id="7272373489634936181">Buscar combinaciones de teclas</translation> +<translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Borrar la letra siguiente (borrar siguiente)</translation> +<translation id="766326951329901120">Pegar el contenido del portapapeles como texto sin formato</translation> <translation id="7724603315864178912">Cortar</translation> -<translation id="8004192919599017226">Iniciar la búsqueda…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="SPACE" /> o <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Abrir un archivo en el navegador</translation> +<translation id="7917881398263220094">Detener la carga de la página actual</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Ir al principio del documento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation> +<translation id="8234414138295101081">Rotar la pantalla 90 grados</translation> +<translation id="836869401750819675">Abrir la página de descargas</translation> +<translation id="8388247778047144397">Arrastra el vínculo al área en blanco de la barra de pestañas</translation> +<translation id="8389638407792712197">Abrir una ventana nueva</translation> +<translation id="8429696719963529183">Usar las teclas de función (F1 a F12)</translation> +<translation id="85690795166292698">Abrir el vínculo en una pestaña nueva</translation> +<translation id="8609384513243082612">Abrir una pestaña nueva</translation> +<translation id="8644639153978066712">Mostrar archivos ocultos en la app de Archivos</translation> +<translation id="8709893667941082515">Hacer foco en la barra de direcciones en la búsqueda</translation> +<translation id="8717459106217102612">Seleccionar la palabra o letra anterior</translation> +<translation id="8727232706774971183">Ver tus notificaciones</translation> <translation id="88986195241502842">Avanzar página</translation> <translation id="8903921497873541725">Acercar</translation> <translation id="9179672198516322668">Combinaciones de teclas populares</translation>
diff --git a/ash/components/strings/ash_components_strings_es.xtb b/ash/components/strings/ash_components_strings_es.xtb index 5f4cb2d7..ae9e81c38 100644 --- a/ash/components/strings/ash_components_strings_es.xtb +++ b/ash/components/strings/ash_components_strings_es.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="es"> +<translation id="104962181688258143">Abrir la aplicación Archivos</translation> +<translation id="1126871238933253947">Cambiar al idioma de teclado anterior.</translation> +<translation id="1195667586424773550">Arrastra el enlace a la barra de direcciones de la pestaña</translation> +<translation id="1204450209689312104">Abrir una ventana nueva en modo incógnito</translation> +<translation id="1299858300159559687">Imprimir la página actual</translation> <translation id="1383876407941801731">Buscar</translation> +<translation id="1439252533104567537">Ir a una pestaña numerada</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> o <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Menú de aplicaciones</translation> +<translation id="152892567002884378">Subir el volumen</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="ESC" /></translation> +<translation id="1652741121070700329">Desplazarse al principio de la palabra anterior</translation> +<translation id="1679841710523778799">Aumentar el brillo</translation> +<translation id="168356808214100546">Mantén pulsada la tecla <ph name="ALT" />, pulsa <ph name="TAB" /> hasta llegar a la ventana que quieras abrir y suelta las teclas.</translation> <translation id="169515659049020177">Mayús</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Añadir www. y .com al texto introducido en la barra de direcciones y abrir la página</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Ir a la siguiente pestaña</translation> +<translation id="2010818616644390445">Ir a la última pestaña de la ventana</translation> <translation id="2145908266289632567">Edición de texto</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> una tecla del 1 hasta el signo =</translation> +<translation id="2181097965834437145">Mostrar u ocultar la barra de marcadores</translation> +<translation id="2185166372312820725">Ir a la pestaña anterior</translation> +<translation id="2194790690264064655">Pulsa <ph name="CTRL" /> y haz clic en un enlace</translation> +<translation id="2424073332829844142">Activar y desactivar la función de bloqueo de mayúsculas</translation> +<translation id="2441202986792279177">Pasar de una ventana a otra rápidamente</translation> +<translation id="2478303094958140141">Activar o desactivar ChromeVox (mensajes de voz)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Desplazarse hacia abajo por la página web</translation> +<translation id="2568632782096378307">Recuperar la resolución de pantalla predeterminada</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="TAB" /> o <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Guardar la página web actual en los marcadores</translation> +<translation id="2750942583782703988">Volver a cargar la página actual</translation> +<translation id="2789868185375229787">Reducir la página</translation> +<translation id="2804480015716812239">Pulsa <ph name="ALT" /> y haz clic en un enlace</translation> +<translation id="2830827904629746450">Anclar una ventana en la derecha</translation> <translation id="2872353916818027657">Cambiar monitor principal</translation> -<translation id="3105917916468784889">Captura de pantalla</translation> +<translation id="2914313326123580426">Mostrar u ocultar el panel de herramientas para desarrolladores</translation> +<translation id="292495055542441795">Activar pantalla completa</translation> +<translation id="3084301071537457911">Destacar el siguiente elemento de la estantería</translation> +<translation id="309173601632226815">Destacar el botón del menú de aplicaciones de la estantería</translation> +<translation id="3105917916468784889">Hacer una captura de pantalla</translation> +<translation id="3118681365140644126">Dejar de destacar un botón de la estantería</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Activar barra de direcciones</translation> +<translation id="3288816184963444640">Cerrar la ventana actual</translation> +<translation id="3356202203145076517">Abrir la ventana menos utilizada recientemente</translation> +<translation id="3407560819924487926">Abrir el administrador de tareas</translation> +<translation id="3422679037938588196">Ir al resultado de búsqueda anterior</translation> +<translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Restablecer nivel de zoom</translation> +<translation id="353037708190149633">Guardar todas las páginas abiertas de la ventana actual en una nueva carpeta de marcadores</translation> +<translation id="355103131818127604">Abrir el enlace en una nueva pestaña en segundo plano</translation> <translation id="3649256019230929621">Minimizar ventana</translation> -<translation id="385051799172605136">Atrás</translation> +<translation id="3668361878347172356">Rehacer la última acción</translation> +<translation id="3720939646656082033">Abrir el enlace en una pestaña nueva y cambiar a esa pestaña</translation> +<translation id="3725795051337497754">Cerrar la pestaña actual</translation> +<translation id="3751033133896282964">Deshacer la última acción</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> una tecla del 1 al 8</translation> +<translation id="3837047332182291558">Aumentar la iluminación del teclado (solo para teclados retroiluminados)</translation> +<translation id="3976863468609830880">Hacer clic en el último icono de la estantería</translation> +<translation id="4035482366624727273">Seleccionar todo el contenido de la página</translation> +<translation id="4060703249685950734">Volver a abrir la última pestaña o ventana que se ha cerrado</translation> +<translation id="4090342722461256974">Mantén pulsadas las teclas <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, toca <ph name="TAB" /> hasta llegar a la ventana que quieras abrir y suelta las teclas.</translation> +<translation id="4092538597492297615">Copiar el contenido seleccionado en el portapapeles</translation> +<translation id="4123108089450197101">Guardar el enlace como marcador</translation> +<translation id="4141203561740478845">Destacar la fila con la barra de direcciones</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Ver la ayuda de combinaciones de teclas</translation> +<translation id="4628718545549558538">Abrir el área de estado (donde aparece la imagen de la cuenta)</translation> +<translation id="4642092649622328492">Hacer una captura de pantalla parcial</translation> +<translation id="4725377341024374454">Abrir el botón destacado de la estantería</translation> +<translation id="4801989101741319327">Desplazarse al final de la siguiente palabra</translation> +<translation id="4916163929714267752">Abrir el enlace en una ventana nueva</translation> +<translation id="5034421018520995080">Ir a la parte superior de la página</translation> +<translation id="5042305953558921026">Tecla del modo de descripción general</translation> +<translation id="5104462712192763270">Guardar la página actual</translation> +<translation id="5121628974188116412">Ir a la parte inferior de la página</translation> +<translation id="5236674127086649162">Volver a cargar la página actual sin utilizar contenido almacenado en caché</translation> +<translation id="526651782186312376">Seleccionar texto hasta el principio de la línea</translation> <translation id="5316716239522500219">Copiar monitores</translation> +<translation id="5335199890994453201">Mostrar u ocultar el Inspector de DOM</translation> +<translation id="5541719484267030947">Pulsa <ph name="ESC" /> mientras arrastras las pestaña</translation> +<translation id="5554139136362089836">Hacer búsquedas en la página actual</translation> +<translation id="5563050856984839829">Pulsa <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> y haz clic en un enlace</translation> +<translation id="561814908794220892">Abrir la página web en una pestaña nueva</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> o <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Abrir el enlace en la pestaña</translation> +<translation id="5757474750054631686">Atenuar la luz del teclado (solo para teclados retroiluminados)</translation> +<translation id="587531134027443617">Eliminar la palabra anterior</translation> <translation id="5928303187149237472">Cambiar la resolución de pantalla</translation> <translation id="5975083100439434680">Reducir</translation> +<translation id="6011500873794669296">Alternar entre la barra de estado (donde aparece la imagen de la cuenta), el menú de aplicaciones, la barra de direcciones, la barra de marcadores (si está visible), la página web que está abierta y la barra de descargas (si está visible)</translation> <translation id="6022924867608035986">Borrar el texto del cuadro de búsqueda</translation> +<translation id="6045998054441862242">Activar el modo de contraste alto</translation> +<translation id="6052614013050385269">Hacer clic con el botón derecho en un enlace</translation> <translation id="6129953537138746214">Espacio</translation> +<translation id="6143669479988153888">Ampliar la página</translation> <translation id="6185696379715117369">Retroceder página</translation> +<translation id="6228457605945141550">Reducir el brillo</translation> +<translation id="6276708887952587684">Ver el código fuente de la página</translation> +<translation id="6321940490215594447">Abrir la página Historial</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Seleccionar texto hasta el final de la línea</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Hacer clic en un icono del 1 al 8 de la estantería</translation> +<translation id="6435207348963613811">Destacar el elemento anterior de la estantería</translation> +<translation id="6445033640292336367">Volver a colocar la pestaña en su posición original</translation> +<translation id="649811797655257835">Selecciona el archivo y pulsa <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Cambiar entre los idiomas del teclado establecidos. Consultar información sobre cómo cambiar el idioma del teclado.</translation> +<translation id="6634456834225946400">Destacar la barra de marcadores (si se muestra)</translation> +<translation id="666343722268997814">Abrir el menú del botón derecho del elemento destacado</translation> +<translation id="6671538777808758331">Ir al siguiente resultado de búsqueda</translation> +<translation id="6690765639083431875">Anclar una ventana en la izquierda</translation> +<translation id="6692847073476874842">Mostrar vista previa de un archivo en la aplicación Archivos</translation> <translation id="671928215901716392">Bloquear pantalla</translation> <translation id="6727005317916125192">Panel anterior</translation> +<translation id="6740781404993465795">Seleccionar la palabra o la letra siguientes</translation> +<translation id="6760706756348334449">Bajar el volumen</translation> <translation id="6981982820502123353">Accesibilidad</translation> <translation id="7020813747703216897">No se han podido encontrar resultados que coincidan</translation> <translation id="7025325401470358758">Siguiente panel</translation> -<translation id="7272373489634936181">Buscar combinaciones de teclas</translation> +<translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Eliminar la letra siguiente (eliminar hacia delante)</translation> +<translation id="766326951329901120">Pegar el contenido del portapapeles como texto sin formato</translation> <translation id="7724603315864178912">Cortar</translation> -<translation id="8004192919599017226">Iniciar búsqueda...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="SPACE" /> o <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Abrir un archivo en el navegador</translation> +<translation id="7917881398263220094">Interrumpir la carga de la página actual</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Ir al principio del documento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation> +<translation id="8234414138295101081">Girar la pantalla 90 grados</translation> +<translation id="836869401750819675">Abrir la página Descargas</translation> +<translation id="8388247778047144397">Arrastra el enlace a un área en blanco de la barra de pestañas</translation> +<translation id="8389638407792712197">Abrir nueva ventana</translation> +<translation id="8429696719963529183">Utilizar las teclas F (de F1 a F12)</translation> +<translation id="85690795166292698">Abrir el enlace en una pestaña nueva</translation> +<translation id="8609384513243082612">Abrir nueva pestaña</translation> +<translation id="8644639153978066712">Mostrar archivos ocultos en la aplicación Archivos</translation> +<translation id="8709893667941082515">Seleccionar la búsqueda en la barra de direcciones</translation> +<translation id="8717459106217102612">Seleccionar la palabra o la letra anterior</translation> +<translation id="8727232706774971183">Ver las notificaciones</translation> <translation id="88986195241502842">Avanzar página</translation> <translation id="8903921497873541725">Acercar</translation> <translation id="9179672198516322668">Combinaciones de teclas populares</translation>
diff --git a/ash/components/strings/ash_components_strings_et.xtb b/ash/components/strings/ash_components_strings_et.xtb index 45689124..50d901d 100644 --- a/ash/components/strings/ash_components_strings_et.xtb +++ b/ash/components/strings/ash_components_strings_et.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="et"> +<translation id="104962181688258143">Rakenduse Failid avamine</translation> +<translation id="1126871238933253947">Eelmisele kasutatud klaviatuurikeelele vahetamine.</translation> +<translation id="1195667586424773550">Lohistage link vahelehe aadressiribale</translation> +<translation id="1204450209689312104">Uue akna avamine inkognito režiimis</translation> +<translation id="1299858300159559687">Aktiivse lehe printimine</translation> <translation id="1383876407941801731">Otsi</translation> +<translation id="1439252533104567537">Nummerdatud vahelehele liikumine</translation> +<translation id="1454364489140280055"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="SHIFT1" /> <ph name="SEPARATOR2" /> <ph name="G" /> või <ph name="SHIFT2" /> <ph name="SEPARATOR3" /> <ph name="ENTER" /></translation> <translation id="1510238584712386396">Käivitaja</translation> +<translation id="152892567002884378">Helitugevuse suurendamine</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, seejärel <ph name="ESC" /></translation> +<translation id="1652741121070700329">Liikumine eelmise sõna algusesse</translation> +<translation id="1679841710523778799">Heleduse suurendamine</translation> +<translation id="168356808214100546">Vajutage pikalt klahvi <ph name="ALT" />, puudutage klahvi <ph name="TAB" />, kuni näete akent, mille soovite avada, seejärel vabastage klahv.</translation> <translation id="169515659049020177">Tõstuklahv</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /> <ph name="SEPARATOR1" /> <ph name="MODIFIER2" /> <ph name="SEPARATOR2" /> <ph name="KEY" /></translation> +<translation id="1733525068429116555">Laiendite www. ja .com lisamine aadressiribale ning siis lehe avamine</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, seejärel <ph name="SHIFT2" /> <ph name="SEPARATOR3" /> <ph name="TAB" /> või <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Järgmisele vahelehele liikumine</translation> +<translation id="2010818616644390445">Aknas viimasele vahelehele liikumine</translation> <translation id="2145908266289632567">Teksti muutmine</translation> +<translation id="215292019801409139"><ph name="SEARCH" /> <ph name="SEPARATOR" /> 1 kuni =</translation> +<translation id="2181097965834437145">Järjehoidjariba kuvamine või peitmine</translation> +<translation id="2185166372312820725">Eelmisele vahelehele liikumine</translation> +<translation id="2194790690264064655">Vajutage klahvi <ph name="CTRL" /> ja klõpsake lingil</translation> +<translation id="2424073332829844142">Suurtäheluku sisse- ja väljalülitamine</translation> +<translation id="2441202986792279177">Kiirelt akende vahel vahetamine</translation> +<translation id="2478303094958140141">ChromeVoxi (suuline tagasiside) sisse- või väljalülitamine</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Veebilehel alla kerimine</translation> +<translation id="2568632782096378307">Ekraani eraldusvõime lähtestamine vaikeväärtusele</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, seejärel <ph name="TAB" /> või <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Aktiivse veebilehe salvestamine järjehoidjana</translation> +<translation id="2750942583782703988">Aktiivse lehe uuesti laadimine</translation> +<translation id="2789868185375229787">Lehel väljasuumimine</translation> +<translation id="2804480015716812239">Vajutage klahvi <ph name="ALT" /> ja klõpsake lingil</translation> +<translation id="2830827904629746450">Paremal oleva akna dokkimine</translation> <translation id="2872353916818027657">Peamise kuvari vahetamine</translation> +<translation id="2914313326123580426">Arendajatööriistade paneeli kuvamine või peitmine</translation> +<translation id="292495055542441795">Täisekraani sisse-/väljalülitamine</translation> +<translation id="3084301071537457911">Riiulis järgmise üksuse esiletõstmine</translation> +<translation id="309173601632226815">Riiulis käivitajanupu esiletõstmine</translation> <translation id="3105917916468784889">Teeb kuvatõmmise</translation> +<translation id="3118681365140644126">Riiulis nupult esiletõstu eemaldamine</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Keskendub aadressiribale</translation> +<translation id="3288816184963444640">Praeguse akna sulgemine</translation> +<translation id="3356202203145076517">Viimati kasutatud akna avamine</translation> +<translation id="3407560819924487926">Tegumihalduri esiletoomine</translation> +<translation id="3422679037938588196">Otsingu eelmise vaste juurde liikumine</translation> +<translation id="344577624355799426"><ph name="ALT" /> või <ph name="SEARCH" /> <ph name="SEPARATOR" /> <ph name="DOWN" /></translation> +<translation id="346243998268439747">Suumimistaseme lähtestamine</translation> +<translation id="353037708190149633">Aktiivse akna kõikide avatud lehtede salvestamine uude kausta järjehoidjatena</translation> +<translation id="355103131818127604">Lingi avamine taustal uuel vahelehel</translation> <translation id="3649256019230929621">Minimeeri aken</translation> -<translation id="385051799172605136">Tagasi</translation> +<translation id="3668361878347172356">Viimase toimingu uuesti tegemine</translation> +<translation id="3720939646656082033">Lingi avamine uuel vahelehel ja uuele vahelehele vahetamine</translation> +<translation id="3725795051337497754">Aktiivse vahelehe sulgemine</translation> +<translation id="3751033133896282964">Viimase toimingu tagasivõtmine</translation> +<translation id="379295446891231126"><ph name="CTRL" /> <ph name="SEPARATOR" /> 1–8</translation> +<translation id="3837047332182291558">Klaviatuuri eredamaks muutmine (ainult taustvalgusega klaviatuuride puhul)</translation> +<translation id="3976863468609830880">Riiulis viimasel ikoonil klõpsamine</translation> +<translation id="4035482366624727273">Kogu lehe sisu valimine</translation> +<translation id="4060703249685950734">Viimasena suletud vahelehe või akna uuesti avamine</translation> +<translation id="4090342722461256974">Vajutage pikalt klahvikombinatsiooni <ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="SHIFT" />, puudutage klahvi <ph name="TAB" />, kuni näete akent, mille soovite avada, seejärel vabastage klahv.</translation> +<translation id="4092538597492297615">Valitud sisu lõikelauale kopeerimine</translation> +<translation id="4123108089450197101">Lingi salvestamine järjehoidjana</translation> +<translation id="4141203561740478845">Aadressiribaga rea esiletõstmine</translation> +<translation id="4148761611071495477"><ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="G" /> või <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Klaviatuuri otseteede abi vaatamine</translation> +<translation id="4628718545549558538">Olekuala (kus on kuvatud teie kontopilt) avamine</translation> +<translation id="4642092649622328492">Osalise ekraanipildi jäädvustamine</translation> +<translation id="4725377341024374454">Riiulis esiletõstetud nupu avamine</translation> +<translation id="4801989101741319327">Järgmise sõna lõppu liikumine</translation> +<translation id="4916163929714267752">Lingi avamine uues aknas</translation> +<translation id="5034421018520995080">Lehe algusesse liikumine</translation> +<translation id="5042305953558921026">Ülevaaterežiimi klahv</translation> +<translation id="5104462712192763270">Aktiivse lehe salvestamine</translation> +<translation id="5121628974188116412">Lehe lõppu liikumine</translation> +<translation id="5236674127086649162">Aktiivse lehe uuesti laadimine ilma vahemällu salvestatud sisuta</translation> +<translation id="526651782186312376">Teksti valimine kuni rea alguseni</translation> <translation id="5316716239522500219">Kuvarite peegeldamine</translation> +<translation id="5335199890994453201">DOM Inspectori kuvamine või peitmine</translation> +<translation id="5541719484267030947">Vahelehte lohistades vajutage klahvi <ph name="ESC" /></translation> +<translation id="5554139136362089836">Aktiivselt lehelt otsimine</translation> +<translation id="5563050856984839829">Vajutage klahvikombinatsiooni <ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="SHIFT" /> ja klõpsake lingil</translation> +<translation id="561814908794220892">Veebilehe avamine uuel vahelehel</translation> +<translation id="5710621673935162997"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="L" /> või <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="D" /></translation> +<translation id="5757111373163288447">Lingi avamine vahelehel</translation> +<translation id="5757474750054631686">Klaviatuuri hämardamine (ainult taustvalgusega klaviatuuride puhul)</translation> +<translation id="587531134027443617">Eelmise sõna kustutamine</translation> <translation id="5928303187149237472">Ekraani eraldusvõime muutmine</translation> <translation id="5975083100439434680">Suumib välja</translation> +<translation id="6011500873794669296">Fookuse vahetamine järgmiste vahel: olekuala (kus on kuvatud teie kontopilt), käivitaja aadressiriba, järjehoidjariba (kui on nähtav), avatud veebileht, allalaadimiste riba (kui on nähtav)</translation> <translation id="6022924867608035986">Kustuta otsingukastis olev tekst</translation> +<translation id="6045998054441862242">Suure kontrastsusega režiimi sisselülitamine</translation> +<translation id="6052614013050385269">Lingil paremklõpsamine</translation> <translation id="6129953537138746214">Tühik</translation> +<translation id="6143669479988153888">Lehel sissesuumimine</translation> <translation id="6185696379715117369">Lehel üles</translation> +<translation id="6228457605945141550">Heleduse vähendamine</translation> +<translation id="6276708887952587684">Lehe allika kuvamine</translation> +<translation id="6321940490215594447">Ajaloolehe avamine</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /> <ph name="SEPARATOR" /> <ph name="KEY" /></translation> +<translation id="6395172954772765143">Teksti valimine kuni rea lõpuni</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /> <ph name="SEPARATOR1" /> <ph name="LEFT" /> või <ph name="CTRL2" /> <ph name="SEPARATOR2" /> <ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Riiulis ikoonidel 1–8 klõpsamine</translation> +<translation id="6435207348963613811">Riiulis eelmise üksuse esiletõstmine</translation> +<translation id="6445033640292336367">Vahelehe tagastamine algsesse asukohta</translation> +<translation id="649811797655257835">Valige fail ja vajutage klahvi <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Määratud klaviatuurikeelte vahel vahetamine. Vaadake, kuidas klaviatuurikeelt valida.</translation> +<translation id="6634456834225946400">Järjehoidjariba esiletõstmine (kui on kuvatud)</translation> +<translation id="666343722268997814">Esiletõstetud üksuse paremklikimenüü avamine</translation> +<translation id="6671538777808758331">Otsingu järgmise vaste juurde liikumine</translation> +<translation id="6690765639083431875">Vasakul oleva akna dokkimine</translation> +<translation id="6692847073476874842">Faili eelvaate vaatamine rakenduses Failid</translation> <translation id="671928215901716392">Lukusta ekraan</translation> <translation id="6727005317916125192">Eelmine paan</translation> +<translation id="6740781404993465795">Järgmise sõna või tähe valimine</translation> +<translation id="6760706756348334449">Helitugevuse vähendamine</translation> <translation id="6981982820502123353">Juurdepääsetavus</translation> <translation id="7020813747703216897">Sobivaid tulemusi ei leitud</translation> <translation id="7025325401470358758">Järgmine paan</translation> -<translation id="7272373489634936181">Otseteede otsimine</translation> +<translation id="7379254767514753910"><ph name="ALT" /> või <ph name="SEARCH" /> <ph name="SEPARATOR" /> <ph name="UP" /></translation> +<translation id="7439718573248533901">Järgmise tähe kustutamine (edasisuunas kustutamine)</translation> +<translation id="766326951329901120">Lõikelaua sisu lihttekstina kleepimine</translation> <translation id="7724603315864178912">Lõika</translation> -<translation id="8004192919599017226">Alusta otsingut</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, seejärel <ph name="SPACE" /> või <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Faili avamine brauseris</translation> +<translation id="7917881398263220094">Aktiivse lehe laadimise peatamine</translation> +<translation id="8025696740288105292"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="SHIFT" /> <ph name="SEPARATOR2" /> <ph name="PLUS" /> või <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Dokumendi algusesse liikumine</translation> +<translation id="8147954207400281792"><ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="K" /> või <ph name="E" /></translation> +<translation id="8234414138295101081">Ekraani pööramine 90 kraadi</translation> +<translation id="836869401750819675">Allalaadimiste lehe avamine</translation> +<translation id="8388247778047144397">Lohistage link vahelehtede ribal tühjale alale</translation> +<translation id="8389638407792712197">Uue akna avamine</translation> +<translation id="8429696719963529183">F-klahvide kasutamine (F1–F12)</translation> +<translation id="85690795166292698">Lingi avamine uuel vahelehel</translation> +<translation id="8609384513243082612">Uue vahelehe avamine</translation> +<translation id="8644639153978066712">Peidetud failide kuvamine rakenduses Failid</translation> +<translation id="8709893667941082515">Aadressiriba esiletõstmine otsingus</translation> +<translation id="8717459106217102612">Eelmise sõna või tähe valimine</translation> +<translation id="8727232706774971183">Märguannete vaatamine</translation> <translation id="88986195241502842">Lehe lõppu</translation> <translation id="8903921497873541725">Suurendab</translation> <translation id="9179672198516322668">Populaarsed otseteed</translation>
diff --git a/ash/components/strings/ash_components_strings_fa.xtb b/ash/components/strings/ash_components_strings_fa.xtb index cbec0d66..50421aa 100644 --- a/ash/components/strings/ash_components_strings_fa.xtb +++ b/ash/components/strings/ash_components_strings_fa.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="fa"> +<translation id="104962181688258143">باز کردن برنامه Files</translation> +<translation id="1126871238933253947">جابهجایی به زبان قبلی صفحهکلید که استفاده میکردید.</translation> +<translation id="1195667586424773550">کشیدن پیوند به نوار نشانی برگه</translation> +<translation id="1204450209689312104">باز کردن پنجره جدید در حالت ناشناس</translation> +<translation id="1299858300159559687">چاپ صفحه کنونی</translation> <translation id="1383876407941801731">جستجو</translation> +<translation id="1439252533104567537">رفتن به برگه شمارهگذاریشده</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> یا <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">راهانداز</translation> +<translation id="152892567002884378">افزایش صدا</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> و سپس <ph name="ESC" /></translation> +<translation id="1652741121070700329">حرکت به ابتدای کلمه قبل</translation> +<translation id="1679841710523778799">زیاد کردن روشنایی</translation> +<translation id="168356808214100546"><ph name="ALT" /> را فشار دهید و نگهدارید، روی <ph name="TAB" /> ضربه بزنید تا به پنجرهای که میخواهید باز شود برسید، سپس آن را رها کنید.</translation> <translation id="169515659049020177">تبدیل</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">افزودن www. و .com به ورودیتان در نوار نشانی و سپس باز کردن صفحه</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> و سپس <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> یا <ph name="LEFT" /></translation> +<translation id="1996162290124031907">رفتن به برگه بعدی</translation> +<translation id="2010818616644390445">رفتن به آخرین برگه در پنجره</translation> <translation id="2145908266289632567">ویرایش نوشتار</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> ۱ تا =</translation> +<translation id="2181097965834437145">نشان دادن یا پنهان کردن نوار نشانکها</translation> +<translation id="2185166372312820725">رفتن به برگه قبلی</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> را فشار دهید و روی پیوند کلیک کنید</translation> +<translation id="2424073332829844142">روشن و خاموش کردن Caps Lock</translation> +<translation id="2441202986792279177">جابهجا شدن سریع بین پنجرهها</translation> +<translation id="2478303094958140141">روشن یا خاموش کردن ChromeVox (بازخورد گفتاری)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">پیمایش به پایین صفحه وب</translation> +<translation id="2568632782096378307">بازنشانی وضوح صفحهنمایش به پیشفرض</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> و سپس <ph name="TAB" /> یا <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">ذخیره صفحه وب کنونی شما بهعنوان نشانک</translation> +<translation id="2750942583782703988">بارگیری مجدد صفحه کنونی</translation> +<translation id="2789868185375229787">کوچکنمایی روی صفحه</translation> +<translation id="2804480015716812239"><ph name="ALT" /> را فشار دهید و روی پیوند کلیک کنید</translation> +<translation id="2830827904629746450">ثابت کردن یک پنجره در سمت راست</translation> <translation id="2872353916818027657">تعویض مانیتور اصلی</translation> +<translation id="2914313326123580426">نمایش یا پنهان کردن پنل ابزارهای برنامهنویس</translation> +<translation id="292495055542441795">جابهجایی به حالت تمام صفحه</translation> +<translation id="3084301071537457911">برجستهسازی مورد بعدی روی قفسه شما</translation> +<translation id="309173601632226815">برجسته کردن دکمه راهانداز در قفسه</translation> <translation id="3105917916468784889">گرفتن عکس صفحهنمایش</translation> +<translation id="3118681365140644126">حذف برجستهسازی از یک دکمه روی قفسه شما</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">فوکوس نوار آدرس</translation> +<translation id="3288816184963444640">بستن پنجره فعلی</translation> +<translation id="3356202203145076517">باز کردن پنجرهای که اخیراً استفاده کردهاید</translation> +<translation id="3407560819924487926">باز کردن مدیر فعالیتها</translation> +<translation id="3422679037938588196">رفتن به مورد منطبق قبلی با جستجویتان</translation> +<translation id="344577624355799426"><ph name="ALT" /> یا <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">بازنشانی بزرگنمایی</translation> +<translation id="353037708190149633">ذخیره تمام صفحات باز پنجره کنونی شما در پوشه بهعنوان نشانک</translation> +<translation id="355103131818127604">بازکردن پیوند در برگه جدیدی در پسزمینه</translation> <translation id="3649256019230929621">بازکردن پنجره در حداقل اندازه</translation> -<translation id="385051799172605136">بازگشت</translation> +<translation id="3668361878347172356">انجام مجدد آخرین عمل</translation> +<translation id="3720939646656082033">بازکردن پیوند در برگه جدید و رفتن به برگه جدید</translation> +<translation id="3725795051337497754">بستن برگه فعلی</translation> +<translation id="3751033133896282964">واگرد آخرین عمل</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> ۱ تا ۸</translation> +<translation id="3837047332182291558">روشنتر کردن صفحهکلید (فقط برای صفحهکلیدهایی که نور پسزمینه دارند)</translation> +<translation id="3976863468609830880">کلیک کردن آخرین نماد در قفسه</translation> +<translation id="4035482366624727273">انتخاب همه چیز در صفحه</translation> +<translation id="4060703249685950734">دوباره باز کردن آخرین برگه یا پنجرهای که بسته بودید</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> را فشار دهید و نگهدارید، روی <ph name="TAB" /> ضربه بزنید تا به پنجرهای که میخواهید باز شود برسید، سپس آن را رها کنید.</translation> +<translation id="4092538597492297615">کپی کردن محتوای انتخابشده در کلیپبورد</translation> +<translation id="4123108089450197101">ذخیره پیوند بهعنوان نشانک</translation> +<translation id="4141203561740478845">برجستهسازی ردیف با نوار نشانی</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> یا <ph name="ENTER" /></translation> +<translation id="4556221320735744018">مشاهده راهنمای میانبرهای صفحهکلید</translation> +<translation id="4628718545549558538">باز کردن ناحیه نشانگر وضعیت (جایی که تصویر حسابتان نشان داده میشود)</translation> +<translation id="4642092649622328492">گرفتن عکس از قسمتی از صفحهنمایش</translation> +<translation id="4725377341024374454">بازکردن دکمه برجسته شده روی قفسه شما</translation> +<translation id="4801989101741319327">حرکت به انتهای کلمه بعد</translation> +<translation id="4916163929714267752">بازکردن پیوند در پنجره جدید</translation> +<translation id="5034421018520995080">رفتن به بالای صفحه</translation> +<translation id="5042305953558921026">کلید حالت نمای کلی</translation> +<translation id="5104462712192763270">ذخیره صفحه کنونی شما</translation> +<translation id="5121628974188116412">رفتن به پایین صفحه</translation> +<translation id="5236674127086649162">بارگیری مجدد صفحه کنونی بدون استفاده از محتوای حافظه پنهان</translation> +<translation id="526651782186312376">انتخاب نوشتار تا ابتدای خط</translation> <translation id="5316716239522500219">بازتاب مانیتورها</translation> +<translation id="5335199890994453201">نمایش یا پنهان کردن DOM Inspector</translation> +<translation id="5541719484267030947">همانطور که برگه را میکشید، روی <ph name="ESC" /> فشار دهید</translation> +<translation id="5554139136362089836">جستجوی صفحه کنونی</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> را فشار دهید و روی پیوندی کلیک کنید</translation> +<translation id="561814908794220892">بازکردن صفحه وب در یک برگه جدید</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> یا <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">بازکردن پیوند در برگه</translation> +<translation id="5757474750054631686">کم کردن نور صفحهکلید (فقط برای صفحهکلیدهایی که نور پسزمینه دارند)</translation> +<translation id="587531134027443617">حذف کلمه قبلی</translation> <translation id="5928303187149237472">تغییر وضوح صفحه نمایش</translation> <translation id="5975083100439434680">کوچک نمایی</translation> +<translation id="6011500873794669296">جابهجایی فوکوس بین: ناحیه نشانگر وضعیت (جاییکه تصویر حساب نمایان میشود)، نوار نشانی راهانداز، نوار نشانکها (اگر قابل مشاهده باشد)، صفحه وبی که باز است و نوار بارگیریها (اگر قابل مشاهده باشد)</translation> <translation id="6022924867608035986">پاک کردن نوشتار کادر جستجو</translation> +<translation id="6045998054441862242">روشن کردن حالت کنتراست بالا</translation> +<translation id="6052614013050385269">راست کلیک یک پیوند</translation> <translation id="6129953537138746214">فضا</translation> +<translation id="6143669479988153888">بزرگنمایی صفحه</translation> <translation id="6185696379715117369">صفحه بالا</translation> +<translation id="6228457605945141550">کم کردن روشنایی</translation> +<translation id="6276708887952587684">مشاهده منبع صفحه</translation> +<translation id="6321940490215594447">باز کردن صفحه سابقه</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">انتخاب نوشتار تا انتهای خط</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> یا <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">کلیک کردن نمادهای ۱ تا ۸ در قفسه</translation> +<translation id="6435207348963613811">برجستهسازی مورد قبلی روی قفسه شما</translation> +<translation id="6445033640292336367">برگرداندن برگه به جای اول</translation> +<translation id="649811797655257835">فایلی را انتخاب کنید و سپس <ph name="SPACE" /> را فشار دهید</translation> +<translation id="6572206071785323178">جابهجا شدن بین زبانهای صفحهکلیدی که تنظیم کردهاید. با نحوه انتخاب زبان صفحهکلید آشنا شوید.</translation> +<translation id="6634456834225946400">برجستهسازی نوار نشانکها (اگر نشان داده شده باشد)</translation> +<translation id="666343722268997814">باز کردن منوی کلیک راست برای مورد برجستهشده</translation> +<translation id="6671538777808758331">رفتن به مورد منطبق بعدی با جستجویتان</translation> +<translation id="6690765639083431875">ثابت کردن یک پنجره در سمت چپ</translation> +<translation id="6692847073476874842">فایل قبلی در برنامه Files</translation> <translation id="671928215901716392">قفل صفحه</translation> <translation id="6727005317916125192">چارچوب قبلی</translation> +<translation id="6740781404993465795">انتخاب کلمه یا حرف بعدی</translation> +<translation id="6760706756348334449">کاهش صدا</translation> <translation id="6981982820502123353">قابلیت دسترسی</translation> <translation id="7020813747703216897">هیچ نتیجه منطبقی پیدا نشد</translation> <translation id="7025325401470358758">چارچوب بعدی</translation> -<translation id="7272373489634936181">جستجوی میانبرها</translation> +<translation id="7379254767514753910"><ph name="ALT" /> یا <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">حذف حرف بعدی (حذف بعدی)</translation> +<translation id="766326951329901120">جایگذاری محتوا از کلیپبورد به عنوان نوشتار ساده</translation> <translation id="7724603315864178912">برش</translation> -<translation id="8004192919599017226">شروع جستجو…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> و سپس <ph name="SPACE" /> یا <ph name="ENTER" /></translation> +<translation id="7787242579016742662">باز کردن فایل در مرورگر</translation> +<translation id="7917881398263220094">توقف بارگیری صفحه کنونی</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> یا <ph name="MINUS" /></translation> +<translation id="8130528849632411619">رفتن به ابتدای سند</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> یا <ph name="E" /></translation> +<translation id="8234414138295101081">چرخاندن ۹۰ درجهای صفحه</translation> +<translation id="836869401750819675">باز کردن صفحه بارگیری</translation> +<translation id="8388247778047144397">کشیدن پیوند به قسمتی خالی در نوار برگه</translation> +<translation id="8389638407792712197">باز کردن پنجره جدید</translation> +<translation id="8429696719963529183">استفاده از کلیدهای F (F1 تا F12)</translation> +<translation id="85690795166292698">بازکردن پیوند در یک برگه جدید</translation> +<translation id="8609384513243082612">بازکردن برگه جدید</translation> +<translation id="8644639153978066712">نمایش فایلهای مخفی در برنامه Files</translation> +<translation id="8709893667941082515">فوکوس نوار نشانی روی جستجو</translation> +<translation id="8717459106217102612">انتخاب کلمه یا حرف قبل</translation> +<translation id="8727232706774971183">دیدن اعلانها</translation> <translation id="88986195241502842">صفحه پایین</translation> <translation id="8903921497873541725">بزرگنمایی</translation> <translation id="9179672198516322668">میانبرهای پرطرفدار</translation>
diff --git a/ash/components/strings/ash_components_strings_fi.xtb b/ash/components/strings/ash_components_strings_fi.xtb index dda0f40..a1f15d8 100644 --- a/ash/components/strings/ash_components_strings_fi.xtb +++ b/ash/components/strings/ash_components_strings_fi.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="fi"> +<translation id="104962181688258143">Avaa Tiedostot-sovellus</translation> +<translation id="1126871238933253947">Vaihda viimeksi käyttämääsi näppäimistön kieleen</translation> +<translation id="1195667586424773550">Vedä linkki välilehden osoitepalkkiin.</translation> +<translation id="1204450209689312104">Avaa uusi ikkuna incognito-tilassa</translation> +<translation id="1299858300159559687">Tulosta nykyinen sivu</translation> <translation id="1383876407941801731">Haku</translation> +<translation id="1439252533104567537">Siirry numeroidulle välilehdelle</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> tai <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Käynnistysohjelma</translation> +<translation id="152892567002884378">Lisää äänenvoimakkuutta</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sitten <ph name="ESC" /></translation> +<translation id="1652741121070700329">Siirry edellisen sanan alkuun</translation> +<translation id="1679841710523778799">Lisää kirkkautta</translation> +<translation id="168356808214100546">Pidä <ph name="ALT" />-näppäintä painettuna ja paina <ph name="TAB" />, kunnes olet haluamassasi ikkunassa, ja päästä sitten näppäimet irti.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Lisää osoitekentässä olevaan tekstiin www. ja .com, ja avaa sitten sivu</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sitten <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> tai <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Siirry seuraavalle välilehdelle</translation> +<translation id="2010818616644390445">Siirry ikkunan viimeiselle välilehdelle</translation> <translation id="2145908266289632567">Tekstin muokkaus</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 – =</translation> +<translation id="2181097965834437145">Näytä tai piilota kirjanmerkkipalkki</translation> +<translation id="2185166372312820725">Siirry edelliselle välilehdelle</translation> +<translation id="2194790690264064655">Paina <ph name="CTRL" /> ja klikkaa linkkiä.</translation> +<translation id="2424073332829844142">Ota Caps Lock käyttöön ja poista se käytöstä</translation> +<translation id="2441202986792279177">Siirry nopeasti ikkunoiden välillä</translation> +<translation id="2478303094958140141">Ota ChromeVox (äänipalaute) käyttöön tai poista se käytöstä</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Vieritä sivun alareunaan</translation> +<translation id="2568632782096378307">Palauta näytön resoluutio oletusasetukseen</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sitten <ph name="TAB" /> tai <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Tallenna nykyinen verkkosivu kirjanmerkiksi</translation> +<translation id="2750942583782703988">Päivitä nykyinen sivu</translation> +<translation id="2789868185375229787">Loitonna sivunäkymää</translation> +<translation id="2804480015716812239">Paina <ph name="ALT" /> ja klikkaa linkkiä.</translation> +<translation id="2830827904629746450">Telakoi ikkuna oikealle</translation> <translation id="2872353916818027657">Vaihda ensisijainen näyttö</translation> +<translation id="2914313326123580426">Näytä tai piilota Kehittäjien työkalut ‑paneeli</translation> +<translation id="292495055542441795">Koko näytön tila päälle/pois</translation> +<translation id="3084301071537457911">Korosta hyllyn seuraava kohde</translation> +<translation id="309173601632226815">Korosta hyllyn käynnistyspainike</translation> <translation id="3105917916468784889">Ota kuvakaappaus</translation> +<translation id="3118681365140644126">Poista korostus hyllyn painikkeesta</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Keskitä osoitepalkkiin</translation> +<translation id="3288816184963444640">Sulje nykyinen ikkuna</translation> +<translation id="3356202203145076517">Avaa äskettäin käyttämäsi ikkuna</translation> +<translation id="3407560819924487926">Aktivoi tehtävänhallinta</translation> +<translation id="3422679037938588196">Siirry edelliseen hakutulokseen</translation> +<translation id="344577624355799426"><ph name="ALT" /> tai <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Palauta zoomaustaso normaaliksi</translation> +<translation id="353037708190149633">Tallenna nykyisen ikkunan kaikki välilehdet kirjanmerkeiksi uuteen kansioon</translation> +<translation id="355103131818127604">Avaa linkki taustalle uudella välilehdellä</translation> <translation id="3649256019230929621">Pienennä ikkuna</translation> -<translation id="385051799172605136">Edellinen</translation> +<translation id="3668361878347172356">Toista viimeisin toiminto</translation> +<translation id="3720939646656082033">Avaa linkki uudella välilehdellä ja siirry sille</translation> +<translation id="3725795051337497754">Sulje nykyinen välilehti</translation> +<translation id="3751033133896282964">Kumoa viimeisin toiminto</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1–8</translation> +<translation id="3837047332182291558">Lisää näppäimistön kirkkautta (jos se on taustavalaistu)</translation> +<translation id="3976863468609830880">Klikkaa hyllyn viimeistä kuvaketta</translation> +<translation id="4035482366624727273">Valitse koko sivun sisältö</translation> +<translation id="4060703249685950734">Avaa viimeisin suljettu välilehti tai ikkuna</translation> +<translation id="4090342722461256974">Pidä <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />-näppäimiä painettuna ja paina <ph name="TAB" />, kunnes olet haluamassasi ikkunassa, ja päästä sitten näppäimet irti.</translation> +<translation id="4092538597492297615">Kopioi valittu sisältö leikepöydälle</translation> +<translation id="4123108089450197101">Tallenna linkki kirjanmerkiksi</translation> +<translation id="4141203561740478845">Korosta osoitepalkkirivi</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> tai <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Avaa pikanäppäinapuri</translation> +<translation id="4628718545549558538">Avaa tila-alue, jossa tilikuvasi näkyy</translation> +<translation id="4642092649622328492">Ota osittainen kuvakaappaus</translation> +<translation id="4725377341024374454">Avaa hyllyn korostettu painike</translation> +<translation id="4801989101741319327">Siirry seuraavan sanan loppuun</translation> +<translation id="4916163929714267752">Avaa linkki uudessa ikkunassa</translation> +<translation id="5034421018520995080">Siirry sivun yläreunaan</translation> +<translation id="5042305953558921026">Yleiskatsaustilan näppäin</translation> +<translation id="5104462712192763270">Tallenna nykyinen sivu</translation> +<translation id="5121628974188116412">Siirry sivun alareunaan</translation> +<translation id="5236674127086649162">Päivitä nykyinen sivu ilman välimuistin sisältöä</translation> +<translation id="526651782186312376">Valitse teksti rivin alkuun asti</translation> <translation id="5316716239522500219">Peilaa näytöt</translation> +<translation id="5335199890994453201">Näytä tai piilota DOM-tarkastaja</translation> +<translation id="5541719484267030947">Vedä välilehteä ja paina samalla <ph name="ESC" />.</translation> +<translation id="5554139136362089836">Etsi nykyiseltä sivulta</translation> +<translation id="5563050856984839829">Paina <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ja klikkaa linkkiä.</translation> +<translation id="561814908794220892">Avaa verkkosivu uudella välilehdellä</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> tai <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Avaa linkki välilehdellä</translation> +<translation id="5757474750054631686">Himmennä näppäimistö (jos se on taustavalaistu)</translation> +<translation id="587531134027443617">Poista edellinen sana</translation> <translation id="5928303187149237472">Näytön resoluution muuttaminen</translation> <translation id="5975083100439434680">Loitonna</translation> +<translation id="6011500873794669296">Aktivoi vuorotellen: tila-alue (jossa tilikuvasi näkyy), käynnistysohjelma, osoitepalkki, kirjanmerkkipalkki (jos näkyvissä), auki oleva verkkosivu, latauspalkki (jos näkyvissä)</translation> <translation id="6022924867608035986">Tyhjennä hakukentän teksti</translation> +<translation id="6045998054441862242">Ota suuri kontrasti ‑tila käyttöön</translation> +<translation id="6052614013050385269">Klikkaa linkkiä hiiren kakkospainikkeella</translation> <translation id="6129953537138746214">Välilyönti</translation> +<translation id="6143669479988153888">Lähennä sivunäkymää</translation> <translation id="6185696379715117369">Sivu ylös</translation> +<translation id="6228457605945141550">Vähennä kirkkautta</translation> +<translation id="6276708887952587684">Näytä sivun lähdekoodi</translation> +<translation id="6321940490215594447">Avaa Historia-sivu</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Valitse teksti rivin loppuun asti</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> tai <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klikkaa hyllyn kuvakkeita 1–8</translation> +<translation id="6435207348963613811">Korosta hyllyn edellinen kohde</translation> +<translation id="6445033640292336367">Palauta välilehti alkuperäiseen sijaintiin</translation> +<translation id="649811797655257835">Valitse tiedosto ja paina <ph name="SPACE" />.</translation> +<translation id="6572206071785323178">Vaihda määrittämiesi näppäimistön kielten välillä. Tutustu näppäimistön kielten valintaan.</translation> +<translation id="6634456834225946400">Näytä kirjanmerkkipalkki (jos näkyvissä)</translation> +<translation id="666343722268997814">Avaa korostetun kohteen kakkospainikevaihtoehdot</translation> +<translation id="6671538777808758331">Siirry seuraavaan hakutulokseen</translation> +<translation id="6690765639083431875">Telakoi ikkuna vasemmalle</translation> +<translation id="6692847073476874842">Esikatsele tiedostoa Tiedostot-sovelluksessa</translation> <translation id="671928215901716392">Ruudunlukitus</translation> <translation id="6727005317916125192">Edellinen ruutu</translation> +<translation id="6740781404993465795">Valitse seuraava sana tai kirjain</translation> +<translation id="6760706756348334449">Vähennä äänenvoimakkuutta</translation> <translation id="6981982820502123353">Esteettömyys</translation> <translation id="7020813747703216897">Hakua vastaavia tuloksia ei löytynyt.</translation> <translation id="7025325401470358758">Seuraava ruutu</translation> -<translation id="7272373489634936181">Hae pikanäppäimiä</translation> +<translation id="7379254767514753910"><ph name="ALT" /> tai <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Poista seuraava kirjain (eteenpäin poistaminen)</translation> +<translation id="766326951329901120">Liitä leikepöydän sisältö vain teksti ‑muodossa</translation> <translation id="7724603315864178912">Leikkaa</translation> -<translation id="8004192919599017226">Aloita haku…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sitten <ph name="SPACE" /> tai <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Avaa tiedosto selaimessa</translation> +<translation id="7917881398263220094">Pysäytä nykyisen sivun lataaminen</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> tai <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Siirry dokumentin alkuun</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> tai <ph name="E" /></translation> +<translation id="8234414138295101081">Kierrä näyttöä 90 astetta</translation> +<translation id="836869401750819675">Avaa Lataukset-sivu</translation> +<translation id="8388247778047144397">Vedä linkki välilehtirivin tyhjään kohtaan.</translation> +<translation id="8389638407792712197">Avaa uusi ikkuna</translation> +<translation id="8429696719963529183">Käytä F-näppäimiä (F1–F12)</translation> +<translation id="85690795166292698">Avaa linkki uudella välilehdellä</translation> +<translation id="8609384513243082612">Avaa uusi välilehti</translation> +<translation id="8644639153978066712">Näytä piilotetut tiedostot Tiedostot-sovelluksessa</translation> +<translation id="8709893667941082515">Tarkenna osoitepalkkiin hakua varten</translation> +<translation id="8717459106217102612">Valitse edellinen sana tai kirjain</translation> +<translation id="8727232706774971183">Näytä ilmoitukset</translation> <translation id="88986195241502842">Sivu alas</translation> <translation id="8903921497873541725">Lähennä</translation> <translation id="9179672198516322668">Suositut pikanäppäimet</translation>
diff --git a/ash/components/strings/ash_components_strings_fil.xtb b/ash/components/strings/ash_components_strings_fil.xtb index be5cf9f6..7a80c2c 100644 --- a/ash/components/strings/ash_components_strings_fil.xtb +++ b/ash/components/strings/ash_components_strings_fil.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="fil"> +<translation id="104962181688258143">Buksan ang app na Mga File</translation> +<translation id="1126871238933253947">Lumipat sa nakaraang wika ng keyboard na ginagamit mo.</translation> +<translation id="1195667586424773550">I-drag ang link sa address bar ng tab</translation> +<translation id="1204450209689312104">Magbukas ng bagong window sa incognito mode</translation> +<translation id="1299858300159559687">I-print ang iyong kasalukuyang page</translation> <translation id="1383876407941801731">Hanapin</translation> +<translation id="1439252533104567537">Pumunta sa may numerong tab</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> o <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Launcher</translation> +<translation id="152892567002884378">Lakasan ang volume</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pagkatapos ay <ph name="ESC" /></translation> +<translation id="1652741121070700329">Lumipat sa simula ng nakaraang salita</translation> +<translation id="1679841710523778799">Taasan ang brightness</translation> +<translation id="168356808214100546">Pindutin nang matagal ang <ph name="ALT" />, i-tap ang <ph name="TAB" /> hanggang sa mapunta ka sa window na gusto mong buksan, pagkatapos ay bitawan ito.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Idagdag ang www. at .com sa iyong input sa address bar, pagkatapos ay buksan ang page</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pagkatapos ay <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Pumunta sa susunod na tab</translation> +<translation id="2010818616644390445">Pumunta sa huling tab sa window</translation> <translation id="2145908266289632567">Pag-edit ng Text</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 hanggang =</translation> +<translation id="2181097965834437145">Ipakita o itago ang bookmarks bar</translation> +<translation id="2185166372312820725">Pumunta sa nakaraang tab</translation> +<translation id="2194790690264064655">Pindutin ang <ph name="CTRL" /> at mag-click ng link</translation> +<translation id="2424073332829844142">I-on at i-off ang Caps Lock</translation> +<translation id="2441202986792279177">Magpalipat-lipat nang mabilis sa mga window</translation> +<translation id="2478303094958140141">I-on o i-off ang ChromeVox (pasalitang feedback)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Mag-scroll pababa sa web page</translation> +<translation id="2568632782096378307">I-reset sa default ang resolution ng screen</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pagkatapos ay <ph name="TAB" /> o <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">I-save ang iyong kasalukuyang webpage bilang bookmark</translation> +<translation id="2750942583782703988">I-reload ang iyong kasalukuyang page</translation> +<translation id="2789868185375229787">Mag-zoom out sa page</translation> +<translation id="2804480015716812239">Pindutin ang <ph name="ALT" /> at mag-click ng link</translation> +<translation id="2830827904629746450">Mag-dock ng window sa kanan</translation> <translation id="2872353916818027657">Pagpalitin ang pangunahing monitor</translation> +<translation id="2914313326123580426">Ipakita o itago ang panel ng Mga Tool ng Developer</translation> +<translation id="292495055542441795">I-toggle ang fullscreen</translation> +<translation id="3084301071537457911">I-highlight ang susunod na item sa iyong shelf</translation> +<translation id="309173601632226815">I-highlight ang button ng launcher sa iyong shelf</translation> <translation id="3105917916468784889">Kunin screenshot</translation> +<translation id="3118681365140644126">Alisin ang highlight sa isang button sa iyong shelf</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Address bar sa pagtuon</translation> +<translation id="3288816184963444640">Isara ang kasalukuyang window</translation> +<translation id="3356202203145076517">Buksan ang window na pinakabihira mong ginamit kamakailan</translation> +<translation id="3407560819924487926">Palabasin ang task manager</translation> +<translation id="3422679037938588196">Pumunta sa nakaraang tugma para sa iyong paghahanap</translation> +<translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">I-reset ang antas ng pag-zoom</translation> +<translation id="353037708190149633">I-save ang lahat ng nakabukas na page sa iyong kasalukuyang window bilang mga bookmark sa isang bagong folder</translation> +<translation id="355103131818127604">Buksan ang link sa isang bagong tab sa background</translation> <translation id="3649256019230929621">I-minimize ang window</translation> -<translation id="385051799172605136">Bumalik</translation> +<translation id="3668361878347172356">Gawing muli ang iyong huling pagkilos</translation> +<translation id="3720939646656082033">Buksan ang link sa isang bagong tab at lumipat sa bagong tab</translation> +<translation id="3725795051337497754">Isara ang kasalukuyang tab</translation> +<translation id="3751033133896282964">I-undo ang iyong huling pagkilos</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 hanggang 8</translation> +<translation id="3837047332182291558">Gawing mas maliwanag ang keyboard (para lang sa mga keyboard na may backlight)</translation> +<translation id="3976863468609830880">I-click ang huling icon sa iyong shelf</translation> +<translation id="4035482366624727273">Piliin ang lahat ng nasa page</translation> +<translation id="4060703249685950734">Buksang muli ang huling tab o window na isinara mo</translation> +<translation id="4090342722461256974">Pindutin nang matagal ang <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, i-tap ang <ph name="TAB" /> hanggang sa mapunta ka sa window na gusto mong buksan, pagkatapos ay bitawan ito.</translation> +<translation id="4092538597492297615">Kopyahin ang napiling content sa clipboard</translation> +<translation id="4123108089450197101">I-save ang link bilang bookmark</translation> +<translation id="4141203561740478845">I-highlight ang row na may address bar</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Tingnan ang Helper sa Keyboard Shortcut</translation> +<translation id="4628718545549558538">Buksan ang lugar ng status (kung saan lumalabas ang iyong larawan sa account)</translation> +<translation id="4642092649622328492">Kumuha ng screenshot ng bahagi ng screen</translation> +<translation id="4725377341024374454">Buksan ang naka-highlight na button sa iyong shelf</translation> +<translation id="4801989101741319327">Lumipat sa dulo ng kasunod na salita</translation> +<translation id="4916163929714267752">Buksan ang link sa isang bagong window</translation> +<translation id="5034421018520995080">Pumunta sa pinakataas ng page</translation> +<translation id="5042305953558921026">Key para sa overview mode</translation> +<translation id="5104462712192763270">I-save ang iyong kasalukuyang page</translation> +<translation id="5121628974188116412">Pumunta sa pinakababa ng page</translation> +<translation id="5236674127086649162">I-reload ang iyong kasalukuyang page nang hindi gumagamit ng naka-cache na content</translation> +<translation id="526651782186312376">Piliin ang text hanggang sa simula ng linya</translation> <translation id="5316716239522500219">I-mirror ang mga monitor</translation> +<translation id="5335199890994453201">Ipakita o itago ang DOM Inspector</translation> +<translation id="5541719484267030947">Habang dina-drag ang tab, pindutin ang <ph name="ESC" /></translation> +<translation id="5554139136362089836">Maghanap sa kasalukuyang page</translation> +<translation id="5563050856984839829">Pindutin ang <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> at mag-click ng link</translation> +<translation id="561814908794220892">Buksan ang webpage sa isang bagong tab</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> o <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Buksan ang link sa tab</translation> +<translation id="5757474750054631686">Padilimin ang keyboard (para lang sa mga keyboard na may backlight)</translation> +<translation id="587531134027443617">I-delete ang nakaraang salita</translation> <translation id="5928303187149237472">Baguhin ang resolution ng screen</translation> <translation id="5975083100439434680">Mag-zoom out</translation> +<translation id="6011500873794669296">Magpalipat-lipat ng focus sa: Lugar ng status (kung saan lumalabas ang iyong larawan sa account) Address bar at Bookmarks bar ng Launcher (kung nakikita) Ang webpage na nakabukas ang Bar ng mga download (kung nakikita)</translation> <translation id="6022924867608035986">I-clear ang text sa searchbox</translation> +<translation id="6045998054441862242">I-on ang high contrast mode</translation> +<translation id="6052614013050385269">Mag-right click ng link</translation> <translation id="6129953537138746214">Puwang</translation> +<translation id="6143669479988153888">Mag-zoom in sa page</translation> <translation id="6185696379715117369">Pataas sa pahina</translation> +<translation id="6228457605945141550">Babaan ang brightness</translation> +<translation id="6276708887952587684">Tingnan ang source ng page</translation> +<translation id="6321940490215594447">Buksan ang page ng History</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Piliin ang text hanggang sa dulo ng linya</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">I-click ang icon 1-8 sa iyong shelf</translation> +<translation id="6435207348963613811">I-highlight ang nakaraang item sa iyong shelf</translation> +<translation id="6445033640292336367">Ibalik ang tab sa orihinal nitong posisyon</translation> +<translation id="649811797655257835">Piliin ang file, pagkatapos ay pindutin ang <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Magpalipat-lipat sa mga wika ng keyboard na naitakda mo. Matutunan kung paano pumili ng wika ng iyong keyboard.</translation> +<translation id="6634456834225946400">I-highlight ang bookmarks bar (kung ipinapakita)</translation> +<translation id="666343722268997814">Buksan ang menu ng right-click para sa naka-highlight na item</translation> +<translation id="6671538777808758331">Pumunta sa susunod na tugma para sa iyong paghahanap</translation> +<translation id="6690765639083431875">Mag-dock ng window sa kaliwa</translation> +<translation id="6692847073476874842">Mag-preview ng file sa app na Mga File</translation> <translation id="671928215901716392">I-lock ang screen</translation> <translation id="6727005317916125192">Nakaraang pane</translation> +<translation id="6740781404993465795">Piliin ang susunod na salita o titik</translation> +<translation id="6760706756348334449">Hinaan ang volume</translation> <translation id="6981982820502123353">Pagiging Maa-access</translation> <translation id="7020813747703216897">Walang nahanap na tumutugmang resulta</translation> <translation id="7025325401470358758">Susunod na pane</translation> -<translation id="7272373489634936181">Maghanap ng mga shortcut</translation> +<translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">I-delete ang susunod na titik (forward na pag-delete)</translation> +<translation id="766326951329901120">I-paste ang content mula sa clipboard bilang plain text</translation> <translation id="7724603315864178912">I-cut</translation> -<translation id="8004192919599017226">Simulan ang paghahanap...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pagkatapos ay <ph name="SPACE" /> o <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Magbukas ng file sa browser</translation> +<translation id="7917881398263220094">Ihinto ang pag-load ng iyong kasalukuyang page</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Pumunta sa simula ng dokumento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation> +<translation id="8234414138295101081">I-rotate ang screen nang 90 degrees</translation> +<translation id="836869401750819675">Buksan ang page ng Mga Download</translation> +<translation id="8388247778047144397">I-drag ang link sa isang blankong bahagi sa tab strip</translation> +<translation id="8389638407792712197">Magbukas ng bagong window</translation> +<translation id="8429696719963529183">Gumamit ng mga F key (F1 hanggang F12)</translation> +<translation id="85690795166292698">Buksan ang link sa isang bagong tab</translation> +<translation id="8609384513243082612">Magbukas ng bagong tab</translation> +<translation id="8644639153978066712">Ipakita ang mga nakatagong file sa app na Mga File</translation> +<translation id="8709893667941082515">I-focus ang address bar sa paghahanap</translation> +<translation id="8717459106217102612">Piliin ang nakaraang salita o titik</translation> +<translation id="8727232706774971183">Tingnan ang iyong mga notification</translation> <translation id="88986195241502842">Pababa sa pahina</translation> <translation id="8903921497873541725">Mag-zoom in</translation> <translation id="9179672198516322668">Mga Sikat na Shortcut</translation>
diff --git a/ash/components/strings/ash_components_strings_fr.xtb b/ash/components/strings/ash_components_strings_fr.xtb index b267a6c06..495085f4 100644 --- a/ash/components/strings/ash_components_strings_fr.xtb +++ b/ash/components/strings/ash_components_strings_fr.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="fr"> +<translation id="104962181688258143">Ouvrir l'application Fichiers</translation> +<translation id="1126871238933253947">Revenir à la langue du clavier que vous utilisiez auparavant.</translation> +<translation id="1195667586424773550">Faites glisser le lien vers la barre d'adresse de l'onglet</translation> +<translation id="1204450209689312104">Ouvrir une nouvelle fenêtre en mode navigation privée</translation> +<translation id="1299858300159559687">Imprimer la page active</translation> <translation id="1383876407941801731">Rechercher</translation> +<translation id="1439252533104567537">Accéder à l'onglet numéroté</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ou <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Lanceur d'applications</translation> +<translation id="152892567002884378">Augmenter le volume</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, puis <ph name="ESC" /></translation> +<translation id="1652741121070700329">Atteindre le début du mot précédent</translation> +<translation id="1679841710523778799">Augmenter la luminosité</translation> +<translation id="168356808214100546">Appuyez de manière prolongée sur <ph name="ALT" />, puis appuyez sur <ph name="TAB" /> pour sélectionner la fenêtre de votre choix et relâchez pour l'ouvrir.</translation> <translation id="169515659049020177">Maj</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Ajouter "www." et ".com" à votre saisie dans la barre d'adresse et ouvrir la page</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, puis <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ou <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Accéder à l'onglet suivant</translation> +<translation id="2010818616644390445">Accéder au dernier onglet dans la fenêtre</translation> <translation id="2145908266289632567">Modification de texte</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> de "1" à "="</translation> +<translation id="2181097965834437145">Afficher ou masquer la barre de favoris</translation> +<translation id="2185166372312820725">Accéder à l'onglet précédent</translation> +<translation id="2194790690264064655">Appuyez sur <ph name="CTRL" /> et cliquez sur un lien</translation> +<translation id="2424073332829844142">Activer et désactiver le verrouillage des majuscules</translation> +<translation id="2441202986792279177">Changer de fenêtre rapidement</translation> +<translation id="2478303094958140141">Activer ou désactiver ChromeVox (commentaires audio)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Faire défiler la page Web vers le bas</translation> +<translation id="2568632782096378307">Rétablir la résolution de l'écran par défaut</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, puis <ph name="TAB" /> ou <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Enregistrer la page Web active dans les favoris</translation> +<translation id="2750942583782703988">Actualiser la page active</translation> +<translation id="2789868185375229787">Faire un zoom arrière sur la page</translation> +<translation id="2804480015716812239">Appuyez sur <ph name="ALT" /> et cliquez sur un lien</translation> +<translation id="2830827904629746450">Ancrer une fenêtre sur la droite</translation> <translation id="2872353916818027657">Changer de moniteur principal</translation> -<translation id="3105917916468784889">Enregistrer une capture d'écran</translation> +<translation id="2914313326123580426">Afficher ou masquer le panneau des outils pour les développeurs</translation> +<translation id="292495055542441795">Activer ou désactiver le mode plein écran</translation> +<translation id="3084301071537457911">Mettre en surbrillance l'élément suivant sur l'étagère</translation> +<translation id="309173601632226815">Mettre en surbrillance le bouton du lanceur d'applications sur l'étagère</translation> +<translation id="3105917916468784889">Faire une capture d'écran</translation> +<translation id="3118681365140644126">Supprimer la mise en surbrillance d'un bouton sur l'étagère</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Activer la barre d'adresse</translation> +<translation id="3288816184963444640">Fermer la fenêtre active</translation> +<translation id="3356202203145076517">Ouvrir la fenêtre que vous avez utilisée le moins récemment</translation> +<translation id="3407560819924487926">Ouvrir le gestionnaire de tâches</translation> +<translation id="3422679037938588196">Accéder à la correspondance précédente du terme recherché</translation> +<translation id="344577624355799426"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Réinitialiser le niveau de zoom</translation> +<translation id="353037708190149633">Enregistrer toutes les pages de la fenêtre active dans un nouveau dossier de favoris</translation> +<translation id="355103131818127604">Ouvrir le lien dans un nouvel onglet en arrière-plan</translation> <translation id="3649256019230929621">Réduire la fenêtre</translation> -<translation id="385051799172605136">Retour</translation> +<translation id="3668361878347172356">Répéter la dernière action</translation> +<translation id="3720939646656082033">Ouvrir le lien dans un nouvel onglet et basculer vers le nouvel onglet</translation> +<translation id="3725795051337497754">Fermer l'onglet actif</translation> +<translation id="3751033133896282964">Annuler la dernière action</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" />1 à 8</translation> +<translation id="3837047332182291558">Augmenter la luminosité du clavier (claviers rétroéclairés uniquement)</translation> +<translation id="3976863468609830880">Cliquer sur la dernière icône de l'étagère</translation> +<translation id="4035482366624727273">Sélectionner tout le contenu de la page</translation> +<translation id="4060703249685950734">Rouvrir l'onglet ou la fenêtre que vous venez de fermer</translation> +<translation id="4090342722461256974">Appuyez de manière prolongée sur <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, puis appuyez sur <ph name="TAB" /> pour sélectionner la fenêtre de votre choix et relâchez pour l'ouvrir.</translation> +<translation id="4092538597492297615">Copier le contenu sélectionné dans le presse-papiers</translation> +<translation id="4123108089450197101">Enregistrer le lien dans les favoris</translation> +<translation id="4141203561740478845">Mettre en surbrillance la ligne de la barre d'adresse</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ou <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Consulter l'aide relative aux raccourcis clavier</translation> +<translation id="4628718545549558538">Ouvrir la zone d'état (là où se trouve la photo de votre compte)</translation> +<translation id="4642092649622328492">Faire une capture d'écran partielle</translation> +<translation id="4725377341024374454">Ouvrir le bouton mis en surbrillance sur l'étagère</translation> +<translation id="4801989101741319327">Atteindre la fin du mot suivant</translation> +<translation id="4916163929714267752">Ouvrir le lien dans une nouvelle fenêtre</translation> +<translation id="5034421018520995080">Accéder au haut de la page</translation> +<translation id="5042305953558921026">Touche du mode de présentation</translation> +<translation id="5104462712192763270">Enregistrer la page active</translation> +<translation id="5121628974188116412">Accéder au bas de la page</translation> +<translation id="5236674127086649162">Actualiser la page active sans tenir compte du contenu mis en cache</translation> +<translation id="526651782186312376">Sélectionner du texte jusqu'au début de la ligne</translation> <translation id="5316716239522500219">Mettre en miroir les moniteurs</translation> +<translation id="5335199890994453201">Afficher ou masquer l'inspecteur de DOM</translation> +<translation id="5541719484267030947">Appuyez sur <ph name="ESC" /> tout en faisant glisser l'onglet</translation> +<translation id="5554139136362089836">Rechercher sur la page active</translation> +<translation id="5563050856984839829">Appuyez sur <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> et cliquez sur un lien</translation> +<translation id="561814908794220892">Ouvrir la page Web dans un nouvel onglet</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ou <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Ouvrir le lien dans l'onglet</translation> +<translation id="5757474750054631686">Réduire la luminosité du clavier (claviers rétroéclairés uniquement)</translation> +<translation id="587531134027443617">Supprimer le mot précédent</translation> <translation id="5928303187149237472">Modifier la résolution d'écran</translation> <translation id="5975083100439434680">Zoom arrière</translation> +<translation id="6011500873794669296">Alterner entre la zone d'état (là où se trouve la photo de votre compte), le lanceur d'applications, la barre d'adresse, la barre de favoris (si elle est visible), la page Web ouverte ou la barre de téléchargements (si elle est visible)</translation> <translation id="6022924867608035986">Effacer le texte de la zone de recherche</translation> +<translation id="6045998054441862242">Activer le mode Contraste élevé</translation> +<translation id="6052614013050385269">Faire un clic droit sur un lien</translation> <translation id="6129953537138746214">Espace</translation> +<translation id="6143669479988153888">Faire un zoom avant sur la page</translation> <translation id="6185696379715117369">Accéder à la page précédente</translation> +<translation id="6228457605945141550">Réduire la luminosité</translation> +<translation id="6276708887952587684">Afficher le code source de la page</translation> +<translation id="6321940490215594447">Ouvrir la page "Historique"</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Sélectionner du texte jusqu'à la fin de la ligne</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ou <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Cliquer sur les icônes de 1 à 8 de l'étagère</translation> +<translation id="6435207348963613811">Mettre en surbrillance l'élément précédent sur l'étagère</translation> +<translation id="6445033640292336367">Replacer l'onglet à sa position initiale</translation> +<translation id="649811797655257835">Sélectionnez le fichier, puis appuyez sur <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Basculer entre les langues du clavier que vous avez définies. Découvrez comment choisir la langue de votre clavier.</translation> +<translation id="6634456834225946400">Mettre en surbrillance la barre de favoris (si elle est affichée)</translation> +<translation id="666343722268997814">Ouvrir le menu pop-up correspondant aux éléments mis en surbrillance</translation> +<translation id="6671538777808758331">Accéder à la correspondance suivante du terme recherché</translation> +<translation id="6690765639083431875">Ancrer une fenêtre sur la gauche</translation> +<translation id="6692847073476874842">Afficher l'aperçu d'un fichier dans l'application Fichiers</translation> <translation id="671928215901716392">Verrouillage d'écran</translation> <translation id="6727005317916125192">Volet précédent</translation> +<translation id="6740781404993465795">Sélectionner la lettre ou le mot suivants</translation> +<translation id="6760706756348334449">Baisser le volume</translation> <translation id="6981982820502123353">Accessibilité</translation> <translation id="7020813747703216897">Aucun résultat ne correspond à votre recherche</translation> <translation id="7025325401470358758">Volet suivant</translation> -<translation id="7272373489634936181">Rechercher des raccourcis</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Supprimer la lettre suivante (suppression avant)</translation> +<translation id="766326951329901120">Coller le contenu du Presse-papiers en texte brut</translation> <translation id="7724603315864178912">Couper</translation> -<translation id="8004192919599017226">Lancer la recherche…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, puis <ph name="SPACE" /> ou <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Ouvrir un fichier dans le navigateur</translation> +<translation id="7917881398263220094">Arrêter le chargement de la page active</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ou <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Accéder au début du document</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ou <ph name="E" /></translation> +<translation id="8234414138295101081">Faire pivoter l'écran de 90 degrés</translation> +<translation id="836869401750819675">Ouvrir la page "Téléchargements"</translation> +<translation id="8388247778047144397">Faites glisser le lien vers une zone vierge de la barre d'onglets</translation> +<translation id="8389638407792712197">Ouvrir une nouvelle fenêtre</translation> +<translation id="8429696719963529183">Utiliser les touches F (F1 à F12)</translation> +<translation id="85690795166292698">Ouvrir le lien dans un nouvel onglet</translation> +<translation id="8609384513243082612">Ouvrir un nouvel onglet</translation> +<translation id="8644639153978066712">Afficher les fichiers masqués dans l'application Fichiers</translation> +<translation id="8709893667941082515">Sélectionner la barre d'adresse lors d'une recherche</translation> +<translation id="8717459106217102612">Sélectionner la lettre ou le mot précédents</translation> +<translation id="8727232706774971183">Voir vos notifications</translation> <translation id="88986195241502842">Accéder à la page suivante</translation> <translation id="8903921497873541725">Zoom avant</translation> <translation id="9179672198516322668">Raccourcis courants</translation>
diff --git a/ash/components/strings/ash_components_strings_gu.xtb b/ash/components/strings/ash_components_strings_gu.xtb index 66c5d667..82b4b77 100644 --- a/ash/components/strings/ash_components_strings_gu.xtb +++ b/ash/components/strings/ash_components_strings_gu.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="gu"> +<translation id="104962181688258143">Files ઍપ ખોલો</translation> +<translation id="1126871238933253947">તમે પહેલાં ઉપયોગ કરી રહ્યા હતા તે કીબોર્ડની ભાષા પર સ્વિચ કરો.</translation> +<translation id="1195667586424773550">ટૅબના ઍડ્રેસ બારમાં લિંકને ખેંચો</translation> +<translation id="1204450209689312104">છૂપા મોડમાં એક નવી વિંડો ખોલો</translation> +<translation id="1299858300159559687">તમારું વર્તમાન પેજ પ્રિન્ટ કરો</translation> <translation id="1383876407941801731">શોધો</translation> +<translation id="1439252533104567537">ક્રમાંકિત ટૅબ પર જાઓ</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> અથવા <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">લૉન્ચર</translation> +<translation id="152892567002884378">વૉલ્યૂમ વધારો</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, પછી <ph name="ESC" /></translation> +<translation id="1652741121070700329">પાછળના શબ્દની શરૂઆત પર જાઓ</translation> +<translation id="1679841710523778799">બ્રાઇટનેસ વધારો</translation> +<translation id="168356808214100546"><ph name="ALT" />ને દબાવી રાખો, તમે જે વિંડોને ખોલવા માગો છો તે ખુલી જાય ત્યાં સુધી <ph name="TAB" />ને ટૅપ કરો, પછી રિલીઝ કરો.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">ઍડ્રેસ બારમાંના તમારા ઇનપુટમાં www. અને .com ઉમેરો, પછી પેજ ખોલો</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, પછી <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> અથવા <ph name="LEFT" /></translation> +<translation id="1996162290124031907">આગળના ટૅબ પર જાઓ</translation> +<translation id="2010818616644390445">વિંડોમાં છેલ્લા ટૅબ પર જાઓ</translation> <translation id="2145908266289632567">ટેક્સ્ટમાં ફેરફાર કરવો</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 થી =</translation> +<translation id="2181097965834437145">બુકમાર્ક બાર બતાવો અથવા છુપાવો</translation> +<translation id="2185166372312820725">પાછળના ટૅબ પર જાઓ</translation> +<translation id="2194790690264064655"><ph name="CTRL" />ને દબાવો અને લિંકને ક્લિક કરો</translation> +<translation id="2424073332829844142">Caps Lock ચાલુ અને બંધ કરો</translation> +<translation id="2441202986792279177">વિંડોને ઝડપથી સ્વિચ કરો</translation> +<translation id="2478303094958140141">ChromeVox (બોલાયેલ પ્રતિસાદ) ચાલુ અથવા બંધ કરો</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">વેબપેજને નીચે સ્ક્રોલ કરો</translation> +<translation id="2568632782096378307">સ્ક્રીન રિઝોલ્યુશનને ડિફૉલ્ટ પર રીસેટ કરો</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, પછી <ph name="TAB" /> અથવા <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">તમારા વર્તમાન વેબપેજને બુકમાર્ક તરીકે સાચવો</translation> +<translation id="2750942583782703988">તમારું વર્તમાન પેજ ફરીથી લોડ કરો</translation> +<translation id="2789868185375229787">આ પેજ પર ઝૂમ ઘટાડો</translation> +<translation id="2804480015716812239"><ph name="ALT" />ને દબાવો અને લિંકને ક્લિક કરો</translation> +<translation id="2830827904629746450">જમણી બાજુની વિંડોને ડૉક કરો</translation> <translation id="2872353916818027657">પ્રાથમિક મૉનિટર સ્વેપ કરો</translation> +<translation id="2914313326123580426">ડેવલપર સાધનોની પૅનલ બતાવો અથવા છુપાવો</translation> +<translation id="292495055542441795">પૂર્ણસ્ક્રીનને ટૉગલ કરો</translation> +<translation id="3084301071537457911">તમારા શેલ્ફ પરની આગળની આઇટમને હાઇલાઇટ કરો</translation> +<translation id="309173601632226815">તમારા શેલ્ફ પરના લૉન્ચર બટનને હાઇલાઇટ કરો</translation> <translation id="3105917916468784889">સ્ક્રીનશૉટ લો</translation> +<translation id="3118681365140644126">તમારા શેલ્ફ પરના બટનમાંથી હાઇલાઇટ કાઢી નાખો</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">સરનામાં બાર પર ફોકસ કરો</translation> +<translation id="3288816184963444640">વર્તમાન વિંડો બંધ કરો</translation> +<translation id="3356202203145076517">તમે તાજેતરમાં સૌથી ઓછી ઉપયોગમાં લીધી હોય તે વિંડો ખોલો</translation> +<translation id="3407560819924487926">કાર્ય મેનેજર લાવો</translation> +<translation id="3422679037938588196">તમારી શોધ માટેના પાછલા મેળ પર જાઓ</translation> +<translation id="344577624355799426"><ph name="ALT" /> અથવા <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">ઝૂમ લેવલ રીસેટ કરો</translation> +<translation id="353037708190149633">તમારી વર્તમાન વિંડોમાંના બધા ખુલ્લા પેજને બુકમાર્ક તરીકે નવા ફોલ્ડરમાં સાચવો</translation> +<translation id="355103131818127604">લિંકને બૅકગ્રાઉન્ડમાં નવા ટૅબમાં ખોલો</translation> <translation id="3649256019230929621">વિંડો નાની કરો</translation> -<translation id="385051799172605136">પાછળ</translation> +<translation id="3668361878347172356">તમારી છેલ્લી ક્રિયા ફરી કરો</translation> +<translation id="3720939646656082033">લિંકને નવા ટૅબમાં ખોલો અને નવા ટૅબ પર સ્વિચ કરો</translation> +<translation id="3725795051337497754">વર્તમાન ટૅબ બંધ કરો</translation> +<translation id="3751033133896282964">તમારી છેલ્લી ક્રિયા રદ કરો</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 થી 8</translation> +<translation id="3837047332182291558">કીબોર્ડને બ્રાઇટ બનાવો (માત્ર બૅકલિટ કીબોર્ડ માટે)</translation> +<translation id="3976863468609830880">તમારા શેલ્ફ પરના છેલ્લા આઇકન પર ક્લિક કરો</translation> +<translation id="4035482366624727273">આ પેજ પરનું બધું પસંદ કરો</translation> +<translation id="4060703249685950734">તમે બંધ કરેલ છેલ્લું ટૅબ અથવા વિંડો ફરીથી ખોલો</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />ને દબાવી રાખો, તમે જે વિંડો ખોલવા માગો છો તે ખુલી જાય ત્યાં સુધી <ph name="TAB" />ને ટૅપ કરો, પછી રિલીઝ કરો.</translation> +<translation id="4092538597492297615">ક્લિપબોર્ડ પર પસંદ કરેલ કન્ટેન્ટની કૉપિ કરો</translation> +<translation id="4123108089450197101">લિંકને બુકમાર્ક તરીકે સાચવો</translation> +<translation id="4141203561740478845">ઍડ્રેસ બારવાળી પંક્તિને હાઇલાઇટ કરો</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> અથવા <ph name="ENTER" /></translation> +<translation id="4556221320735744018">કીબોર્ડ શૉર્ટકટ સહાયક જુઓ</translation> +<translation id="4628718545549558538">સ્ટેટસ એરિયા ખોલો (જ્યાં તમારું એકાઉન્ટનું ચિત્ર દેખાય છે ત્યાં ક્લિક કરો)</translation> +<translation id="4642092649622328492">આંશિક સ્ક્રીનશૉટ લો</translation> +<translation id="4725377341024374454">તમારા શેલ્ફ પર હાઇલાઇટ કરેલ બટન ખોલો</translation> +<translation id="4801989101741319327">આગલા શબ્દના અંતે જાઓ</translation> +<translation id="4916163929714267752">લિંકને નવી વિંડોમાં ખોલો</translation> +<translation id="5034421018520995080">પેજની ટોચે જાઓ</translation> +<translation id="5042305953558921026">ઝલક મોડ કી</translation> +<translation id="5104462712192763270">તમારું વર્તમાન પેજ સાચવો</translation> +<translation id="5121628974188116412">પેજના તળિયે જાઓ</translation> +<translation id="5236674127086649162">કૅશ થયેલા કન્ટેન્ટનો ઉપયોગ કર્યા વિના તમારું વર્તમાન પેજ ફરીથી લોડ કરો</translation> +<translation id="526651782186312376">પંક્તિની શરૂઆતની ટેક્સ્ટ પસંદ કરો</translation> <translation id="5316716239522500219">મિરર મૉનિટર્સ</translation> +<translation id="5335199890994453201">DOM ઇન્સ્પેક્ટર બતાવો અથવા છુપાવો</translation> +<translation id="5541719484267030947">ટૅબને ખેંચતી વખતે, <ph name="ESC" /> દબાવો</translation> +<translation id="5554139136362089836">હાલનું પેજ શોધો</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> દબાવો અને લિંક પર ક્લિક કરો</translation> +<translation id="561814908794220892">વેબપેજ નવા ટૅબમાં ખોલો</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> અથવા <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">લિંકને ટૅબમાં ખોલો</translation> +<translation id="5757474750054631686">ડિમ કીબોર્ડ (માત્ર બૅકલિટ કીબોર્ડ માટે)</translation> +<translation id="587531134027443617">પાછલો શબ્દ ડિલીટ કરો</translation> <translation id="5928303187149237472">સ્ક્રીન રિઝોલ્યુશન બદલો</translation> <translation id="5975083100439434680">ઝૂમ ઘટાડો</translation> +<translation id="6011500873794669296">આના વચ્ચેનું ફોકસ સ્વિચ કરો: સ્ટેટસ એરિયા (જ્યાં તમારા એકાઉન્ટનું ચિત્ર દેખાય છે) લૉન્ચર ઍડ્રેસ બાર બુકમાર્ક બાર (જો દૃશ્યક્ષમ હોય તો) વેેબપેજ જે ખુલ્લું ડાઉનલોડ બાર છે (જો દૃશ્યક્ષમ હોય તો)</translation> <translation id="6022924867608035986">શોધબૉક્સમાંથી બધી ટેક્સ્ટ સાફ કરો</translation> +<translation id="6045998054441862242">ઉચ્ચ કૉન્ટ્રાસ્ટ મોડ ચાલુ કરો</translation> +<translation id="6052614013050385269">લિંક પર રાઇટ-ક્લિક કરો</translation> <translation id="6129953537138746214">જગ્યા</translation> +<translation id="6143669479988153888">આ પેજ પર ઝૂમ વધારો</translation> <translation id="6185696379715117369">પૃષ્ઠ ઉપર</translation> +<translation id="6228457605945141550">બ્રાઇટનેસ ઘટાડો</translation> +<translation id="6276708887952587684">પેજનો સ્રોત જુઓ</translation> +<translation id="6321940490215594447">ઇતિહાસનું પેજ ખોલો</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">પંક્તિના અંતે આવેલી ટેક્સ્ટ પસંદ કરો</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> અથવા <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">તમારા શેલ્ફ પરના 1-8 આઇકન પર ક્લિક કરો</translation> +<translation id="6435207348963613811">તમારા શેલ્ફ પરની પાછલી આઇટમને હાઇલાઇટ કરો</translation> +<translation id="6445033640292336367">ટૅબને તેની ઑરિજિનલ સ્થિતિમાં પાછું લાવો</translation> +<translation id="649811797655257835">ફાઇલ પસંદ કરો, પછી <ph name="SPACE" /> દબાવો</translation> +<translation id="6572206071785323178">તમે સેટ કરેલ કીબોર્ડ ભાષાને સ્વિચ કરો. તમારા કીબોર્ડની ભાષા કેવી રીતે પસંદ કરવી તે જાણો.</translation> +<translation id="6634456834225946400">બુકમાર્ક બાર હાઇલાઇટ કરો (જો બતાવાયેલ હોય તો)</translation> +<translation id="666343722268997814">હાઇલાઇટ કરેલ આઇટમ માટે રાઇટ-ક્લિક મેનૂ ખોલો</translation> +<translation id="6671538777808758331">તમારી શોધ માટેના આગલા મેળ પર જાઓ</translation> +<translation id="6690765639083431875">ડાબી બાજુની વિંડોને ડૉક કરો</translation> +<translation id="6692847073476874842">Files ઍપમાં ફાઇલનું પ્રીવ્યૂ કરો</translation> <translation id="671928215901716392">સ્ક્રીન લૉક કરો</translation> <translation id="6727005317916125192">પહેલાંની પેન</translation> +<translation id="6740781404993465795">આગલો શબ્દ અથવા અક્ષર પસંદ કરો</translation> +<translation id="6760706756348334449">વૉલ્યૂમ ઘટાડો</translation> <translation id="6981982820502123353">ઍક્સેસિબિલિટી</translation> <translation id="7020813747703216897">કોઈ મેળ ખાતા પરિણામો મળ્યાં નથી</translation> <translation id="7025325401470358758">આગલી પૅન</translation> -<translation id="7272373489634936181">શૉર્ટકટ શોધો</translation> +<translation id="7379254767514753910"><ph name="ALT" /> અથવા <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">આગલો અક્ષર ડિલીટ કરો (ફૉર્વર્ડ ડિલીટ કરો)</translation> +<translation id="766326951329901120">ક્લિપબોર્ડમાંના કન્ટેન્ટને સાદી ટેક્સ્ટ તરીકે પેસ્ટ કરો</translation> <translation id="7724603315864178912">કાપો</translation> -<translation id="8004192919599017226">શોધ શરૂ કરો…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, પછી <ph name="SPACE" /> અથવા <ph name="ENTER" /></translation> +<translation id="7787242579016742662">બ્રાઉઝરમાં ફાઇલ ખોલો</translation> +<translation id="7917881398263220094">તમારા વર્તમાન પેજને લોડ કરવાનું રોકો</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> અથવા <ph name="MINUS" /></translation> +<translation id="8130528849632411619">દસ્તાવેજની શરૂઆત પર જાઓ</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> અથવા <ph name="E" /></translation> +<translation id="8234414138295101081">સ્ક્રીનને 90 ડિગ્રીએ ફેરવો</translation> +<translation id="836869401750819675">ડાઉનલોડ પેજ ખોલો</translation> +<translation id="8388247778047144397">લિંકને ટૅબ સ્ટ્રિપ પરના ખાલી વિસ્તારમાં ખેંચો</translation> +<translation id="8389638407792712197">નવી વિંડો ખોલો</translation> +<translation id="8429696719963529183">F કી (F1 થી F12)નો ઉપયોગ કરો</translation> +<translation id="85690795166292698">લિંકને નવા ટૅબમાં ખોલો</translation> +<translation id="8609384513243082612">નવું ટૅબ ખોલો</translation> +<translation id="8644639153978066712">Files ઍપમાંની છુપાયેલી ફાઇલો પ્રદર્શિત કરો</translation> +<translation id="8709893667941082515">શોધ પર ઍડ્રેસ બાર પર ફોકસ કરો</translation> +<translation id="8717459106217102612">પાછલો શબ્દ અથવા અક્ષર પસંદ કરો</translation> +<translation id="8727232706774971183">તમારા નોટિફિકેશનો જુઓ</translation> <translation id="88986195241502842">પૃષ્ઠ નીચે</translation> <translation id="8903921497873541725">ઝૂમ વધારો</translation> <translation id="9179672198516322668">લોકપ્રિય શૉર્ટકટ</translation>
diff --git a/ash/components/strings/ash_components_strings_hi.xtb b/ash/components/strings/ash_components_strings_hi.xtb index 7572324..83db9fd 100644 --- a/ash/components/strings/ash_components_strings_hi.xtb +++ b/ash/components/strings/ash_components_strings_hi.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="hi"> +<translation id="104962181688258143">फ़ाइल ऐप्लिकेशन खोलें</translation> +<translation id="1126871238933253947">उस पिछली कीबोर्ड भाषा पर स्विच करें जिसे आप इस्तेमाल कर रहे थे.</translation> +<translation id="1195667586424773550">लिंक को टैब के पता बार में खींचें और छोड़ें</translation> +<translation id="1204450209689312104">गुप्त मोड में नई विंडो खोलें</translation> +<translation id="1299858300159559687">अपना अभी वाला पेज प्रिंट करें</translation> <translation id="1383876407941801731">खोज</translation> +<translation id="1439252533104567537">नंबर वाले टैब पर जाएं</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> या <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">लॉन्चर</translation> +<translation id="152892567002884378">वॉल्यूम बढ़ाएं</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, फिर <ph name="ESC" /></translation> +<translation id="1652741121070700329">पिछले शब्द की शुरुआत में ले जाएं</translation> +<translation id="1679841710523778799">स्क्रीन की रोशनी बढ़ाएं</translation> +<translation id="168356808214100546">जब तक कि आप उस विंडो पर नहीं पहुंच जाते जिसे आप खोलना चाहते हैं, तब तक <ph name="ALT" /> दबाकर रखें और <ph name="TAB" /> पर टैप करें, फिर छोड़ दें.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">पता बार में अपने इनपुट में www. और .com जोड़ें, फिर पेज खोलें</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, फिर <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> या <ph name="LEFT" /></translation> +<translation id="1996162290124031907">अगले टैब पर जाएं</translation> +<translation id="2010818616644390445">विंडो में आखिरी टैब पर जाएंं</translation> <translation id="2145908266289632567">लेख में बदलाव करना</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 से = तक</translation> +<translation id="2181097965834437145">बुकमार्क बार दिखाएं या छिपाएं</translation> +<translation id="2185166372312820725">पिछले टैब पर जाएं</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> दबाएं और किसी लिंक पर क्लिक करें</translation> +<translation id="2424073332829844142">Caps Lock को चालू और बंद करें</translation> +<translation id="2441202986792279177">अलग-अलग विंडो के बीच तेज़ी से स्विच करें</translation> +<translation id="2478303094958140141">ChromeVox (कंप्यूटर का बोलकर दिया गया जवाब) चालू या बंद करें</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">वेबपेज में नीचे स्क्रोल करें</translation> +<translation id="2568632782096378307">स्क्रीन रिज़ॉल्यूशन को डिफ़ॉल्ट पर रीसेट करें</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, फिर <ph name="TAB" /> या <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">अपना अभी वाला वेबपेज बुकमार्क के रूप में सेव करें</translation> +<translation id="2750942583782703988">अपना अभी वाला पेज फिर लोड करें</translation> +<translation id="2789868185375229787">पेज पर ज़ूम घटाएं</translation> +<translation id="2804480015716812239"><ph name="ALT" /> दबाएं और किसी लिंक पर क्लिक करें</translation> +<translation id="2830827904629746450">विंडो दाईं ओर डॉक करें</translation> <translation id="2872353916818027657">प्राथमिक मॉनीटर को स्वैप करें</translation> +<translation id="2914313326123580426">डेवलपर टूल पैनल दिखाएं या छिपाएं</translation> +<translation id="292495055542441795">पूर्ण स्क्रीन टॉगल करें</translation> +<translation id="3084301071537457911">अपनी अलमारी पर अगला आइटम हाइलाइट करें</translation> +<translation id="309173601632226815">अपनी अलमारी पर लॉन्चर बटन हाइलाइट करें</translation> <translation id="3105917916468784889">स्क्रीनशॉट लें</translation> +<translation id="3118681365140644126">अपनी अलमारी पर किसी बटन से हाइलाइट हटाएं</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">पता बार को फ़ोकस करें</translation> +<translation id="3288816184963444640">अभी वाली विंडो बंद करें</translation> +<translation id="3356202203145076517">वह विंडो खोलें जिसका आपने हाल में सबसे कम इस्तेमाल किया था</translation> +<translation id="3407560819924487926">काम का प्रबंधक सामने लाएं</translation> +<translation id="3422679037938588196">अपनी खोज के पिछले मिलान पर जाएं</translation> +<translation id="344577624355799426"><ph name="ALT" /> या <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">ज़ूम स्तर रीसेट करें</translation> +<translation id="353037708190149633">अपनी अभी वाली विंडो में खुले सभी पेज नए फ़ोल्डर में बुकमार्क के रूप में सेव करें</translation> +<translation id="355103131818127604">लिंक को बैकग्राउंड में नए टैब में खोलें</translation> <translation id="3649256019230929621">विंडो को छोटा करें</translation> -<translation id="385051799172605136">वापस</translation> +<translation id="3668361878347172356">अपनी पिछली कार्रवाई फिर से करें</translation> +<translation id="3720939646656082033">लिंक को नए टैब में खोलें और नए टैब में स्विच करें</translation> +<translation id="3725795051337497754">अभी वाला टैब बंद करें</translation> +<translation id="3751033133896282964">अपनी पिछली कार्रवाई को पहले जैसा करें</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 से 8 तक</translation> +<translation id="3837047332182291558">कीबोर्ड की रोशनी बढ़ाएं (सिर्फ़ बैकलिट कीबोर्ड के लिए)</translation> +<translation id="3976863468609830880">अपनी अलमारी पर आखिरी आइकॉन पर क्लिक करें</translation> +<translation id="4035482366624727273">पेज पर सब कुछ चुनें</translation> +<translation id="4060703249685950734">अपना बंद किया गया आखिरी टैब या विंडो फिर से खोलें</translation> +<translation id="4090342722461256974">जब तक आप उस विंडो पर नहीं पहुंच जाते जिसे आप खोलना चाहते हैं, तब तक <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> को दबाकर रखें और <ph name="TAB" /> पर टैप करें, फिर छोड़ दें.</translation> +<translation id="4092538597492297615">चुनी गई सामग्री को क्लिपबोर्ड पर कॉपी करें</translation> +<translation id="4123108089450197101">लिंक को बुकमार्क के रूप में सेव करें</translation> +<translation id="4141203561740478845">पता बार वाली पंक्ति हाइलाइट करें</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> या <ph name="ENTER" /></translation> +<translation id="4556221320735744018">कीबोर्ड शॉर्टकट सहायक देखें</translation> +<translation id="4628718545549558538">हाल बताने वाली जगह खोलें (जहां आपके खाते की तस्वीर दिखाई देती है)</translation> +<translation id="4642092649622328492">आंशिक स्क्रीनशॉट लें</translation> +<translation id="4725377341024374454">अपनी अलमारी पर हाइलाइट किया गया बटन खोलें</translation> +<translation id="4801989101741319327">अगले शब्द के आखिर में ले जाएं</translation> +<translation id="4916163929714267752">लिंक को नई विंडो में खोलें</translation> +<translation id="5034421018520995080">पेज के सबसे ऊपर जाएं</translation> +<translation id="5042305953558921026">खास जानकारी मोड कुंजी</translation> +<translation id="5104462712192763270">अपना अभी वाला पेज सेव करें</translation> +<translation id="5121628974188116412">पेज में सबसे नीचे जाएं</translation> +<translation id="5236674127086649162">कैश की गई सामग्री का इस्तेमाल किए बिना अपना अभी वाला पेज फिर लोड करें</translation> +<translation id="526651782186312376">पंक्ति की शुरुआत तक का लेख चुनें</translation> <translation id="5316716239522500219">मॉनीटर मिरर करें</translation> +<translation id="5335199890994453201">DOM Inspector दिखाएं या छिपाएं</translation> +<translation id="5541719484267030947">टैब को खींचकर रखते समय, <ph name="ESC" /> दबाएं</translation> +<translation id="5554139136362089836">अभी वाले पेज में खोजें</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> दबाएं फिर किसी लिंक पर क्लिक करें</translation> +<translation id="561814908794220892">वेबपेज को नए टैब में खोलें</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> या <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">लिंक को टैब में खोलें</translation> +<translation id="5757474750054631686">कीबोर्ड की रोशनी कम करें (केवल बैकलिट कीबोर्ड के लिए)</translation> +<translation id="587531134027443617">पिछला शब्द मिटाएं</translation> <translation id="5928303187149237472">स्क्रीन का रिज़ॉल्यूशन बदलना</translation> <translation id="5975083100439434680">ज़ूम आउट</translation> +<translation id="6011500873794669296">फ़ोकस इनके बीच स्विच करें: हाल बताने वाली जगह (जहां आपके खाते की तस्वीर दिखाई देती है) लॉन्चर पता बार बुकमार्क बार (अगर दिख रहा हो) वह वेबपेज जो खुला है डाउनलोड बार (अगर दिख रहा हो)</translation> <translation id="6022924867608035986">खोज बॉक्स का लेख मिटाएं</translation> +<translation id="6045998054441862242">उच्च कंट्रास्ट मोड चालू करें</translation> +<translation id="6052614013050385269">लिंक पर राइट-क्लिक करें</translation> <translation id="6129953537138746214">Space</translation> +<translation id="6143669479988153888">पेज पर ज़ूम इन करें</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">स्क्रीन की रोशनी कम करें</translation> +<translation id="6276708887952587684">पेज का स्रोत देखें</translation> +<translation id="6321940490215594447">इतिहास पेज खोलें</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">पंक्ति के आखिर तक का लेख चुनें</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> या <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">अपनी अलमारी पर 1-8 आइकॉन पर क्लिक करें</translation> +<translation id="6435207348963613811">अपनी अलमारी पर पिछला आइटम हाइलाइट करें</translation> +<translation id="6445033640292336367">टैब को उसकी मूल जगह पर वापस ले जाएं</translation> +<translation id="649811797655257835">फ़ाइल चुनें, फिर <ph name="SPACE" /> दबाएं</translation> +<translation id="6572206071785323178">अपनी सेट की हुई कीबोर्ड भाषाओं के बीच स्विच करें. अपने कीबोर्ड की भाषा सेट करने का तरीका जानें.</translation> +<translation id="6634456834225946400">बुकमार्क बार हाइलाइट करें (अगर दिखाया गया हो)</translation> +<translation id="666343722268997814">हाइलाइट किए गए आइटम के लिए राइट-क्लिक मेन्यू खोलें</translation> +<translation id="6671538777808758331">अपनी खोज के लिए अगले मिलान पर जाएं</translation> +<translation id="6690765639083431875">विंडो बाईं ओर डॉक करें</translation> +<translation id="6692847073476874842">फ़ाइल ऐप्लिकेशन में फ़ाइल की झलक देखें</translation> <translation id="671928215901716392">लॉक स्क्रीन</translation> <translation id="6727005317916125192">पिछला फलक</translation> +<translation id="6740781404993465795">अगला शब्द या अक्षर चुनें</translation> +<translation id="6760706756348334449">वॉल्यूम कम करें</translation> <translation id="6981982820502123353">पहुंच क्षमता</translation> <translation id="7020813747703216897">मिलान करने वाला कोई नतीजा नहीं मिला</translation> <translation id="7025325401470358758">अगला फलक</translation> -<translation id="7272373489634936181">शॉर्टकट खोजें</translation> +<translation id="7379254767514753910"><ph name="ALT" /> या <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">अगला अक्षर मिटाएं (आगे से मिटाएं)</translation> +<translation id="766326951329901120">क्लिपबोर्ड की सामग्री सादे पाठ की तरह चिपकाएं</translation> <translation id="7724603315864178912">काटें</translation> -<translation id="8004192919599017226">खोज शुरू करें...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, फिर <ph name="SPACE" /> या <ph name="ENTER" /></translation> +<translation id="7787242579016742662">ब्राउज़र में फ़ाइल खोलें</translation> +<translation id="7917881398263220094">अपने अभी वाले पेज को लोड होने से रोकें</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> या <ph name="MINUS" /></translation> +<translation id="8130528849632411619">दस्तावेज़ की शुरुआत में जाएं</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> या <ph name="E" /></translation> +<translation id="8234414138295101081">स्क्रीन को 90 डिग्री पर घुमाएं</translation> +<translation id="836869401750819675">डाउनलोड पेज खोलें</translation> +<translation id="8388247778047144397">लिंक को टैब स्ट्रिप पर खाली जगह में खींचें और छोड़ें</translation> +<translation id="8389638407792712197">नई विंडो खोलें</translation> +<translation id="8429696719963529183">F कुंजियों (F1 से F12) का इस्तेमाल करें</translation> +<translation id="85690795166292698">लिंक को नए टैब में खोलें</translation> +<translation id="8609384513243082612">नया टैब खोलें</translation> +<translation id="8644639153978066712">फ़ाइल ऐप्लिकेशन में छिपी हुई फ़ाइलें दिखाएं</translation> +<translation id="8709893667941082515">खोज पर पता बार पर फ़ोकस करें</translation> +<translation id="8717459106217102612">पिछला शब्द या अक्षर चुनें</translation> +<translation id="8727232706774971183">अपनी सूचनाएं देखें</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">ज़ूम इन करें</translation> <translation id="9179672198516322668">लोकप्रिय शॉर्टकट</translation>
diff --git a/ash/components/strings/ash_components_strings_hr.xtb b/ash/components/strings/ash_components_strings_hr.xtb index 7736fe77d..60dd0c91 100644 --- a/ash/components/strings/ash_components_strings_hr.xtb +++ b/ash/components/strings/ash_components_strings_hr.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="hr"> +<translation id="104962181688258143">Otvaranje aplikacije Datoteke</translation> +<translation id="1126871238933253947">Prelazak na prethodni korišteni jezik tipkovnice.</translation> +<translation id="1195667586424773550">Povlačenje veze u adresnu traku kartice</translation> +<translation id="1204450209689312104">Otvaranje novog prozora u anonimnom načinu</translation> +<translation id="1299858300159559687">Ispis trenutačne stranice</translation> <translation id="1383876407941801731">Traži</translation> +<translation id="1439252533104567537">Prelazak na numeriranu karticu</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ili <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Pokretač</translation> +<translation id="152892567002884378">Pojačavanje glasnoće</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a zatim <ph name="ESC" /></translation> +<translation id="1652741121070700329">Prelazak na početak prethodne riječi</translation> +<translation id="1679841710523778799">Pojačavanje svjetline</translation> +<translation id="168356808214100546">Pritisnite i zadržite <ph name="ALT" /> te dodirujte stavku <ph name="TAB" /> dok se ne otvori željeni prozor, a zatim otpustite pritisak.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Dodavanje elementa www. ili .com unosu u adresnoj traci i otvaranje stranice</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a zatim <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ili <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Prelazak na sljedeću karticu</translation> +<translation id="2010818616644390445">Prelazak na zadnju karticu u prozoru</translation> <translation id="2145908266289632567">Uređivanje teksta</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> od 1 do =</translation> +<translation id="2181097965834437145">Prikaz ili sakrivanje trake oznaka</translation> +<translation id="2185166372312820725">Prelazak na prethodnu karticu</translation> +<translation id="2194790690264064655">Pritisnite <ph name="CTRL" /> i kliknite vezu</translation> +<translation id="2424073332829844142">Uključivanje i isključivanje tipke Caps Lock</translation> +<translation id="2441202986792279177">Brzo prebacivanje na druge prozore</translation> +<translation id="2478303094958140141">Uključivanje ili isključivanje ChromeVoxa (govornih povratnih informacija)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Pomicanje prema dolje po web-stranici</translation> +<translation id="2568632782096378307">Vraćanje razlučivosti zaslona na zadano</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a zatim <ph name="TAB" /> ili <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Spremanje trenutačne web-stranice kao oznake</translation> +<translation id="2750942583782703988">Ponovno učitavanje trenutačne stranice</translation> +<translation id="2789868185375229787">Smanjivanje stranice</translation> +<translation id="2804480015716812239">Pritisnite <ph name="ALT" /> i kliknite vezu</translation> +<translation id="2830827904629746450">Fiksiranje prozora na desnoj strani</translation> <translation id="2872353916818027657">Zamjena primarnog monitora</translation> +<translation id="2914313326123580426">Prikaz ili sakrivanje ploče Alata za razvojne programere</translation> +<translation id="292495055542441795">Uključivanje i isključivanje prikaza na cijelom zaslonu</translation> +<translation id="3084301071537457911">Isticanje sljedeće stavke na polici</translation> +<translation id="309173601632226815">Isticanje gumba pokretača na polici</translation> <translation id="3105917916468784889">Snimi zaslon</translation> +<translation id="3118681365140644126">Poništavanje isticanja gumba na polici</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokusiraj adresnu traku</translation> +<translation id="3288816184963444640">Zatvaranje trenutačnog prozora</translation> +<translation id="3356202203145076517">Otvaranje prozora koji najdulje niste koristili</translation> +<translation id="3407560819924487926">Prikazivanje upravitelja zadataka</translation> +<translation id="3422679037938588196">Prelazak na prethodno podudaranje za pretraživanje</translation> +<translation id="344577624355799426"><ph name="ALT" /> ili <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Poništavanje razine zumiranja</translation> +<translation id="353037708190149633">Spremanje svih otvorenih stranica u trenutačnom prozoru kao oznaka u novoj mapi</translation> +<translation id="355103131818127604">Otvaranje veze u novoj kartici u pozadini</translation> <translation id="3649256019230929621">Minimiziranje prozora</translation> -<translation id="385051799172605136">Natrag</translation> +<translation id="3668361878347172356">Ponavljanje posljednje radnje</translation> +<translation id="3720939646656082033">Otvaranje veze u novoj kartici i prelazak na tu karticu</translation> +<translation id="3725795051337497754">Zatvaranje trenutačne kartice</translation> +<translation id="3751033133896282964">Poništavanje posljednje radnje</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> od 1 do 8</translation> +<translation id="3837047332182291558">Pojačavanje osvjetljenja tipkovnice (samo za tipkovnice s pozadinskim osvjetljenjem)</translation> +<translation id="3976863468609830880">Klik na posljednju ikonu na polici</translation> +<translation id="4035482366624727273">Odabir svega na stranici</translation> +<translation id="4060703249685950734">Ponovno otvaranje zadnje zatvorene kartice ili prozora</translation> +<translation id="4090342722461256974">Pritisnite i zadržite <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> te dodirujte stavku <ph name="TAB" /> dok se ne otvori željeni prozor, a zatim otpustite pritisak.</translation> +<translation id="4092538597492297615">Kopiranje odabranog sadržaja u međuspremnik</translation> +<translation id="4123108089450197101">Spremanje veze kao oznake</translation> +<translation id="4141203561740478845">Isticanje retka s adresnom trakom</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ili <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Pregled pomoći za tipkovne prečace</translation> +<translation id="4628718545549558538">Kliknite područje statusa (na mjestu na kojem se prikazuje slika računa)</translation> +<translation id="4642092649622328492">Snimanje dijela zaslona</translation> +<translation id="4725377341024374454">Otvaranje istaknutog gumba na polici</translation> +<translation id="4801989101741319327">Prelazak na kraj sljedeće riječi</translation> +<translation id="4916163929714267752">Otvaranje veze u novom prozoru</translation> +<translation id="5034421018520995080">Prelazak na vrh stranice</translation> +<translation id="5042305953558921026">Tipka načina pregleda</translation> +<translation id="5104462712192763270">Spremanje trenutačne stranice</translation> +<translation id="5121628974188116412">Prelazak na dno stranice</translation> +<translation id="5236674127086649162">Ponovno učitavanje trenutačne stranice bez upotrebe predmemoriranog sadržaja</translation> +<translation id="526651782186312376">Odabir teksta do početka retka</translation> <translation id="5316716239522500219">Zrcalni monitori</translation> +<translation id="5335199890994453201">Prikaz ili sakrivanje DOM Inspectora</translation> +<translation id="5541719484267030947">Dok povlačite karticu, pritisnite <ph name="ESC" /></translation> +<translation id="5554139136362089836">Pretraživanje trenutačne stranice</translation> +<translation id="5563050856984839829">Pritisnite <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> i kliknite vezu</translation> +<translation id="561814908794220892">Otvaranje web-stranice u novoj kartici</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ili <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Otvaranje veze u kartici</translation> +<translation id="5757474750054631686">Zatamnjivanje tipkovnice (samo za tipkovnice s pozadinskim osvjetljenjem)</translation> +<translation id="587531134027443617">Brisanje prethodne riječi</translation> <translation id="5928303187149237472">Promjena razlučivosti zaslona</translation> <translation id="5975083100439434680">Smanji</translation> +<translation id="6011500873794669296">Prebacivanje fokusa između: područja statusa (na kojem se prikazuje slika računa), Pokretača, adresne trake, trake oznaka (ako je vidljiva), web-stranice koja je otvorena, trake preuzimanja (ako je vidljiva)</translation> <translation id="6022924867608035986">Brisanje teksta u okviru za pretraživanje</translation> +<translation id="6045998054441862242">Uključivanje načina visokog kontrasta</translation> +<translation id="6052614013050385269">Klikanje veze desnom tipkom</translation> <translation id="6129953537138746214">Razmak</translation> +<translation id="6143669479988153888">Povećavanje stranice</translation> <translation id="6185696379715117369">Stranica prema gore</translation> +<translation id="6228457605945141550">Smanjivanje svjetline</translation> +<translation id="6276708887952587684">Prikaz izvora stranice</translation> +<translation id="6321940490215594447">Otvaranje stranice povijesti</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Odabir teksta do kraja retka</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ili <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klik na ikone od 1 do 8 na polici</translation> +<translation id="6435207348963613811">Isticanje prethodne stavke na polici</translation> +<translation id="6445033640292336367">Vraćanje kartice na izvorni položaj</translation> +<translation id="649811797655257835">Odaberite datoteku i pritisnite <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Prelazak na druge postavljene jezike tipkovnice. Saznajte kako odabrati jezik tipkovnice.</translation> +<translation id="6634456834225946400">Isticanje trake oznaka (ako se prikazuje)</translation> +<translation id="666343722268997814">Otvaranje izbornika dostupnog desnim klikom za istaknutu stavku</translation> +<translation id="6671538777808758331">Prelazak na sljedeće podudaranje za pretraživanje</translation> +<translation id="6690765639083431875">Fiksiranje prozora na lijevoj strani</translation> +<translation id="6692847073476874842">Pregled datoteke u aplikaciji Datoteke</translation> <translation id="671928215901716392">Zaključaj zaslon</translation> <translation id="6727005317916125192">Prethodno okno</translation> +<translation id="6740781404993465795">Odabir sljedeće riječi ili slova</translation> +<translation id="6760706756348334449">Smanjivanje glasnoće</translation> <translation id="6981982820502123353">Pristupačnost</translation> <translation id="7020813747703216897">Nisu pronađeni rezultati</translation> <translation id="7025325401470358758">Sljedeće okno</translation> -<translation id="7272373489634936181">Pretraživanje prečaca</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ili <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Brisanje sljedećeg slova (brisanje unaprijed)</translation> +<translation id="766326951329901120">Lijepljenje sadržaja iz međuspremnika kao običnog teksta</translation> <translation id="7724603315864178912">Izreži</translation> -<translation id="8004192919599017226">Pokretanje pretraživanja...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a zatim <ph name="SPACE" /> ili <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Otvaranje datoteke u pregledniku</translation> +<translation id="7917881398263220094">Prekid učitavanja trenutačne stranice</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ili <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Prelazak na početak dokumenta</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ili <ph name="E" /></translation> +<translation id="8234414138295101081">Zakretanje zaslona za 90 stupnjeva</translation> +<translation id="836869401750819675">Otvaranje stranice preuzimanja</translation> +<translation id="8388247778047144397">Povucite vezu na prazno područje na vrpci kartica</translation> +<translation id="8389638407792712197">Otvaranje novog prozora</translation> +<translation id="8429696719963529183">Upotreba F tipki (od F1 to F12)</translation> +<translation id="85690795166292698">Otvaranje veze u novoj kartici</translation> +<translation id="8609384513243082612">Otvaranje nove kartice</translation> +<translation id="8644639153978066712">Prikazivanje skrivenih datoteka u aplikaciji Datoteke</translation> +<translation id="8709893667941082515">Fokusiranje adresne trake na pretraživanje</translation> +<translation id="8717459106217102612">Odabir prethodne riječi ili slova</translation> +<translation id="8727232706774971183">Pregled obavijesti</translation> <translation id="88986195241502842">Stranica prema dolje</translation> <translation id="8903921497873541725">Povećaj</translation> <translation id="9179672198516322668">Popularni prečaci</translation>
diff --git a/ash/components/strings/ash_components_strings_hu.xtb b/ash/components/strings/ash_components_strings_hu.xtb index 21114349..80599b8 100644 --- a/ash/components/strings/ash_components_strings_hu.xtb +++ b/ash/components/strings/ash_components_strings_hu.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="hu"> +<translation id="104962181688258143">A Fájlok alkalmazás megnyitása</translation> +<translation id="1126871238933253947">Váltás az előzőleg használt billentyűzetnyelvre.</translation> +<translation id="1195667586424773550">A link húzása a lap címsávjára</translation> +<translation id="1204450209689312104">Új ablak megnyitása inkognitómódban</translation> +<translation id="1299858300159559687">Az aktuális oldal nyomtatása</translation> <translation id="1383876407941801731">Keresés</translation> +<translation id="1439252533104567537">Ugrás a számozott lapra</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> vagy <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Indító</translation> +<translation id="152892567002884378">Hangerő növelése</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, majd <ph name="ESC" /></translation> +<translation id="1652741121070700329">Ugrás az előző szó elejére</translation> +<translation id="1679841710523778799">Fényerő növelése</translation> +<translation id="168356808214100546">Tartsa lenyomva az <ph name="ALT" /> billentyűt, majd nyomja meg a <ph name="TAB" /> billentyűt, amíg nem jut el addig az ablakig, amelyet meg szeretne nyitni, majd engedje fel.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">www. és .com hozzáadása a címsávba beírt szöveghez, majd az oldal megnyitása</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, majd <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> vagy <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Ugrás a következő lapra</translation> +<translation id="2010818616644390445">Ugrás az ablak utolsó lapjára</translation> <translation id="2145908266289632567">Szövegszerkesztés</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1-től az =-ig</translation> +<translation id="2181097965834437145">Könyvjelzősáv megjelenítése vagy elrejtése</translation> +<translation id="2185166372312820725">Ugrás az előző lapra</translation> +<translation id="2194790690264064655"><ph name="CTRL" />+kattintás a linkre</translation> +<translation id="2424073332829844142">A Caps Lock be- és kikapcsolása</translation> +<translation id="2441202986792279177">Gyors váltás ablakok között</translation> +<translation id="2478303094958140141">A ChromeVox (hangos visszajelzés) be- vagy kikapcsolása</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">A weboldal lefelé görgetése</translation> +<translation id="2568632782096378307">A képernyőfelbontás visszaállítása az alapértelmezett értékre</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, majd <ph name="TAB" /> vagy <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Az aktuális weboldal elmentése könyvjelzőként</translation> +<translation id="2750942583782703988">Az aktuális oldal újratöltése</translation> +<translation id="2789868185375229787">Kicsinyítés az oldalon</translation> +<translation id="2804480015716812239"><ph name="ALT" />+kattintás a linkre</translation> +<translation id="2830827904629746450">Ablak rögzítése a jobb oldalon</translation> <translation id="2872353916818027657">Elsődleges monitor felcserélése</translation> +<translation id="2914313326123580426">A Fejlesztői eszközök panel megjelenítése vagy elrejtése</translation> +<translation id="292495055542441795">Váltás teljes képernyős módra</translation> +<translation id="3084301071537457911">A következő elem kiemelése a polcon</translation> +<translation id="309173601632226815">Az indító gomb kiemelése a polcon</translation> <translation id="3105917916468784889">Képernyőkép készítése</translation> +<translation id="3118681365140644126">A kiemelés eltávolítása egy gombról a polcon</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fókuszálás a címsávra</translation> +<translation id="3288816184963444640">A jelenlegi ablak bezárása</translation> +<translation id="3356202203145076517">A legrégebben használt ablak megnyitása</translation> +<translation id="3407560819924487926">Feladatkezelő megnyitása</translation> +<translation id="3422679037938588196">Ugrás az előző keresési találatra</translation> +<translation id="344577624355799426"><ph name="ALT" /> vagy <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">A nagyítási szint alaphelyzetbe állítása</translation> +<translation id="353037708190149633">Az aktuális ablakban megnyitott összes oldal elmentése könyvjelzőként új mappába</translation> +<translation id="355103131818127604">Link megnyitása új lapon a háttérben</translation> <translation id="3649256019230929621">Ablak kis méretre állítása</translation> -<translation id="385051799172605136">Vissza</translation> +<translation id="3668361878347172356">Az utolsó művelet ismételt végrehajtása</translation> +<translation id="3720939646656082033">A link megnyitása egy új lapon, és váltás az új lapra</translation> +<translation id="3725795051337497754">Az aktuális lap bezárása</translation> +<translation id="3751033133896282964">Utolsó művelet visszavonása</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1-től 8-ig</translation> +<translation id="3837047332182291558">Billentyűzet megvilágításának erősítése (csak háttérvilágítással rendelkező billentyűzeteknél)</translation> +<translation id="3976863468609830880">A polcon lévő utolsó ikonra kattintás</translation> +<translation id="4035482366624727273">Minden kijelölése az oldalon</translation> +<translation id="4060703249685950734">A legutóbb bezárt lap vagy ablak újbóli megnyitása</translation> +<translation id="4090342722461256974">Tartsa lenyomva az <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> billentyűt, majd nyomja meg a <ph name="TAB" /> billentyűt, amíg nem jut el addig az ablakig, amelyet meg szeretne nyitni, majd engedje fel.</translation> +<translation id="4092538597492297615">A kijelölt tartalom másolása a vágólapra</translation> +<translation id="4123108089450197101">A link mentése könyvjelzőként</translation> +<translation id="4141203561740478845">A címsáv sorának kiemelése</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> vagy <ph name="ENTER" /></translation> +<translation id="4556221320735744018">A billentyűparancsokat ismertető súgó megtekintése</translation> +<translation id="4628718545549558538">Az állapotsor megnyitása (ahol fiókja képe látható)</translation> +<translation id="4642092649622328492">Részleges képernyőkép készítése</translation> +<translation id="4725377341024374454">A kiemelt gomb megnyitása a polcon</translation> +<translation id="4801989101741319327">Ugrás a következő szó végére</translation> +<translation id="4916163929714267752">Link megnyitása új ablakban</translation> +<translation id="5034421018520995080">Ugrás az oldal tetejére</translation> +<translation id="5042305953558921026">Áttekintési mód billentyűje</translation> +<translation id="5104462712192763270">Az aktuális oldal mentése</translation> +<translation id="5121628974188116412">Ugrás az oldal aljára</translation> +<translation id="5236674127086649162">Az aktuális oldal újratöltése gyorsítótárazott tartalom használata nélkül</translation> +<translation id="526651782186312376">Szöveg kijelölése a sor elejéig</translation> <translation id="5316716239522500219">Monitorok tükrözése</translation> +<translation id="5335199890994453201">A DOM Inspector megjelenítése vagy elrejtése</translation> +<translation id="5541719484267030947">A lap húzása közben tartsa lenyomva az <ph name="ESC" /> gombot</translation> +<translation id="5554139136362089836">Keresés az aktuális oldalon</translation> +<translation id="5563050856984839829">Tartsa lenyomva a <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> billentyűt, és kattintson a linkre</translation> +<translation id="561814908794220892">Weboldal megnyitása új lapon</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> vagy <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Link megnyitása a lapon</translation> +<translation id="5757474750054631686">Billentyűzet megvilágításának halványítása (csak háttérvilágítással rendelkező billentyűzeteknél)</translation> +<translation id="587531134027443617">Előző szó törlése</translation> <translation id="5928303187149237472">A képernyőfelbontás módosítása</translation> <translation id="5975083100439434680">Kicsinyítés</translation> +<translation id="6011500873794669296">Fókuszváltás a következők között: Állapotsor (ahol a fiókjához tartozó kép jelenik meg) Indító Címsor Könyvjelzősáv (ha látható) A megnyitott weboldal Letöltéssáv (ha látható)</translation> <translation id="6022924867608035986">A keresőmezőben lévő szöveg törlése</translation> +<translation id="6045998054441862242">Kontrasztos mód bekapcsolása</translation> +<translation id="6052614013050385269">Jobb kattintás egy linkre</translation> <translation id="6129953537138746214">Szóköz</translation> +<translation id="6143669479988153888">Nagyítás az oldalon</translation> <translation id="6185696379715117369">Lapozás felfelé</translation> +<translation id="6228457605945141550">A fényerő csökkentése</translation> +<translation id="6276708887952587684">Az oldal forrásának megtekintése</translation> +<translation id="6321940490215594447">Az Előzmények oldal megnyitása</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Szöveg kijelölése a sor végéig</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> vagy <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">A polcon lévő ikonokra kattintás (1–8-ig)</translation> +<translation id="6435207348963613811">Az előző elem kiemelése a polcon</translation> +<translation id="6445033640292336367">A lap visszahelyezése az eredeti helyére</translation> +<translation id="649811797655257835">Válassza ki a fájlt, majd nyomja meg a <ph name="SPACE" /> billentyűt</translation> +<translation id="6572206071785323178">Váltás a beállított billentyűzetnyelvek között. További információ a billentyűzet nyelvének kiválasztásáról.</translation> +<translation id="6634456834225946400">A könyvjelzősáv kiemelése (ha megjelenik)</translation> +<translation id="666343722268997814">A kiemelt elem jobb egérgombbal előhívható menüjének megnyitása</translation> +<translation id="6671538777808758331">Ugrás a következő keresési találatra</translation> +<translation id="6690765639083431875">Ablak rögzítése a bal oldalon</translation> +<translation id="6692847073476874842">Fájl előnézete a Fájlok alkalmazásban</translation> <translation id="671928215901716392">Képernyő lezárása</translation> <translation id="6727005317916125192">Előző ablaktábla</translation> +<translation id="6740781404993465795">A következő szó vagy betű kijelölése</translation> +<translation id="6760706756348334449">Hangerő csökkentése</translation> <translation id="6981982820502123353">Kisegítő lehetőségek</translation> <translation id="7020813747703216897">Nincs megfelelő találat</translation> <translation id="7025325401470358758">Következő ablaktábla</translation> -<translation id="7272373489634936181">Billentyűparancsok keresése</translation> +<translation id="7379254767514753910"><ph name="ALT" /> vagy <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Következő betű törlése (előre törlés)</translation> +<translation id="766326951329901120">Tartalom beillesztése a vágólapról egyszerű szövegként</translation> <translation id="7724603315864178912">Kivágás</translation> -<translation id="8004192919599017226">Keresés indítása…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, majd <ph name="SPACE" /> vagy <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Fájl megnyitása a böngészőben</translation> +<translation id="7917881398263220094">Az aktuális oldal betöltésének leállítása</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> vagy <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Ugrás a dokumentum elejére</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> vagy <ph name="E" /></translation> +<translation id="8234414138295101081">Képernyő elforgatása 90 fokkal</translation> +<translation id="836869401750819675">A Letöltések oldal megnyitása</translation> +<translation id="8388247778047144397">A link húzása a lapsor egy üres területére</translation> +<translation id="8389638407792712197">Új ablak megnyitása</translation> +<translation id="8429696719963529183">Funkcióbillentyűk (F1–F12) használata</translation> +<translation id="85690795166292698">Link megnyitása új lapon</translation> +<translation id="8609384513243082612">Új lap megnyitása</translation> +<translation id="8644639153978066712">Rejtett fájlok megjelenítése a Fájlok alkalmazásban</translation> +<translation id="8709893667941082515">Címsávra fókuszálás a kereséskor</translation> +<translation id="8717459106217102612">Az előző szó vagy betű kijelölése</translation> +<translation id="8727232706774971183">Az értesítések megtekintése</translation> <translation id="88986195241502842">Lapozás lefelé</translation> <translation id="8903921497873541725">Nagyítás</translation> <translation id="9179672198516322668">Népszerű billentyűparancsok</translation>
diff --git a/ash/components/strings/ash_components_strings_id.xtb b/ash/components/strings/ash_components_strings_id.xtb index 55e182df..05beee4 100644 --- a/ash/components/strings/ash_components_strings_id.xtb +++ b/ash/components/strings/ash_components_strings_id.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="id"> +<translation id="104962181688258143">Membuka aplikasi File</translation> +<translation id="1126871238933253947">Beralih ke bahasa keyboard yang Anda gunakan sebelumnya.</translation> +<translation id="1195667586424773550">Tarik link ke kolom URL tab</translation> +<translation id="1204450209689312104">Membuka jendela baru dalam mode penyamaran</translation> +<translation id="1299858300159559687">Mencetak halaman aktif</translation> <translation id="1383876407941801731">Telusuri</translation> +<translation id="1439252533104567537">Membuka tab bernomor</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> atau <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Peluncur</translation> +<translation id="152892567002884378">Mengeraskan volume</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, lalu <ph name="ESC" /></translation> +<translation id="1652741121070700329">Berpindah ke awal kata sebelumnya</translation> +<translation id="1679841710523778799">Meningkatkan kecerahan</translation> +<translation id="168356808214100546">Tekan dan tahan <ph name="ALT" />, tap <ph name="TAB" /> sampai jendela yang Anda inginkan terbuka, lalu lepaskan.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Menambahkan www. dan .com ke masukan Anda dalam kolom URL, lalu membuka halaman</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, lalu <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> atau <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Membuka tab berikutnya</translation> +<translation id="2010818616644390445">Membuka tab terakhir di jendela</translation> <translation id="2145908266289632567">Pengeditan Teks</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 sampai =</translation> +<translation id="2181097965834437145">Menampilkan atau menyembunyikan kolom bookmark</translation> +<translation id="2185166372312820725">Membuka tab sebelumnya</translation> +<translation id="2194790690264064655">Tekan <ph name="CTRL" />, lalu klik link</translation> +<translation id="2424073332829844142">Mengaktifkan dan menonaktifkan Caps Lock</translation> +<translation id="2441202986792279177">Beralih antarjendela dengan cepat</translation> +<translation id="2478303094958140141">Mengaktifkan atau menonaktifkan ChromeVox (masukan lisan)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Men-scroll halaman ke bawah</translation> +<translation id="2568632782096378307">Menyetel ulang resolusi layar ke default</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, lalu <ph name="TAB" /> atau <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Menyimpan halaman aktif sebagai bookmark</translation> +<translation id="2750942583782703988">Memuat ulang halaman aktif</translation> +<translation id="2789868185375229787">Zoom out halaman</translation> +<translation id="2804480015716812239">Tekan <ph name="ALT" />, lalu klik link</translation> +<translation id="2830827904629746450">Memasang jendela ke dok di sebelah kanan</translation> <translation id="2872353916818027657">Tukar monitor utama</translation> -<translation id="3105917916468784889">Ambil tampilan</translation> +<translation id="2914313326123580426">Menampilkan atau menyembunyikan panel Developer Tools</translation> +<translation id="292495055542441795">Beralih ke layar penuh</translation> +<translation id="3084301071537457911">Menandai item berikutnya di rak</translation> +<translation id="309173601632226815">Menandai tombol peluncur di rak</translation> +<translation id="3105917916468784889">Ambil screenshot</translation> +<translation id="3118681365140644126">Menghapus tanda dari tombol di rak</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokus ke bilah alamat</translation> +<translation id="3288816184963444640">Menutup jendela aktif</translation> +<translation id="3356202203145076517">Membuka jendela yang Anda gunakan baru-baru ini</translation> +<translation id="3407560819924487926">Memunculkan pengelola tugas</translation> +<translation id="3422679037938588196">Membuka hasil sebelumnya yang cocok untuk penelusuran</translation> +<translation id="344577624355799426"><ph name="ALT" /> atau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Menyetel ulang tingkat zoom</translation> +<translation id="353037708190149633">Menyimpan semua halaman yang terbuka di jendela aktif sebagai bookmark dalam folder baru</translation> +<translation id="355103131818127604">Membuka link di tab baru di background</translation> <translation id="3649256019230929621">Meminimalkan jendela</translation> -<translation id="385051799172605136">Mundur</translation> +<translation id="3668361878347172356">Mengulangi tindakan terakhir</translation> +<translation id="3720939646656082033">Membuka link di tab baru dan beralih ke tab baru</translation> +<translation id="3725795051337497754">Menutup tab aktif</translation> +<translation id="3751033133896282964">Mengurungkan tindakan terakhir</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 sampai 8</translation> +<translation id="3837047332182291558">Mencerahkan keyboard (khusus keyboard dengan lampu latar)</translation> +<translation id="3976863468609830880">Mengklik ikon terakhir di rak</translation> +<translation id="4035482366624727273">Memilih semua yang ada di halaman</translation> +<translation id="4060703249685950734">Membuka kembali tab atau jendela yang terakhir ditutup</translation> +<translation id="4090342722461256974">Tekan dan tahan <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, tap <ph name="TAB" /> sampai jendela yang Anda inginkan terbuka, lalu lepaskan.</translation> +<translation id="4092538597492297615">Menyalin konten yang dipilih ke papan klip</translation> +<translation id="4123108089450197101">Menyimpan link sebagai bookmark</translation> +<translation id="4141203561740478845">Menandai baris dengan kolom URL</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> atau <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Melihat Pemandu Pintasan Keyboard</translation> +<translation id="4628718545549558538">Membuka area status (tempat gambar akun muncul)</translation> +<translation id="4642092649622328492">Mengambil screenshot sebagian</translation> +<translation id="4725377341024374454">Membuka tombol yang ditandai di rak</translation> +<translation id="4801989101741319327">Berpindah ke akhir kata berikutnya</translation> +<translation id="4916163929714267752">Membuka link di jendela baru</translation> +<translation id="5034421018520995080">Membuka bagian atas halaman</translation> +<translation id="5042305953558921026">Tombol mode ringkasan</translation> +<translation id="5104462712192763270">Menyimpan halaman aktif</translation> +<translation id="5121628974188116412">Membuka bagian bawah halaman</translation> +<translation id="5236674127086649162">Memuat ulang halaman aktif tanpa menggunakan konten yang disimpan dalam cache</translation> +<translation id="526651782186312376">Memilih teks ke awal baris</translation> <translation id="5316716239522500219">Cerminkan monitor</translation> +<translation id="5335199890994453201">Menampilkan atau menyembunyikan Pemeriksa DOM</translation> +<translation id="5541719484267030947">Saat menyeret tab, tekan <ph name="ESC" /></translation> +<translation id="5554139136362089836">Menelusuri halaman aktif</translation> +<translation id="5563050856984839829">Tekan <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" />, lalu klik link</translation> +<translation id="561814908794220892">Membuka halaman di tab baru</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> atau <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Membuka link di tab</translation> +<translation id="5757474750054631686">Meredupkan keyboard (khusus keyboard dengan lampu latar)</translation> +<translation id="587531134027443617">Menghapus kata sebelumnya</translation> <translation id="5928303187149237472">Ubah Resolusi layar</translation> <translation id="5975083100439434680">Perkecil</translation> +<translation id="6011500873794669296">Beralih fokus antara: Area status (tempat gambar akun muncul) Peluncur Kolom URL Kolom bookmark (jika terlihat) Halaman yang terbuka Kotak download (jika terlihat)</translation> <translation id="6022924867608035986">Hapus teks dari kotak penelusuran</translation> +<translation id="6045998054441862242">Mengaktifkan mode kontras tinggi</translation> +<translation id="6052614013050385269">Mengklik kanan link</translation> <translation id="6129953537138746214">Spasi</translation> +<translation id="6143669479988153888">Melakukan zoom in di halaman</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">Mengurangi kecerahan</translation> +<translation id="6276708887952587684">Melihat sumber halaman</translation> +<translation id="6321940490215594447">Membuka halaman Histori</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Memilih teks sampai akhir baris</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> atau <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Mengklik ikon 1-8 di rak</translation> +<translation id="6435207348963613811">Menandai item sebelumnya di rak</translation> +<translation id="6445033640292336367">Mengembalikan tab ke posisi semula</translation> +<translation id="649811797655257835">Pilih file, lalu tekan <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Beralih antarbahasa keyboard yang telah disetel. Pelajari cara memilih bahasa keyboard.</translation> +<translation id="6634456834225946400">Menandai kolom bookmark (jika ditampilkan)</translation> +<translation id="666343722268997814">Membuka menu klik kanan untuk item yang ditandai</translation> +<translation id="6671538777808758331">Membuka hasil berikutnya yang cocok untuk penelusuran</translation> +<translation id="6690765639083431875">Memasang jendela ke dok di sebelah kiri</translation> +<translation id="6692847073476874842">Mempratinjau file dalam aplikasi File</translation> <translation id="671928215901716392">Kunci layar</translation> <translation id="6727005317916125192">Panel sebelumnya</translation> +<translation id="6740781404993465795">Memilih kata atau huruf berikutnya</translation> +<translation id="6760706756348334449">Mengecilkan volume</translation> <translation id="6981982820502123353">Aksesibilitas</translation> <translation id="7020813747703216897">Tidak ada hasil yang cocok</translation> <translation id="7025325401470358758">Panel berikutnya</translation> -<translation id="7272373489634936181">Telusuri pintasan</translation> +<translation id="7379254767514753910"><ph name="ALT" /> atau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Menghapus huruf berikutnya (hapus maju)</translation> +<translation id="766326951329901120">Menempelkan konten dari papan klip dalam bentuk teks biasa</translation> <translation id="7724603315864178912">Potong</translation> -<translation id="8004192919599017226">Mulai menelusuri...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, lalu <ph name="SPACE" /> atau <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Membuka file di browser</translation> +<translation id="7917881398263220094">Menghentikan pemuatan halaman aktif</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> atau <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Membuka bagian awal dokumen</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> atau <ph name="E" /></translation> +<translation id="8234414138295101081">Memutar layar 90 derajat</translation> +<translation id="836869401750819675">Membuka halaman Download</translation> +<translation id="8388247778047144397">Tarik link ke area kosong di tab setrip</translation> +<translation id="8389638407792712197">Membuka jendela baru</translation> +<translation id="8429696719963529183">Menggunakan tombol F (F1 sampai F12)</translation> +<translation id="85690795166292698">Membuka link di tab baru</translation> +<translation id="8609384513243082612">Membuka tab baru</translation> +<translation id="8644639153978066712">Menampilkan file tersembunyi dalam aplikasi File</translation> +<translation id="8709893667941082515">Memfokuskan kolom URL pada penelusuran</translation> +<translation id="8717459106217102612">Memilih kata atau huruf sebelumnya</translation> +<translation id="8727232706774971183">Melihat notifikasi</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">Perbesar</translation> <translation id="9179672198516322668">Pintasan Populer</translation>
diff --git a/ash/components/strings/ash_components_strings_it.xtb b/ash/components/strings/ash_components_strings_it.xtb index e49d422..c4772b48 100644 --- a/ash/components/strings/ash_components_strings_it.xtb +++ b/ash/components/strings/ash_components_strings_it.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="it"> +<translation id="104962181688258143">Apri l'app File</translation> +<translation id="1126871238933253947">Passa alla lingua della tastiera utilizzata in precedenza.</translation> +<translation id="1195667586424773550">Trascina il link nella barra degli indirizzi della scheda</translation> +<translation id="1204450209689312104">Apri una nuova finestra in modalità di navigazione in incognito</translation> +<translation id="1299858300159559687">Stampa la pagina corrente</translation> <translation id="1383876407941801731">Cerca</translation> +<translation id="1439252533104567537">Vai alla scheda numerata</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> o <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Avvio applicazioni</translation> +<translation id="152892567002884378">Volume su</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, quindi <ph name="ESC" /></translation> +<translation id="1652741121070700329">Spostati all'inizio della parola precedente</translation> +<translation id="1679841710523778799">Aumenta la luminosità</translation> +<translation id="168356808214100546">Tieni premuto <ph name="ALT" />, tocca <ph name="TAB" /> fin quando arrivi alla finestra che vuoi aprire, quindi rilascia.</translation> <translation id="169515659049020177">Maiusc</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Aggiungi www. e .com all'indirizzo inserito nella barra degli indirizzi, quindi apri la pagina</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, quindi <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Vai alla scheda successiva</translation> +<translation id="2010818616644390445">Passa all'ultima scheda della finestra</translation> <translation id="2145908266289632567">Modifica del testo</translation> +<translation id="215292019801409139">Da <ph name="SEARCH" /><ph name="SEPARATOR" /> 1 a =</translation> +<translation id="2181097965834437145">Mostra o nascondi la barra dei Preferiti</translation> +<translation id="2185166372312820725">Vai alla scheda precedente</translation> +<translation id="2194790690264064655">Premi <ph name="CTRL" /> e fai clic su un link</translation> +<translation id="2424073332829844142">Attiva e disattiva la funzione Bloc Maiusc</translation> +<translation id="2441202986792279177">Spostati velocemente tra le finestre</translation> +<translation id="2478303094958140141">Attiva o disattiva ChromeVox (funzione di lettura vocale)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Scorri in basso la pagina web</translation> +<translation id="2568632782096378307">Ripristina la risoluzione schermo predefinita</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, quindi <ph name="TAB" /> o <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Salva la pagina web corrente nei Preferiti</translation> +<translation id="2750942583782703988">Carica di nuovo la pagina corrente</translation> +<translation id="2789868185375229787">Diminuisci lo zoom nella pagina</translation> +<translation id="2804480015716812239">Premi <ph name="ALT" /> e fai clic su un link</translation> +<translation id="2830827904629746450">Aggancia una finestra a destra</translation> <translation id="2872353916818027657">Consente di invertire il monitor principale</translation> +<translation id="2914313326123580426">Mostra o nascondi il riquadro Strumenti per sviluppatori</translation> +<translation id="292495055542441795">Attiva/disattiva schermo intero</translation> +<translation id="3084301071537457911">Metti in evidenza l'elemento successivo sulla shelf</translation> +<translation id="309173601632226815">Metti in evidenza il pulsante Avvio applicazioni nella shelf</translation> <translation id="3105917916468784889">Acquisisci screenshot</translation> +<translation id="3118681365140644126">Rimuovi l'evidenziazione da un pulsante sulla shelf</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Area attiva nella barra degli indirizzi</translation> +<translation id="3288816184963444640">Chiudi la finestra corrente</translation> +<translation id="3356202203145076517">Apri la finestra utilizzata meno di recente</translation> +<translation id="3407560819924487926">Apri il Task Manager</translation> +<translation id="3422679037938588196">Passa alla corrispondenza precedente della ricerca</translation> +<translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Reimposta il livello di zoom</translation> +<translation id="353037708190149633">Salva tutte le pagine aperte nella finestra corrente come Preferiti in una nuova cartella</translation> +<translation id="355103131818127604">Apri il link in una nuova scheda in secondo piano</translation> <translation id="3649256019230929621">Riduci la finestra</translation> -<translation id="385051799172605136">Indietro</translation> +<translation id="3668361878347172356">Ripeti l'ultima azione</translation> +<translation id="3720939646656082033">Apri il link in una nuova scheda e passa alla nuova scheda</translation> +<translation id="3725795051337497754">Chiudi la scheda corrente</translation> +<translation id="3751033133896282964">Annulla l'ultima azione</translation> +<translation id="379295446891231126">Da <ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation> +<translation id="3837047332182291558">Aumenta la luminosità della tastiera (soltanto per tastiere retroilluminate)</translation> +<translation id="3976863468609830880">Fai clic sull'ultima icona nella shelf</translation> +<translation id="4035482366624727273">Seleziona tutti i contenuti della pagina</translation> +<translation id="4060703249685950734">Riapri l'ultima scheda o finestra chiusa</translation> +<translation id="4090342722461256974">Tieni premuto <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, tocca <ph name="TAB" /> fin quando arrivi alla finestra che vuoi aprire, quindi rilascia.</translation> +<translation id="4092538597492297615">Copia i contenuti selezionati negli appunti</translation> +<translation id="4123108089450197101">Salva il link nei Preferiti</translation> +<translation id="4141203561740478845">Metti in evidenza la riga con la barra degli indirizzi</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Consulta il supporto per le scorciatoie da tastiera</translation> +<translation id="4628718545549558538">Apri l'area di stato (dove è visualizzata l'immagine del tuo account)</translation> +<translation id="4642092649622328492">Acquisisci screenshot parziale</translation> +<translation id="4725377341024374454">Apri il pulsante evidenziato sulla shelf</translation> +<translation id="4801989101741319327">Spostati alla fine della parola successiva</translation> +<translation id="4916163929714267752">Apri il link in una nuova finestra</translation> +<translation id="5034421018520995080">Vai alla parte superiore della pagina</translation> +<translation id="5042305953558921026">Tasto modalità panoramica</translation> +<translation id="5104462712192763270">Salva la pagina corrente</translation> +<translation id="5121628974188116412">Vai alla parte inferiore della pagina</translation> +<translation id="5236674127086649162">Carica di nuovo la pagina corrente senza utilizzare contenuti memorizzati nella cache</translation> +<translation id="526651782186312376">Seleziona il testo all'inizio della riga</translation> <translation id="5316716239522500219">Consente di duplicare i monitor</translation> +<translation id="5335199890994453201">Mostra o nascondi DOM Inspector</translation> +<translation id="5541719484267030947">Mentre trascini la scheda, premi <ph name="ESC" /></translation> +<translation id="5554139136362089836">Esegui ricerche nella pagina corrente</translation> +<translation id="5563050856984839829">Premi <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> e fai clic su un link</translation> +<translation id="561814908794220892">Apri la pagina web in una nuova scheda</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> o <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Apri il link nella scheda</translation> +<translation id="5757474750054631686">Oscura la tastiera (soltanto per tastiere retroilluminate)</translation> +<translation id="587531134027443617">Elimina la parola precedente</translation> <translation id="5928303187149237472">Modifica la risoluzione dello schermo</translation> <translation id="5975083100439434680">Diminuisci lo zoom</translation> +<translation id="6011500873794669296">Sposta lo stato attivo tra: l'area di stato (dove è visualizzata l'immagine del tuo account), Avvio applicazioni, la barra degli indirizzi, la barra dei Preferiti (se visibile), la pagina web aperta, la barra dei download (se visibile)</translation> <translation id="6022924867608035986">Cancella testo dalla casella di ricerca</translation> +<translation id="6045998054441862242">Attiva la modalità ad alto contrasto</translation> +<translation id="6052614013050385269">Fai clic sul link con il pulsante destro del mouse</translation> <translation id="6129953537138746214">Spazio</translation> +<translation id="6143669479988153888">Aumenta lo zoom nella pagina</translation> <translation id="6185696379715117369">Pagina su</translation> +<translation id="6228457605945141550">Diminuisci la luminosità</translation> +<translation id="6276708887952587684">Visualizza il codice sorgente della pagina</translation> +<translation id="6321940490215594447">Apri la pagina Cronologia</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Seleziona il testo alla fine della riga</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Fai clic sulle icone da 1 a 8 nella shelf</translation> +<translation id="6435207348963613811">Metti in evidenza l'elemento precedente sulla shelf</translation> +<translation id="6445033640292336367">Ripristina la posizione originale della scheda</translation> +<translation id="649811797655257835">Seleziona il file, quindi premi <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Spostati tra le lingue della tastiera impostate. Scopri come scegliere la lingua della tastiera.</translation> +<translation id="6634456834225946400">Metti in evidenza la barra dei Preferiti (se visibile)</translation> +<translation id="666343722268997814">Apri i menu visualizzabili facendo clic con il pulsante destro del mouse per l'elemento attivo</translation> +<translation id="6671538777808758331">Passa alla corrispondenza successiva della ricerca</translation> +<translation id="6690765639083431875">Aggancia una finestra a sinistra</translation> +<translation id="6692847073476874842">Visualizza l'anteprima nell'app File</translation> <translation id="671928215901716392">Blocco schermo</translation> <translation id="6727005317916125192">Riquadro precedente</translation> +<translation id="6740781404993465795">Seleziona la parola o la lettera successiva</translation> +<translation id="6760706756348334449">Volume giù</translation> <translation id="6981982820502123353">Accessibilità</translation> <translation id="7020813747703216897">Nessun risultato corrispondente trovato</translation> <translation id="7025325401470358758">Riquadro successivo</translation> -<translation id="7272373489634936181">Cerca scorciatoie</translation> +<translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Elimina la lettera successiva (eliminazione in avanti)</translation> +<translation id="766326951329901120">Incolla i contenuti dagli appunti come testo normale</translation> <translation id="7724603315864178912">Taglia</translation> -<translation id="8004192919599017226">Inizia ricerca...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, quindi <ph name="SPACE" /> o <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Apri un file nel browser</translation> +<translation id="7917881398263220094">Interrompi il caricamento della pagina corrente</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Vai all'inizio del documento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation> +<translation id="8234414138295101081">Ruota lo schermo di 90 gradi</translation> +<translation id="836869401750819675">Apri la pagina Download</translation> +<translation id="8388247778047144397">Trascina il link in un'area vuota della tabstrip</translation> +<translation id="8389638407792712197">Apri nuova finestra</translation> +<translation id="8429696719963529183">Utilizza i tasti F (da F1 a F12)</translation> +<translation id="85690795166292698">Apri il link in una nuova scheda</translation> +<translation id="8609384513243082612">Apri nuova scheda</translation> +<translation id="8644639153978066712">Visualizza i file nascosti nell'app File</translation> +<translation id="8709893667941082515">Attiva la barra degli indirizzi per la ricerca</translation> +<translation id="8717459106217102612">Seleziona la parola o la lettera precedente</translation> +<translation id="8727232706774971183">Visualizza le notifiche</translation> <translation id="88986195241502842">Pagina giù</translation> <translation id="8903921497873541725">Aumenta lo zoom</translation> <translation id="9179672198516322668">Scorciatoie comuni</translation>
diff --git a/ash/components/strings/ash_components_strings_iw.xtb b/ash/components/strings/ash_components_strings_iw.xtb index 91d6d241..d399df1 100644 --- a/ash/components/strings/ash_components_strings_iw.xtb +++ b/ash/components/strings/ash_components_strings_iw.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="iw"> +<translation id="104962181688258143">פתיחת האפליקציה 'קבצים'</translation> +<translation id="1126871238933253947">מעבר לשפת המקלדת הקודמת שבה השתמשת.</translation> +<translation id="1195667586424773550">גרירת הקישור אל סרגל הכתובות של הכרטיסייה</translation> +<translation id="1204450209689312104">פתיחת חלון חדש במצב גלישה בסתר</translation> +<translation id="1299858300159559687">הדפסת הדף הנוכחי</translation> <translation id="1383876407941801731">חפש</translation> +<translation id="1439252533104567537">מעבר אל כרטיסייה ממוספרת</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> או <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">מפעיל</translation> +<translation id="152892567002884378">הגברת עוצמת הקול</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> ואז <ph name="ESC" /></translation> +<translation id="1652741121070700329">מעבר לתחילת המילה הקודמת</translation> +<translation id="1679841710523778799">הגברת הבהירות</translation> +<translation id="168356808214100546">הקשה ארוכה על <ph name="ALT" />, הקשה על <ph name="TAB" /> עד ההגעה לחלון שרוצים לפתוח, ושחרור.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">הוספת www. ו-.comלקלט בשורת הכתובת, ולאחר מכן פתיחת הדף</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> ואז <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> או <ph name="LEFT" /></translation> +<translation id="1996162290124031907">מעבר לכרטיסייה הבאה</translation> +<translation id="2010818616644390445">מעבר לכרטיסייה האחרונה בחלון</translation> <translation id="2145908266289632567">עריכת טקסט</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 עד =</translation> +<translation id="2181097965834437145">הצגה או הסתרה של סרגל הסימניות</translation> +<translation id="2185166372312820725">מעבר לכרטיסייה הקודמת</translation> +<translation id="2194790690264064655">הקשה על <ph name="CTRL" /> ולחיצה על קישור</translation> +<translation id="2424073332829844142">הפעלה וכיבוי של Caps Lock</translation> +<translation id="2441202986792279177">מעבר מהיר בין חלונות</translation> +<translation id="2478303094958140141">הפעלה או השבתה של ChromeVox (קורא מסך קולי)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">גלילת דף האינטרנט למטה</translation> +<translation id="2568632782096378307">איפוס רזולוציית המסך לברירת המחדל</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ואז <ph name="TAB" /> או <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">שמירת דף האינטרנט הנוכחי כסימנייה</translation> +<translation id="2750942583782703988">טעינה מחדש של הדף הנוכחי</translation> +<translation id="2789868185375229787">התרחקות מהדף</translation> +<translation id="2804480015716812239">הקשה על <ph name="ALT" /> ולחיצה על קישור</translation> +<translation id="2830827904629746450">עגינת חלון בצד ימין</translation> <translation id="2872353916818027657">החלפת הצג הראשי</translation> -<translation id="3105917916468784889">צלם צילום מסך</translation> +<translation id="2914313326123580426">הצגה או הסתרה של החלונית 'כלים למפתחים'</translation> +<translation id="292495055542441795">החלפה של מצב מסך מלא</translation> +<translation id="3084301071537457911">הדגשת הפריט הבא במדף</translation> +<translation id="309173601632226815">הדגשת הלחצן של מרכז האפליקציות במדף</translation> +<translation id="3105917916468784889">ביצוע של צילום מסך</translation> +<translation id="3118681365140644126">הסרת ההדגשה מלחצן במדף</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">התמקד בסרגל הכתובות</translation> +<translation id="3288816184963444640">סגירת החלון הנוכחי</translation> +<translation id="3356202203145076517">פתיחת החלון שבו השתמשת לפני הזמן הרב ביותר</translation> +<translation id="3407560819924487926">פתיחת מנהל המשימות</translation> +<translation id="3422679037938588196">מעבר לתוצאת החיפוש הקודמת</translation> +<translation id="344577624355799426"><ph name="ALT" /> או <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">איפוס המרחק מהתצוגה</translation> +<translation id="353037708190149633">שמירת כל הדפים הפתוחים בחלון הנוכחי כסימניות בתיקייה חדשה</translation> +<translation id="355103131818127604">פתיחת הקישור בכרטיסייה חדשה ברקע</translation> <translation id="3649256019230929621">מזער את החלון</translation> -<translation id="385051799172605136">חזור</translation> +<translation id="3668361878347172356">ביצוע מחדש של הפעולה האחרונה</translation> +<translation id="3720939646656082033">פתיחת הקישור בכרטיסייה חדשה ומעבר לכרטיסייה החדשה</translation> +<translation id="3725795051337497754">סגירת הכרטיסייה הנוכחית</translation> +<translation id="3751033133896282964">ביטול הפעולה האחרונה</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 עד 8</translation> +<translation id="3837047332182291558">הבהרת המקלדת (למקלדות עם תאורה אחורית בלבד)</translation> +<translation id="3976863468609830880">לחיצה על הסמל האחרון במדף</translation> +<translation id="4035482366624727273">בחירת כל תוכן הדף</translation> +<translation id="4060703249685950734">פתיחה מחדש של הכרטיסייה או החלון האחרונים שסגרת</translation> +<translation id="4090342722461256974">הקשה ארוכה על <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, הקשה על <ph name="TAB" /> עד ההגעה לחלון שרוצים לפתוח, ושחרור.</translation> +<translation id="4092538597492297615">העתקת התוכן שנבחר אל לוח העריכה</translation> +<translation id="4123108089450197101">שמירת הקישור כסימניה</translation> +<translation id="4141203561740478845">הדגשת השורה של סרגל הכתובות</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> או <ph name="ENTER" /></translation> +<translation id="4556221320735744018">הצגת עזרה למקשי קיצור</translation> +<translation id="4628718545549558538">פתיחת אזור הסטטוס (האזור שבו מופיעה תמונת החשבון)</translation> +<translation id="4642092649622328492">יצירת צילום מסך חלקי</translation> +<translation id="4725377341024374454">פתיחת הלחצן המודגש במדף</translation> +<translation id="4801989101741319327">מעבר אל סוף המילה הבאה</translation> +<translation id="4916163929714267752">פתיחת הקישור בחלון חדש</translation> +<translation id="5034421018520995080">מעבר אל ראש הדף</translation> +<translation id="5042305953558921026">מקש של מצב סקירה כללית</translation> +<translation id="5104462712192763270">שמירת הדף הנוכחי</translation> +<translation id="5121628974188116412">מעבר אל תחתית הדף</translation> +<translation id="5236674127086649162">טעינה מחדש של הדף הנוכחי בלי שימוש בתוכן של הקובץ השמור</translation> +<translation id="526651782186312376">בחירת הטקסט עד תחילת השורה</translation> <translation id="5316716239522500219">שיקוף צגים</translation> +<translation id="5335199890994453201">הצגה או הסתרה של 'בודק DOM'</translation> +<translation id="5541719484267030947">הקשה על <ph name="ESC" /> תוך כדי גרירת הכרטיסייה</translation> +<translation id="5554139136362089836">חיפוש בדף הנוכחי</translation> +<translation id="5563050856984839829">הקשה על <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ולחיצה על קישור</translation> +<translation id="561814908794220892">פתיחת דף האינטרנט בכרטיסייה חדשה</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> או <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">פתיחת הקישור בכרטיסייה</translation> +<translation id="5757474750054631686">עמעום המקלדת (למקלדות עם תאורה אחורית בלבד)</translation> +<translation id="587531134027443617">מחיקת המילה הקודמת</translation> <translation id="5928303187149237472">שינוי רזולוציית המסך</translation> <translation id="5975083100439434680">התרחק</translation> +<translation id="6011500873794669296">העברת הדגש בין: אזור הסטטוס (האזור שבו מופיע תמונת החשבון שלך) מרכז האפליקציות סרגל הכתובות סרגל הסימניות (אם מוצג) דף האינטרנט הפתוח סרגל ההורדות (אם מוצג)</translation> <translation id="6022924867608035986">נקה את הטקסט בתיבת החיפוש</translation> +<translation id="6045998054441862242">הפעלת מצב של ניגודיות גבוהה</translation> +<translation id="6052614013050385269">לחיצה ימנית על קישור</translation> <translation id="6129953537138746214">רווח</translation> +<translation id="6143669479988153888">התקרבות לדף</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">הפחתת הבהירות</translation> +<translation id="6276708887952587684">הצגת מקור הדף</translation> +<translation id="6321940490215594447">פתיחת הדף 'היסטוריה'</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">בחירת הטקסט עד סוף השורה</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> או <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">לחיצה על הסמלים 1 עד 8 במדף</translation> +<translation id="6435207348963613811">הדגשת הפריט הקודם במדף</translation> +<translation id="6445033640292336367">החזרת הכרטיסייה למיקום המקורי שלה</translation> +<translation id="649811797655257835">בחירת הקובץ ולאחר מכן הקשה על <ph name="SPACE" /></translation> +<translation id="6572206071785323178">מעבר בין שפות המקלדת שהגדרת. אפשר לקרוא איך לבחור את שפת המקלדת.</translation> +<translation id="6634456834225946400">הדגשת סרגל הסימניות (אם מוצג)</translation> +<translation id="666343722268997814">פתיחת תפריט הלחיצה הימנית של הפריט המודגש</translation> +<translation id="6671538777808758331">מעבר לתוצאת החיפוש הבאה</translation> +<translation id="6690765639083431875">עגינת חלון בצד שמאל</translation> +<translation id="6692847073476874842">תצוגה מקדימה של קובץ באפליקציה 'קבצים'</translation> <translation id="671928215901716392">מסך נעילה</translation> <translation id="6727005317916125192">החלונית הקודמת</translation> +<translation id="6740781404993465795">בחירת המילה הבאה או האות הבאה</translation> +<translation id="6760706756348334449">החלשת עוצמת הקול</translation> <translation id="6981982820502123353">נגישות</translation> <translation id="7020813747703216897">לא נמצאו תוצאות תואמות</translation> <translation id="7025325401470358758">החלונית הבאה</translation> -<translation id="7272373489634936181">חיפוש מקשי קיצור</translation> +<translation id="7379254767514753910"><ph name="ALT" /> או <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">מחיקת האות הבאה (מחיקה קדימה)</translation> +<translation id="766326951329901120">הדבקת התוכן מלוח העריכה כטקסט פשוט</translation> <translation id="7724603315864178912">חתוך</translation> -<translation id="8004192919599017226">התחלת חיפוש...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ואז <ph name="SPACE" /> או <ph name="ENTER" /></translation> +<translation id="7787242579016742662">פתיחת קובץ בדפדפן</translation> +<translation id="7917881398263220094">הפסקת הטעינה של הדף הנוכחי</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> או <ph name="MINUS" /></translation> +<translation id="8130528849632411619">מעבר אל תחילת המסמך</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> או <ph name="E" /></translation> +<translation id="8234414138295101081">סיבוב המסך ב-90 מעלות</translation> +<translation id="836869401750819675">פתיחת הדף 'הורדות'</translation> +<translation id="8388247778047144397">גרירת הקישור לאזור ריק בשורת הכרטיסיות</translation> +<translation id="8389638407792712197">פתיחת חלון חדש</translation> +<translation id="8429696719963529183">שימוש במקשי F (F1 עד F12)</translation> +<translation id="85690795166292698">פתיחת הקישור בכרטיסייה חדשה</translation> +<translation id="8609384513243082612">פתיחת כרטיסייה חדשה</translation> +<translation id="8644639153978066712">הצגת קבצים מוסתרים באפליקציה 'קבצים'</translation> +<translation id="8709893667941082515">התמקדות בחיפוש בסרגל הכתובות</translation> +<translation id="8717459106217102612">בחירת המילה או האות הקודמת</translation> +<translation id="8727232706774971183">הצגת ההודעות שלך</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">התקרב</translation> <translation id="9179672198516322668">מקשי קיצור בשימוש נפוץ</translation>
diff --git a/ash/components/strings/ash_components_strings_ja.xtb b/ash/components/strings/ash_components_strings_ja.xtb index 0611889..10d3558 100644 --- a/ash/components/strings/ash_components_strings_ja.xtb +++ b/ash/components/strings/ash_components_strings_ja.xtb
@@ -11,7 +11,6 @@ <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">アドレスバーにフォーカスを移す</translation> <translation id="3649256019230929621">ウィンドウを最小化</translation> -<translation id="385051799172605136">戻る</translation> <translation id="5316716239522500219">モニターをミラーリングする</translation> <translation id="5928303187149237472">画面の解像度を変更します</translation> <translation id="5975083100439434680">縮小する</translation> @@ -23,9 +22,7 @@ <translation id="6981982820502123353">ユーザー補助機能</translation> <translation id="7020813747703216897">一致する結果は見つかりませんでした</translation> <translation id="7025325401470358758">次のウィンドウ</translation> -<translation id="7272373489634936181">ショートカットを検索</translation> <translation id="7724603315864178912">切り取り</translation> -<translation id="8004192919599017226">検索を開始...</translation> <translation id="88986195241502842">ページ内を下に移動</translation> <translation id="8903921497873541725">拡大する</translation> <translation id="9179672198516322668">定番のショートカット</translation>
diff --git a/ash/components/strings/ash_components_strings_kn.xtb b/ash/components/strings/ash_components_strings_kn.xtb index c1b07a44..d7dcb8f 100644 --- a/ash/components/strings/ash_components_strings_kn.xtb +++ b/ash/components/strings/ash_components_strings_kn.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="kn"> +<translation id="104962181688258143">ಫೈಲ್ಗಳ ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಿರಿ</translation> +<translation id="1126871238933253947">ನೀವು ಹಿಂದೆ ಬಳಸುತ್ತಿದ್ದ ಕೀಬೋರ್ಡ್ ಭಾಷೆಗೆ ಬದಲಾಯಿಸಿ.</translation> +<translation id="1195667586424773550">ಟ್ಯಾಬ್ನ ವಿಳಾಸ ಪಟ್ಟಿಗೆ ಲಿಂಕ್ ಅನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ</translation> +<translation id="1204450209689312104">ಅಜ್ಞಾತ ಮೋಡ್ನಲ್ಲಿ ಹೊಸ ವಿಂಡೋ ತೆರೆಯಿರಿ</translation> +<translation id="1299858300159559687">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಮುದ್ರಿಸಿ</translation> <translation id="1383876407941801731">ಹುಡುಕಾಟ</translation> +<translation id="1439252533104567537">ಸಂಖ್ಯೆಯ ಟ್ಯಾಬ್ಗೆ ಹೋಗಿ</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ಅಥವಾ <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">ಲಾಂಚರ್</translation> +<translation id="152892567002884378">ವಾಲ್ಯೂಮ್ ಹೆಚ್ಚು ಮಾಡಿ</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ನಂತರ <ph name="ESC" /></translation> +<translation id="1652741121070700329">ಹಿಂದಿನ ಪದದ ಆರಂಭಕ್ಕೆ ಸರಿಸಿ</translation> +<translation id="1679841710523778799">ಪ್ರಖರತೆ ಹೆಚ್ಚು ಮಾಡುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡಿ</translation> +<translation id="168356808214100546"><ph name="ALT" /> ಅನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ, ನೀವು ತೆರೆಯಲು ಬಯಸುವ ವಿಂಡೋವನ್ನು ಪಡೆಯುವವರೆಗೂ <ph name="TAB" /> ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ, ನಂತರ ಬಿಡುಗಡೆಗೊಳಿಸಿ.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ನಿಮ್ಮ ಇನ್ಪುಟ್ಗೆ www. ಮತ್ತು .com ಅನ್ನು ಸೇರಿಸಿ, ನಂತರ ಪುಟವನ್ನು ತೆರೆಯಿರಿ</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ನಂತರ <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ಅಥವಾ <ph name="LEFT" /></translation> +<translation id="1996162290124031907">ಮುಂದಿನ ಟ್ಯಾಬ್ಗೆ ಹೋಗಿ</translation> +<translation id="2010818616644390445">ವಿಂಡೋದಲ್ಲಿ ಕೊನೆಯ ಟ್ಯಾಬ್ಗೆ ಹೋಗಿ</translation> <translation id="2145908266289632567">ಪಠ್ಯ ಎಡಿಟ್ ಮಾಡುವಿಕೆ</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 ರಿಂದ =</translation> +<translation id="2181097965834437145">ಬುಕ್ಮಾರ್ಕ್ ಪಟ್ಟಿಗಳನ್ನು ತೋರಿಸಿ ಅಥವಾ ಮರೆಮಾಡಿ</translation> +<translation id="2185166372312820725">ಹಿಂದಿನ ಟ್ಯಾಬ್ಗೆ ಹೋಗಿ</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> ಅನ್ನು ಒತ್ತಿರಿ ಮತ್ತು ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="2424073332829844142">Caps Lock ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಿ</translation> +<translation id="2441202986792279177">ವಿಂಡೋಗಳ ನಡುವೆ ತ್ವರಿತವಾಗಿ ಬದಲಿಸಿ</translation> +<translation id="2478303094958140141">ChromeVox (ಮಾತಿನ ಪ್ರತಿಕ್ರಿಯೆ) ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಿ</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">ವೆಬ್ ಪುಟವನ್ನು ಸ್ಕ್ರಾಲ್ ಡೌನ್ ಮಾಡಿ</translation> +<translation id="2568632782096378307">ಪರದೆಯ ರೆಸಲ್ಯೂಷನ್ ಅನ್ನು ಡೀಫಾಲ್ಟ್ಗೆ ಮರುಹೊಂದಿಸಿ</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ನಂತರ <ph name="TAB" /> ಅಥವಾ <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ವೆಬ್ಪುಟವನ್ನು ಬುಕ್ಮಾರ್ಕ್ನಂತೆ ಉಳಿಸಿ</translation> +<translation id="2750942583782703988">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ</translation> +<translation id="2789868185375229787">ಪುಟದಲ್ಲಿ ಝೂಮ್ ಔಟ್ ಮಾಡಿ</translation> +<translation id="2804480015716812239"><ph name="ALT" /> ಅನ್ನು ಒತ್ತಿರಿ ಮತ್ತು ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="2830827904629746450">ಬಲಭಾಗದಲ್ಲಿ ವಿಂಡೋವನ್ನು ಡಾಕ್ ಮಾಡಿ</translation> <translation id="2872353916818027657">ಪ್ರಾಥಮಿಕ ಮಾನೀಟರ್ ಸ್ವ್ಯಾಪ್</translation> +<translation id="2914313326123580426">ಡೆವಲಪರ್ ಪರಿಕರಗಳ ಫಲಕವನ್ನು ತೋರಿಸಿ ಅಥವಾ ಮರೆಮಾಡಿ</translation> +<translation id="292495055542441795">ಪೂರ್ಣ ಪರದೆಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ</translation> +<translation id="3084301071537457911">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ ಮುಂದಿನ ಐಟಂ ಅನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ</translation> +<translation id="309173601632226815">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ ಲಾಂಚರ್ ಬಟನ್ ಅನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ</translation> <translation id="3105917916468784889">ಸ್ಕ್ರೀನ್ಶಾಟ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ</translation> +<translation id="3118681365140644126">ಹೈಲೈಟ್ ಮಾಡಿರುವುದನ್ನು ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ ಬಟನ್ ಮೂಲಕ ತೆಗೆದುಹಾಕಿ</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">ವಿಳಾಸ ಪಟ್ಟಿಯನ್ನು ಗಮನಿಸಿ</translation> +<translation id="3288816184963444640">ಪ್ರಸ್ತುತ ವಿಂಡೋ ಮುಚ್ಚಿ</translation> +<translation id="3356202203145076517">ನೀವು ಇತ್ತೀಚೆಗೆ ಕಡಿಮೆ ಬಳಸಿದ ವಿಂಡೋವನ್ನು ತೆರೆಯಿರಿ</translation> +<translation id="3407560819924487926">ಹೊಸ ಕಾರ್ಯ ನಿರ್ವಾಹಕವನ್ನು ತೆರೆಯುತ್ತದೆ</translation> +<translation id="3422679037938588196">ನಿಮ್ಮ ಹುಡುಕಾಟಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವ ಹಿಂದಿನದಕ್ಕೆ ಹೋಗಿ</translation> +<translation id="344577624355799426"><ph name="ALT" /> ಅಥವಾ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">ಝೂಮ್ ಮಟ್ಟವನ್ನು ಮರುಹೊಂದಿಸಿ</translation> +<translation id="353037708190149633">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ವಿಂಡೋದಲ್ಲಿ ತೆರೆದಿರುವ ಎಲ್ಲಾ ಪುಟಗಳನ್ನು ಹೊಸ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಬುಕ್ಮಾರ್ಕ್ಗಳಂತೆ ಉಳಿಸಿ</translation> +<translation id="355103131818127604">ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಲಿಂಕ್ ಅನ್ನು ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation> <translation id="3649256019230929621">ವಿಂಡೋ ಕಿರಿದಾಗಿಸಿ</translation> -<translation id="385051799172605136">ಹಿಂದೆ</translation> +<translation id="3668361878347172356">ನಿಮ್ಮ ಕೊನೆಯ ಕ್ರಿಯೆಯನ್ನು ಪುನಃ ಲೋಡ್ ಮಾಡಿ</translation> +<translation id="3720939646656082033">ಲಿಂಕ್ ಅನ್ನು ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ತೆರೆಯಿರಿ ಮತ್ತು ಹೊಸ ಟ್ಯಾಬ್ಗೆ ಬದಲಿಸಿ</translation> +<translation id="3725795051337497754">ಪ್ರಸ್ತುತ ಟ್ಯಾಬ್ ಮುಚ್ಚಿ</translation> +<translation id="3751033133896282964">ನಿಮ್ಮ ಕೊನೆಯ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಿ</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 ರಿಂದ 8 ರವರೆಗೆ</translation> +<translation id="3837047332182291558">ಕೀಬೋರ್ಡ್ ಅನ್ನು ಪ್ರಕಾಶಮಾನವಾಗಿ ಮಾಡಿ (ಬ್ಯಾಕ್ಲಿಟ್ ಕೀಬೋರ್ಡ್ಗಳಿಗಾಗಿ ಮಾತ್ರ)</translation> +<translation id="3976863468609830880">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ ಕೊನೆಯ ಐಕಾನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="4035482366624727273">ಪುಟದಲ್ಲಿರುವ ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿ</translation> +<translation id="4060703249685950734">ನೀವು ಮುಚ್ಚಿದ ಕೊನೆಯ ಟ್ಯಾಬ್ ಅಥವಾ ವಿಂಡೋವನ್ನು ಮರುತೆರೆಯಿರಿ</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ಅನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ, ನೀವು ತೆರೆಯಲು ಬಯಸುವ ವಿಂಡೋವನ್ನು ಪಡೆಯುವವರೆಗೂ <ph name="TAB" /> ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡುತ್ತ ಇರಿ ನಂತರ ಬಿಡುಗಡೆಗೊಳಿಸಿ.</translation> +<translation id="4092538597492297615">ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ಆಯ್ಕೆ ಮಾಡಲಾದ ವಿಷಯವನ್ನು ನಕಲಿಸಿ</translation> +<translation id="4123108089450197101">ಬುಕ್ಮಾರ್ಕ್ನಂತೆ ಲಿಂಕ್ ಉಳಿಸಿ</translation> +<translation id="4141203561740478845">ವಿಳಾಸ ಪಟ್ಟಿ ಹೊಂದಿರುವ ಸಾಲನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ಅಥವಾ <ph name="ENTER" /></translation> +<translation id="4556221320735744018">ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ ಸಹಾಯಕವನ್ನು ನೋಡಿ</translation> +<translation id="4628718545549558538">ಸ್ಥಿತಿ ಪ್ರದೇಶವನ್ನು ತೆರೆಯಿರಿ (ನಿಮ್ಮ ಖಾತೆ ಚಿತ್ರ ಗೋಚರಿಸುವಲ್ಲಿ)</translation> +<translation id="4642092649622328492">ಭಾಗಶಃ ಸ್ಕ್ರೀನ್ಶಾಟ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ</translation> +<translation id="4725377341024374454">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿ ಹೈಲೈಟ್ ಮಾಡಿರುವ ಬಟನ್ ಅನ್ನು ತೆರೆಯಿರಿ</translation> +<translation id="4801989101741319327">ಮುಂದಿನ ಅಕ್ಷರದ ಕೊನೆಗೆ ಸರಿಸಿ</translation> +<translation id="4916163929714267752">ಹೊಸ ವಿಂಡೋದಲ್ಲಿ ಲಿಂಕ್ ತೆರೆಯಿರಿ</translation> +<translation id="5034421018520995080">ಪುಟದ ಮೇಲಿನ ಭಾಗಕ್ಕೆ ಹೋಗಿ</translation> +<translation id="5042305953558921026">ಅವಲೋಕನ ಮೋಡ್ ಕೀ</translation> +<translation id="5104462712192763270">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಉಳಿಸಿ</translation> +<translation id="5121628974188116412">ಪುಟದ ಕೆಳಭಾಗಕ್ಕೆ ಹೋಗಿ</translation> +<translation id="5236674127086649162">ಸಂಗ್ರಹಿಸಿದ ವಿಷಯವನ್ನು ಬಳಸದೇ ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ</translation> +<translation id="526651782186312376">ಸಾಲಿನ ಪ್ರಾರಂಭದವರೆಗಿನ ಪಠ್ಯವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> <translation id="5316716239522500219">ಪ್ರತಿಬಿಂಬಿಸುವ ಮಾನೀಟರ್ಗಳು</translation> +<translation id="5335199890994453201">DOM ಪರೀಕ್ಷಕ ತೋರಿಸಿ ಅಥವಾ ಮರೆಮಾಡಿ</translation> +<translation id="5541719484267030947">ಟ್ಯಾಬ್ ಅನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡುವಾಗ, <ph name="ESC" /> ಅನ್ನು ಒತ್ತಿರಿ</translation> +<translation id="5554139136362089836">ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಹುಡುಕಿ</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ಒತ್ತಿರಿ ಮತ್ತು ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="561814908794220892">ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ವೆಬ್ಪುಟವನ್ನು ತೆರೆಯಿರಿ</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ಅಥವಾ <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">ಟ್ಯಾಬ್ನಲ್ಲಿ ಲಿಂಕ್ ತೆರೆಯಿರಿ</translation> +<translation id="5757474750054631686">ಮಂದ ಕೀಬೋರ್ಡ್(ಬ್ಯಾಕ್ಲಿಟ್ ಕೀಬೋರ್ಡ್ಗಳಿಗಾಗಿ ಮಾತ್ರ)</translation> +<translation id="587531134027443617">ಹಿಂದಿನ ಪದವನ್ನು ಅಳಿಸಿ</translation> <translation id="5928303187149237472">ಪರದೆಯ ರೆಸಲ್ಯೂಷನ್ ಬದಲಿಸಿ</translation> <translation id="5975083100439434680">ಝೂಮ್ ಔಟ್</translation> +<translation id="6011500873794669296">ಇವುಗಳ ನಡುವೆ ಫೋಕಸ್ ಅನ್ನು ಬದಲಾಯಿಸಿ: ಸ್ಥಿತಿ ಪ್ರದೇಶ (ನಿಮ್ಮ ಖಾತೆಯ ಚಿತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಸ್ಥಳ), ಲಾಂಚರ್ ವಿಳಾಸ ಪಟ್ಟಿ, ಬುಕ್ಮಾರ್ಕ್ಗಳ ಪಟ್ಟಿ (ಗೋಚರಿಸಿದರೆ), ತೆರೆದಿರುವ ವೆಬ್ಪುಟ, ಡೌನ್ಲೋಡ್ಗಳ ಪಟ್ಟಿ (ಗೋಚರಿಸಿದರೆ)</translation> <translation id="6022924867608035986">ಹುಡುಕಾಟ ಬಾಕ್ಸ್ ಪಠ್ಯವನ್ನು ತೆರವುಗೊಳಿಸಿ</translation> +<translation id="6045998054441862242">ಅಧಿಕ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation> +<translation id="6052614013050385269">ಲಿಂಕ್ ಅನ್ನು ರೈಟ್ ಕ್ಲಿಕ್ ಮಾಡಿ</translation> <translation id="6129953537138746214">ಸ್ಪೇಸ್</translation> +<translation id="6143669479988153888">ಪುಟದಲ್ಲಿ ಝೂಮ್ ಇನ್ ಮಾಡಿ</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">ಪ್ರಖರತೆ ಕಡಿಮೆ ಮಾಡುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡಿ</translation> +<translation id="6276708887952587684">ಪುಟದ ಮೂಲವನ್ನು ವೀಕ್ಷಿಸಿ</translation> +<translation id="6321940490215594447">ಇತಿಹಾಸದ ಪುಟ ತೆರೆಯಿರಿ</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">ಸಾಲಿನ ಕೊನೆಯವರೆಗಿನ ಪಠ್ಯವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ಅಥವಾ <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ 1-8 ಐಟಂಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="6435207348963613811">ನಿಮ್ಮ ಶೆಲ್ಫ್ನಲ್ಲಿರುವ ಹಿಂದಿನ ಐಟಂ ಅನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ</translation> +<translation id="6445033640292336367">ಟ್ಯಾಬ್ ಅನ್ನು ಅದರ ಮೂಲ ಸ್ಥಿತಿಗೆ ಹಿಂತಿರುಗಿಸಿ</translation> +<translation id="649811797655257835">ಫೈಲ್ ಆಯ್ಕೆ ಮಾಡಿ, ನಂತರ <ph name="SPACE" /> ಅನ್ನು ಒತ್ತಿರಿ</translation> +<translation id="6572206071785323178">ನೀವು ಹೊಂದಿಸಿದ ಕೀಬೋರ್ಡ್ ಭಾಷೆಗಳ ನಡುವೆ ಬದಲಿಸಿ. ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಭಾಷೆಯನ್ನು ಹೇಗೆ ಆಯ್ಕೆ ಮಾಡಬೇಕೆಂದು ತಿಳಿಯಿರಿ.</translation> +<translation id="6634456834225946400">ಬುಕ್ಮಾರ್ಕ್ ಪಟ್ಟಿಯನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ (ತೋರಿಸಲಾಗಿದ್ದರೆ)</translation> +<translation id="666343722268997814">ಹೈಲೈಟ್ ಮಾಡಿದ ಐಟಂಗಾಗಿ ಬಲ-ಕ್ಲಿಕ್ ಮೆನು ತೆರೆಯಿರಿ</translation> +<translation id="6671538777808758331">ನಿಮ್ಮ ಹುಡುಕಾಟಕ್ಕಾಗಿ ಮುಂದಿನ ಹೊಂದಾಣಿಕೆಗೆ ಹೋಗಿ</translation> +<translation id="6690765639083431875">ಎಡಭಾಗದಲ್ಲಿ ವಿಂಡೋವನ್ನು ಡಾಕ್ ಮಾಡಿ</translation> +<translation id="6692847073476874842">ಫೈಲ್ಗಳ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಫೈಲ್ ಅನ್ನು ಪೂರ್ವವೀಕ್ಷಣೆ ಮಾಡಿ</translation> <translation id="671928215901716392">ಪರದೆಯನ್ನು ಲಾಕ್ ಮಾಡಿ</translation> <translation id="6727005317916125192">ಹಿಂದಿನ ಫಲಕ</translation> +<translation id="6740781404993465795">ಮುಂದಿನ ಪದ ಅಥವಾ ಅಕ್ಷರವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> +<translation id="6760706756348334449">ವಾಲ್ಯೂಮ್ ಕಡಿಮೆ ಮಾಡಿ</translation> <translation id="6981982820502123353">ಪ್ರವೇಶ</translation> <translation id="7020813747703216897">ಯಾವುದೇ ಹೊಂದಾಣಿಕೆಯ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬಂದಿಲ್ಲ</translation> <translation id="7025325401470358758">ಮುಂದಿನ ಫಲಕ</translation> -<translation id="7272373489634936181">ಶಾರ್ಟ್ಕಟ್ಗಳನ್ನು ಹುಡುಕಿ</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ಅಥವಾ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">ನಿಮ್ಮ ಮುಂದಿನ ಅಕ್ಷರವನ್ನು ಅಳಿಸಿ (ಫಾರ್ವಡ್ ಅಳಿಸಿ)</translation> +<translation id="766326951329901120">ಖಾಲಿ ಪಠ್ಯದಂತೆ ಕ್ಲಿಪ್ಬೋರ್ಡ್ನಿಂದ ವಿಷಯವನ್ನು ಅಂಟಿಸಿ</translation> <translation id="7724603315864178912">ಕತ್ತರಿಸು</translation> -<translation id="8004192919599017226">ಹುಡುಕಾಟವನ್ನು ಪ್ರಾರಂಭಿಸಿ...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ನಂತರ <ph name="SPACE" /> ಅಥವಾ <ph name="ENTER" /></translation> +<translation id="7787242579016742662">ಬ್ರೌಸರ್ನಲ್ಲಿ ಫೈಲ್ ತೆರೆಯಿರಿ</translation> +<translation id="7917881398263220094">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪುಟದ ಲೋಡ್ ಮಾಡುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಿ</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ಅಥವಾ <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ಡಾಕ್ಯುಮೆಂಟ್ನ ಪ್ರಾರಂಭಕ್ಕೆ ಹೋಗಿ</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ಅಥವಾ <ph name="E" /></translation> +<translation id="8234414138295101081">ಪರದೆಯನ್ನು 90 ಡಿಗ್ರಿಗಳಲ್ಲಿ ತಿರುಗಿಸಿ</translation> +<translation id="836869401750819675">ಡೌನ್ಲೋಡ್ಗಳ ಪುಟ ತೆರೆಯಿರಿ</translation> +<translation id="8388247778047144397">ಟ್ಯಾಬ್ ಪಟ್ಟಿಯಲ್ಲಿನ ಖಾಲಿ ವಲಯಕ್ಕೆ ಲಿಂಕ್ ಎಳೆಯಿರಿ</translation> +<translation id="8389638407792712197">ಹೊಸ ವಿಂಡೋವನ್ನು ತೆರೆಯಿರಿ</translation> +<translation id="8429696719963529183">F ಕೀಗಳನ್ನು ಬಳಸಿ (F1 ನಿಂದ F12)</translation> +<translation id="85690795166292698">ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ಲಿಂಕ್ ತೆರೆಯಿರಿ</translation> +<translation id="8609384513243082612">ಹೊಸ ಟ್ಯಾಬ್ ತೆರೆಯಿರಿ</translation> +<translation id="8644639153978066712">ಫೈಲ್ಗಳ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಮರೆಮಾಡಿದ ಫೈಲ್ಗಳನ್ನು ಪ್ರದರ್ಶಿಸಿ</translation> +<translation id="8709893667941082515">ಹುಡುಕಾಟದಲ್ಲಿ ವಿಳಾಸ ಪಟ್ಟಿಯನ್ನು ಗಮನಿಸಿ</translation> +<translation id="8717459106217102612">ಹಿಂದಿನ ಪದ ಅಥವಾ ಅಕ್ಷರವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ</translation> +<translation id="8727232706774971183">ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳನ್ನು ನೋಡಿ</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">ಝೂಮ್ ಇನ್</translation> <translation id="9179672198516322668">ಜನಪ್ರಿಯ ಶಾರ್ಟ್ಕಟ್ಗಳು</translation>
diff --git a/ash/components/strings/ash_components_strings_ko.xtb b/ash/components/strings/ash_components_strings_ko.xtb index 7ca4977e..088ae18 100644 --- a/ash/components/strings/ash_components_strings_ko.xtb +++ b/ash/components/strings/ash_components_strings_ko.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ko"> +<translation id="104962181688258143">파일 앱 열기</translation> +<translation id="1126871238933253947">이전에 사용한 키보드 언어로 전환</translation> +<translation id="1195667586424773550">링크를 탭의 검색주소창으로 드래그하세요.</translation> +<translation id="1204450209689312104">시크릿 모드로 새 창 열기</translation> +<translation id="1299858300159559687">현재 페이지를 인쇄</translation> <translation id="1383876407941801731">검색</translation> +<translation id="1439252533104567537">번호가 매겨진 탭으로 이동</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> 또는 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">런처</translation> +<translation id="152892567002884378">볼륨 크게</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />을 누르고 <ph name="ESC" /></translation> +<translation id="1652741121070700329">이전 단어의 시작으로 이동</translation> +<translation id="1679841710523778799">밝게</translation> +<translation id="168356808214100546"><ph name="ALT" />를 길게 누르고 열려는 창으로 이동할 때까지 <ph name="TAB" />을 탭한 후 놓습니다.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">검색주소창에 입력한 주소에 www. 및 .com을 추가한 후 페이지 열기</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />을 누르고 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> 또는 <ph name="LEFT" /></translation> +<translation id="1996162290124031907">다음 탭으로 이동</translation> +<translation id="2010818616644390445">창의 마지막 탭으로 이동</translation> <translation id="2145908266289632567">텍스트 편집</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1부터 =</translation> +<translation id="2181097965834437145">북마크바 표시 또는 숨기기</translation> +<translation id="2185166372312820725">이전 탭으로 이동</translation> +<translation id="2194790690264064655"><ph name="CTRL" />을 누른 상태에서 링크를 클릭</translation> +<translation id="2424073332829844142">Caps Lock 켜고 끄기</translation> +<translation id="2441202986792279177">창 간에 빠르게 전환</translation> +<translation id="2478303094958140141">ChromeVox(음성 피드백) 사용 또는 사용 중지</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">웹페이지를 아래로 스크롤</translation> +<translation id="2568632782096378307">기본 화면 해상도로 되돌리기</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />을 누르고 <ph name="TAB" /> 또는 <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">현재 웹페이지를 북마크로 저장</translation> +<translation id="2750942583782703988">현재 페이지를 새로고침</translation> +<translation id="2789868185375229787">페이지를 축소</translation> +<translation id="2804480015716812239"><ph name="ALT" />를 누른 상태에서 링크를 클릭</translation> +<translation id="2830827904629746450">오른쪽에 창 고정</translation> <translation id="2872353916818027657">기본 모니터 전환</translation> -<translation id="3105917916468784889">화면 캡쳐</translation> +<translation id="2914313326123580426">Developer Tools 패널 표시 또는 숨기기</translation> +<translation id="292495055542441795">전체화면 전환</translation> +<translation id="3084301071537457911">실행기의 다음 항목 강조표시</translation> +<translation id="309173601632226815">실행기의 런처 버튼 강조표시</translation> +<translation id="3105917916468784889">스크린샷 찍기</translation> +<translation id="3118681365140644126">실행기 버튼의 강조표시 취소</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">주소 표시줄로 이동</translation> +<translation id="3288816184963444640">현재 창 닫기</translation> +<translation id="3356202203145076517">가장 오래전에 열었던 창 열기</translation> +<translation id="3407560819924487926">작업 관리자 호출</translation> +<translation id="3422679037938588196">검색과 일치하는 이전 항목으로 이동</translation> +<translation id="344577624355799426"><ph name="ALT" /> 또는 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">확대/축소 수준 재설정</translation> +<translation id="353037708190149633">현재 창에서 열린 모든 페이지를 북마크로 새 폴더에 저장</translation> +<translation id="355103131818127604">백그라운드의 새 탭에서 링크 열기</translation> <translation id="3649256019230929621">창 최소화</translation> -<translation id="385051799172605136">뒤로</translation> +<translation id="3668361878347172356">마지막 작업 다시 실행</translation> +<translation id="3720939646656082033">새 탭에서 링크를 열고 새 탭으로 전환</translation> +<translation id="3725795051337497754">현재 탭 닫기</translation> +<translation id="3751033133896282964">마지막 작업 실행취소</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1부터 8</translation> +<translation id="3837047332182291558">키보드 밝게(백라이트 키보드만 해당)</translation> +<translation id="3976863468609830880">실행기의 마지막 아이콘 클릭</translation> +<translation id="4035482366624727273">페이지 내용 모두 선택</translation> +<translation id="4060703249685950734">마지막으로 닫았던 탭이나 창 다시 열기</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />를 길게 누르고 열려는 창으로 이동할 때까지 <ph name="TAB" />을 탭한 후 놓습니다.</translation> +<translation id="4092538597492297615">선택한 콘텐츠를 클립보드로 복사</translation> +<translation id="4123108089450197101">링크를 북마크로 저장</translation> +<translation id="4141203561740478845">검색주소창에서 행 강조표시</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> 또는 <ph name="ENTER" /></translation> +<translation id="4556221320735744018">단축키 도우미 보기</translation> +<translation id="4628718545549558538">상태 영역(계정 사진이 표시되는 위치) 열기</translation> +<translation id="4642092649622328492">부분 스크린샷 찍기</translation> +<translation id="4725377341024374454">실행기의 강조표시된 버튼 열기</translation> +<translation id="4801989101741319327">다음 단어의 끝으로 이동</translation> +<translation id="4916163929714267752">새 창에서 링크 열기</translation> +<translation id="5034421018520995080">페이지 맨 위로 이동</translation> +<translation id="5042305953558921026">전체보기 모드 키</translation> +<translation id="5104462712192763270">현재 페이지 저장</translation> +<translation id="5121628974188116412">페이지 맨 아래로 이동</translation> +<translation id="5236674127086649162">저장된 콘텐츠를 사용하지 않고 현재 페이지 새로고침</translation> +<translation id="526651782186312376">텍스트 행 처음까지 선택</translation> <translation id="5316716239522500219">모니터 미러</translation> +<translation id="5335199890994453201">DOM 검사기 표시 또는 숨기기</translation> +<translation id="5541719484267030947">탭을 드래그하는 동안 <ph name="ESC" /> 누르기</translation> +<translation id="5554139136362089836">현재 페이지 검색</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" />를 누르고 링크를 클릭</translation> +<translation id="561814908794220892">새 탭에서 웹페이지 열기</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> 또는 <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">탭에서 링크 열기</translation> +<translation id="5757474750054631686">키보드 어둡게(백라이트 키보드만 해당)</translation> +<translation id="587531134027443617">이전 단어를 삭제</translation> <translation id="5928303187149237472">해상도 변경</translation> <translation id="5975083100439434680">축소</translation> +<translation id="6011500873794669296">다음 영역 간 포커스 전환: 상태 영역(계정 사진이 표시되는 위치), 런처, 검색주소창, 북마크바(표시되는 경우), 열려 있는 웹페이지, 다운로드바(표시되는 경우)</translation> <translation id="6022924867608035986">검색창 텍스트 삭제</translation> +<translation id="6045998054441862242">고대비 모드 사용</translation> +<translation id="6052614013050385269">마우스 오른쪽 버튼으로 링크 클릭</translation> <translation id="6129953537138746214">공백</translation> +<translation id="6143669479988153888">페이지를 확대</translation> <translation id="6185696379715117369">페이지 위로</translation> +<translation id="6228457605945141550">어둡게</translation> +<translation id="6276708887952587684">페이지 소스 보기</translation> +<translation id="6321940490215594447">방문 기록 페이지 열기</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">텍스트 행 끝부분까지 선택</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> 또는 <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">실행기의 아이콘 1~8 클릭</translation> +<translation id="6435207348963613811">실행기의 이전 항목 강조표시</translation> +<translation id="6445033640292336367">탭을 원래 위치로 되돌림</translation> +<translation id="649811797655257835">파일을 선택한 후 <ph name="SPACE" />를 누름</translation> +<translation id="6572206071785323178">설정한 키보드 언어 간에 전환합니다. 키보드 언어 선택 방법을 알아보세요.</translation> +<translation id="6634456834225946400">북마크바 강조표시(표시되는 경우)</translation> +<translation id="666343722268997814">강조표시된 항목의 마우스 오른쪽 버튼 클릭 메뉴 열기</translation> +<translation id="6671538777808758331">검색과 일치하는 다음 항목으로 이동</translation> +<translation id="6690765639083431875">왼쪽에 창 고정</translation> +<translation id="6692847073476874842">파일 앱의 파일 미리보기</translation> <translation id="671928215901716392">화면 잠금</translation> <translation id="6727005317916125192">이전 창</translation> +<translation id="6740781404993465795">다음 단어 또는 글자 선택</translation> +<translation id="6760706756348334449">볼륨 작게</translation> <translation id="6981982820502123353">접근성</translation> <translation id="7020813747703216897">일치하는 결과 없음</translation> <translation id="7025325401470358758">다음 창</translation> -<translation id="7272373489634936181">단축키 검색</translation> +<translation id="7379254767514753910"><ph name="ALT" /> 또는 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">다음 글자를 삭제(앞으로 삭제)</translation> +<translation id="766326951329901120">클립보드의 콘텐츠를 일반 텍스트로 붙여넣기</translation> <translation id="7724603315864178912">잘라내기</translation> -<translation id="8004192919599017226">검색 시작...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />을 누르고 <ph name="SPACE" /> 또는 <ph name="ENTER" /></translation> +<translation id="7787242579016742662">브라우저에서 파일 열기</translation> +<translation id="7917881398263220094">현재 페이지 로드를 중지</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> 또는 <ph name="MINUS" /></translation> +<translation id="8130528849632411619">문서 처음으로 이동</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> 또는 <ph name="E" /></translation> +<translation id="8234414138295101081">화면 90도 회전</translation> +<translation id="836869401750819675">다운로드 페이지 열기</translation> +<translation id="8388247778047144397">링크를 탭 표시줄의 빈 영역으로 드래그</translation> +<translation id="8389638407792712197">새 창 열기</translation> +<translation id="8429696719963529183">F 키(F1~F12) 사용</translation> +<translation id="85690795166292698">새 탭에서 링크 열기</translation> +<translation id="8609384513243082612">새 탭 열기</translation> +<translation id="8644639153978066712">파일 앱에 숨겨진 파일 표시하기</translation> +<translation id="8709893667941082515">검색 시 검색주소창으로 포커스 이동</translation> +<translation id="8717459106217102612">이전 단어 또는 글자를 선택</translation> +<translation id="8727232706774971183">알림 확인</translation> <translation id="88986195241502842">페이지 아래로</translation> <translation id="8903921497873541725">확대</translation> <translation id="9179672198516322668">자주 쓰는 단축키</translation>
diff --git a/ash/components/strings/ash_components_strings_lt.xtb b/ash/components/strings/ash_components_strings_lt.xtb index 699dd39..c1de4ec 100644 --- a/ash/components/strings/ash_components_strings_lt.xtb +++ b/ash/components/strings/ash_components_strings_lt.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="lt"> +<translation id="104962181688258143">Atidaryti Failų programą</translation> +<translation id="1126871238933253947">Perjungti į ankstesnę naudotą klaviatūros kalbą.</translation> +<translation id="1195667586424773550">Nuvilkite nuorodą į skirtuko adreso juostą</translation> +<translation id="1204450209689312104">Atidaryti naują langą inkognito režimu</translation> +<translation id="1299858300159559687">Spausdinti dabartinį puslapį</translation> <translation id="1383876407941801731">Ieškoti</translation> +<translation id="1439252533104567537">Eiti į sunumeruotą skirtuką</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> arba <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Paleidimo priemonė</translation> +<translation id="152892567002884378">Padidinti garsumą</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="ESC" /></translation> +<translation id="1652741121070700329">Pereiti į ankstesnio žodžio pradžią</translation> +<translation id="1679841710523778799">Padidinti šviesumą</translation> +<translation id="168356808214100546">Paspauskite ir palaikykite <ph name="ALT" />, palieskite <ph name="TAB" />, kol pateksite į norimą atidaryti langą, tada atleiskite.</translation> <translation id="169515659049020177">Antrojo lygio klavišas</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Pridėkite „www.“ ir „.com“ prie įvesties adreso juostoje, tada atidarykite puslapį</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> arba <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Eiti į kitą skirtuką</translation> +<translation id="2010818616644390445">Eiti į paskutinį skirtuką lange</translation> <translation id="2145908266289632567">Teksto Redagavimas</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> nuo 1 iki =</translation> +<translation id="2181097965834437145">Rodyti arba slėpti žymių juostą</translation> +<translation id="2185166372312820725">Eiti į ankstesnį skirtuką</translation> +<translation id="2194790690264064655">Paspauskite <ph name="CTRL" /> ir spustelėkite nuorodą</translation> +<translation id="2424073332829844142">Įjungti ir išjungti didžiųjų raidžių klavišą</translation> +<translation id="2441202986792279177">Greitai perjungti langus</translation> +<translation id="2478303094958140141">Įjungti arba išjungti „ChromeVox“ (ekrano skaitymą balsu)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Slinkti tinklalapiu žemyn</translation> +<translation id="2568632782096378307">Nustatyti numatytuosius ekrano skyros nustatymus</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="TAB" /> arba <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Dabartinį tinklalapį išsaugoti kaip žymę</translation> +<translation id="2750942583782703988">Iš naujo įkelti dabartinį puslapį</translation> +<translation id="2789868185375229787">Tolinti puslapyje</translation> +<translation id="2804480015716812239">Paspauskite <ph name="ALT" /> ir spustelėkite nuorodą</translation> +<translation id="2830827904629746450">Pritvirtinti langą dešinėje</translation> <translation id="2872353916818027657">Keisti pirminį monitorių</translation> +<translation id="2914313326123580426">Rodyti arba slėpti kūrėjo įrankių skydelį</translation> +<translation id="292495055542441795">Perjungti viso ekrano režimą</translation> +<translation id="3084301071537457911">Paryškinti kitą elementą lentynoje</translation> +<translation id="309173601632226815">Paryškinti paleidimo priemonės mygtuką lentynoje</translation> <translation id="3105917916468784889">Padaryti ekrano kopiją</translation> +<translation id="3118681365140644126">Pašalinti mygtuko lentynoje paryškinimą</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokusuoti adreso juostą</translation> +<translation id="3288816184963444640">Uždaryti esamą langą</translation> +<translation id="3356202203145076517">Atidaryti langą, kurį paskutiniu metu naudojote rečiausiai</translation> +<translation id="3407560819924487926">Rodyti užduočių tvarkytuvę</translation> +<translation id="3422679037938588196">Eiti į ankstesnę paieškos atitiktį</translation> +<translation id="344577624355799426"><ph name="ALT" /> arba <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Iš naujo nustatyti mastelio keitimo lygį</translation> +<translation id="353037708190149633">Visus dabartiniame lange atidarytus puslapius išsaugoti kaip žymes naujame aplanke</translation> +<translation id="355103131818127604">Atidaryti nuorodą naujame skirtuke fone</translation> <translation id="3649256019230929621">Sumažinti langą</translation> -<translation id="385051799172605136">Grįžti</translation> +<translation id="3668361878347172356">Grąžinti paskutinį veiksmą</translation> +<translation id="3720939646656082033">Atidaryti nuorodą naujame skirtuke ir pereiti į naują skirtuką</translation> +<translation id="3725795051337497754">Uždaryti dabartinį skirtuką</translation> +<translation id="3751033133896282964">Anuliuoti paskutinį veiksmą</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> nuo 1 iki 8</translation> +<translation id="3837047332182291558">Pašviesinti klaviatūrą (skirta tik klaviatūroms su foniniu apšvietimu)</translation> +<translation id="3976863468609830880">Spustelėti paskutinę piktogramą lentynoje</translation> +<translation id="4035482366624727273">Pasirinkti viską puslapyje</translation> +<translation id="4060703249685950734">Iš naujo atidaryti paskutinį uždarytą skirtuką arba langą</translation> +<translation id="4090342722461256974">Paspauskite ir palaikykite <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, palieskite <ph name="TAB" />, kol pateksite į norimą atidaryti langą, tada atleiskite.</translation> +<translation id="4092538597492297615">Kopijuoti pasirinktą turinį į iškarpinę</translation> +<translation id="4123108089450197101">Išsaugoti nuorodą kaip žymę</translation> +<translation id="4141203561740478845">Paryškinti eilutę su adreso juosta</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> arba <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Žr. sparčiųjų klavišų pagalbos priemonę</translation> +<translation id="4628718545549558538">Atidaryti būsenos sritį (kur rodoma paskyros nuotrauka)</translation> +<translation id="4642092649622328492">Padaryti dalinę ekrano kopiją</translation> +<translation id="4725377341024374454">Atidaryti paryškintą mygtuką lentynoje</translation> +<translation id="4801989101741319327">Pereiti prie kito žodžio pabaigos</translation> +<translation id="4916163929714267752">Atidaryti nuorodą naujame lange</translation> +<translation id="5034421018520995080">Eiti į puslapio viršų</translation> +<translation id="5042305953558921026">Apžvalgos režimo klavišas</translation> +<translation id="5104462712192763270">Išsaugoti dabartinį puslapį</translation> +<translation id="5121628974188116412">Eiti į puslapio apačią</translation> +<translation id="5236674127086649162">Iš naujo įkelti dabartinį puslapį nenaudojant talpykloje saugomo turinio</translation> +<translation id="526651782186312376">Pasirinkti tekstą iki eilutės pradžios</translation> <translation id="5316716239522500219">Dubliuoti monitorius</translation> +<translation id="5335199890994453201">Rodyti arba slėpti „DOM Inspector“</translation> +<translation id="5541719484267030947">Vilkdami skirtuką paspauskite <ph name="ESC" /></translation> +<translation id="5554139136362089836">Ieškoti dabartiniame puslapyje</translation> +<translation id="5563050856984839829">Paspauskite <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ir spustelėkite nuorodą</translation> +<translation id="561814908794220892">Atidaryti tinklalapį naujame skirtuke</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> arba <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Atidaryti nuorodą skirtuke</translation> +<translation id="5757474750054631686">Pritemdyti klaviatūrą (skirta tik klaviatūroms su foniniu apšvietimu)</translation> +<translation id="587531134027443617">Ištrinti ankstesnį žodį</translation> <translation id="5928303187149237472">Keisti Ekrano skiriamoji geba</translation> <translation id="5975083100439434680">Tolinti</translation> +<translation id="6011500873794669296">Suaktyvinti šiuos elementus: būsenos sritį, kur rodoma paskyros nuotrauka), Paleidimo priemonės adreso juostą, žymių juostą (jei rodoma). atidarytą tinklalapį, atsisiuntimų juostą (jei rodoma)</translation> <translation id="6022924867608035986">Išvalyti paieškos laukelio tekstą</translation> +<translation id="6045998054441862242">Įjungti didelio kontrasto režimą</translation> +<translation id="6052614013050385269">Dešiniuoju klavišu spustelėti nuorodą</translation> <translation id="6129953537138746214">Tarpas</translation> +<translation id="6143669479988153888">Artinti puslapyje</translation> <translation id="6185696379715117369">Puslapiu aukštyn</translation> +<translation id="6228457605945141550">Sumažinti šviesumą</translation> +<translation id="6276708887952587684">Peržiūrėti puslapio šaltinį</translation> +<translation id="6321940490215594447">Atidaryti istorijos puslapį</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Pasirinkti tekstą iki eilutės pabaigos</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> arba <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Spustelėti 1–8 piktogramas lentynoje</translation> +<translation id="6435207348963613811">Paryškinti ankstesnį elementą lentynoje</translation> +<translation id="6445033640292336367">Grąžinti skirtuką į pradinę padėtį</translation> +<translation id="649811797655257835">Pasirinkite failą, tada paspauskite <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Perjungti nustatytas klaviatūros kalbas. Sužinokite, kaip pasirinkti klaviatūros kalbą.</translation> +<translation id="6634456834225946400">Paryškinti žymių juostą (jei rodoma)</translation> +<translation id="666343722268997814">Atidaryti paryškinto elemento kontekstinį meniu</translation> +<translation id="6671538777808758331">Eiti į kitą paieškos atitiktį</translation> +<translation id="6690765639083431875">Pritvirtinti langą kairėje</translation> +<translation id="6692847073476874842">Peržiūrėti failą Failų programoje</translation> <translation id="671928215901716392">Užrakinti ekraną</translation> <translation id="6727005317916125192">Ankstesnis polangis</translation> +<translation id="6740781404993465795">Pasirinkti kitą žodį arba raidę</translation> +<translation id="6760706756348334449">Sumažinti garsumą</translation> <translation id="6981982820502123353">Pritaikymas neįgaliesiems</translation> <translation id="7020813747703216897">Nerasta atitinkamų rezultatų</translation> <translation id="7025325401470358758">Kitas polangis</translation> -<translation id="7272373489634936181">Ieškoti sparčiųjų klavišų</translation> +<translation id="7379254767514753910"><ph name="ALT" /> arba <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Ištrinti kitą raidę (ištrinti į priekį)</translation> +<translation id="766326951329901120">Įklijuoti turinį iš iškarpinės kaip grynąjį tekstą</translation> <translation id="7724603315864178912">Iškirpti</translation> -<translation id="8004192919599017226">Pradėti paiešką...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="SPACE" /> arba <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Atidaryti failą naršyklėje</translation> +<translation id="7917881398263220094">Sustabdyti dabartinio puslapio įkėlimą</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> arba <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Eiti į dokumento pradžią</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> arba <ph name="E" /></translation> +<translation id="8234414138295101081">Pasukti ekraną 90 laipsnių kampu</translation> +<translation id="836869401750819675">Atidaryti atsisiuntimų puslapį</translation> +<translation id="8388247778047144397">Nuvilkite nuorodą į tuščią sritį skirtuko juostelėje</translation> +<translation id="8389638407792712197">Atidaryti naują langą</translation> +<translation id="8429696719963529183">Naudoti F klavišus (F1–F12)</translation> +<translation id="85690795166292698">Atidaryti nuorodą naujame skirtuke</translation> +<translation id="8609384513243082612">Atidaryti naują skirtuką</translation> +<translation id="8644639153978066712">Pateikti paslėptus failus Failų programoje</translation> +<translation id="8709893667941082515">Aktyvinti adreso juostą ieškant</translation> +<translation id="8717459106217102612">Pasirinkti ankstesnį žodį ar raidę</translation> +<translation id="8727232706774971183">Žiūrėti pranešimus</translation> <translation id="88986195241502842">Puslapiu žemyn</translation> <translation id="8903921497873541725">Artinti</translation> <translation id="9179672198516322668">Populiarūs spartieji klavišai</translation>
diff --git a/ash/components/strings/ash_components_strings_lv.xtb b/ash/components/strings/ash_components_strings_lv.xtb index 79377bbba1..017d16cd 100644 --- a/ash/components/strings/ash_components_strings_lv.xtb +++ b/ash/components/strings/ash_components_strings_lv.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="lv"> +<translation id="104962181688258143">Atvērt lietotni Faili</translation> +<translation id="1126871238933253947">Pārslēgties uz iepriekšējo izmantoto tastatūras valodu.</translation> +<translation id="1195667586424773550">Vilkt saiti uz cilnes adreses joslu</translation> +<translation id="1204450209689312104">Atvērt jaunu logu inkognito režīmā</translation> +<translation id="1299858300159559687">Drukāt pašreizējo lapu</translation> <translation id="1383876407941801731">Meklēt</translation> +<translation id="1439252533104567537">Pāriet uz numurētu cilni</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> vai <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Lietojumprogrammu palaidējs</translation> +<translation id="152892567002884378">Palielināt skaļumu</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="ESC" /></translation> +<translation id="1652741121070700329">Pāriet uz iepriekšējā vārda sākumu</translation> +<translation id="1679841710523778799">Palielināt spilgtumu</translation> +<translation id="168356808214100546">Nospiediet un turiet taustiņu <ph name="ALT" />, pieskarieties taustiņam <ph name="TAB" />, kamēr ieraugāt atveramo logu, pēc tam atlaidiet.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Pievienot www. un .com ievadītajam tekstam adreses joslā, pēc tam atvērt lapu</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> vai <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Pāriet uz nākamo cilni</translation> +<translation id="2010818616644390445">Pāriet uz loga pēdējo cilni</translation> <translation id="2145908266289632567">Teksta rediģēšana</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> no 1 līdz =</translation> +<translation id="2181097965834437145">Rādīt vai paslēpt grāmatzīmju joslu</translation> +<translation id="2185166372312820725">Pāriet uz iepriekšējo cilni</translation> +<translation id="2194790690264064655">Nospiediet <ph name="CTRL" /> un noklikšķiniet uz saites</translation> +<translation id="2424073332829844142">Ieslēgt un izslēgt taustiņu Caps Lock</translation> +<translation id="2441202986792279177">Ātri pārslēgt logus</translation> +<translation id="2478303094958140141">Ieslēgt vai izslēgt ChromeVox (balss komentārus)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Ritināt tīmekļa lapu uz leju</translation> +<translation id="2568632782096378307">Atjaunot ekrāna izšķirtspējas noklusējuma iestatījumu</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="TAB" /> vai <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Saglabāt pašreizējo tīmekļa lapu kā grāmatzīmi</translation> +<translation id="2750942583782703988">Atkārtoti ielādēt pašreizējo lapu</translation> +<translation id="2789868185375229787">Tālināt lapas saturu</translation> +<translation id="2804480015716812239">Nospiediet <ph name="ALT" /> un noklikšķiniet uz saites</translation> +<translation id="2830827904629746450">Dokot logu labajā pusē</translation> <translation id="2872353916818027657">Samainīt galveno monitoru</translation> -<translation id="3105917916468784889">Uz. ek-uzņēmumu </translation> +<translation id="2914313326123580426">Rādīt vai paslēpt izstrādātāja rīku paneli</translation> +<translation id="292495055542441795">Pārslēgt pilnekrāna režīmu</translation> +<translation id="3084301071537457911">Izcelt nākamo plauktā esošo vienumu</translation> +<translation id="309173601632226815">Izcelt palaišanas programmas pogu plauktā</translation> +<translation id="3105917916468784889">Uzņemt ekrānuzņēmumu</translation> +<translation id="3118681365140644126">Noņemt plauktā izceltās pogas izcelšanu</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Iezīmēt adreses joslu</translation> +<translation id="3288816184963444640">Aizvērt pašreizējo logu</translation> +<translation id="3356202203145076517">Atvērt logu, ko pēdējā laikā izmantojāt visretāk</translation> +<translation id="3407560819924487926">Parādīt uzdevumu pārvaldnieku</translation> +<translation id="3422679037938588196">Pāriet uz iepriekšējo vaicājuma rezultātu</translation> +<translation id="344577624355799426"><ph name="ALT" /> vai <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Atiestatīt tālummaiņas līmeni</translation> +<translation id="353037708190149633">Saglabāt visas atvērtās lapas pašreizējā logā kā grāmatzīmes jaunā mapē</translation> +<translation id="355103131818127604">Atvērt saiti jaunā cilnē fonā</translation> <translation id="3649256019230929621">Minimizēt logu</translation> -<translation id="385051799172605136">Atpakaļ</translation> +<translation id="3668361878347172356">Atcelt pēdējās darbības atsaukšanu</translation> +<translation id="3720939646656082033">Atvērt saiti jaunā cilnē un pārslēgties uz jauno cilni</translation> +<translation id="3725795051337497754">Aizvērt pašreizējo cilni</translation> +<translation id="3751033133896282964">Atsaukt pēdējo darbību</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> no 1 līdz 8</translation> +<translation id="3837047332182291558">Paspilgtināt tastatūras apgaismojumu (tikai tastatūrām ar aizmugures apgaismojumu)</translation> +<translation id="3976863468609830880">Noklikšķināt uz pēdējās plaukta ikonas</translation> +<translation id="4035482366624727273">Atlasīt visu lapas saturu</translation> +<translation id="4060703249685950734">Atkārtoti atvērt pēdējo aizvērto cilni vai logu</translation> +<translation id="4090342722461256974">Nospiediet un turiet <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, pieskarieties taustiņam <ph name="TAB" />, kamēr ieraugāt atveramo logu, pēc tam atlaidiet.</translation> +<translation id="4092538597492297615">Kopēt atlasīto saturu starpliktuvē</translation> +<translation id="4123108089450197101">Saglabāt saiti kā grāmatzīmi</translation> +<translation id="4141203561740478845">Izcelt rindu ar adreses joslu</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> vai <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Skatīt īsinājumtaustiņu palīgu</translation> +<translation id="4628718545549558538">Atvērt statusa apgabalu (kur ir redzams jūsu konta attēls)</translation> +<translation id="4642092649622328492">Iegūt daļēju ekrānuzņēmumu</translation> +<translation id="4725377341024374454">Atvērt plauktā izcelto pogu</translation> +<translation id="4801989101741319327">Pāriet uz nākamā vārda beigām</translation> +<translation id="4916163929714267752">Atvērt saiti jaunā logā</translation> +<translation id="5034421018520995080">Pāriet uz lapas sākumu</translation> +<translation id="5042305953558921026">Kopsavilkuma režīma taustiņš</translation> +<translation id="5104462712192763270">Saglabāt pašreizējo lapu</translation> +<translation id="5121628974188116412">Pāriet uz lapas beigām</translation> +<translation id="5236674127086649162">Atkārtoti ielādēt pašreizējo lapu, neizmantojot kešatmiņā saglabāto saturu</translation> +<translation id="526651782186312376">Atlasīt tekstu līdz rindiņas sākumam</translation> <translation id="5316716239522500219">Spoguļot monitorus</translation> +<translation id="5335199890994453201">Rādīt vai paslēpt DOM Inspector</translation> +<translation id="5541719484267030947">Velkot cilni, nospiediet <ph name="ESC" /></translation> +<translation id="5554139136362089836">Meklēt pašreizējā lapā</translation> +<translation id="5563050856984839829">Nospiediet <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> un noklikšķiniet uz saites</translation> +<translation id="561814908794220892">Atvērt tīmekļa lapu jaunā cilnē</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> vai <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Atvērt saiti cilnē</translation> +<translation id="5757474750054631686">Izslēgt tastatūras apgaismojumu (tikai tastatūrām ar aizmugures apgaismojumu)</translation> +<translation id="587531134027443617">Dzēst iepriekšējo vārdu</translation> <translation id="5928303187149237472">Mainīt ekrāna izšķirtspēju</translation> <translation id="5975083100439434680">Tālināt</translation> +<translation id="6011500873794669296">Pārslēgt fokusu starp statusa apgabalu (kurā redzams jūsu konta attēls), palaidēju, adreses joslu, grāmatzīmju joslu (ja tā tiek rādīta), atvērto tīmekļa lapu un lejupielāžu joslu (ja tā tiek rādīta)</translation> <translation id="6022924867608035986">Notīrīt meklēšanas lodziņa tekstu</translation> +<translation id="6045998054441862242">Ieslēgt augsta kontrasta režīmu</translation> +<translation id="6052614013050385269">Ar peles labo pogu noklikšķināt uz saites</translation> <translation id="6129953537138746214">Atstarpe</translation> +<translation id="6143669479988153888">Tuvināt lapas saturu</translation> <translation id="6185696379715117369">Augšup</translation> +<translation id="6228457605945141550">Samazināt spilgtumu</translation> +<translation id="6276708887952587684">Skatīt lapas avotu</translation> +<translation id="6321940490215594447">Atvērt lapu Vēsture</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Atlasīt tekstu līdz rindiņas beigām</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> vai <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Noklikšķināt uz 1.–8. ikonas plauktā</translation> +<translation id="6435207348963613811">Izcelt iepriekšējo plauktā esošo vienumu</translation> +<translation id="6445033640292336367">Novietot cilni sākotnējā pozīcijā</translation> +<translation id="649811797655257835">Atlasiet failu un pēc tam nospiediet <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Pārslēgties starp iestatītajām tastatūras valodām. Uzziniet, kā izvēlēties tastatūras valodu.</translation> +<translation id="6634456834225946400">Izcelt grāmatzīmju joslu (ja tā tiek rādīta)</translation> +<translation id="666343722268997814">Atvērt izceltā vienuma labās pogas izvēlni</translation> +<translation id="6671538777808758331">Pāriet uz nākamo vaicājuma rezultātu</translation> +<translation id="6690765639083431875">Dokot logu kreisajā pusē</translation> +<translation id="6692847073476874842">Priekšskatīt failu lietotnē Faili</translation> <translation id="671928215901716392">Bloķēt ekrānu</translation> <translation id="6727005317916125192">Iepriekšējā rūts</translation> +<translation id="6740781404993465795">Atlasīt nākamo vārdu vai burtu</translation> +<translation id="6760706756348334449">Samazināt skaļumu</translation> <translation id="6981982820502123353">Pieejamība</translation> <translation id="7020813747703216897">Nav neviena atbilstoša rezultāta.</translation> <translation id="7025325401470358758">Nākamā rūts</translation> -<translation id="7272373489634936181">Meklēt īsinājumtaustiņus</translation> +<translation id="7379254767514753910"><ph name="ALT" /> vai <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Dzēst nākamo burtu (turpvērstā dzēšana)</translation> +<translation id="766326951329901120">Ielīmēt saturu no starpliktuves kā vienkāršu tekstu</translation> <translation id="7724603315864178912">Izgriezt</translation> -<translation id="8004192919599017226">Sākt meklēšanu...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="SPACE" /> vai <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Atvērt failu pārlūkprogrammā</translation> +<translation id="7917881398263220094">Pārtraukt pašreizējās lapas ielādi</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> vai <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Doties uz dokumenta sākumu</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> vai <ph name="E" /></translation> +<translation id="8234414138295101081">Pagriezt ekrānu par 90 grādiem</translation> +<translation id="836869401750819675">Atvērt lapu Lejupielādes</translation> +<translation id="8388247778047144397">Vilkt saiti uz tukšu apgabalu ciļņu joslā</translation> +<translation id="8389638407792712197">Atvērt jaunu logu</translation> +<translation id="8429696719963529183">Izmantot funkcionālos taustiņus (no F1 līdz F12)</translation> +<translation id="85690795166292698">Atvērt saiti jaunā cilnē</translation> +<translation id="8609384513243082612">Atvērt jaunu cilni</translation> +<translation id="8644639153978066712">Rādīt paslēptos failus lietotnē Faili</translation> +<translation id="8709893667941082515">Iezīmēt adreses joslu meklēšanai</translation> +<translation id="8717459106217102612">Atlasīt iepriekšējo vārdu vai burtu</translation> +<translation id="8727232706774971183">Skatīt paziņojumus</translation> <translation id="88986195241502842">Lejup</translation> <translation id="8903921497873541725">Tuvināt</translation> <translation id="9179672198516322668">Populāri īsinājumtaustiņi</translation>
diff --git a/ash/components/strings/ash_components_strings_ml.xtb b/ash/components/strings/ash_components_strings_ml.xtb index 6c6a37d..284b613b 100644 --- a/ash/components/strings/ash_components_strings_ml.xtb +++ b/ash/components/strings/ash_components_strings_ml.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ml"> +<translation id="104962181688258143">'ഫയലുകൾ' ആപ്പ് തുറക്കുക</translation> +<translation id="1126871238933253947">നിങ്ങൾ ഉപയോഗിച്ചിരുന്ന മുമ്പത്തെ കീബോഡ് ഭാഷയിലേക്ക് മാറുക.</translation> +<translation id="1195667586424773550">ടാബിന്റെ വിലാസ ബാറിലേക്ക് ലിങ്ക് വലിച്ചിടുക</translation> +<translation id="1204450209689312104">അദൃശ്യ മോഡിൽ പുതിയൊരു വിൻഡോ തുറക്കുക</translation> +<translation id="1299858300159559687">നിങ്ങളുടെ നിലവിലെ പേജ് പ്രിന്റ് ചെയ്യുക</translation> <translation id="1383876407941801731">തിരയൂ</translation> +<translation id="1439252533104567537">അക്കമിട്ട ടാബിലേക്ക് പോവുക</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> അല്ലെങ്കിൽ <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">ലോഞ്ചർ</translation> +<translation id="152892567002884378">ശബ്ദം കൂട്ടുക</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="ESC" /></translation> +<translation id="1652741121070700329">മുമ്പത്തെ വാക്കിന്റെ ആരംഭത്തിലേക്ക് നീക്കുക</translation> +<translation id="1679841710523778799">തെളിച്ചം കൂട്ടുക</translation> +<translation id="168356808214100546">നിങ്ങൾ തുറക്കാൻ ആഗ്രഹിക്കുന്ന വിന്ഡോയിലേക്ക് എത്തുന്നത് വരെ <ph name="ALT" /> അമർത്തിപ്പിടിച്ച്, <ph name="TAB" /> ടാപ്പ് ചെയ്യുക, തുടർന്ന് സ്വതന്ത്രമാക്കുക.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">വിലാസ ബാറിലെ നിങ്ങളുടെ ഇന്പുട്ടിൽ www., .com എന്നിവ ചേർത്ത ശേഷം പേജ് തുറക്കുക</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> അല്ലെങ്കിൽ <ph name="LEFT" /></translation> +<translation id="1996162290124031907">അടുത്ത ടാബിലേക്ക് പോവുക</translation> +<translation id="2010818616644390445">വിൻഡോയിലെ അവസാന ടാബിലേക്ക് പോവുക</translation> <translation id="2145908266289632567">ടെക്സ്റ്റ് എഡിറ്റ് ചെയ്യൽ</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 വഴി =</translation> +<translation id="2181097965834437145">ബുക്ക്മാര്ക്ക് ബാർ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation> +<translation id="2185166372312820725">മുമ്പത്തെ ടാബിലേക്ക് പോവുക</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> അമർത്തി ഒരു ലിങ്ക് ക്ലിക്ക് ചെയ്യുക</translation> +<translation id="2424073332829844142">ക്യാപ്സ് ലോക്ക് ഓണാക്കുക, ഓഫാക്കുക</translation> +<translation id="2441202986792279177">വിന്ഡോകൾക്ക് ഇടയിൽ വേഗത്തിൽ മാറുക</translation> +<translation id="2478303094958140141">ChromeVox (സംഭാഷണ ഫീഡ്ബാക്ക്) ഓണാക്കുക, ഓഫാക്കുക</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">വെബ് പേജ് താഴേയ്ക്ക് സ്ക്രോൾ ചെയ്യുക</translation> +<translation id="2568632782096378307">സ്ക്രീൻ റെസല്യൂഷൻ ഡിഫോൾട്ടായി പുനഃസജ്ജീകരിക്കുക</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="TAB" /> അല്ലെങ്കിൽ <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">നിങ്ങളുടെ നിലവിലെ വെബ്പേജ് ഒരു ബുക്ക്മാർക്കായി സംരക്ഷിക്കുക</translation> +<translation id="2750942583782703988">നിങ്ങളുടെ നിലവിലെ പേജ് വീണ്ടും ലോഡ് ചെയ്യുക</translation> +<translation id="2789868185375229787">പേജിൽ സൂം ഔട്ട് ചെയ്യുക</translation> +<translation id="2804480015716812239"><ph name="ALT" /> അമർത്തി ഒരു ലിങ്ക് ക്ലിക്ക് ചെയ്യുക</translation> +<translation id="2830827904629746450">വലത് വശത്ത് ഒരു വിൻഡോ ഡോക്ക് ചെയ്യുക</translation> <translation id="2872353916818027657">പ്രാഥമിക മോണിറ്റർ സ്വാപ്പുചെയ്യുക</translation> +<translation id="2914313326123580426">ഡെവലപ്പര് ടൂൾ പാനൽ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation> +<translation id="292495055542441795">പൂർണ്ണ സ്ക്രീൻ മാറ്റുക</translation> +<translation id="3084301071537457911">നിങ്ങളുടെ ഷെൽഫിലെ അടുത്ത ഇനം ഹൈലൈറ്റ് ചെയ്യുക</translation> +<translation id="309173601632226815">നിങ്ങളുടെ ഷെൽഫിലെ ലോഞ്ചർ ബട്ടൺ ഹൈലൈറ്റ് ചെയ്യുക</translation> <translation id="3105917916468784889">സ്ക്രീന്ഷോട്ട് എടുക്കുക</translation> +<translation id="3118681365140644126">നിങ്ങളുടെ ഷെൽഫിലെ ഒരു ബട്ടണിൽ നിന്നുള്ള ഹൈലൈറ്റ് നീക്കം ചെയ്യുക</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">വിലാസ ബാര് ഫോക്കസ് ചെയ്യുക</translation> +<translation id="3288816184963444640">നിലവിലെ വിൻഡോ അവസാനിപ്പിക്കുക</translation> +<translation id="3356202203145076517">നിങ്ങൾ ഏറ്റവും അടുത്തിടെ ഉപയോഗിച്ച വിൻഡോ തുറക്കുക</translation> +<translation id="3407560819924487926">ടാസ്ക് മാനേജർ ഉപയോഗപ്പെടുത്തുക</translation> +<translation id="3422679037938588196">നിങ്ങളുടെ തിരയലിനായി മുമ്പത്തെ പൊരുത്തത്തിലേക്ക് പോവുക</translation> +<translation id="344577624355799426"><ph name="ALT" /> അല്ലെങ്കിൽ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">സൂം നില പുനഃസജ്ജീകരിക്കുക</translation> +<translation id="353037708190149633">നിങ്ങളുടെ നിലവിലെ വിൻഡോയിൽ തുറന്നിരിക്കുന്ന എല്ലാ പേജുകളും ബുക്കുമാർക്കുകളായി ഒരു പുതിയ ഫോൾഡറിൽ സംരക്ഷിക്കുക</translation> +<translation id="355103131818127604">പശ്ചാത്തലത്തിൽ പുതിയൊരു ടാബിൽ ലിങ്ക് തുറക്കുക</translation> <translation id="3649256019230929621">വിൻഡോ ചെറുതാക്കുക</translation> -<translation id="385051799172605136">പിന്നോട്ട്</translation> +<translation id="3668361878347172356">നിങ്ങളുടെ അവസാനത്തെ പ്രവൃത്തി വീണ്ടും ചെയ്യുക</translation> +<translation id="3720939646656082033">ഒരു പുതിയ ടാബിൽ ലിങ്ക് തുറക്കുകയും പുതിയ ടാബിലേക്ക് മാറുകയും ചെയ്യുക</translation> +<translation id="3725795051337497754">നിലവിലെ ടാബ് അവസാനിപ്പിക്കുക</translation> +<translation id="3751033133896282964">നിങ്ങളുടെ അവസാന പ്രവർത്തനം പഴയപടിയാക്കുക</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 മുതൽ 8 വരെ</translation> +<translation id="3837047332182291558">കീബോഡ് തെളിച്ചമുള്ളതാക്കുക (ബാക്ക്ലൈറ്റ് കീബോഡുകൾക്കായി മാത്രം)</translation> +<translation id="3976863468609830880">നിങ്ങളുടെ ഷെൽഫിലെ അവസാനത്തെ ചിഹ്നം ക്ലിക്ക് ചെയ്യുക</translation> +<translation id="4035482366624727273">പേജിലെ എല്ലാം തിരഞ്ഞെടുക്കുക</translation> +<translation id="4060703249685950734">നിങ്ങൾ അവസാനം അവസാനിപ്പിച്ച ടാബ് അല്ലെങ്കിൽ വിൻഡോ വീണ്ടും തുറക്കുക</translation> +<translation id="4090342722461256974">നിങ്ങൾ തുറക്കാൻ ആഗ്രഹിക്കുന്ന വിന്ഡോയിലേക്ക് എത്തുന്നത് വരെ <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> അമർത്തിപ്പിടിച്ച്, <ph name="TAB" /> ടാപ്പ് ചെയ്യുക, തുടർന്ന് സ്വതന്ത്രമാക്കുക.</translation> +<translation id="4092538597492297615">തിരഞ്ഞെടുത്ത ഉള്ളടക്കം ക്ലിപ്ബോർഡിലേയ്ക്ക് പകർത്തുക</translation> +<translation id="4123108089450197101">ലിങ്ക് ഒരു ബുക്ക്മാർക്കായി സംരക്ഷിക്കുക</translation> +<translation id="4141203561740478845">വിലാസ ബാർ ഉപയോഗിച്ച് വരി ഹൈലൈറ്റ് ചെയ്യുക</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> അല്ലെങ്കിൽ <ph name="ENTER" /></translation> +<translation id="4556221320735744018">കീബോഡ് കുറുക്കുവഴി സഹായി കാണുക</translation> +<translation id="4628718545549558538">സ്റ്റാറ്റസ് ഏരിയ തുറക്കുക (നിങ്ങളുടെ അക്കൗണ്ട് ചിത്രം ദൃശ്യമാകുന്ന സ്ഥലം)</translation> +<translation id="4642092649622328492">ഭാഗിക സ്ക്രീൻഷോട്ട് എടുക്കുക</translation> +<translation id="4725377341024374454">നിങ്ങളുടെ ഷെൽഫിലെ ഹൈലൈറ്റ് ചെയ്ത ബട്ടൺ തുറക്കുക</translation> +<translation id="4801989101741319327">അടുത്ത വാക്കിന്റെ അവസാനത്തിലേക്ക് നീങ്ങുക</translation> +<translation id="4916163929714267752">ഒരു പുതിയ വിൻഡോയിൽ ലിങ്ക് തുറക്കുക</translation> +<translation id="5034421018520995080">പേജിന്റെ മുകളിലേക്ക് പോവുക</translation> +<translation id="5042305953558921026">ചുരുക്കവിവരണ മോഡ് കീ</translation> +<translation id="5104462712192763270">നിങ്ങളുടെ നിലവിലെ പേജ് സംരക്ഷിക്കുക</translation> +<translation id="5121628974188116412">പേജിന്റെ താഴേയ്ക്ക് പോവുക</translation> +<translation id="5236674127086649162">കാഷെ ചെയ്ത ഉള്ളടക്കം ഉപയോഗിക്കാതെ നിങ്ങളുടെ നിലവിലെ പേജ് വീണ്ടും ലോഡ് ചെയ്യുക</translation> +<translation id="526651782186312376">വരിയുടെ തുടക്കത്തിൽ ടെക്സ്റ്റ് തിരഞ്ഞെടുക്കുക</translation> <translation id="5316716239522500219">മോണിറ്ററുകൾ മിറർ ചെയ്യുക</translation> +<translation id="5335199890994453201">DOM ഇൻസ്പെക്ടറെ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation> +<translation id="5541719484267030947">ടാബ് വലിച്ചിടുന്ന സമയത്ത്, <ph name="ESC" /> അമർത്തുക</translation> +<translation id="5554139136362089836">നിലവിലെ പേജ് തിരയുക</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> അമർത്തി, ഒരു ലിങ്ക് ക്ലിക്ക് ചെയ്യുക</translation> +<translation id="561814908794220892">പുതിയ ടാബിൽ വെബ്പേജ് തുറക്കുക</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> അല്ലെങ്കിൽ <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">ടാബിൽ ലിങ്ക് തുറക്കുക</translation> +<translation id="5757474750054631686">മങ്ങിയ കീബോഡ് (ബാക്ക്ലൈറ്റ് കീബോഡുകൾക്ക് മാത്രം)</translation> +<translation id="587531134027443617">മുൻ വാക്ക് ഇല്ലാതാക്കുക</translation> <translation id="5928303187149237472">സ്ക്രീൻ റെസല്യൂഷൻ മാറ്റുക</translation> <translation id="5975083100439434680">സൂം ഔട്ട്</translation> +<translation id="6011500873794669296">ഇനിപ്പറയുന്നതിനിടയ്ക്ക് ഫോക്കസ് മാറുക: സ്റ്റാറ്റസ് ഏരിയ (നിങ്ങളുടെ അക്കൗണ്ട് ചിത്രം ദൃശ്യമാകുന്ന സ്ഥലം) ലോഞ്ചർ വിലാസ ബാർ ബുക്ക്മാർക്ക് ബാർ (ദൃശ്യമാണെങ്കിൽ) ഡൗണ്ലോഡ് വിവരങ്ങളുടെ ബാര് തുറക്കുന്ന വെബ്പേജ് (ദൃശ്യമാണെങ്കിൽ)</translation> <translation id="6022924867608035986">തിരയൽ ബോക്സ് ടെക്സ്റ്റ് മായ്ക്കുക</translation> +<translation id="6045998054441862242">ഉയർന്ന ദൃശ്യ തീവ്രത മോഡ് ഓണാക്കുക</translation> +<translation id="6052614013050385269">ലിങ്കിൽ വലത് ക്ലിക്ക് ചെയ്യുക</translation> <translation id="6129953537138746214">സ്പെയ്സ്</translation> +<translation id="6143669479988153888">പേജിൽ സൂം ഇൻ ചെയ്യുക</translation> <translation id="6185696379715117369">Page up</translation> +<translation id="6228457605945141550">തെളിച്ചം കുറയ്ക്കുക</translation> +<translation id="6276708887952587684">പേജ് ഉറവിടം കാണുക</translation> +<translation id="6321940490215594447">ചരിത്ര പേജ് തുറക്കുക</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">വരിയുടെ അവസാനം ടെക്സ്റ്റ് തിരഞ്ഞെടുക്കുക</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> അല്ലെങ്കിൽ <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">നിങ്ങളുടെ ഷെൽഫിലെ 1-8 വരെയുള്ള ചിഹ്നങ്ങളിൽ ക്ലിക്ക് ചെയ്യുക</translation> +<translation id="6435207348963613811">നിങ്ങളുടെ ഷെൽഫിലെ മുമ്പത്തെ ഇനം ഹൈലൈറ്റ് ചെയ്യുക</translation> +<translation id="6445033640292336367">ടാബ് അതിന്റെ യഥാർത്ഥ സ്ഥാനത്തേക്ക് തിരികെ കൊണ്ടുവരിക</translation> +<translation id="649811797655257835">ഫയൽ തിരഞ്ഞെടുക്കുക, തുടർന്ന് <ph name="SPACE" /> അമർത്തുക</translation> +<translation id="6572206071785323178">നിങ്ങൾ സജ്ജീകരിച്ച കീബോഡ് ഭാഷകൾക്കിടയിൽ മാറുക. നിങ്ങളുടെ കീബോഡ് ഭാഷ എങ്ങനെ തിരഞ്ഞെടുക്കാം എന്ന് അറിയുക.</translation> +<translation id="6634456834225946400">ബുക്ക്മാര്ക്ക് ബാർ ഹൈലൈറ്റ് ചെയ്യുക (കാണിച്ചിട്ടുണ്ടെങ്കിൽ)</translation> +<translation id="666343722268997814">ഹൈലൈറ്റ് ചെയ്ത ഇനങ്ങൾക്കായി വലത്-ക്ലിക്ക് മെനു തുറക്കുക</translation> +<translation id="6671538777808758331">നിങ്ങളുടെ തിരയലിനായി അടുത്ത പൊരുത്തതിലേക്ക് പോവുക</translation> +<translation id="6690765639083431875">ഇടത് വശത്ത് ഒരു വിൻഡോ ഡോക്ക് ചെയ്യുക</translation> +<translation id="6692847073476874842">'ഫയലുകൾ' ആപ്പിൽ ഒരു ഫയൽ പ്രിവ്യൂ ചെയ്യുക</translation> <translation id="671928215901716392">സ്ക്രീൻ ലോക്കുചെയ്യുക</translation> <translation id="6727005317916125192">മുമ്പത്തെ പാൻ</translation> +<translation id="6740781404993465795">അടുത്ത വാക്ക് അല്ലെങ്കിൽ അക്ഷരം തിരഞ്ഞെടുക്കുക</translation> +<translation id="6760706756348334449">ശബ്ദം കുറയ്ക്കുക</translation> <translation id="6981982820502123353">ഉപയോഗസഹായി</translation> <translation id="7020813747703216897">പൊരുത്തമുള്ള ഫലങ്ങളൊന്നും കണ്ടെത്തിയില്ല</translation> <translation id="7025325401470358758">അടുത്ത പാൻ</translation> -<translation id="7272373489634936181">കുറുക്കുവഴികൾക്കായി തിരയുക</translation> +<translation id="7379254767514753910"><ph name="ALT" /> അല്ലെങ്കിൽ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">അടുത്ത അക്ഷരം ഇല്ലാതാക്കുക (കൈമാറ്റം ഇല്ലാതാക്കുക)</translation> +<translation id="766326951329901120">ക്ലിപ്ബോർഡിൽ നിന്നുള്ള ഉള്ളടക്കം സാധാരണ വാചകമായി ഒട്ടിക്കുക</translation> <translation id="7724603315864178912">മുറിക്കുക</translation> -<translation id="8004192919599017226">തിരയൽ ആരംഭിക്കുക...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="SPACE" /> അല്ലെങ്കിൽ <ph name="ENTER" /></translation> +<translation id="7787242579016742662">ബ്രൗസറിൽ ഒരു ഫയൽ തുറക്കുക</translation> +<translation id="7917881398263220094">നിങ്ങളുടെ നിലവിലെ പേജ് ലോഡ് ചെയ്യുന്നത് നിർത്തുക</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> അല്ലെങ്കിൽ <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ഡോക്യുമെന്റിന്റെ തുടക്കത്തിലേക്ക് പോവുക</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> അല്ലെങ്കിൽ <ph name="E" /></translation> +<translation id="8234414138295101081">സ്ക്രീൻ 90 ഡിഗ്രി തിരിക്കുക</translation> +<translation id="836869401750819675">ഡൗൺലോഡുകളുടെ പേജ് തുറക്കുക</translation> +<translation id="8388247778047144397">ടാബ് സ്ട്രിപ്പിലെ ശൂന്യമായ ഏരിയയിലേക്ക് ഒരു ലിങ്ക് വലിച്ചിടുക</translation> +<translation id="8389638407792712197">പുതിയ വിൻഡോ തുറക്കുക</translation> +<translation id="8429696719963529183">F കീകൾ ഉപയോഗിക്കുക (F1 മുതൽ F12 വരെ)</translation> +<translation id="85690795166292698">പുതിയ ടാബിൽ ലിങ്ക് തുറക്കുക</translation> +<translation id="8609384513243082612">പുതിയ ടാബ് തുറക്കുക</translation> +<translation id="8644639153978066712">'ഫയലുകൾ' ആപ്പിലെ അദൃശ്യമായ ഫയലുകൾ പ്രദർശിപ്പിക്കുക</translation> +<translation id="8709893667941082515">തിരയലിൽ വിലാസ ബാര് ഫോക്കസ് ചെയ്യുക</translation> +<translation id="8717459106217102612">മുൻ വാക്കോ അക്ഷരമോ തിരഞ്ഞെടുക്കുക</translation> +<translation id="8727232706774971183">നിങ്ങളുടെ അറിയിപ്പുകൾ കാണുക</translation> <translation id="88986195241502842">Page down</translation> <translation id="8903921497873541725">സൂം ഇന്</translation> <translation id="9179672198516322668">ജനപ്രിയ കുറുക്കുവഴികൾ</translation>
diff --git a/ash/components/strings/ash_components_strings_mr.xtb b/ash/components/strings/ash_components_strings_mr.xtb index 7fa54c5..47dd982 100644 --- a/ash/components/strings/ash_components_strings_mr.xtb +++ b/ash/components/strings/ash_components_strings_mr.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="mr"> +<translation id="104962181688258143">फायली अॅप उघडा</translation> +<translation id="1126871238933253947">तुम्ही आधी वापरत असलेल्या कीबोर्डवर स्विच करा.</translation> +<translation id="1195667586424773550">लिंक ड्रॅग करून टॅबच्या अॅड्रेस बारवर आणा</translation> +<translation id="1204450209689312104">एक नवीन विंडो गुप्त मोडमध्ये उघडा</translation> +<translation id="1299858300159559687">तुमचे हे पेज प्रिंट करा</translation> <translation id="1383876407941801731">शोधा</translation> +<translation id="1439252533104567537">नंबर दिलेल्या टॅबवर जा</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> किंवा <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">लाँचर</translation> +<translation id="152892567002884378">आवाज मोठा करा</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, नंतर <ph name="ESC" /></translation> +<translation id="1652741121070700329">>मागील शब्दाच्या प्रारंभावर हलवा</translation> +<translation id="1679841710523778799">उजळपणा वाढवा</translation> +<translation id="168356808214100546"><ph name="ALT" /> दाबा आणि धरून ठेवा, तुम्हाला उघडायच्या असलेल्या विंडोवर जाईपर्यंत <ph name="TAB" /> टॅप करा, त्यानंतर सोडा.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">अॅड्रेस बारमधील तुमच्या इनपुटमध्ये www. आणि .com जोडा, त्यानंतर पेज उघडा</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, त्यानंतर <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> किंवा <ph name="LEFT" /></translation> +<translation id="1996162290124031907">पुढील टॅबवर जा</translation> +<translation id="2010818616644390445">विंडोमधील अंतिम टॅबवर जा</translation> <translation id="2145908266289632567">मजकूर संपादन</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> एक पासून =</translation> +<translation id="2181097965834437145">बुकमार्क बार दाखवा किंवा लपवा</translation> +<translation id="2185166372312820725">आधीच्या टॅबवर जा</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> दाबा आणि एखाद्या लिंकवर क्लिक करा</translation> +<translation id="2424073332829844142">कॅप्स लॉक चालू करा आणि बंद करा</translation> +<translation id="2441202986792279177">विंडोंदरम्यान झटपट स्विच करा</translation> +<translation id="2478303094958140141">ChromeVox (वाचिक फीडबॅक) चालू किंवा बंद करा</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">वेब पेज खालच्या दिशेला स्क्रोल करा</translation> +<translation id="2568632782096378307">स्क्रीन रिझोल्युशन डिफॉल्टवर रीसेट करा</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, त्यानंतर <ph name="TAB" /> किंवा <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">बुकमार्क म्हणून तुमचे हे वेबपेज सेव्ह करा</translation> +<translation id="2750942583782703988">तुमचे हे पेज रीलोड करा</translation> +<translation id="2789868185375229787">पेजवर झूम आउट करा</translation> +<translation id="2804480015716812239"><ph name="ALT" /> दाबा आणि एखाद्या लिंकवर क्लिक करा</translation> +<translation id="2830827904629746450">एखादी विंडो उजवीकडे डॉक करा</translation> <translation id="2872353916818027657">प्राथमिक मॉनिटर स्वॅप करा</translation> +<translation id="2914313326123580426">डेव्हलपर टूल पॅनेल दाखवा किंवा लपवा</translation> +<translation id="292495055542441795">पूर्ण स्क्रीन टॉगल करा</translation> +<translation id="3084301071537457911">तुमच्या शेल्फवरील पुढील आयटम हायलाइट करा</translation> +<translation id="309173601632226815">तुमच्या शेल्फवरील लॉंचर बटण हायलाइट करा</translation> <translation id="3105917916468784889">स्क्रीनशॉट घ्या</translation> +<translation id="3118681365140644126">तुमच्या शेल्फवरील एका बटणावरील हायलाइट काढून टाका</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">अॅड्रेस बारवर फोकस करा</translation> +<translation id="3288816184963444640">ही विंडो बंद करा</translation> +<translation id="3356202203145076517">तुम्ही अलीकडे फारच कमी उघडलेली विंडो उघडा</translation> +<translation id="3407560819924487926">टास्क मॅनेजर वर आणा</translation> +<translation id="3422679037938588196">तुमच्या शोधाच्या आधीच्या जुळणीवर जा</translation> +<translation id="344577624355799426"><ph name="ALT" /> किंवा <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">झूम स्तर रीसेट करा</translation> +<translation id="353037708190149633">एका नवीन फोल्डरमध्ये बुकमार्क म्हणून तुमच्या या विंडोमधील उघडलेली सर्व पेज सेव्ह करा</translation> +<translation id="355103131818127604">बॅकग्राउंडला एका नवीन टॅबमध्ये लिंक उघडा</translation> <translation id="3649256019230929621">विंडो लहान करा</translation> -<translation id="385051799172605136">मागील</translation> +<translation id="3668361878347172356">तुमची याआधीची क्रिया पुन्हा करा</translation> +<translation id="3720939646656082033">लिंक एका नवीन टॅबमध्ये उघडा आणि नवीन टॅबवर स्विच करा</translation> +<translation id="3725795051337497754">हा टॅब बंद करा</translation> +<translation id="3751033133896282964">तुमची याआधीची क्रिया पूर्ववत करा</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> एक ते आठ</translation> +<translation id="3837047332182291558">कीबोर्ड उजळ करा (फक्त बॅकलिट कीबोर्डसाठी)</translation> +<translation id="3976863468609830880">तुमच्या शेल्फवरील शेवटच्या आयकनवर क्लिक करा</translation> +<translation id="4035482366624727273">पेजवरील प्रत्येक गोष्ट निवडा</translation> +<translation id="4060703249685950734">तुम्ही याआधी बंद केलेला टॅब किंवा विंडो पुन्हा उघडा</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> दाबा आणि धरून ठेवा, तुम्हाला उघडायची असलेल्या विंडोवर तुम्ही पोहोचेपर्यंत <ph name="TAB" /> वर टॅप करत राहा, मग सोडा.</translation> +<translation id="4092538597492297615">निवडलेला आशय क्लिपबोर्डवर कॉपी करा</translation> +<translation id="4123108089450197101">लिंक बुकमार्क म्हणून सेव्ह करा</translation> +<translation id="4141203561740478845">पंक्ती अॅड्रेस बारने हायलाइट करा</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> किंवा <ph name="ENTER" /></translation> +<translation id="4556221320735744018">कीबोर्ड शॉर्टकट मदतनीस पाहा</translation> +<translation id="4628718545549558538">स्थिती क्षेत्र (जेथे तुमच्या खात्यावरील फोटो दिसतो) उघडा</translation> +<translation id="4642092649622328492">अर्धा स्क्रीनशॉट घ्या</translation> +<translation id="4725377341024374454">तुमच्या शेल्फवरील हायलाइट केलेले बटण उघडा</translation> +<translation id="4801989101741319327">पुढील शब्दाच्या शेवटी हलवा</translation> +<translation id="4916163929714267752">लिंक एका नवीन विंडोमध्ये उघडा</translation> +<translation id="5034421018520995080">पेजच्या सर्वात वर जा</translation> +<translation id="5042305953558921026">पूर्वावलोकन मोड की</translation> +<translation id="5104462712192763270">तुमचे हे पेज सेव्ह करा</translation> +<translation id="5121628974188116412">पेजच्या तळाशी जा</translation> +<translation id="5236674127086649162">तुमचे हे पेज कॅशे केलेल्या आशयाशिवाय रीलोड करा</translation> +<translation id="526651782186312376">रेषेच्या सुरूवातीचा मजकूर निवडा</translation> <translation id="5316716239522500219">मॉनिटर मिरर करा</translation> +<translation id="5335199890994453201">DOM निरीक्षक दाखवा किंवा लपवा</translation> +<translation id="5541719484267030947">टॅब ड्रॅग करताना <ph name="ESC" /> दाबा</translation> +<translation id="5554139136362089836">सध्याचे पेज शोधा</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> दाबा आणि एखाद्या लिंकवर क्लिक करा</translation> +<translation id="561814908794220892">वेबपेज एखाद्या नवीन टॅबमध्ये उघडा</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> किंवा <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">लिंक टॅबमध्ये उघडा</translation> +<translation id="5757474750054631686">कीबोर्डचा प्रकाश मंद करा (फक्त बॅकलिट कीबोर्डसाठी)</translation> +<translation id="587531134027443617">आधीचा शब्द हटवा</translation> <translation id="5928303187149237472">स्क्रीन रिझोल्यूशन बदला</translation> <translation id="5975083100439434680">झूम कमी करा</translation> +<translation id="6011500873794669296">फोकसला स्थिती भाग (जेथे तुमच्या खात्यावरील फोटो दिसतो) लॉंचर अॅड्रेस बार, बुकमार्क बार (दिसत असल्यास), उघडलेले वेबपेज, डाउनलोड बार (दिसत असल्यास) च्या दरम्यान स्विच करा</translation> <translation id="6022924867608035986">शोध बॉक्स मजकूर साफ करा</translation> +<translation id="6045998054441862242">उच्च तीव्रता मोड चालू करा</translation> +<translation id="6052614013050385269">एखाद्या लिंकवर राइट क्लिक करा</translation> <translation id="6129953537138746214">जागा</translation> +<translation id="6143669479988153888">पेजवर झूम इन करा</translation> <translation id="6185696379715117369">पृष्ठ वर</translation> +<translation id="6228457605945141550">उजळपणा कमी करा</translation> +<translation id="6276708887952587684">पेज स्त्रोत पहा</translation> +<translation id="6321940490215594447">इतिहास पेज उघडा</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">रेषेच्या शेवटी असलेला मजकूर निवडा</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> किंवा <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">तुमच्या शेल्फवरील १-८ आयकनवर क्लिक करा</translation> +<translation id="6435207348963613811">तुमच्या शेल्फवरील आधीचे आयटम हायलाइट करा</translation> +<translation id="6445033640292336367">टॅबला त्याच्या मूळ स्थितीत परत न्या</translation> +<translation id="649811797655257835">फाइल निवडा, त्यानंतर <ph name="SPACE" /> दाबा</translation> +<translation id="6572206071785323178">तुम्ही सेट केलेल्या भाषांदरम्यान स्विच करा. तुमच्या कीबोर्डची भाषा कशी निवडायची ते शिकून घ्या.</translation> +<translation id="6634456834225946400">बुकमार्क बार (दाखवला असल्यास) हायलाइट करा</translation> +<translation id="666343722268997814">हायलाइट केलेल्या आयटमसाठी राइट क्लिक मेनू उघडा</translation> +<translation id="6671538777808758331">तुमच्या शोधाला साजेशा पुढील जुळणीवर जा</translation> +<translation id="6690765639083431875">एखाद्या विंडोला डावीकडे डॉक करा</translation> +<translation id="6692847073476874842">फायली अॅपमध्ये एखाद्या फाइलचे पूर्वावलोकन करा</translation> <translation id="671928215901716392">लॉक स्क्रीन</translation> <translation id="6727005317916125192">मागील उपखंड</translation> +<translation id="6740781404993465795">पुढील शब्द किंवा अक्षर निवडा</translation> +<translation id="6760706756348334449">आवाज कमी करा</translation> <translation id="6981982820502123353">प्रवेशयोग्यता</translation> <translation id="7020813747703216897">जुळणारे परिणाम आढळले नाहीत</translation> <translation id="7025325401470358758">पुढील उपखंड</translation> -<translation id="7272373489634936181">शॉर्टकट शोधा</translation> +<translation id="7379254767514753910"><ph name="ALT" /> किंवा <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">पुढील अक्षर हटवा (फॉरवर्ड करा हटवा)</translation> +<translation id="766326951329901120">आशय एक साधा मजकूर म्हणून क्लिपबोर्डवरून पेस्ट करा</translation> <translation id="7724603315864178912">कट करा</translation> -<translation id="8004192919599017226">शोध सुरू करा...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, त्यानंतर <ph name="SPACE" /> किंवा <ph name="ENTER" /></translation> +<translation id="7787242579016742662">ब्राउझरमध्ये एक फाइल उघडा</translation> +<translation id="7917881398263220094">तुमचे हे पेज लोड करणे थांबवा</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> किंवा <ph name="MINUS" /></translation> +<translation id="8130528849632411619">दस्तऐवजाच्या सुरूवातीला जा</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> किंवा <ph name="E" /></translation> +<translation id="8234414138295101081">स्क्रीन ९० अंशात फिरवा</translation> +<translation id="836869401750819675">डाउनलोड पेज उघडा</translation> +<translation id="8388247778047144397">टॅब स्ट्रिपवरील एका रिक्त भागावर एखादी लिंक ड्रॅग करा</translation> +<translation id="8389638407792712197">नवीन विंडो उघडा</translation> +<translation id="8429696719963529183">F की वापरा (F1 ते F12)</translation> +<translation id="85690795166292698">लिंक एका नवीन टॅबमध्ये उघडा</translation> +<translation id="8609384513243082612">नवीन टॅब उघडा</translation> +<translation id="8644639153978066712">फायली अॅप मध्ये लपलेल्या फायली प्रदर्शित करा</translation> +<translation id="8709893667941082515">अॅड्रेस बारला शोधावर फोकस करा</translation> +<translation id="8717459106217102612">आधीचा शब्द किंवा अक्षर निवडा</translation> +<translation id="8727232706774971183">तुमच्या सूचना पाहा</translation> <translation id="88986195241502842">पृष्ठ खाली</translation> <translation id="8903921497873541725">झूम वाढवा</translation> <translation id="9179672198516322668">लोकप्रिय शॉर्टकट</translation>
diff --git a/ash/components/strings/ash_components_strings_ms.xtb b/ash/components/strings/ash_components_strings_ms.xtb index 6e3a52e..5d683b5 100644 --- a/ash/components/strings/ash_components_strings_ms.xtb +++ b/ash/components/strings/ash_components_strings_ms.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ms"> +<translation id="104962181688258143">Buka apl Fail</translation> +<translation id="1126871238933253947">Bertukar kepada bahasa papan kekunci yang anda gunakan sebelumnya.</translation> +<translation id="1195667586424773550">Seret pautan ke bar alamat tab</translation> +<translation id="1204450209689312104">Buka tetingkap baharu dalam mod inkognito</translation> +<translation id="1299858300159559687">Cetak halaman semasa anda</translation> <translation id="1383876407941801731">Carian</translation> +<translation id="1439252533104567537">Pergi ke tab bernombor</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> atau <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Pelancar</translation> +<translation id="152892567002884378">Tambah kelantangan</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kemudian <ph name="ESC" /></translation> +<translation id="1652741121070700329">Alihkan ke permulaan perkataan sebelumnya</translation> +<translation id="1679841710523778799">Tambahkan kecerahan</translation> +<translation id="168356808214100546">Tekan dan tahan <ph name="ALT" />, ketik <ph name="TAB" /> sehingga anda sampai ke tetingkap yang hendak dibuka, kemudian lepaskan.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Tambahkan www. dan .com pada input dalam bar alamat, kemudian buka halaman</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kemudian <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> atau <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Pergi ke tab seterusnya</translation> +<translation id="2010818616644390445">Pergi ke tab terakhir dalam tetingkap</translation> <translation id="2145908266289632567">Suntingan Teks</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 hingga =</translation> +<translation id="2181097965834437145">Tunjukkan atau sembunyikan bar penanda halaman</translation> +<translation id="2185166372312820725">Pergi ke tab sebelumnya</translation> +<translation id="2194790690264064655">Tekan <ph name="CTRL" /> dan klik pautan</translation> +<translation id="2424073332829844142">Hidupkan dan matikan Kekunci Caps Lock</translation> +<translation id="2441202986792279177">Beralih antara tetingkap dengan cepat</translation> +<translation id="2478303094958140141">Hidupkan atau matikan ChromeVox (maklum balas yang dituturkan)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Tatal ke bawah halaman web</translation> +<translation id="2568632782096378307">Tetapkan semula peleraian skrin kepada nilai lalai</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kemudian <ph name="TAB" /> atau <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Simpan halaman web semasa anda sebagai penanda halaman</translation> +<translation id="2750942583782703988">Muat semula halaman semasa anda</translation> +<translation id="2789868185375229787">Zum keluar pada halaman</translation> +<translation id="2804480015716812239">Tekan <ph name="ALT" /> dan klik pautan</translation> +<translation id="2830827904629746450">Dokkan tetingkap di sebelah kanan</translation> <translation id="2872353916818027657">Tukar monitor utama</translation> +<translation id="2914313326123580426">Tunjukkan atau sembunyikan panel Alat Pembangun</translation> +<translation id="292495055542441795">Togol skrin penuh</translation> +<translation id="3084301071537457911">Serlahkan item seterusnya pada rak anda</translation> +<translation id="309173601632226815">Serlahkan butang pelancar pada rak anda</translation> <translation id="3105917916468784889">Ambil tangkapan skrin</translation> +<translation id="3118681365140644126">Buang serlahan daripada butang pada rak anda</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Tumpukan bar alamat</translation> +<translation id="3288816184963444640">Tutup tetingkap semasa</translation> +<translation id="3356202203145076517">Buka tetingkap yang paling lama tidak digunakan</translation> +<translation id="3407560819924487926">Paparkan pengurus tugas</translation> +<translation id="3422679037938588196">Pergi ke padanan sebelumnya untuk carian anda</translation> +<translation id="344577624355799426"><ph name="ALT" /> atau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Tetapkan semula paras zum</translation> +<translation id="353037708190149633">Simpan semua halaman terbuka dalam tetingkap semasa anda sebagai penanda halaman dalam folder baharu</translation> +<translation id="355103131818127604">Buka pautan dalam tab baharu di latar belakang</translation> <translation id="3649256019230929621">Minimumkan tetingkap</translation> -<translation id="385051799172605136">Kembali</translation> +<translation id="3668361878347172356">Buat semula tindakan terakhir anda</translation> +<translation id="3720939646656082033">Buka pautan dalam tab baharu dan beralih ke tab yang baharu</translation> +<translation id="3725795051337497754">Tutup tab semasa</translation> +<translation id="3751033133896282964">Buat asal tindakan terakhir anda</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 hingga 8</translation> +<translation id="3837047332182291558">Jadikan papan kekunci lebih cerah (untuk papan kekunci bercahaya belakang sahaja)</translation> +<translation id="3976863468609830880">Klik ikon terakhir pada rak anda</translation> +<translation id="4035482366624727273">Pilih segala-galanya pada halaman</translation> +<translation id="4060703249685950734">Buka semula tab atau tetingkap terakhir yang anda tutup</translation> +<translation id="4090342722461256974">Tekan dan tahan <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, ketik <ph name="TAB" /> sehingga anda sampai ke tetingkap yang hendak dibuka, kemudian lepaskan.</translation> +<translation id="4092538597492297615">Salin kandungan yang dipilih ke papan keratan</translation> +<translation id="4123108089450197101">Simpan pautan sebagai penanda halaman</translation> +<translation id="4141203561740478845">Serlahkan baris dengan bar alamat</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> atau <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Lihat Pembantu Pintasan Papan Kekunci</translation> +<translation id="4628718545549558538">Buka area status (tempat gambar akaun anda dipaparkan)</translation> +<translation id="4642092649622328492">Ambil tangkapan skrin separa</translation> +<translation id="4725377341024374454">Buka butang yang diserlahkan pada rak anda</translation> +<translation id="4801989101741319327">Alihkan ke akhir perkataan seterusnya</translation> +<translation id="4916163929714267752">Buka pautan dalam tetingkap baharu</translation> +<translation id="5034421018520995080">Pergi ke bahagian atas halaman</translation> +<translation id="5042305953558921026">Kekunci mod ikhtisar</translation> +<translation id="5104462712192763270">Simpan halaman semasa anda</translation> +<translation id="5121628974188116412">Pergi ke bahagian bawah halaman</translation> +<translation id="5236674127086649162">Muat semula halaman semasa anda tanpa menggunakan kandungan cache</translation> +<translation id="526651782186312376">Pilih teks di permulaan baris</translation> <translation id="5316716239522500219">Cerminkan monitor</translation> +<translation id="5335199890994453201">Tunjukkan atau sembunyikan Inspektor DOM</translation> +<translation id="5541719484267030947">Tekan <ph name="ESC" /> sambil menyeret tab.</translation> +<translation id="5554139136362089836">Cari di halaman semasa</translation> +<translation id="5563050856984839829">Tekan <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> dan klik pautan</translation> +<translation id="561814908794220892">Buka halaman web dalam tab baharu</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> atau <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Buka pautan dalam tab</translation> +<translation id="5757474750054631686">Malapkan papan kekunci (untuk papan kekunci bercahaya belakang sahaja)</translation> +<translation id="587531134027443617">Padamkan perkataan sebelumnya</translation> <translation id="5928303187149237472">Tukar peleraian paparan</translation> <translation id="5975083100439434680">Zum keluar</translation> +<translation id="6011500873794669296">Tukar fokus antara: Area status (tempat gambar akaun anda dipaparkan) bar Alamat Pelancar bar Penanda Halaman (jika kelihatan) Halaman web yang membuka bar Muat Turun (jika kelihatan)</translation> <translation id="6022924867608035986">Kosongkan teks kotak carian</translation> +<translation id="6045998054441862242">Hidupkan mod kontras tinggi</translation> +<translation id="6052614013050385269">Klik kanan pautan</translation> <translation id="6129953537138746214">Ruang</translation> +<translation id="6143669479988153888">Zum masuk pada halaman</translation> <translation id="6185696379715117369">Halaman atas</translation> +<translation id="6228457605945141550">Kurangkan kecerahan</translation> +<translation id="6276708887952587684">Lihat sumber halaman</translation> +<translation id="6321940490215594447">Buka halaman Sejarah</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Pilih teks di penghujung baris</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> atau <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klik ikon 1-8 pada rak anda</translation> +<translation id="6435207348963613811">Serlahkan item sebelumnya pada rak anda</translation> +<translation id="6445033640292336367">Kembalikan tab ke kedudukan asal</translation> +<translation id="649811797655257835">Pilih fail, kemudian tekan <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Bertukar antara bahasa papan kekunci yang telah anda tetapkan. Ketahui cara memilih bahasa papan kekunci anda.</translation> +<translation id="6634456834225946400">Serlahkan bar penanda halaman (jika ditunjukkan)</translation> +<translation id="666343722268997814">Buka menu klik kanan untuk item yang diserlahkan</translation> +<translation id="6671538777808758331">Pergi ke padanan seterusnya untuk carian anda</translation> +<translation id="6690765639083431875">Dokkan tetingkap di sebelah kiri</translation> +<translation id="6692847073476874842">Pratonton fail dalam apl Fail</translation> <translation id="671928215901716392">Kunci skrin</translation> <translation id="6727005317916125192">Anak tetingkap sebelumnya</translation> +<translation id="6740781404993465795">Pilih perkataan atau huruf seterusnya</translation> +<translation id="6760706756348334449">Kurangkan kelantangan</translation> <translation id="6981982820502123353">Kebolehcapaian</translation> <translation id="7020813747703216897">Tiada hasil yang sepadan ditemui</translation> <translation id="7025325401470358758">Anak tetingkap seterusnya</translation> -<translation id="7272373489634936181">Cari pintasan</translation> +<translation id="7379254767514753910"><ph name="ALT" /> atau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Padamkan huruf seterusnya (memadam ke hadapan)</translation> +<translation id="766326951329901120">Tampal kandungan dari papan keratan sebagai teks biasa</translation> <translation id="7724603315864178912">Potong</translation> -<translation id="8004192919599017226">Mulakan carian...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kemudian <ph name="SPACE" /> atau <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Buka fail dalam penyemak imbas</translation> +<translation id="7917881398263220094">Hentikan pemuatan halaman semasa anda</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> atau <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Pergi ke bahagian permulaan dokumen</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> atau <ph name="E" /></translation> +<translation id="8234414138295101081">Putar skrin 90 darjah</translation> +<translation id="836869401750819675">Buka halaman Muat Turun</translation> +<translation id="8388247778047144397">Seret pautan ke bahagian kosong pada jalur tab</translation> +<translation id="8389638407792712197">Buka tetingkap baharu</translation> +<translation id="8429696719963529183">Gunakan kekunci F (F1 hingga F12)</translation> +<translation id="85690795166292698">Buka pautan dalam tab baharu</translation> +<translation id="8609384513243082612">Buka tab baharu</translation> +<translation id="8644639153978066712">Paparkan fail tersembunyi dalam apl Fail</translation> +<translation id="8709893667941082515">Fokus bar alamat atas carian</translation> +<translation id="8717459106217102612">Pilih perkataan atau huruf sebelumnya</translation> +<translation id="8727232706774971183">Lihat pemberitahuan anda</translation> <translation id="88986195241502842">Halaman bawah</translation> <translation id="8903921497873541725">Zum masuk</translation> <translation id="9179672198516322668">Pintasan Popular</translation>
diff --git a/ash/components/strings/ash_components_strings_nl.xtb b/ash/components/strings/ash_components_strings_nl.xtb index 230ad23..cd4e3425 100644 --- a/ash/components/strings/ash_components_strings_nl.xtb +++ b/ash/components/strings/ash_components_strings_nl.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="nl"> +<translation id="104962181688258143">De app Bestanden openen</translation> +<translation id="1126871238933253947">Schakelen tussen de eerdere toetsenbordtalen die je hebt gebruikt.</translation> +<translation id="1195667586424773550">Sleep de link naar de adresbalk van het tabblad</translation> +<translation id="1204450209689312104">Een nieuw venster openen in de incognitomodus</translation> +<translation id="1299858300159559687">De huidige pagina afdrukken</translation> <translation id="1383876407941801731">Zoeken</translation> +<translation id="1439252533104567537">Naar genummerd tabblad gaan</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> of <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Launcher</translation> +<translation id="152892567002884378">Volume omhoog</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, en dan <ph name="ESC" /></translation> +<translation id="1652741121070700329">Naar het begin van het vorige woord gaan</translation> +<translation id="1679841710523778799">Helderheid verhogen</translation> +<translation id="168356808214100546">Houd <ph name="ALT" /> ingedrukt en tik op <ph name="TAB" /> totdat het venster verschijnt dat je wilt openen. Laat de toetsen vervolgens los.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">www. en .com toevoegen aan je invoer in de adresbalk en de pagina vervolgens openen</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, en dan <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> of <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Naar het volgende tabblad gaan</translation> +<translation id="2010818616644390445">Naar het laatste tabblad in het venster gaan</translation> <translation id="2145908266289632567">Tekst bewerken</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 tot en met =</translation> +<translation id="2181097965834437145">De bladwijzerbalk weergeven of verbergen</translation> +<translation id="2185166372312820725">Naar het vorige tabblad gaan</translation> +<translation id="2194790690264064655">Druk op <ph name="CTRL" /> en klik op een link</translation> +<translation id="2424073332829844142">Caps Lock in- en uitschakelen</translation> +<translation id="2441202986792279177">Snel schakelen tussen vensters</translation> +<translation id="2478303094958140141">ChromeVox (gesproken feedback) in- of uitschakelen</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Omlaag bladeren op de webpagina</translation> +<translation id="2568632782096378307">Schermresolutie resetten naar standaardinstellingen</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, en dan <ph name="TAB" /> of <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">De huidige webpagina als bladwijzer opslaan</translation> +<translation id="2750942583782703988">De huidige pagina opnieuw laden</translation> +<translation id="2789868185375229787">Uitzoomen op de pagina</translation> +<translation id="2804480015716812239">Druk op <ph name="ALT" /> en klik op een link</translation> +<translation id="2830827904629746450">Een venster aan de rechterkant docken</translation> <translation id="2872353916818027657">Primaire monitor omwisselen</translation> +<translation id="2914313326123580426">Het deelvenster 'Hulpprogramma's voor ontwikkelaars' weergeven of verbergen</translation> +<translation id="292495055542441795">Volledig scherm in-/uitschakelen</translation> +<translation id="3084301071537457911">Het volgende item op de plank markeren</translation> +<translation id="309173601632226815">De Launcher-knop op de plank markeren</translation> <translation id="3105917916468784889">Screenshot maken</translation> +<translation id="3118681365140644126">Een knop op de plank niet langer markeren</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Adresbalk activeren</translation> +<translation id="3288816184963444640">Het huidige venster sluiten</translation> +<translation id="3356202203145076517">Het venster openen dat je het langst geleden hebt gebruikt</translation> +<translation id="3407560819924487926">Taakbeheer weergeven</translation> +<translation id="3422679037938588196">Naar de vorige term gaan die overeenkomt met je zoekopdracht</translation> +<translation id="344577624355799426"><ph name="ALT" /> of <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Zoomniveau opnieuw instellen</translation> +<translation id="353037708190149633">Alle geopende pagina's in je huidige venster als bladwijzers opslaan in een nieuwe map</translation> +<translation id="355103131818127604">De link openen op een nieuw tabblad op de achtergrond</translation> <translation id="3649256019230929621">Venster minimaliseren</translation> -<translation id="385051799172605136">Vorige</translation> +<translation id="3668361878347172356">De laatste actie opnieuw uitvoeren</translation> +<translation id="3720939646656082033">De link openen op een nieuw tabblad en naar het nieuwe tabblad schakelen</translation> +<translation id="3725795051337497754">Het huidige tabblad sluiten</translation> +<translation id="3751033133896282964">De laatst uitgevoerde actie ongedaan maken</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 tot en met 8</translation> +<translation id="3837047332182291558">Toetsenbord helderder maken (alleen voor toetsenborden met achtergrondverlichting)</translation> +<translation id="3976863468609830880">Klikken op het laatste pictogram op de plank</translation> +<translation id="4035482366624727273">Alles op de pagina selecteren</translation> +<translation id="4060703249685950734">Het laatste tabblad of venster dat je hebt gesloten, opnieuw openen</translation> +<translation id="4090342722461256974">Houd <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ingedrukt en tik op <ph name="TAB" /> totdat het venster verschijnt dat je wilt openen. Laat de toetsen vervolgens los.</translation> +<translation id="4092538597492297615">Geselecteerde content kopiëren naar het klembord</translation> +<translation id="4123108089450197101">De link opslaan als bladwijzer</translation> +<translation id="4141203561740478845">De rij met de adresbalk markeren</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> of <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Help voor sneltoetsen openen</translation> +<translation id="4628718545549558538">Het statusgedeelte openen (waar je accountafbeelding wordt weergegeven)</translation> +<translation id="4642092649622328492">Gedeeltelijk screenshot maken</translation> +<translation id="4725377341024374454">De gemarkeerde knop op je plank openen</translation> +<translation id="4801989101741319327">Naar het eind van het volgende woord gaan</translation> +<translation id="4916163929714267752">De link openen in een nieuw venster</translation> +<translation id="5034421018520995080">Naar bovenkant van pagina gaan</translation> +<translation id="5042305953558921026">Toets voor de overzichtsmodus</translation> +<translation id="5104462712192763270">De huidige pagina opslaan</translation> +<translation id="5121628974188116412">Naar onderkant van pagina gaan</translation> +<translation id="5236674127086649162">De huidige pagina opnieuw laden en content in het cachegeheugen negeren</translation> +<translation id="526651782186312376">Tekst tot het begin van de regel selecteren</translation> <translation id="5316716239522500219">Monitoren spiegelen</translation> +<translation id="5335199890994453201">De DOM Inspector weergeven of verbergen</translation> +<translation id="5541719484267030947">Druk op <ph name="ESC" /> tijdens het slepen van het tabblad</translation> +<translation id="5554139136362089836">Zoeken op de huidige pagina</translation> +<translation id="5563050856984839829">Druk op <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> en klik op een link</translation> +<translation id="561814908794220892">De webpagina openen op een nieuw tabblad</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> of <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">De link openen op het tabblad</translation> +<translation id="5757474750054631686">Toetsenbord dimmen (alleen voor toetsenborden met achtergrondverlichting)</translation> +<translation id="587531134027443617">Het vorige woord verwijderen</translation> <translation id="5928303187149237472">Schermresolutie wijzigen</translation> <translation id="5975083100439434680">Uitzoomen</translation> +<translation id="6011500873794669296">Focus schakelen tussen: Statusgedeelte (waar je accountafbeelding wordt weergegeven) Launcher Adresbalk Bladwijzerbalk (indien zichtbaar) De geopende webpagina Downloadbalk (indien zichtbaar)</translation> <translation id="6022924867608035986">Tekst in zoekvak wissen</translation> +<translation id="6045998054441862242">Modus voor hoog contrast inschakelen</translation> +<translation id="6052614013050385269">Rechtsklikken op een link</translation> <translation id="6129953537138746214">Spatie</translation> +<translation id="6143669479988153888">Inzoomen op de pagina</translation> <translation id="6185696379715117369">Page Up</translation> +<translation id="6228457605945141550">Helderheid verlagen</translation> +<translation id="6276708887952587684">Paginabron weergeven</translation> +<translation id="6321940490215594447">De pagina Geschiedenis openen</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Tekst tot het einde van de regel selecteren</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> of <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klikken op pictogram 1-8 op de plank</translation> +<translation id="6435207348963613811">Het vorige item op de plank markeren</translation> +<translation id="6445033640292336367">Het tabblad terugzetten op zijn oorspronkelijke positie</translation> +<translation id="649811797655257835">Selecteer het bestand en druk op <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Schakelen tussen de toetsenbordtalen die je hebt ingesteld. Meer informatie over hoe je de toetsenbordtaal selecteert.</translation> +<translation id="6634456834225946400">De bladwijzerbalk markeren (indien weergegeven)</translation> +<translation id="666343722268997814">Het menu dat met de rechtermuisknop worden geopend, openen voor het gemarkeerde item</translation> +<translation id="6671538777808758331">Naar de volgende term gaan die overeenkomt met je zoekopdracht</translation> +<translation id="6690765639083431875">Een venster aan de linkerkant docken</translation> +<translation id="6692847073476874842">Een voorbeeld van een bestand weergeven in de app Bestanden</translation> <translation id="671928215901716392">Scherm vergrendelen</translation> <translation id="6727005317916125192">Vorig venster</translation> +<translation id="6740781404993465795">Het volgende woord of de volgende letter selecteren</translation> +<translation id="6760706756348334449">Volume omlaag</translation> <translation id="6981982820502123353">Toegankelijkheid</translation> <translation id="7020813747703216897">Geen overeenkomende resultaten gevonden</translation> <translation id="7025325401470358758">Volgend deelvenster</translation> -<translation id="7272373489634936181">Zoeken naar sneltoetsen</translation> +<translation id="7379254767514753910"><ph name="ALT" /> of <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">De volgende letter verwijderen (vooruit verwijderen)</translation> +<translation id="766326951329901120">Content vanaf het klembord plakken als platte tekst</translation> <translation id="7724603315864178912">Knip</translation> -<translation id="8004192919599017226">Zoeken starten...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, en dan <ph name="SPACE" /> of <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Een bestand openen in de browser</translation> +<translation id="7917881398263220094">Het laden van de huidige pagina stoppen</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> of <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Naar het begin van het document gaan</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> of <ph name="E" /></translation> +<translation id="8234414138295101081">Scherm 90 graden draaien</translation> +<translation id="836869401750819675">De pagina Downloads openen</translation> +<translation id="8388247778047144397">Sleep de link naar een blanco gedeelte van de tabbladstrook</translation> +<translation id="8389638407792712197">Nieuw venster openen</translation> +<translation id="8429696719963529183">De F-toetsen gebruiken (F1 tot en met F12)</translation> +<translation id="85690795166292698">De link openen op een nieuw tabblad</translation> +<translation id="8609384513243082612">Nieuw tabblad openen</translation> +<translation id="8644639153978066712">Verborgen bestanden in de app Bestanden weergeven</translation> +<translation id="8709893667941082515">Adresbalk activeren voor zoeken</translation> +<translation id="8717459106217102612">Het vorige woord of de vorige letter selecteren</translation> +<translation id="8727232706774971183">Je meldingen bekijken</translation> <translation id="88986195241502842">Page Down</translation> <translation id="8903921497873541725">Inzoomen</translation> <translation id="9179672198516322668">Populaire sneltoetsen</translation>
diff --git a/ash/components/strings/ash_components_strings_no.xtb b/ash/components/strings/ash_components_strings_no.xtb index 3097ee9..8780dfe96 100644 --- a/ash/components/strings/ash_components_strings_no.xtb +++ b/ash/components/strings/ash_components_strings_no.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="no"> +<translation id="104962181688258143">Åpne Filer-appen</translation> +<translation id="1126871238933253947">Bytt til det forrige tastaturspråket du brukte.</translation> +<translation id="1195667586424773550">Dra linken til adressefeltet i fanen</translation> +<translation id="1204450209689312104">Åpne et nytt vindu i inkognitomodus</translation> +<translation id="1299858300159559687">Skriv ut den aktive siden</translation> <translation id="1383876407941801731">Søk</translation> +<translation id="1439252533104567537">Gå til en nummerert fane</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> eller <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Appvelger</translation> +<translation id="152892567002884378">Volum opp</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og så <ph name="ESC" /></translation> +<translation id="1652741121070700329">Gå til begynnelsen av forrige ord</translation> +<translation id="1679841710523778799">Skru opp lysstyrken</translation> +<translation id="168356808214100546">Trykk og hold på <ph name="ALT" />, trykk på <ph name="TAB" /> til du kommer til vinduet du vil åpne, og slipp tastene.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Legg til www. og .com i det du har skrevet i adressefeltet, og åpne siden</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og så <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> eller <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Gå til neste fane</translation> +<translation id="2010818616644390445">Gå til den siste fanen i vinduet</translation> <translation id="2145908266289632567">Tekstredigering</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 til og med =</translation> +<translation id="2181097965834437145">Vis eller skjul bokmerkeraden</translation> +<translation id="2185166372312820725">Gå til forrige fane</translation> +<translation id="2194790690264064655">Trykk på <ph name="CTRL" /> og klikk på en link</translation> +<translation id="2424073332829844142">Slå Caps Lock av og på</translation> +<translation id="2441202986792279177">Bytt raskt mellom vinduer</translation> +<translation id="2478303094958140141">Slå ChromeVox (taletilbakemelding) på eller av</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Rull ned på nettsiden</translation> +<translation id="2568632782096378307">Tilbakestill skjermoppløsningen til standard</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og så <ph name="TAB" /> eller <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Lagre den aktive nettsiden som et bokmerke</translation> +<translation id="2750942583782703988">Last inn den aktive siden på nytt</translation> +<translation id="2789868185375229787">Zoom ut på siden</translation> +<translation id="2804480015716812239">Trykk på <ph name="ALT" /> og klikk på en link</translation> +<translation id="2830827904629746450">Dokk et vindu til høyre</translation> <translation id="2872353916818027657">Bytt hovedskjerm</translation> +<translation id="2914313326123580426">Vis eller skjul panelet for utviklerverktøy</translation> +<translation id="292495055542441795">Slå av/på fullskjerm</translation> +<translation id="3084301071537457911">Fremhev neste element på hyllen</translation> +<translation id="309173601632226815">Fremhev knappen for appoversikten på hyllen</translation> <translation id="3105917916468784889">Ta skjermdump</translation> +<translation id="3118681365140644126">Fjern fremhevingen av en knapp på hyllen</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokuser adressefelt</translation> +<translation id="3288816184963444640">Lukk det aktive vinduet</translation> +<translation id="3356202203145076517">Åpne det siste vinduet du brukte</translation> +<translation id="3407560819924487926">Hent frem oppgavebehandlingen</translation> +<translation id="3422679037938588196">Gå til det forrige treffet for søket</translation> +<translation id="344577624355799426"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Tilbakestill zoomnivået</translation> +<translation id="353037708190149633">Lagre alle åpne sider i det aktive vinduet som bokmerker i en ny mappe</translation> +<translation id="355103131818127604">Åpne linken i en ny fane i bakgrunnen</translation> <translation id="3649256019230929621">Minimerer vinduet</translation> -<translation id="385051799172605136">Tilbake</translation> +<translation id="3668361878347172356">Utfør forrige handling likevel</translation> +<translation id="3720939646656082033">Åpne linken i en ny fane, og bytt til den nye fanen</translation> +<translation id="3725795051337497754">Lukk den aktive fanen</translation> +<translation id="3751033133896282964">Angre forrige handling</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 til og med 8</translation> +<translation id="3837047332182291558">Øk lysstyrken på tastaturlyset (bare for tastaturer med bakgrunnslys)</translation> +<translation id="3976863468609830880">Klikk på det siste ikonet på hyllen</translation> +<translation id="4035482366624727273">Merk alt på siden</translation> +<translation id="4060703249685950734">Åpne den siste fanen eller det siste vinduet du lukket, på nytt</translation> +<translation id="4090342722461256974">Trykk og hold på <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, trykk på <ph name="TAB" /> til du kommer til vinduet du vil åpne, og slipp tastene.</translation> +<translation id="4092538597492297615">Kopiér det merkede innholdet til utklippstavlen</translation> +<translation id="4123108089450197101">Lagre linken som et bokmerke</translation> +<translation id="4141203561740478845">Fremhev raden med adressefeltet</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> eller <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Se hurtigstasthjelpen</translation> +<translation id="4628718545549558538">Åpne statusfeltet (der du ser kontobildet ditt)</translation> +<translation id="4642092649622328492">Ta en delvis skjermdump</translation> +<translation id="4725377341024374454">Åpne knappen som er fremhevet på hyllen</translation> +<translation id="4801989101741319327">Flytt til slutten av neste ord</translation> +<translation id="4916163929714267752">Åpne linken i et nytt vindu</translation> +<translation id="5034421018520995080">Gå til toppen av siden</translation> +<translation id="5042305953558921026">Tast for oversiktsmodus</translation> +<translation id="5104462712192763270">Lagre den aktive siden</translation> +<translation id="5121628974188116412">Gå til bunnen av siden</translation> +<translation id="5236674127086649162">Last inn den aktive siden uten å bruke bufret innhold</translation> +<translation id="526651782186312376">Merk teksten til begynnelsen av linjen</translation> <translation id="5316716239522500219">Speil skjermer</translation> +<translation id="5335199890994453201">Vis eller skjul DOM-inspektøren</translation> +<translation id="5541719484267030947">Trykk på <ph name="ESC" /> mens du drar fanen</translation> +<translation id="5554139136362089836">Søk på den aktive siden</translation> +<translation id="5563050856984839829">Trykk på <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> og klikk på en link</translation> +<translation id="561814908794220892">Åpne nettsiden i en ny fane</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> eller <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Åpne linken i fanen</translation> +<translation id="5757474750054631686">Reduser lysstyrken på tastaturlyset (bare for tastaturer med bakgrunnslys)</translation> +<translation id="587531134027443617">Slett forrige ord</translation> <translation id="5928303187149237472">Endre skjermoppløsningen</translation> <translation id="5975083100439434680">Zoom ut</translation> +<translation id="6011500873794669296">Bytt fokus mellom statusområdet (hvor kontobildet ditt vises), appoversikten, adressefeltet, bokmerkeraden (hvis den er synlig), nettsiden som er åpen, og nedlastingsraden (hvis den er synlig)</translation> <translation id="6022924867608035986">Fjern teksten i søkefeltet</translation> +<translation id="6045998054441862242">Slå på høykontrastmodus</translation> +<translation id="6052614013050385269">Høyreklikk på en link</translation> <translation id="6129953537138746214">Mellomrom</translation> +<translation id="6143669479988153888">Zoom inn på siden</translation> <translation id="6185696379715117369">Opp én side</translation> +<translation id="6228457605945141550">Skru ned lysstyrken</translation> +<translation id="6276708887952587684">Se sidekilden</translation> +<translation id="6321940490215594447">Åpne loggsiden</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Merk teksten til slutten av linjen</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> eller <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klikk på ikon 1–8 på hyllen</translation> +<translation id="6435207348963613811">Fremhev det forrige elementet på hyllen</translation> +<translation id="6445033640292336367">Flytt fanen tilbake til den opprinnelige plasseringen</translation> +<translation id="649811797655257835">Velg en fil og trykk på <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Bytt mellom tastaturspråkene du har konfigurert. Finn ut hvordan du velger tastaturspråk.</translation> +<translation id="6634456834225946400">Fremhev bokmerkeraden (hvis den er synlig)</translation> +<translation id="666343722268997814">Åpne høyreklikkmenyen for elementet som er fremhevet</translation> +<translation id="6671538777808758331">Gå til det neste treffet for søket</translation> +<translation id="6690765639083431875">Dokk et vindu til venstre</translation> +<translation id="6692847073476874842">Ta en forhåndstitt på en fil i Filer-appen</translation> <translation id="671928215901716392">Lås skjerm</translation> <translation id="6727005317916125192">Forrige rute</translation> +<translation id="6740781404993465795">Merk neste ord eller bokstav</translation> +<translation id="6760706756348334449">Volum ned</translation> <translation id="6981982820502123353">Tilgjengelighet</translation> <translation id="7020813747703216897">Ingen treff</translation> <translation id="7025325401470358758">Neste rute</translation> -<translation id="7272373489634936181">Søk etter hurtigtaster</translation> +<translation id="7379254767514753910"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Slett neste bokstav (slett fremover)</translation> +<translation id="766326951329901120">Lim inn innholdet fra utklippstavlen som ren tekst</translation> <translation id="7724603315864178912">Klipp ut</translation> -<translation id="8004192919599017226">Start søket</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> og så <ph name="SPACE" /> eller <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Åpne en fil i nettleseren</translation> +<translation id="7917881398263220094">Stopp innlastingen av den aktive siden</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> eller <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Gå til begynnelsen av dokumentet</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> eller <ph name="E" /></translation> +<translation id="8234414138295101081">Rotér skjermen 90 grader</translation> +<translation id="836869401750819675">Åpne nedlastingssiden</translation> +<translation id="8388247778047144397">Dra linken til et tomt område på faneraden.</translation> +<translation id="8389638407792712197">Åpne et nytt vindu</translation> +<translation id="8429696719963529183">Bruk F-tastene (F1 til F12)</translation> +<translation id="85690795166292698">Åpne linken i en ny fane</translation> +<translation id="8609384513243082612">Åpne en ny fane</translation> +<translation id="8644639153978066712">Vis skjulte filer i Filer-appen</translation> +<translation id="8709893667941082515">Fokusér adressefeltet på søk</translation> +<translation id="8717459106217102612">Velg forrige ord eller bokstav</translation> +<translation id="8727232706774971183">Se varslene dine</translation> <translation id="88986195241502842">Ned én side</translation> <translation id="8903921497873541725">Zoom inn</translation> <translation id="9179672198516322668">Populære hurtigtaster</translation>
diff --git a/ash/components/strings/ash_components_strings_pl.xtb b/ash/components/strings/ash_components_strings_pl.xtb index 8d48e47..c4bd261 100644 --- a/ash/components/strings/ash_components_strings_pl.xtb +++ b/ash/components/strings/ash_components_strings_pl.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="pl"> +<translation id="104962181688258143">Otwórz aplikację Pliki</translation> +<translation id="1126871238933253947">Włącz poprzednio ustawiony język klawiatury.</translation> +<translation id="1195667586424773550">Przeciągnij link na pasek adresu na karcie</translation> +<translation id="1204450209689312104">Otwórz nowe okno w trybie incognito</translation> +<translation id="1299858300159559687">Wydrukuj bieżącą stronę</translation> <translation id="1383876407941801731">Szukaj</translation> +<translation id="1439252533104567537">Przejdź do karty o danym numerze</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> lub <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Program uruchamiający</translation> +<translation id="152892567002884378">Zwiększ głośność</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a następnie <ph name="ESC" /></translation> +<translation id="1652741121070700329">Przejdź na początek poprzedniego słowa</translation> +<translation id="1679841710523778799">Zwiększ jasność</translation> +<translation id="168356808214100546">Naciśnij i przytrzymaj <ph name="ALT" />, naciskaj <ph name="TAB" />, aż przejdziesz do okna, które chcesz otworzyć, i zwolnij klawisze.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Dodaj www. i .com do ciągu wpisanego w pasku adresu i otwórz stronę</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a następnie <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> lub <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Przejdź do następnej karty</translation> +<translation id="2010818616644390445">Przejdź do ostatniej karty w oknie</translation> <translation id="2145908266289632567">Edytowanie tekstu</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> od 1 do =</translation> +<translation id="2181097965834437145">Pokaż lub ukryj pasek zakładek</translation> +<translation id="2185166372312820725">Przejdź do poprzedniej karty</translation> +<translation id="2194790690264064655">Naciśnij <ph name="CTRL" /> i kliknij link</translation> +<translation id="2424073332829844142">Włącz lub wyłącz Caps Lock</translation> +<translation id="2441202986792279177">Przejdź szybko do innego okna</translation> +<translation id="2478303094958140141">Włącz lub wyłącz ChromeVox (komunikaty głosowe)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Przewiń stronę internetową w dół</translation> +<translation id="2568632782096378307">Przywróć domyślną rozdzielczość ekranu</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a następnie <ph name="TAB" /> lub <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Zapisz bieżącą stronę internetową jako zakładkę</translation> +<translation id="2750942583782703988">Ponownie załaduj bieżącą stronę</translation> +<translation id="2789868185375229787">Pomniejsz widok strony</translation> +<translation id="2804480015716812239">Naciśnij <ph name="ALT" /> i kliknij link</translation> +<translation id="2830827904629746450">Zadokuj okno po prawej stronie</translation> <translation id="2872353916818027657">Zamień główny monitor</translation> +<translation id="2914313326123580426">Pokaż lub ukryj panel narzędzi dla programistów</translation> +<translation id="292495055542441795">Włącz lub wyłącz pełny ekran</translation> +<translation id="3084301071537457911">Zaznacz następny element na półce</translation> +<translation id="309173601632226815">Zaznacz przycisk uruchamiający na półce</translation> <translation id="3105917916468784889">Zapisz zrzut ekranu</translation> +<translation id="3118681365140644126">Anuluj zaznaczenia przycisku na półce</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Zaznacz pasek adresu</translation> +<translation id="3288816184963444640">Zamknij bieżące okno</translation> +<translation id="3356202203145076517">Otwórz ostatnio używane okno</translation> +<translation id="3407560819924487926">Otwórz menedżera zadań</translation> +<translation id="3422679037938588196">Przejdź do poprzedniego wyrażenia pasującego do zapytania</translation> +<translation id="344577624355799426"><ph name="ALT" /> lub <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Resetuj poziom powiększenia</translation> +<translation id="353037708190149633">Zapisz wszystkie strony otwarte w bieżącym oknie jako zakładki w nowym folderze</translation> +<translation id="355103131818127604">Otwórz link w nowej karcie w tle</translation> <translation id="3649256019230929621">Minimalizuj okno</translation> -<translation id="385051799172605136">Wstecz</translation> +<translation id="3668361878347172356">Ponów ostatnią czynność</translation> +<translation id="3720939646656082033">Otwórz link w nowej karcie i przełącz się na nią</translation> +<translation id="3725795051337497754">Zamknij bieżącą kartę</translation> +<translation id="3751033133896282964">Cofnij ostatnią czynność</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> od 1 do 8</translation> +<translation id="3837047332182291558">Rozjaśnij klawiaturę (dotyczy tylko klawiatur podświetlanych)</translation> +<translation id="3976863468609830880">Kliknij ostatnią ikonę na półce</translation> +<translation id="4035482366624727273">Zaznacz całą zawartość strony</translation> +<translation id="4060703249685950734">Przywróć ostatnią zamkniętą kartę lub ostatnie zamknięte okno</translation> +<translation id="4090342722461256974">Naciśnij i przytrzymaj <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, naciskaj <ph name="TAB" />, aż przejdziesz do okna, które chcesz otworzyć, i zwolnij klawisze.</translation> +<translation id="4092538597492297615">Skopiuj zaznaczoną treść do schowka</translation> +<translation id="4123108089450197101">Zapisz link jako zakładkę</translation> +<translation id="4141203561740478845">Zaznacz wiersz z paskiem adresu</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> lub <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Wyświetl pomoc do skrótów klawiszowych</translation> +<translation id="4628718545549558538">Otwórz pasek stanu (tam, gdzie widać obraz konta)</translation> +<translation id="4642092649622328492">Zrób zrzut części ekranu</translation> +<translation id="4725377341024374454">Otwórz zaznaczony przycisk na półce</translation> +<translation id="4801989101741319327">Przejdź na koniec następnego słowa</translation> +<translation id="4916163929714267752">Otwórz link w nowym oknie</translation> +<translation id="5034421018520995080">Przejdź na górę strony</translation> +<translation id="5042305953558921026">Klawisz trybu przeglądu</translation> +<translation id="5104462712192763270">Zapisz bieżącą stronę</translation> +<translation id="5121628974188116412">Przejdź na dół strony</translation> +<translation id="5236674127086649162">Ponowne załaduj bieżącą stronę bez używania pamięci podręcznej</translation> +<translation id="526651782186312376">Zaznacz tekst do początku wiersza</translation> <translation id="5316716239522500219">Wyświetl na monitorach odbicie lustrzane</translation> +<translation id="5335199890994453201">Pokaż lub ukryj panel Inspektora DOM</translation> +<translation id="5541719484267030947">Podczas przeciągania karty naciśnij <ph name="ESC" /></translation> +<translation id="5554139136362089836">Przeszukaj bieżącą stronę</translation> +<translation id="5563050856984839829">Naciśnij <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> i kliknij link</translation> +<translation id="561814908794220892">Otwórz stronę w nowej karcie</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> lub <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Otwórz link w tej karcie</translation> +<translation id="5757474750054631686">Przyciemnij klawiaturę (dotyczy tylko klawiatur podświetlanych)</translation> +<translation id="587531134027443617">Usuń poprzednie słowo</translation> <translation id="5928303187149237472">Zmień rozdzielczość ekranu</translation> <translation id="5975083100439434680">Pomniejsz</translation> +<translation id="6011500873794669296">Przełączaj zaznaczenie między: paskiem stanu (tam, gdzie widać obraz konta), paskiem adresu w menu z aplikacjami, paskiem zakładek (jeśli jest widoczny), otwartą aktualnie stroną, paskiem pobranych plików (jeśli jest widoczny)</translation> <translation id="6022924867608035986">Wyczyść tekst w polu wyszukiwania</translation> +<translation id="6045998054441862242">Włącz tryb wysokiego kontrastu</translation> +<translation id="6052614013050385269">Kliknij link prawym przyciskiem myszy</translation> <translation id="6129953537138746214">Spacja</translation> +<translation id="6143669479988153888">Powiększ widok strony</translation> <translation id="6185696379715117369">Strona do góry</translation> +<translation id="6228457605945141550">Zmniejsz jasność</translation> +<translation id="6276708887952587684">Wyświetl źródło strony</translation> +<translation id="6321940490215594447">Otwórz stronę Historia</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Zaznacz tekst do końca wiersza</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> lub <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Kliknij ikony 1–8 na półce</translation> +<translation id="6435207348963613811">Zaznacz poprzedni element na półce</translation> +<translation id="6445033640292336367">Przywróć kartę do pierwotnego położenia</translation> +<translation id="649811797655257835">Wybierz plik i naciśnij <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Przełączaj się między ustawionymi językami klawiatury. Dowiedz się więcej o wyborze języka klawiatury.</translation> +<translation id="6634456834225946400">Zaznacz pasek zakładek (jeśli jest widoczny)</translation> +<translation id="666343722268997814">Otwórz menu prawego przycisku myszy dla zaznaczonego elementu</translation> +<translation id="6671538777808758331">Przejdź do następnego wyrażenia pasującego do zapytania</translation> +<translation id="6690765639083431875">Zadokuj okno po lewej stronie</translation> +<translation id="6692847073476874842">Otwórz podgląd pliku w aplikacji Pliki</translation> <translation id="671928215901716392">Zablokuj ekran</translation> <translation id="6727005317916125192">Poprzedni panel</translation> +<translation id="6740781404993465795">Wybierz następne słowo lub znak</translation> +<translation id="6760706756348334449">Zmniejsz głośność</translation> <translation id="6981982820502123353">Ułatwienia dostępu</translation> <translation id="7020813747703216897">Nie znaleziono pasujących wyników</translation> <translation id="7025325401470358758">Następny panel</translation> -<translation id="7272373489634936181">Wyszukaj skróty</translation> +<translation id="7379254767514753910"><ph name="ALT" /> lub <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Usuń następny znak (usuwanie do przodu)</translation> +<translation id="766326951329901120">Wklej zawartość schowka jako zwykły tekst</translation> <translation id="7724603315864178912">Wytnij</translation> -<translation id="8004192919599017226">Rozpocznij wyszukiwanie…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, a następnie <ph name="SPACE" /> lub <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Otwórz plik w przeglądarce</translation> +<translation id="7917881398263220094">Zatrzymaj wczytywanie bieżącej strony</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> lub <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Przejdź na początek dokumentu</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> lub <ph name="E" /></translation> +<translation id="8234414138295101081">Obróć ekran o 90 stopni</translation> +<translation id="836869401750819675">Otwórz stronę Pobrane pliki</translation> +<translation id="8388247778047144397">Przeciągnij link na pusty obszar na pasku kart</translation> +<translation id="8389638407792712197">Otwórz nowe okno</translation> +<translation id="8429696719963529183">Użyj klawiszy funkcyjnych (od F1 do F12)</translation> +<translation id="85690795166292698">Otwórz link w nowej karcie</translation> +<translation id="8609384513243082612">Otwórz nową kartę</translation> +<translation id="8644639153978066712">Pokaż ukryte pliki w aplikacji Pliki</translation> +<translation id="8709893667941082515">Ustaw zaznaczenie na pasku adresu w trybie wyszukiwania</translation> +<translation id="8717459106217102612">Zaznacz poprzednie słowo lub znak</translation> +<translation id="8727232706774971183">Zobacz powiadomienia</translation> <translation id="88986195241502842">Strona w dół</translation> <translation id="8903921497873541725">Powiększ</translation> <translation id="9179672198516322668">Popularne skróty</translation>
diff --git a/ash/components/strings/ash_components_strings_pt-BR.xtb b/ash/components/strings/ash_components_strings_pt-BR.xtb index 9075da3..97f0ac24 100644 --- a/ash/components/strings/ash_components_strings_pt-BR.xtb +++ b/ash/components/strings/ash_components_strings_pt-BR.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="pt-BR"> +<translation id="104962181688258143">Abrir o app Arquivos</translation> +<translation id="1126871238933253947">Alterar para o idioma de teclado que você estava usando anteriormente.</translation> +<translation id="1195667586424773550">Arrastar o link até a barra de endereço da guia</translation> +<translation id="1204450209689312104">Abrir uma nova janela no modo de navegação anônima</translation> +<translation id="1299858300159559687">Imprimir a página atual</translation> <translation id="1383876407941801731">Pesquisar</translation> +<translation id="1439252533104567537">Ir para a guia numerada</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ou <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Iniciador</translation> +<translation id="152892567002884378">Aumentar volume</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e depois <ph name="ESC" /></translation> +<translation id="1652741121070700329">Mover para o início da palavra anterior</translation> +<translation id="1679841710523778799">Aumentar o brilho</translation> +<translation id="168356808214100546">Pressione <ph name="ALT" /> e mantenha a tecla pressionada, toque em <ph name="TAB" /> até chegar à janela que você quer abrir e depois solte.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Adicionar www. e .com à entrada na barra de endereço e depois abrir a página</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e depois <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ou <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Ir para a próxima guia</translation> +<translation id="2010818616644390445">Ir para a última guia da janela</translation> <translation id="2145908266289632567">Edição de texto</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 a =</translation> +<translation id="2181097965834437145">Mostrar ou ocultar a barra de favoritos</translation> +<translation id="2185166372312820725">Ir para a guia anterior</translation> +<translation id="2194790690264064655">Pressione <ph name="CTRL" /> e clique em um link</translation> +<translation id="2424073332829844142">Ativar e desativar a tecla Caps Lock</translation> +<translation id="2441202986792279177">Alternar rapidamente entre janelas</translation> +<translation id="2478303094958140141">Ativar ou desativar o ChromeVox (feedback falado)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Rolar a página da Web para baixo</translation> +<translation id="2568632782096378307">Redefinir resolução da tela para o padrão</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e depois <ph name="TAB" /> ou <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Salvar a página da Web atual nos favoritos</translation> +<translation id="2750942583782703988">Atualizar a página atual</translation> +<translation id="2789868185375229787">Diminuir zoom na página</translation> +<translation id="2804480015716812239">Pressione <ph name="ALT" /> e clique em um link</translation> +<translation id="2830827904629746450">Ancorar uma janela à direita</translation> <translation id="2872353916818027657">Trocar monitor primário</translation> +<translation id="2914313326123580426">Mostrar ou ocultar o painel Ferramentas do desenvolvedor</translation> +<translation id="292495055542441795">Alternar para tela cheia</translation> +<translation id="3084301071537457911">Destacar o próximo item na estante</translation> +<translation id="309173601632226815">Destacar o botão de tela de início na estante</translation> <translation id="3105917916468784889">Faça uma captura de tela</translation> +<translation id="3118681365140644126">Remover o destaque de um botão na estante</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Foco na barra de endereço</translation> +<translation id="3288816184963444640">Fechar a janela atual</translation> +<translation id="3356202203145076517">Abrir a janela usada mais recentemente</translation> +<translation id="3407560819924487926">Abrir o gerenciador de tarefas</translation> +<translation id="3422679037938588196">Ir para a correspondência anterior da sua pesquisa</translation> +<translation id="344577624355799426"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Redefinir nível de zoom</translation> +<translation id="353037708190149633">Salvar todas as páginas abertas na janela atual nos favoritos em uma nova pasta</translation> +<translation id="355103131818127604">Abrir o link em uma nova guia no plano de fundo</translation> <translation id="3649256019230929621">Minimizar janela</translation> -<translation id="385051799172605136">Voltar</translation> +<translation id="3668361878347172356">Refazer a última ação</translation> +<translation id="3720939646656082033">Abrir o link em uma nova guia e alternar para lá</translation> +<translation id="3725795051337497754">Fechar a guia atual</translation> +<translation id="3751033133896282964">Desfazer a última ação</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation> +<translation id="3837047332182291558">Deixar o teclado mais brilhante (apenas para teclados retroiluminados)</translation> +<translation id="3976863468609830880">Clicar no último ícone da estante</translation> +<translation id="4035482366624727273">Selecionar tudo na página</translation> +<translation id="4060703249685950734">Reabrir a última guia ou janela que você fechou</translation> +<translation id="4090342722461256974">Pressione <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> e mantenha essa tecla pressionada, toque em <ph name="TAB" /> até chegar à janela que você quer abrir e depois solte.</translation> +<translation id="4092538597492297615">Copiar conteúdo selecionado na área de transferência</translation> +<translation id="4123108089450197101">Salvar o link como favorito</translation> +<translation id="4141203561740478845">Destacar a linha com a barra de endereço</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ou <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Ver assistente de atalhos do teclado</translation> +<translation id="4628718545549558538">Abrir a área de status, onde a imagem da sua conta aparece</translation> +<translation id="4642092649622328492">Fazer uma captura de tela parcial</translation> +<translation id="4725377341024374454">Abrir o botão destacado na estante</translation> +<translation id="4801989101741319327">Mover para o fim da próxima palavra</translation> +<translation id="4916163929714267752">Abrir o link em uma nova janela</translation> +<translation id="5034421018520995080">Ir para a parte superior da página</translation> +<translation id="5042305953558921026">Tecla do modo de visão geral</translation> +<translation id="5104462712192763270">Salvar a página atual</translation> +<translation id="5121628974188116412">Ir para a parte inferior da página</translation> +<translation id="5236674127086649162">Atualizar a página atual sem usar conteúdo em cache</translation> +<translation id="526651782186312376">Selecionar o texto até o início da linha</translation> <translation id="5316716239522500219">Espelhar monitores</translation> +<translation id="5335199890994453201">Mostrar ou ocultar o Inspetor DOM</translation> +<translation id="5541719484267030947">Ao arrastar a guia, pressione <ph name="ESC" /></translation> +<translation id="5554139136362089836">Pesquisar na página atual</translation> +<translation id="5563050856984839829">Pressione <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> e clique em um link</translation> +<translation id="561814908794220892">Abrir a página da Web em uma nova guia</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ou <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Abrir o link na guia</translation> +<translation id="5757474750054631686">Escurecer teclado (apenas para teclados retroiluminados)</translation> +<translation id="587531134027443617">Excluir a palavra anterior</translation> <translation id="5928303187149237472">Alterar resolução da tela</translation> <translation id="5975083100439434680">Diminuir zoom</translation> +<translation id="6011500873794669296">Alternar foco entre: a área de status (onde a imagem da sua conta é exibida), tela de início, barra de endereço, barra de favoritos (se estiver visível), a página da Web que está aberta e a barra de downloads (se estiver visível)</translation> <translation id="6022924867608035986">Limpar texto da caixa de pesquisa</translation> +<translation id="6045998054441862242">Ativar o modo de alto contraste</translation> +<translation id="6052614013050385269">Clicar com o botão direito do mouse em um link</translation> <translation id="6129953537138746214">Espaço</translation> +<translation id="6143669479988153888">Aumentar zoom na página</translation> <translation id="6185696379715117369">Página para cima</translation> +<translation id="6228457605945141550">Diminuir o brilho</translation> +<translation id="6276708887952587684">Ver a origem da página</translation> +<translation id="6321940490215594447">Abrir a página "Histórico"</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Selecionar o texto até o fim da linha</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ou <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Clicar nos ícones de 1 a 8 na estante</translation> +<translation id="6435207348963613811">Destacar o item anterior na estante</translation> +<translation id="6445033640292336367">Voltar a guia para a posição original</translation> +<translation id="649811797655257835">Selecione o arquivo e pressione <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Alternar entre os idiomas do teclado que você definiu. Saiba como escolher o idioma do teclado.</translation> +<translation id="6634456834225946400">Destacar a barra de favoritos (se mostrada)</translation> +<translation id="666343722268997814">Abrir menu de clique com o botão direito para o item destacado</translation> +<translation id="6671538777808758331">Ir para a próxima correspondência da sua pesquisa</translation> +<translation id="6690765639083431875">Ancorar uma janela à esquerda</translation> +<translation id="6692847073476874842">Visualizar um arquivo no app Arquivos</translation> <translation id="671928215901716392">Bloquear tela</translation> <translation id="6727005317916125192">Painel anterior</translation> +<translation id="6740781404993465795">Selecionar a próxima palavra ou letra</translation> +<translation id="6760706756348334449">Diminuir volume</translation> <translation id="6981982820502123353">Acessibilidade</translation> <translation id="7020813747703216897">Nenhum resultado correspondente encontrado</translation> <translation id="7025325401470358758">Próximo painel</translation> -<translation id="7272373489634936181">Procurar atalhos</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Excluir a próxima letra (excluir para frente)</translation> +<translation id="766326951329901120">Colar conteúdo da área de transferência como texto simples</translation> <translation id="7724603315864178912">Recortar</translation> -<translation id="8004192919599017226">Iniciar pesquisa…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e depois <ph name="SPACE" /> ou <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Abrir um arquivo no navegador</translation> +<translation id="7917881398263220094">Parar o carregamento da página atual</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ou <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Ir para o início do documento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ou <ph name="E" /></translation> +<translation id="8234414138295101081">Girar a tela em 90 graus</translation> +<translation id="836869401750819675">Abrir a página "Downloads"</translation> +<translation id="8388247778047144397">Arrastar o link até uma área em branco na barra de guias</translation> +<translation id="8389638407792712197">Abrir nova janela</translation> +<translation id="8429696719963529183">Usar teclas F (F1 a F12)</translation> +<translation id="85690795166292698">Abrir o link em uma nova guia</translation> +<translation id="8609384513243082612">Abrir nova guia</translation> +<translation id="8644639153978066712">Exibir arquivos ocultos no app Arquivos</translation> +<translation id="8709893667941082515">Focar na barra de endereço para pesquisa</translation> +<translation id="8717459106217102612">Selecionar palavra ou letra anterior</translation> +<translation id="8727232706774971183">Ver suas notificações</translation> <translation id="88986195241502842">Página para baixo</translation> <translation id="8903921497873541725">Aumentar zoom</translation> <translation id="9179672198516322668">Atalhos mais usados</translation>
diff --git a/ash/components/strings/ash_components_strings_pt-PT.xtb b/ash/components/strings/ash_components_strings_pt-PT.xtb index 2e3c74b..7161d84 100644 --- a/ash/components/strings/ash_components_strings_pt-PT.xtb +++ b/ash/components/strings/ash_components_strings_pt-PT.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="pt-PT"> +<translation id="104962181688258143">Abrir a aplicação Ficheiros</translation> +<translation id="1126871238933253947">Mudar para o idioma de teclado utilizado anteriormente</translation> +<translation id="1195667586424773550">Arraste o link para a barra de endereço do separador.</translation> +<translation id="1204450209689312104">Abrir uma nova janela em modo de navegação anónima</translation> +<translation id="1299858300159559687">Imprimir a página atual</translation> <translation id="1383876407941801731">Pesquisar</translation> +<translation id="1439252533104567537">Aceder ao separador numerado</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> ou <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" />.</translation> <translation id="1510238584712386396">Iniciador</translation> +<translation id="152892567002884378">Aumentar o volume</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, em seguida, <ph name="ESC" />.</translation> +<translation id="1652741121070700329">Ir para o início da palavra anterior</translation> +<translation id="1679841710523778799">Aumentar o brilho</translation> +<translation id="168356808214100546">Prima sem soltar <ph name="ALT" /> e, em seguida, toque em <ph name="TAB" /> até alcançar a janela que pretende abrir. Em seguida, solte.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Adicionar www. e .com à informação introduzida na barra de endereço e, em seguida, abrir a página</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e, em seguida, <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> ou <ph name="LEFT" />.</translation> +<translation id="1996162290124031907">Aceder ao separador seguinte</translation> +<translation id="2010818616644390445">Ir para o último separador na janela</translation> <translation id="2145908266289632567">Edição de texto</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 a =</translation> +<translation id="2181097965834437145">Mostrar ou ocultar a barra de marcadores</translation> +<translation id="2185166372312820725">Aceder ao separador anterior</translation> +<translation id="2194790690264064655">Prima <ph name="CTRL" /> e clique num link.</translation> +<translation id="2424073332829844142">Ativar e desativar a tecla Caps Lock</translation> +<translation id="2441202986792279177">Alternar rapidamente entre janelas</translation> +<translation id="2478303094958140141">Ativar ou desativar o ChromeVox (comentários de voz)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Deslocar-se para baixo na página Web</translation> +<translation id="2568632782096378307">Repor a predefinição da resolução do ecrã</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e, em seguida, <ph name="TAB" /> ou <ph name="RIGHT" />.</translation> +<translation id="2699509451653686398">Guardar a página Web atual como um marcador</translation> +<translation id="2750942583782703988">Atualizar a página atual</translation> +<translation id="2789868185375229787">Reduzir a página</translation> +<translation id="2804480015716812239">Prima <ph name="ALT" /> e clique num link.</translation> +<translation id="2830827904629746450">Ancorar uma janela à direita</translation> <translation id="2872353916818027657">Trocar monitor principal</translation> +<translation id="2914313326123580426">Mostrar ou ocultar o painel Ferramentas do programador</translation> +<translation id="292495055542441795">Ativar/desativar ecrã inteiro</translation> +<translation id="3084301071537457911">Realçar o item seguinte na prateleira</translation> +<translation id="309173601632226815">Realçar o botão do iniciador na prateleira</translation> <translation id="3105917916468784889">Criar captura de ecrã</translation> +<translation id="3118681365140644126">Remover o realce de um botão na prateleira</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Focar barra de endereço</translation> +<translation id="3288816184963444640">Fechar a janela atual</translation> +<translation id="3356202203145076517">Abrir uma janela que tenha sido menos utilizada recentemente</translation> +<translation id="3407560819924487926">Abrir o Gestor de tarefas</translation> +<translation id="3422679037938588196">Ir para a correspondência anterior da pesquisa</translation> +<translation id="344577624355799426"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" />.</translation> +<translation id="346243998268439747">Repor o nível de zoom</translation> +<translation id="353037708190149633">Guardar todas as páginas abertas na janela atual como marcadores numa nova pasta</translation> +<translation id="355103131818127604">Abrir o link num novo separador em segundo plano</translation> <translation id="3649256019230929621">Minimizar janela</translation> -<translation id="385051799172605136">Anterior</translation> +<translation id="3668361878347172356">Refazer a última ação</translation> +<translation id="3720939646656082033">Abrir o link num novo separador e mudar para o novo separador</translation> +<translation id="3725795051337497754">Fechar o separador atual</translation> +<translation id="3751033133896282964">Anular a última ação</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation> +<translation id="3837047332182291558">Aumentar o brilho do teclado (apenas para teclados retroiluminados)</translation> +<translation id="3976863468609830880">Clicar no último ícone da prateleira</translation> +<translation id="4035482366624727273">Selecionar tudo na página</translation> +<translation id="4060703249685950734">Reabrir o último separador ou a última janela que fechou</translation> +<translation id="4090342722461256974">Prima sem soltar <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> e, em seguida, toque em <ph name="TAB" /> até alcançar a janela que pretende abrir. Em seguida, solte.</translation> +<translation id="4092538597492297615">Copiar o conteúdo selecionado para a área de transferência</translation> +<translation id="4123108089450197101">Guardar o link como um marcador</translation> +<translation id="4141203561740478845">Realçar a linha com a barra de endereço</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> ou <ph name="ENTER" />.</translation> +<translation id="4556221320735744018">Consultar a Ajuda dos atalhos de teclado</translation> +<translation id="4628718545549558538">Abrir a área de estado (onde é apresentada a imagem da conta)</translation> +<translation id="4642092649622328492">Criar uma captura de ecrã parcial</translation> +<translation id="4725377341024374454">Abrir o botão realçado na prateleira</translation> +<translation id="4801989101741319327">Ir para o fim da palavra seguinte</translation> +<translation id="4916163929714267752">Abrir o link numa nova janela</translation> +<translation id="5034421018520995080">Ir para a parte superior da página</translation> +<translation id="5042305953558921026">Tecla de Modo de vista geral</translation> +<translation id="5104462712192763270">Guardar a página atual</translation> +<translation id="5121628974188116412">Ir para a parte inferior da página</translation> +<translation id="5236674127086649162">Atualizar a página atual sem utilizar o conteúdo em cache</translation> +<translation id="526651782186312376">Selecionar texto até ao início da linha</translation> <translation id="5316716239522500219">Espelhar monitores</translation> +<translation id="5335199890994453201">Mostrar ou ocultar o DOM Inspector</translation> +<translation id="5541719484267030947">Prima <ph name="ESC" /> enquanto arrasta o separador.</translation> +<translation id="5554139136362089836">Pesquisar na página atual</translation> +<translation id="5563050856984839829">Prima <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> e clique num link.</translation> +<translation id="561814908794220892">Abrir a página Web num novo separador</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> ou <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" />.</translation> +<translation id="5757111373163288447">Abrir o link no separador</translation> +<translation id="5757474750054631686">Diminuir o brilho do teclado (apenas para teclados retroiluminados)</translation> +<translation id="587531134027443617">Eliminar a palavra anterior</translation> <translation id="5928303187149237472">Alterar a resolução do ecrã</translation> <translation id="5975083100439434680">Reduzir</translation> +<translation id="6011500873794669296">Mudar o foco entre: a área de estado (onde é apresentada a sua imagem da conta), o Iniciador, a barra de endereço, a barra de marcadores (se estiver visível), a página Web que está aberta, a barra de transferências (se visível)</translation> <translation id="6022924867608035986">Limpar texto da caixa de pesquisa</translation> +<translation id="6045998054441862242">Ativar o modo de alto contraste</translation> +<translation id="6052614013050385269">Clicar com o botão direito num link</translation> <translation id="6129953537138746214">Espaço</translation> +<translation id="6143669479988153888">Ampliar a página</translation> <translation id="6185696379715117369">Página para cima</translation> +<translation id="6228457605945141550">Diminuir o brilho</translation> +<translation id="6276708887952587684">Ver a origem da página</translation> +<translation id="6321940490215594447">Abrir a página Histórico</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Selecionar texto até ao fim da linha</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> ou <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" />.</translation> +<translation id="6425378783626925378">Clicar nos ícones de 1 a 8 na prateleira</translation> +<translation id="6435207348963613811">Realçar o item anterior na prateleira</translation> +<translation id="6445033640292336367">Repor o separador na sua posição original</translation> +<translation id="649811797655257835">Selecione o ficheiro e, em seguida, prima <ph name="SPACE" />.</translation> +<translation id="6572206071785323178">Alterne entre os idiomas de teclado definidos. Saiba como escolher o idioma do teclado.</translation> +<translation id="6634456834225946400">Realçar a barra de marcadores (se visível)</translation> +<translation id="666343722268997814">Abrir o menu de clique com o botão direito do rato referente ao item realçado</translation> +<translation id="6671538777808758331">Ir para a correspondência seguinte da pesquisa</translation> +<translation id="6690765639083431875">Ancorar uma janela à esquerda</translation> +<translation id="6692847073476874842">Pré-visualizar um ficheiro na aplicação Ficheiros</translation> <translation id="671928215901716392">Bloquear ecrã</translation> <translation id="6727005317916125192">Painel anterior</translation> +<translation id="6740781404993465795">Selecionar a palavra ou a letra seguinte</translation> +<translation id="6760706756348334449">Diminuir volume</translation> <translation id="6981982820502123353">Acessibilidade</translation> <translation id="7020813747703216897">Não foram encontrados resultados correspondentes.</translation> <translation id="7025325401470358758">Painel seguinte</translation> -<translation id="7272373489634936181">Pesquisar atalhos</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ou <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" />.</translation> +<translation id="7439718573248533901">Eliminar a letra seguinte (eliminação para a frente)</translation> +<translation id="766326951329901120">Colar o conteúdo da área de transferência como texto simples</translation> <translation id="7724603315864178912">Cortar</translation> -<translation id="8004192919599017226">Iniciar a pesquisa...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e, em seguida, <ph name="SPACE" /> ou <ph name="ENTER" />.</translation> +<translation id="7787242579016742662">Abrir um ficheiro no navegador</translation> +<translation id="7917881398263220094">Parar o carregamento da página atual</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ou <ph name="MINUS" />.</translation> +<translation id="8130528849632411619">Ir para o início do documento</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ou <ph name="E" /></translation> +<translation id="8234414138295101081">Rodar o ecrã 90 graus</translation> +<translation id="836869401750819675">Abrir a página Transferências</translation> +<translation id="8388247778047144397">Arraste o link para uma área em branco na Faixa de separadores.</translation> +<translation id="8389638407792712197">Abrir nova janela</translation> +<translation id="8429696719963529183">Utilizar as teclas F (F1 a F12)</translation> +<translation id="85690795166292698">Abrir o link num novo separador</translation> +<translation id="8609384513243082612">Abrir novo separador</translation> +<translation id="8644639153978066712">Apresentar ficheiros ocultos na aplicação Ficheiros</translation> +<translation id="8709893667941082515">Focar a barra de endereço na pesquisa</translation> +<translation id="8717459106217102612">Selecionar a palavra ou letra anterior</translation> +<translation id="8727232706774971183">Ver as suas notificações</translation> <translation id="88986195241502842">Página para baixo</translation> <translation id="8903921497873541725">Ampliar</translation> <translation id="9179672198516322668">Atalhos populares</translation>
diff --git a/ash/components/strings/ash_components_strings_ro.xtb b/ash/components/strings/ash_components_strings_ro.xtb index 15977146..39587ad9 100644 --- a/ash/components/strings/ash_components_strings_ro.xtb +++ b/ash/components/strings/ash_components_strings_ro.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ro"> +<translation id="104962181688258143">Deschide aplicația Fișiere</translation> +<translation id="1126871238933253947">Comută la limba tastaturii pe care o foloseai anterior.</translation> +<translation id="1195667586424773550">Trage linkul în bara de adrese a filei</translation> +<translation id="1204450209689312104">Deschide o fereastră nouă în modul incognito</translation> +<translation id="1299858300159559687">Printează pagina curentă</translation> <translation id="1383876407941801731">Caută</translation> +<translation id="1439252533104567537">Accesează fila numerotată</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> sau <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Lansator</translation> +<translation id="152892567002884378">Mărește volumul</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, apoi <ph name="ESC" /></translation> +<translation id="1652741121070700329">Mută cursorul la începutul cuvântului anterior</translation> +<translation id="1679841710523778799">Mărește luminozitatea</translation> +<translation id="168356808214100546">Apasă lung pe <ph name="ALT" />, apăsă pe <ph name="TAB" /> până când ajungi la fereastra pe care dorești să o deschizi, apoi eliberează.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Adăugă www. și .com la ce ai introdus în bara de adrese, apoi deschide pagina</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, apoi <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> sau <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Accesează fila următoare</translation> +<translation id="2010818616644390445">Accesează ultima filă din fereastră</translation> <translation id="2145908266289632567">Editarea textului</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 până la =</translation> +<translation id="2181097965834437145">Afișează sau ascunde bara de marcaje</translation> +<translation id="2185166372312820725">Accesează fila anterioară</translation> +<translation id="2194790690264064655">Apasă pe <ph name="CTRL" /> și dă clic pe un link</translation> +<translation id="2424073332829844142">Activează și dezactivează Caps Lock</translation> +<translation id="2441202986792279177">Comută rapid între ferestre</translation> +<translation id="2478303094958140141">Activează sau dezactivează ChromeVox (feedback rostit)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Derulează în jos pagina web</translation> +<translation id="2568632782096378307">Resetează rezoluția ecranului la valorile prestabilite</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, apoi <ph name="TAB" /> sau <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Salvează pagina web curentă ca marcaj</translation> +<translation id="2750942583782703988">Reîncarcă pagina curentă</translation> +<translation id="2789868185375229787">Micșorează pagina</translation> +<translation id="2804480015716812239">Apasă pe <ph name="ALT" /> și dă clic pe un link</translation> +<translation id="2830827904629746450">Andochează o fereastră în partea dreaptă</translation> <translation id="2872353916818027657">Schimbați monitorul principal</translation> +<translation id="2914313326123580426">Afișează sau ascunde panoul Instrumente pentru dezvoltatori</translation> +<translation id="292495055542441795">Activează/dezactivează ecranul complet</translation> +<translation id="3084301071537457911">Evidențiază elementul următor de pe raft</translation> +<translation id="309173601632226815">Evidențiază butonul lansator de pe raft</translation> <translation id="3105917916468784889">Realizează o captură de ecran</translation> +<translation id="3118681365140644126">Elimină evidențierea de pe un buton de pe raft</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Focalizează pe bara de adrese</translation> +<translation id="3288816184963444640">Închide fereastra curentă</translation> +<translation id="3356202203145076517">Deschide fereastra pe care ai folosit-o cel mai puțin recent</translation> +<translation id="3407560819924487926">Afișează managerul de activități</translation> +<translation id="3422679037938588196">Găsește potrivirea anterioară pentru căutarea ta</translation> +<translation id="344577624355799426"><ph name="ALT" /> sau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Resetează nivelul de zoom</translation> +<translation id="353037708190149633">Salvează toate paginile deschise în fereastra curentă ca marcaje într-un dosar nou</translation> +<translation id="355103131818127604">Deschide linkul într-o filă nouă din fundal</translation> <translation id="3649256019230929621">Minimizați fereastra</translation> -<translation id="385051799172605136">Înapoi</translation> +<translation id="3668361878347172356">Repetă ultima acțiune</translation> +<translation id="3720939646656082033">Deschide linkul într-o filă nouă și comută la aceasta</translation> +<translation id="3725795051337497754">Închide fila curentă</translation> +<translation id="3751033133896282964">Anulează ultima acțiune</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 până la 8</translation> +<translation id="3837047332182291558">Mărește luminozitatea tastaturii (numai pentru tastaturi cu iluminare)</translation> +<translation id="3976863468609830880">Dă clic pe ultima pictograma de pe raft</translation> +<translation id="4035482366624727273">Selectează integral conținutul paginii</translation> +<translation id="4060703249685950734">Redeschide ultima filă sau fereastră închisă</translation> +<translation id="4090342722461256974">Apasă lung pe <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, apasă pe <ph name="TAB" /> până când ajungi la fereastra pe care dorești să o deschizi, apoi eliberează.</translation> +<translation id="4092538597492297615">Copiază conținutul selectat în clipboard</translation> +<translation id="4123108089450197101">Salvează linkul ca marcaj</translation> +<translation id="4141203561740478845">Evidențiază rândul cu bara de adrese</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> sau <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Accesează Ajutorul pentru comenzile rapide de la tastatură</translation> +<translation id="4628718545549558538">Deschide zona de stare (unde apare imaginea contului)</translation> +<translation id="4642092649622328492">Realizează o captură de ecran parțială</translation> +<translation id="4725377341024374454">Deschide butonul evidențiat de pe raft</translation> +<translation id="4801989101741319327">Mută cursorul la finalul următorului cuvânt</translation> +<translation id="4916163929714267752">Deschide linkul într-o fereastră nouă</translation> +<translation id="5034421018520995080">Navighează la începutul paginii</translation> +<translation id="5042305953558921026">Tasta pentru modul de prezentare generală</translation> +<translation id="5104462712192763270">Salvează pagina curentă</translation> +<translation id="5121628974188116412">Navighează la sfârșitul paginii</translation> +<translation id="5236674127086649162">Reîncarcă pagina curentă fără a folosi conținutul memorat în cache</translation> +<translation id="526651782186312376">Selectează textul până la începutul rândului</translation> <translation id="5316716239522500219">Oglindiți monitoarele</translation> +<translation id="5335199890994453201">Afișează sau ascunde Inspectorul DOM</translation> +<translation id="5541719484267030947">În timp ce tragi fila, apasă pe <ph name="ESC" /></translation> +<translation id="5554139136362089836">Caută pe pagina curentă</translation> +<translation id="5563050856984839829">Apasă pe <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> și dă clic pe un link</translation> +<translation id="561814908794220892">Deschide pagina web într-o filă nouă</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> sau <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Deschide linkul în fila respectivă</translation> +<translation id="5757474750054631686">Redu luminozitatea tastaturii (numai pentru tastaturi cu iluminare)</translation> +<translation id="587531134027443617">Șterge cuvântul anterior</translation> <translation id="5928303187149237472">Modifică rezoluția ecranului</translation> <translation id="5975083100439434680">Micșorează</translation> +<translation id="6011500873794669296">Comută focalizarea între: zona de stare (unde apare fotografia contului), Lansator, bara de adrese, bara de marcaje (dacă este vizibilă), pagina web care este deschisă, bara de descărcări (dacă este vizibilă)</translation> <translation id="6022924867608035986">Șterge textul din caseta de căutare</translation> +<translation id="6045998054441862242">Activează modul de contrast ridicat</translation> +<translation id="6052614013050385269">Dă clic dreapta pe un link</translation> <translation id="6129953537138746214">Spațiu</translation> +<translation id="6143669479988153888">Mărește pagina</translation> <translation id="6185696379715117369">O pagină mai sus</translation> +<translation id="6228457605945141550">Redu luminozitatea</translation> +<translation id="6276708887952587684">Afișează sursa paginii</translation> +<translation id="6321940490215594447">Deschide pagina Istoric</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Selectează textul până la capătul rândului</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> sau <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Dă clic pe pictogramele 1 – 8 de pe raft</translation> +<translation id="6435207348963613811">Evidențiază elementul anterior de pe raft</translation> +<translation id="6445033640292336367">Readu fila în poziția inițială</translation> +<translation id="649811797655257835">Selectează fișierul, apoi apasă <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Comută între limbile tastaturii setate. Află cum să alegi limba tastaturii.</translation> +<translation id="6634456834225946400">Evidențiază bara de marcaje (dacă este afișată)</translation> +<translation id="666343722268997814">Deschide meniul de clic dreapta pentru elementul evidențiat</translation> +<translation id="6671538777808758331">Găsește următoarea potrivire pentru căutarea ta</translation> +<translation id="6690765639083431875">Andochează o fereastră în partea stângă</translation> +<translation id="6692847073476874842">Previzualizează un fișier în aplicația Fișiere</translation> <translation id="671928215901716392">Blocați ecranul</translation> <translation id="6727005317916125192">Panoul anterior</translation> +<translation id="6740781404993465795">Selectează următorul cuvânt sau următoarea literă</translation> +<translation id="6760706756348334449">Redu volumul</translation> <translation id="6981982820502123353">Accesibilitate</translation> <translation id="7020813747703216897">Nu s-a găsit niciun rezultat de căutare</translation> <translation id="7025325401470358758">Panoul următor</translation> -<translation id="7272373489634936181">Caută comenzi rapide</translation> +<translation id="7379254767514753910"><ph name="ALT" /> sau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Șterge litera următoare (ștergere înainte)</translation> +<translation id="766326951329901120">Inserează conținutul din clipboard ca text simplu</translation> <translation id="7724603315864178912">Decupează</translation> -<translation id="8004192919599017226">Începe căutarea...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, apoi <ph name="SPACE" /> sau <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Deschide un fișier în browser</translation> +<translation id="7917881398263220094">Oprește încărcarea paginii curente</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> sau <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Navighează la începutul documentului</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> sau <ph name="E" /></translation> +<translation id="8234414138295101081">Rotește ecranul la 90 de grade</translation> +<translation id="836869401750819675">Deschide pagina Descărcări</translation> +<translation id="8388247778047144397">Trage linkul într-o zonă liberă a barei de file</translation> +<translation id="8389638407792712197">Deschide o fereastră nouă</translation> +<translation id="8429696719963529183">Folosește tastele F (de la F1 la F12)</translation> +<translation id="85690795166292698">Deschide linkul într-o filă nouă</translation> +<translation id="8609384513243082612">Deschide o filă nouă</translation> +<translation id="8644639153978066712">Afișează fișiere ascunse din aplicația Fișiere</translation> +<translation id="8709893667941082515">Focalizează pe bara de adrese pentru căutare</translation> +<translation id="8717459106217102612">Selectează cuvântul anterior sau litera anterioară</translation> +<translation id="8727232706774971183">Vezi notificările</translation> <translation id="88986195241502842">O pagină mai jos</translation> <translation id="8903921497873541725">Mărește</translation> <translation id="9179672198516322668">Comenzi rapide populare</translation>
diff --git a/ash/components/strings/ash_components_strings_ru.xtb b/ash/components/strings/ash_components_strings_ru.xtb index d0b141b..fc7c151 100644 --- a/ash/components/strings/ash_components_strings_ru.xtb +++ b/ash/components/strings/ash_components_strings_ru.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ru"> +<translation id="104962181688258143">Открыть приложение "Файлы"</translation> +<translation id="1126871238933253947">Переключиться на предыдущий язык ввода.</translation> +<translation id="1195667586424773550">Перетащить ссылку в адресную строку вкладки</translation> +<translation id="1204450209689312104">Открыть новое окно в режиме инкогнито</translation> +<translation id="1299858300159559687">Распечатать страницу</translation> <translation id="1383876407941801731">Поиск</translation> +<translation id="1439252533104567537">Перейти на выбранную вкладку</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> или <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Панель запуска</translation> +<translation id="152892567002884378">Увеличить громкость</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, затем <ph name="ESC" /></translation> +<translation id="1652741121070700329">Перейти к началу предыдущего слова</translation> +<translation id="1679841710523778799">Увеличить яркость</translation> +<translation id="168356808214100546">Нажать и удерживать клавишу <ph name="ALT" />, нажимать <ph name="TAB" />, пока не откроется нужное окно.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Добавить www. и .com к тексту в адресной строке и открыть веб-страницу</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, затем <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> или <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Перейти на следующую вкладку</translation> +<translation id="2010818616644390445">Перейти на последнюю вкладку в окне</translation> <translation id="2145908266289632567">Редактирование текста</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> клавиши от 1 до =</translation> +<translation id="2181097965834437145">Показать или скрыть панель закладок</translation> +<translation id="2185166372312820725">Перейти на предыдущую вкладку</translation> +<translation id="2194790690264064655">Нажать <ph name="CTRL" /> и перейти по ссылке</translation> +<translation id="2424073332829844142">Включить или отключить режим Caps Lock</translation> +<translation id="2441202986792279177">Перейти в другое окно</translation> +<translation id="2478303094958140141">Включить или отключить ChromeVox (озвучивание действий)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Прокрутить веб-страницу вниз</translation> +<translation id="2568632782096378307">Восстановить разрешение экрана по умолчанию</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, затем <ph name="TAB" /> или <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Сохранить веб-страницу в закладках</translation> +<translation id="2750942583782703988">Обновить страницу</translation> +<translation id="2789868185375229787">Уменьшить масштаб страницы</translation> +<translation id="2804480015716812239">Нажать <ph name="ALT" /> и перейти по ссылке</translation> +<translation id="2830827904629746450">Закрепить окно справа</translation> <translation id="2872353916818027657">Переключить основной монитор</translation> +<translation id="2914313326123580426">Показать или скрыть панель инструментов разработчика</translation> +<translation id="292495055542441795">Включить или отключить полноэкранный режим</translation> +<translation id="3084301071537457911">Выделить следующий объект на панели запуска</translation> +<translation id="309173601632226815">Выделить кнопку запуска на панели запуска</translation> <translation id="3105917916468784889">Скриншот</translation> +<translation id="3118681365140644126">Снять выделение с кнопки на панели запуска</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Курсор в адресную строку</translation> +<translation id="3288816184963444640">Закрыть активное окно</translation> +<translation id="3356202203145076517">Открыть окно, которое недавно было активным</translation> +<translation id="3407560819924487926">Открыть диспетчер задач</translation> +<translation id="3422679037938588196">Перейти к предыдущему совпадению в строке поиска</translation> +<translation id="344577624355799426"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Установить исходный масштаб</translation> +<translation id="353037708190149633">Сохранить все страницы, открытые в текущем окне, в закладках (в новой папке)</translation> +<translation id="355103131818127604">Открыть ссылку в новой фоновой вкладке</translation> <translation id="3649256019230929621">Свернуть окно</translation> -<translation id="385051799172605136">Назад</translation> +<translation id="3668361878347172356">Повторить отмененное действие</translation> +<translation id="3720939646656082033">Открыть ссылку в новой вкладке и переключиться на нее</translation> +<translation id="3725795051337497754">Закрыть активную вкладку</translation> +<translation id="3751033133896282964">Отменить последнее действие</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> клавиши от 1 до 8</translation> +<translation id="3837047332182291558">Увеличить яркость клавиатуры (для клавиатур с подсветкой)</translation> +<translation id="3976863468609830880">Открыть последний значок на панели запуска</translation> +<translation id="4035482366624727273">Выделить весь контент на странице</translation> +<translation id="4060703249685950734">Открыть последнюю закрытую вкладку или последнее закрытое окно</translation> +<translation id="4090342722461256974">Нажать и удерживать <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, нажимать <ph name="TAB" />, пока не откроется нужное окно.</translation> +<translation id="4092538597492297615">Копировать выделенное содержимое в буфер обмена</translation> +<translation id="4123108089450197101">Сохранить ссылку как закладку</translation> +<translation id="4141203561740478845">Выделить ряд с адресной строкой</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> или <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Открыть страницу справки по быстрым клавишам</translation> +<translation id="4628718545549558538">Открыть панель состояния (на которой расположено изображение профиля)</translation> +<translation id="4642092649622328492">Сделать скриншот части экрана</translation> +<translation id="4725377341024374454">Открыть выделенную кнопку на панели запуска</translation> +<translation id="4801989101741319327">Перейти к концу следующего слова</translation> +<translation id="4916163929714267752">Открыть ссылку в новом окне</translation> +<translation id="5034421018520995080">Перейти к верхней части экрана</translation> +<translation id="5042305953558921026">Клавиша режима обзора</translation> +<translation id="5104462712192763270">Сохранить страницу</translation> +<translation id="5121628974188116412">Перейти к нижней части экрана</translation> +<translation id="5236674127086649162">Обновить страницу без использования кешированного контента</translation> +<translation id="526651782186312376">Выделить текст до начала строки</translation> <translation id="5316716239522500219">Дублировать изображения на мониторах</translation> +<translation id="5335199890994453201">Показать или скрыть Инспектор DOM</translation> +<translation id="5541719484267030947">Нажать <ph name="ESC" /> при перетаскивании вкладки</translation> +<translation id="5554139136362089836">Искать на странице</translation> +<translation id="5563050856984839829">Нажать <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> и перейти по ссылке</translation> +<translation id="561814908794220892">Открыть веб-страницу в новой вкладке</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> или <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Открыть ссылку в этой вкладке</translation> +<translation id="5757474750054631686">Приглушить подсветку клавиатуры (для клавиатур с подсветкой)</translation> +<translation id="587531134027443617">Удалить предыдущее слово</translation> <translation id="5928303187149237472">Изменить разрешение экрана.</translation> <translation id="5975083100439434680">Уменьшить</translation> +<translation id="6011500873794669296">Переключаться между панелью состояния (расположенной рядом с изображением профиля), панелью запуска, адресной строкой, панелью закладок (если отображается) и веб-страницей, которая открывает панель загрузок (если отображается).</translation> <translation id="6022924867608035986">Удалить текст из окна поиска</translation> +<translation id="6045998054441862242">Включить режим высокой контрастности</translation> +<translation id="6052614013050385269">Нажать на ссылку правой кнопкой мыши</translation> <translation id="6129953537138746214">Пробел</translation> +<translation id="6143669479988153888">Увеличить масштаб страницы</translation> <translation id="6185696379715117369">На страницу вверх</translation> +<translation id="6228457605945141550">Уменьшить яркость</translation> +<translation id="6276708887952587684">Посмотреть исходный код страницы</translation> +<translation id="6321940490215594447">Открыть страницу "История"</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Выделить текст до конца строки</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> или <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Нажать значок на панели запуска (1-8)</translation> +<translation id="6435207348963613811">Выделить предыдущий объект на панели запуска</translation> +<translation id="6445033640292336367">Вернуть вкладку в исходное положение</translation> +<translation id="649811797655257835">Выбрать файл и нажать <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Переключиться на другой язык ввода. Подробнее о том, как выбрать язык ввода…</translation> +<translation id="6634456834225946400">Выделить панель закладок (если видна)</translation> +<translation id="666343722268997814">Открыть меню для выделенного объекта, нажав правую кнопку мыши</translation> +<translation id="6671538777808758331">Перейти к следующему совпадению в строке поиска</translation> +<translation id="6690765639083431875">Закрепить окно слева</translation> +<translation id="6692847073476874842">Показать файл в приложении "Файлы"</translation> <translation id="671928215901716392">Блокировать экран</translation> <translation id="6727005317916125192">Предыдущая панель</translation> +<translation id="6740781404993465795">Выделить следующее слово или букву</translation> +<translation id="6760706756348334449">Уменьшить громкость</translation> <translation id="6981982820502123353">Специальные возможности</translation> <translation id="7020813747703216897">Ничего не найдено.</translation> <translation id="7025325401470358758">Следующая панель</translation> -<translation id="7272373489634936181">Поиск быстрых клавиш</translation> +<translation id="7379254767514753910"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Удалить следующую букву (удаление вперед)</translation> +<translation id="766326951329901120">Вставить содержимое из буфера обмена в виде обычного текста</translation> <translation id="7724603315864178912">Вырезать</translation> -<translation id="8004192919599017226">Начать поиск…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, затем <ph name="SPACE" /> или <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Открыть файл в браузере</translation> +<translation id="7917881398263220094">Прервать загрузку страницы</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> или <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Перейти к началу документа</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> или <ph name="E" /></translation> +<translation id="8234414138295101081">Повернуть экран на 90 градусов</translation> +<translation id="836869401750819675">Открыть страницу "Скачанные файлы"</translation> +<translation id="8388247778047144397">Перетащить ссылку в пустую область на панели вкладок</translation> +<translation id="8389638407792712197">Открыть новое окно</translation> +<translation id="8429696719963529183">Использовать функциональные клавиши (от F1 до F12)</translation> +<translation id="85690795166292698">Открыть ссылку в новой вкладке</translation> +<translation id="8609384513243082612">Открыть новую вкладку</translation> +<translation id="8644639153978066712">Показать скрытые файлы в приложении "Файлы"</translation> +<translation id="8709893667941082515">Выделить адресную строку для ввода поискового запроса</translation> +<translation id="8717459106217102612">Выбрать предыдущее слово или букву</translation> +<translation id="8727232706774971183">Посмотреть уведомления</translation> <translation id="88986195241502842">На страницу вниз</translation> <translation id="8903921497873541725">Увеличить</translation> <translation id="9179672198516322668">Часто используемые быстрые клавиши</translation>
diff --git a/ash/components/strings/ash_components_strings_sk.xtb b/ash/components/strings/ash_components_strings_sk.xtb index a8ea8a8..58fa12a 100644 --- a/ash/components/strings/ash_components_strings_sk.xtb +++ b/ash/components/strings/ash_components_strings_sk.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="sk"> +<translation id="104962181688258143">Otvorenie aplikácie Súbory</translation> +<translation id="1126871238933253947">Prepnutie na predchádzajúci používaný jazyk klávesnice.</translation> +<translation id="1195667586424773550">Presunutie odkazu na panel s adresou na karte</translation> +<translation id="1204450209689312104">Otvorenie nového okna v režime inkognito</translation> +<translation id="1299858300159559687">Tlač aktuálnej stránky</translation> <translation id="1383876407941801731">Vyhľadávanie</translation> +<translation id="1439252533104567537">Prechod na očíslovanú kartu</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> alebo <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Spúšťač</translation> +<translation id="152892567002884378">Zvýšenie hlasitosti</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, potom <ph name="ESC" /></translation> +<translation id="1652741121070700329">Posunutie kurzora na začiatok predchádzajúceho slova</translation> +<translation id="1679841710523778799">Zvýšenie jasu</translation> +<translation id="168356808214100546">Pridržanie klávesa <ph name="ALT" />. Následné klepnutie na kláves <ph name="TAB" />, kým neprejdete na okno, ktoré chcete otvoriť. Následné uvoľnenie klávesa.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Pridanie predpony www. a prípony .com k zadanému vstupu v paneli s adresou a následné otvorenie stránky</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, potom <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> alebo <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Prechod na ďalšiu kartu</translation> +<translation id="2010818616644390445">Prechod na poslednú kartu v okne</translation> <translation id="2145908266289632567">Úprava textu</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 až =</translation> +<translation id="2181097965834437145">Zobrazenie alebo skrytie panela so záložkami</translation> +<translation id="2185166372312820725">Prechod na predchádzajúcu kartu</translation> +<translation id="2194790690264064655">Stlačenie klávesa <ph name="CTRL" /> a kliknutie na odkaz</translation> +<translation id="2424073332829844142">Zapnutie a vypnutie klávesa Caps Lock</translation> +<translation id="2441202986792279177">Rýchle prepínanie okien</translation> +<translation id="2478303094958140141">Zapnutie alebo vypnutie funkcie ChromeVox (hovorená spätná väzba)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Posunutie nadol na webovej stránke</translation> +<translation id="2568632782096378307">Resetovanie rozlíšenia obrazovky na predvolenú hodnotu</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, potom <ph name="TAB" /> alebo <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Uloženie aktuálnej webovej stránky ako záložky</translation> +<translation id="2750942583782703988">Obnovenie aktuálnej stránky</translation> +<translation id="2789868185375229787">Oddialenie stránky</translation> +<translation id="2804480015716812239">Stlačenie klávesa <ph name="ALT" /> a kliknutie na odkaz</translation> +<translation id="2830827904629746450">Ukotvenie okna vpravo</translation> <translation id="2872353916818027657">Prepnúť primárny monitor</translation> +<translation id="2914313326123580426">Zobrazenie alebo skrytie panela s nástrojmi pre vývojárov</translation> +<translation id="292495055542441795">Prepnutie na celú obrazovku</translation> +<translation id="3084301071537457911">Zvýraznenie ďalšej položky na poličke</translation> +<translation id="309173601632226815">Zvýraznenie tlačidla spúšťača na poličke</translation> <translation id="3105917916468784889">Nasnímať obrazovku</translation> +<translation id="3118681365140644126">Odstránenie zvýraznenia tlačidla na poličke</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Zamerať na panel s adresou</translation> +<translation id="3288816184963444640">Zavretie aktuálneho okna</translation> +<translation id="3356202203145076517">Otvorenie posledného používaného okna</translation> +<translation id="3407560819924487926">Zobrazenie správcu úloh</translation> +<translation id="3422679037938588196">Prechod na predchádzajúcu zhodu s vyhľadávacím dopytom</translation> +<translation id="344577624355799426"><ph name="ALT" /> alebo <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Obnovenie úrovne lupy</translation> +<translation id="353037708190149633">Uloženie všetkých otvorených stránok v aktuálnom okne ako záložiek v novom priečinku</translation> +<translation id="355103131818127604">Otvorenie odkazu na novej karte na pozadí</translation> <translation id="3649256019230929621">Minimalizovať okno</translation> -<translation id="385051799172605136">Naspäť</translation> +<translation id="3668361878347172356">Opakovanie poslednej akcie</translation> +<translation id="3720939646656082033">Otvorenie odkazu na novej karte a prepnutie na novú kartu</translation> +<translation id="3725795051337497754">Zavretie aktuálnej karty</translation> +<translation id="3751033133896282964">Vrátenie poslednej akcie späť</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 až 8</translation> +<translation id="3837047332182291558">Zvýšenie jasu klávesnice (iba v prípade podsvietených klávesníc)</translation> +<translation id="3976863468609830880">Kliknutie na poslednú ikonu na poličke</translation> +<translation id="4035482366624727273">Výber celého obsahu stránky</translation> +<translation id="4060703249685950734">Opätovné otvorenie poslednej zatvorenej karty alebo okna</translation> +<translation id="4090342722461256974">Pridržanie kombinácie klávesov <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />. Následné klepnutie na kláves <ph name="TAB" />, kým neprejdete na okno, ktoré chcete otvoriť. Následné uvoľnenie klávesa.</translation> +<translation id="4092538597492297615">Kopírovanie vybraného obsahu do schránky</translation> +<translation id="4123108089450197101">Uloženie odkazu ako záložky</translation> +<translation id="4141203561740478845">Zvýraznenie riadka s panelom s adresou</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> alebo <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Zobrazenie pomocníka pre klávesové skratky</translation> +<translation id="4628718545549558538">Otvorenie stavovej oblasti (kde je obrázok vášho účtu)</translation> +<translation id="4642092649622328492">Vytvorenie čiastočnej snímky obrazovky</translation> +<translation id="4725377341024374454">Otvorenie zvýrazneného tlačidla na poličke</translation> +<translation id="4801989101741319327">Posunutie kurzora na koniec ďalšieho slova</translation> +<translation id="4916163929714267752">Otvorenie odkazu v novom okne</translation> +<translation id="5034421018520995080">Prechod na začiatok stránky</translation> +<translation id="5042305953558921026">Kláves režimu prehľadu</translation> +<translation id="5104462712192763270">Uloženie aktuálnej stránky</translation> +<translation id="5121628974188116412">Prechod na koniec stránky</translation> +<translation id="5236674127086649162">Obnovenie aktuálnej stránky bez použitia obsahu z vyrovnávacej pamäte</translation> +<translation id="526651782186312376">Výber textu po začiatok riadka</translation> <translation id="5316716239522500219">Zrkadliť monitory</translation> +<translation id="5335199890994453201">Zobrazenie alebo skrytie panela DOM Inspector</translation> +<translation id="5541719484267030947">Stlačenie kávesa <ph name="ESC" /> počas presúvania karty</translation> +<translation id="5554139136362089836">Hľadanie na aktuálnej stránke</translation> +<translation id="5563050856984839829">Stlačenie klávesa <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> a kliknutie na odkaz</translation> +<translation id="561814908794220892">Otvorenie webovej stránky na novej karte</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> alebo <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Otvorenie odkazu na danej karte</translation> +<translation id="5757474750054631686">Zníženie jasu klávesnice (iba v prípade podsvietených klávesníc)</translation> +<translation id="587531134027443617">Odstránenie predchádzajúceho slova</translation> <translation id="5928303187149237472">Zmeniť Rozlíšenie displeja</translation> <translation id="5975083100439434680">Oddialiť</translation> +<translation id="6011500873794669296">Prepínanie zamerania medzi nasledujúcimi položkami: Stavová oblasť, kde je váš obrázok účtu Spúšťač Panel s adresou Panel so záložkami (ak je viditeľný) Webová stránka, ktorá je otvorená Panel sťahovania (ak je viditeľný)</translation> <translation id="6022924867608035986">Vymazať text vo vyhľadávacom poli</translation> +<translation id="6045998054441862242">Zapnutie režimu vysokého kontrastu</translation> +<translation id="6052614013050385269">Kliknutie na odkaz pravým tlačidlom</translation> <translation id="6129953537138746214">Medzera</translation> +<translation id="6143669479988153888">Priblíženie stránky</translation> <translation id="6185696379715117369">Posunúť o stránku nahor</translation> +<translation id="6228457605945141550">Zníženie jasu</translation> +<translation id="6276708887952587684">Zobrazenie zdrojového kódu stránky</translation> +<translation id="6321940490215594447">Otvorenie stránky História</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Výber textu do konca riadka</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> alebo <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Kliknutie na ikony 1 až 8 na poličke</translation> +<translation id="6435207348963613811">Zvýraznenie predchádzajúcej položky na poličke</translation> +<translation id="6445033640292336367">Vrátenie karty do pôvodnej pozície</translation> +<translation id="649811797655257835">Výber súboru a stlačenie klávesa <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Prepínanie nastavených jazykov klávesnice. Prečítajte si, ako vybrať jazyk klávesnice.</translation> +<translation id="6634456834225946400">Zvýraznenie panela so záložkami (ak je zobrazený)</translation> +<translation id="666343722268997814">Otvorenie ponuky prístupnej kliknutím pravým tlačidlom myši pre zvýraznenú položku</translation> +<translation id="6671538777808758331">Prechod na ďalšiu zhodu s vyhľadávacím dopytom</translation> +<translation id="6690765639083431875">Ukotvenie okna vľavo</translation> +<translation id="6692847073476874842">Zobrazenie ukážky súboru v aplikácii Súbory</translation> <translation id="671928215901716392">Uzamknúť obrazovku</translation> <translation id="6727005317916125192">Predchádzajúci panel</translation> +<translation id="6740781404993465795">Výber ďalšieho slova alebo písmena</translation> +<translation id="6760706756348334449">Zníženie hlasitosti</translation> <translation id="6981982820502123353">Dostupnosť</translation> <translation id="7020813747703216897">Nenašli sa žiadne zodpovedajúce výsledky</translation> <translation id="7025325401470358758">Nasledujúci panel</translation> -<translation id="7272373489634936181">Hľadať skratky</translation> +<translation id="7379254767514753910"><ph name="ALT" /> alebo <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Odstránenie nasledujúceho písmena (odstránenie nasledujúceho znaku)</translation> +<translation id="766326951329901120">Prilepenie obsahu zo schránky ako obyčajného textu</translation> <translation id="7724603315864178912">Vystrihnúť</translation> -<translation id="8004192919599017226">Spustiť vyhľadávanie...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, potom <ph name="SPACE" /> alebo <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Otvorenie súboru v prehliadači</translation> +<translation id="7917881398263220094">Zastavenie načítavania aktuálnej stránky</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> alebo <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Prechod na začiatok dokumentu</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> alebo <ph name="E" /></translation> +<translation id="8234414138295101081">Otočenie obrazovky o 90 stupňov</translation> +<translation id="836869401750819675">Otvorenie stránky Stiahnuté súbory</translation> +<translation id="8388247778047144397">Presunutie odkazu do prázdnej oblasti na paneli kariet</translation> +<translation id="8389638407792712197">Otvorenie nového okna</translation> +<translation id="8429696719963529183">Použitie klávesov F (F1 až F12)</translation> +<translation id="85690795166292698">Otvorenie odkazu na novej karte</translation> +<translation id="8609384513243082612">Otvorenie novej karty</translation> +<translation id="8644639153978066712">Zobrazenie skrytých súborov v aplikácii Súbory</translation> +<translation id="8709893667941082515">Zameranie na panel s adresou na účely vyhľadávania</translation> +<translation id="8717459106217102612">Výber predchádzajúceho slova alebo písmena</translation> +<translation id="8727232706774971183">Zobrazenie upozornení</translation> <translation id="88986195241502842">Posunúť stránku nadol</translation> <translation id="8903921497873541725">Priblížiť</translation> <translation id="9179672198516322668">Obľúbené skratky</translation>
diff --git a/ash/components/strings/ash_components_strings_sl.xtb b/ash/components/strings/ash_components_strings_sl.xtb index 00bf686c..49ef2ce 100644 --- a/ash/components/strings/ash_components_strings_sl.xtb +++ b/ash/components/strings/ash_components_strings_sl.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="sl"> +<translation id="104962181688258143">Odpiranje aplikacije Datoteke</translation> +<translation id="1126871238933253947">Preklop na prejšnji jezik tipkovnice, ki ste ga uporabljali.</translation> +<translation id="1195667586424773550">Povlecite povezavo v naslovno vrstico zavihka</translation> +<translation id="1204450209689312104">Odpiranje novega okna v načinu brez beleženja zgodovine</translation> +<translation id="1299858300159559687">Tiskanje trenutne strani</translation> <translation id="1383876407941801731">Išči</translation> +<translation id="1439252533104567537">Premik na oštevilčeni zavihek</translation> +<translation id="1454364489140280055"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="SHIFT1" /> <ph name="SEPARATOR2" /> <ph name="G" /> ali <ph name="SHIFT2" /> <ph name="SEPARATOR3" /> <ph name="ENTER" /></translation> <translation id="1510238584712386396">Zaganjalnik</translation> +<translation id="152892567002884378">Povečanje glasnosti</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, nato <ph name="ESC" /></translation> +<translation id="1652741121070700329">Premik na začetek prejšnje besede</translation> +<translation id="1679841710523778799">Povečanje svetlosti</translation> +<translation id="168356808214100546">Pridržite <ph name="ALT" /> in se dotikajte <ph name="TAB" />, dokler se ne prikaže želeno okno, nato izpustite.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /> <ph name="SEPARATOR1" /> <ph name="MODIFIER2" /> <ph name="SEPARATOR2" /> <ph name="KEY" /></translation> +<translation id="1733525068429116555">Dodajanje www. in .com vnosu v naslovni vrstici, nato pa odpiranje strani</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, nato <ph name="SHIFT2" /> <ph name="SEPARATOR3" /> <ph name="TAB" /> ali <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Premik na naslednji zavihek</translation> +<translation id="2010818616644390445">Premik na zadnji zavihek v oknu</translation> <translation id="2145908266289632567">Urejanje besedila</translation> +<translation id="215292019801409139"><ph name="SEARCH" /> <ph name="SEPARATOR" /> od 1 do =</translation> +<translation id="2181097965834437145">Prikaz ali skrivanje vrstice z zaznamki</translation> +<translation id="2185166372312820725">Premik na prejšnji zavihek</translation> +<translation id="2194790690264064655">Pritisnite <ph name="CTRL" /> in kliknite povezavo.</translation> +<translation id="2424073332829844142">Vklop in izklop tipke Caps Lock</translation> +<translation id="2441202986792279177">Hitro preklapljanje med okni</translation> +<translation id="2478303094958140141">Vklop ali izklop ChromeVoxa (glasovni odziv)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Pomikanje navzdol po spletni strani</translation> +<translation id="2568632782096378307">Ponastavitev ločljivosti zaslona na privzeto</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, nato <ph name="TAB" /> ali <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Shranjevanje trenutne spletne strani kot zaznamek</translation> +<translation id="2750942583782703988">Vnovično nalaganje trenutne strani</translation> +<translation id="2789868185375229787">Pomanjšanje strani</translation> +<translation id="2804480015716812239">Pritisnite <ph name="ALT" /> in kliknite povezavo</translation> +<translation id="2830827904629746450">Zasidranje okna na desni</translation> <translation id="2872353916818027657">Zamenjava primarnega monitorja</translation> -<translation id="3105917916468784889">Posnet. zaslona</translation> +<translation id="2914313326123580426">Prikaz ali skrivanje plošče orodij za razvijalce</translation> +<translation id="292495055542441795">Preklop celozaslonskega načina</translation> +<translation id="3084301071537457911">Označevanje naslednjega elementa na polici</translation> +<translation id="309173601632226815">Označevanje gumba zaganjalnika na polici</translation> +<translation id="3105917916468784889">Izdelava posnetka zaslona</translation> +<translation id="3118681365140644126">Opustitev označevanja gumba na polici</translation> <translation id="3126026824346185272">CTRL</translation> <translation id="3140353188828248647">Preklopi na naslovno vrstico</translation> +<translation id="3288816184963444640">Zapiranje trenutnega okna</translation> +<translation id="3356202203145076517">Odpiranje okna, ki ga najdlje niste uporabljali</translation> +<translation id="3407560819924487926">Prikazovanje upravitelja opravil</translation> +<translation id="3422679037938588196">Premik na prejšnje ujemanje za poizvedbo</translation> +<translation id="344577624355799426"><ph name="ALT" /> ali <ph name="SEARCH" /> <ph name="SEPARATOR" /> <ph name="DOWN" /></translation> +<translation id="346243998268439747">Ponastavitev povečave/pomanjšave</translation> +<translation id="353037708190149633">Shranjevanje vseh odprtih strani v trenutnem oknu kot zaznamke v novi mapi</translation> +<translation id="355103131818127604">Odpiranje povezave na novem zavihku v ozadju</translation> <translation id="3649256019230929621">Pomanjšanje olna</translation> -<translation id="385051799172605136">Nazaj</translation> +<translation id="3668361878347172356">Uveljavitev zadnjega dejanja</translation> +<translation id="3720939646656082033">Odpiranje povezave na novem zavihku in preklop nanj</translation> +<translation id="3725795051337497754">Zapiranje trenutnega zavihka</translation> +<translation id="3751033133896282964">Razveljavitev zadnjega dejanja</translation> +<translation id="379295446891231126"><ph name="CTRL" /> <ph name="SEPARATOR" /> od 1 do 8</translation> +<translation id="3837047332182291558">Povečanje osvetlitve tipkovnice (samo za osvetljene tipkovnice)</translation> +<translation id="3976863468609830880">Klik zadnje ikone na polici</translation> +<translation id="4035482366624727273">Izbira vse vsebine strani</translation> +<translation id="4060703249685950734">Vnovično odpiranje nazadnje zaprtega zavihka ali okna</translation> +<translation id="4090342722461256974">Pridržite <ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="SHIFT" /> in se dotikajte <ph name="TAB" />, dokler se ne prikaže želeno okno, nato izpustite.</translation> +<translation id="4092538597492297615">Kopiranje izbrane vsebine v odložišče</translation> +<translation id="4123108089450197101">Shranjevanje povezave kot zaznamek</translation> +<translation id="4141203561740478845">Označevanje vrstice z naslovno vrstico</translation> +<translation id="4148761611071495477"><ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="G" /> ali <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Ogled pomočnika za bližnjične tipke</translation> +<translation id="4628718545549558538">Odpiranje območja stanja, na katerem je prikazana slika za vaš račun</translation> +<translation id="4642092649622328492">Ustvarjanje delnega posnetka zaslona</translation> +<translation id="4725377341024374454">Odpiranje označenega gumba na polici</translation> +<translation id="4801989101741319327">Premik na konec naslednje besede</translation> +<translation id="4916163929714267752">Odpiranje povezave v novem oknu</translation> +<translation id="5034421018520995080">Premik na vrh strani</translation> +<translation id="5042305953558921026">Tipka za način pregleda</translation> +<translation id="5104462712192763270">Shranjevanje trenutne strani</translation> +<translation id="5121628974188116412">Premik na dno strani</translation> +<translation id="5236674127086649162">Vnovično nalaganje trenutne strani brez uporabe predpomnjene vsebine</translation> +<translation id="526651782186312376">Izbira besedila do začetka vrstice</translation> <translation id="5316716239522500219">Zrcaljenje monitorjev</translation> +<translation id="5335199890994453201">Prikaz ali skrivanje orodja DOM Inspector</translation> +<translation id="5541719484267030947">Med vlečenjem zavihka pritisnite <ph name="ESC" /></translation> +<translation id="5554139136362089836">Iskanje po trenutni strani</translation> +<translation id="5563050856984839829">Pritisnite <ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="SHIFT" /> in kliknite povezavo</translation> +<translation id="561814908794220892">Odpiranje spletne strani na novem zavihku</translation> +<translation id="5710621673935162997"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="L" /> ali <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="D" /></translation> +<translation id="5757111373163288447">Odpiranje povezave na zavihku</translation> +<translation id="5757474750054631686">Zatemnitev tipkovnice (samo za osvetljene tipkovnice)</translation> +<translation id="587531134027443617">Brisanje prejšnje besede</translation> <translation id="5928303187149237472">Spreminjanje ločljivosti zaslona</translation> <translation id="5975083100439434680">Pomanjšaj</translation> +<translation id="6011500873794669296">Preklop fokusa med: območjem stanja (na katerem je prikazana slika računa), zaganjalnikom, naslovno vrstico, vrstico z zaznamki (če je vidna), odprto spletno stranjo, vrstico za prenose (če je vidna)</translation> <translation id="6022924867608035986">Izbris besedila v iskalnem polju</translation> +<translation id="6045998054441862242">Vklop visokokontrastnega načina</translation> +<translation id="6052614013050385269">Klik povezave z desno tipko miške</translation> <translation id="6129953537138746214">Presledek</translation> +<translation id="6143669479988153888">Povečanje strani</translation> <translation id="6185696379715117369">Stran gor</translation> +<translation id="6228457605945141550">Zmanjšanje svetlosti</translation> +<translation id="6276708887952587684">Prikaz vira strani</translation> +<translation id="6321940490215594447">Odpiranje strani z zgodovino</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /> <ph name="SEPARATOR" /> <ph name="KEY" /></translation> +<translation id="6395172954772765143">Izbira besedila do konca vrstice</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /> <ph name="SEPARATOR1" /> <ph name="LEFT" /> ali <ph name="CTRL2" /> <ph name="SEPARATOR2" /> <ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klik ikone od 1 do 8 na polici</translation> +<translation id="6435207348963613811">Označevanje prejšnjega elementa na polici</translation> +<translation id="6445033640292336367">Premik zavihka na prvotno mesto</translation> +<translation id="649811797655257835">Izberite datoteko, nato pritisnite <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Preklop med jeziki tipkovnice, ki ste jih nastavili. Preberite več o izbiri jezika tipkovnice.</translation> +<translation id="6634456834225946400">Označevanje vrstice z zaznamki (če je vidna)</translation> +<translation id="666343722268997814">Odpiranje priročnega menija za označen element</translation> +<translation id="6671538777808758331">Premik na naslednje ujemanje za poizvedbo</translation> +<translation id="6690765639083431875">Zasidranje okna na levi</translation> +<translation id="6692847073476874842">Predogled datoteke v aplikaciji Datoteke</translation> <translation id="671928215901716392">Zakleni zaslon</translation> <translation id="6727005317916125192">Prejšnje podokno</translation> +<translation id="6740781404993465795">Izbira naslednje besede ali črke</translation> +<translation id="6760706756348334449">Zmanjšanje glasnosti</translation> <translation id="6981982820502123353">Dostopnost</translation> <translation id="7020813747703216897">Ni ustreznih rezultatov</translation> <translation id="7025325401470358758">Naslednje podokno</translation> -<translation id="7272373489634936181">Iskanje bližnjic</translation> +<translation id="7379254767514753910"><ph name="ALT" /> ali <ph name="SEARCH" /> <ph name="SEPARATOR" /> <ph name="UP" /></translation> +<translation id="7439718573248533901">Brisanje naslednje črke (brisanje naprej)</translation> +<translation id="766326951329901120">Lepljenje vsebine iz odložišča kot navadno besedilo</translation> <translation id="7724603315864178912">Izreži</translation> -<translation id="8004192919599017226">Začni iskanje …</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /> <ph name="SEPARATOR1" /> <ph name="ALT" /> <ph name="SEPARATOR2" /> <ph name="L" />, nato <ph name="SPACE" /> ali <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Odpiranje datoteke v brskalniku</translation> +<translation id="7917881398263220094">Ustavitev nalaganja trenutne strani</translation> +<translation id="8025696740288105292"><ph name="CTRL" /> <ph name="SEPARATOR1" /> <ph name="SHIFT" /> <ph name="SEPARATOR2" /> <ph name="PLUS" /> ali <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Premik na začetek dokumenta</translation> +<translation id="8147954207400281792"><ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="K" /> ali <ph name="E" /></translation> +<translation id="8234414138295101081">Sukanje zaslona za 90 stopinj</translation> +<translation id="836869401750819675">Odpiranje strani s prenosi</translation> +<translation id="8388247778047144397">Povlecite povezavo na prazno območje na traku z zavihki</translation> +<translation id="8389638407792712197">Odpiranje novega okna</translation> +<translation id="8429696719963529183">Uporaba funkcijskih tipk (od F1 do F12)</translation> +<translation id="85690795166292698">Odpiranje povezave na novem zavihku</translation> +<translation id="8609384513243082612">Odpiranje novega zavihka</translation> +<translation id="8644639153978066712">Prikaz skritih datotek v aplikaciji Datoteke</translation> +<translation id="8709893667941082515">Preklop naslovne vrstice na iskanje</translation> +<translation id="8717459106217102612">Izbira prejšnje besede ali črke</translation> +<translation id="8727232706774971183">Ogled obvestil</translation> <translation id="88986195241502842">Page Down</translation> <translation id="8903921497873541725">Povečaj</translation> <translation id="9179672198516322668">Priljubljene bližnjice</translation>
diff --git a/ash/components/strings/ash_components_strings_sr.xtb b/ash/components/strings/ash_components_strings_sr.xtb index 29ed698..dac2fd18 100644 --- a/ash/components/strings/ash_components_strings_sr.xtb +++ b/ash/components/strings/ash_components_strings_sr.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="sr"> +<translation id="104962181688258143">Отворите апликацију Датотеке</translation> +<translation id="1126871238933253947">Пређите на претходно коришћени језик тастатуре.</translation> +<translation id="1195667586424773550">Превуците линк у траку за адресу картице</translation> +<translation id="1204450209689312104">Отворите нови прозор у режиму без архивирања</translation> +<translation id="1299858300159559687">Штампајте тренутну страницу</translation> <translation id="1383876407941801731">Претражи</translation> +<translation id="1439252533104567537">Идите на нумерисану картицу</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> или <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Покретач</translation> +<translation id="152892567002884378">Појачајте звук</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, па <ph name="ESC" /></translation> +<translation id="1652741121070700329">Померите на почетак претходне речи</translation> +<translation id="1679841710523778799">Повећајте осветљеност</translation> +<translation id="168356808214100546">Притисните и задржите <ph name="ALT" />, додирујте <ph name="TAB" /> док не дођете до прозора који желите да отворите, па отпустите.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Додајте елементе www. и .com уносу у траци за адресу, па отворите страницу</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, па <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> или <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Идите на следећу картицу</translation> +<translation id="2010818616644390445">Идите на последњу картицу у прозору</translation> <translation id="2145908266289632567">Измена текста</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> од 1 до =</translation> +<translation id="2181097965834437145">Прикажите или сакријте траку са обележивачима</translation> +<translation id="2185166372312820725">Идите на претходну картицу</translation> +<translation id="2194790690264064655">Притисните <ph name="CTRL" /> и кликните на линк</translation> +<translation id="2424073332829844142">Укључите или искључите тастер Caps Lock</translation> +<translation id="2441202986792279177">Брзо прелазите са једног прозора на други</translation> +<translation id="2478303094958140141">Укључите или искључите ChromeVox (говорне повратне информације)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Померајте се надоле на веб-страници</translation> +<translation id="2568632782096378307">Ресетујте резолуцију екрана на подразумевану вредност</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, па <ph name="TAB" /> или <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Сачувајте тренутну веб-страницу као обележивач</translation> +<translation id="2750942583782703988">Поново учитајте тренутну страницу</translation> +<translation id="2789868185375229787">Умањите страницу</translation> +<translation id="2804480015716812239">Притисните <ph name="ALT" /> и кликните на линк</translation> +<translation id="2830827904629746450">Закачите прозор на десној страни</translation> <translation id="2872353916818027657">Замена примарног монитора</translation> +<translation id="2914313326123580426">Прикажите или сакријте таблу Алатке за програмере</translation> +<translation id="292495055542441795">Укључите/искључите приказивање на целом екрану</translation> +<translation id="3084301071537457911">Истакните следећу ставку на полици</translation> +<translation id="309173601632226815">Истакните дугме покретача на полици</translation> <translation id="3105917916468784889">Сними екран</translation> +<translation id="3118681365140644126">Уклоните истицање са дугмета на полици</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Фокусирање траке за адресу</translation> +<translation id="3288816184963444640">Затворите тренутно отворени прозор</translation> +<translation id="3356202203145076517">Отворите прозор који сте последњи користили</translation> +<translation id="3407560819924487926">Покрените менаџер задатка</translation> +<translation id="3422679037938588196">Идите на претходно подударање за претрагу</translation> +<translation id="344577624355799426"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Ресетујте ниво зумирања</translation> +<translation id="353037708190149633">Сачувајте све отворене странице у тренутном прозору као обележиваче у новом директоријуму</translation> +<translation id="355103131818127604">Отворите линк на новој картици у позадини</translation> <translation id="3649256019230929621">Смањивање прозора</translation> -<translation id="385051799172605136">Назад</translation> +<translation id="3668361878347172356">Поновите последњу радњу</translation> +<translation id="3720939646656082033">Отворите линк на новој картици и пређите на њу</translation> +<translation id="3725795051337497754">Затворите тренутно отворену картицу</translation> +<translation id="3751033133896282964">Опозовите последњу радњу</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> од 1 до 8</translation> +<translation id="3837047332182291558">Повећајте осветљеност тастатуре (само за тастатуре са позадинским осветљењем)</translation> +<translation id="3976863468609830880">Кликните на последњу икону на полици</translation> +<translation id="4035482366624727273">Изаберите све ставке на страници</translation> +<translation id="4060703249685950734">Поново отворите картицу или прозор који су последњи затворени</translation> +<translation id="4090342722461256974">Притисните и задржите <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, додирујте <ph name="TAB" /> док не дођете до прозора који желите да отворите, па отпустите.</translation> +<translation id="4092538597492297615">Копирајте изабрани садржај у привремену меморију</translation> +<translation id="4123108089450197101">Сачувајте линк као обележивач</translation> +<translation id="4141203561740478845">Истакните ред са траком за адресу</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> или <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Прегледајте помоћ за тастерске пречице</translation> +<translation id="4628718545549558538">Отворите област статуса (где је слика налога)</translation> +<translation id="4642092649622328492">Направите делимичан снимак екрана</translation> +<translation id="4725377341024374454">Отворите истакнуто дугме на полици</translation> +<translation id="4801989101741319327">Померите на крај следеће речи</translation> +<translation id="4916163929714267752">Отворите линк у новом прозору</translation> +<translation id="5034421018520995080">Идите на врх странице</translation> +<translation id="5042305953558921026">Тастер за режим прегледа</translation> +<translation id="5104462712192763270">Сачувајте тренутну страницу</translation> +<translation id="5121628974188116412">Идите на дно странице</translation> +<translation id="5236674127086649162">Поново учитајте тренутну страницу без коришћења кешираног садржаја</translation> +<translation id="526651782186312376">Изаберите текст до почетка реда</translation> <translation id="5316716239522500219">Пресликавање монитора</translation> +<translation id="5335199890994453201">Прикажите или сакријте DOM Inspector</translation> +<translation id="5541719484267030947">Док превлачите картицу притисните <ph name="ESC" /></translation> +<translation id="5554139136362089836">Претражите тренутну страницу</translation> +<translation id="5563050856984839829">Притисните <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> и кликните на линк</translation> +<translation id="561814908794220892">Отворите веб-страницу на новој картици</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> или <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Отворите линк на картици</translation> +<translation id="5757474750054631686">Смањите осветљеност тастатуре (само за тастатуре са позадинским осветљењем)</translation> +<translation id="587531134027443617">Избришите претходну реч</translation> <translation id="5928303187149237472">Промените резолуцију екрана</translation> <translation id="5975083100439434680">Умањивање</translation> +<translation id="6011500873794669296">Пребацујте фокус између: области статуса (где се приказује слика налога) Покретача, траке за адресу, траке са обележивачима (ако је видљива), веб-странице која је отворена, траке са преузимањима (ако је видљива)</translation> <translation id="6022924867608035986">Обришите текст из оквира за претрагу</translation> +<translation id="6045998054441862242">Укључите режим високог контраста</translation> +<translation id="6052614013050385269">Десни клик на линк</translation> <translation id="6129953537138746214">Размак</translation> +<translation id="6143669479988153888">Увећајте страницу</translation> <translation id="6185696379715117369">Страница нагоре</translation> +<translation id="6228457605945141550">Смањите осветљеност</translation> +<translation id="6276708887952587684">Прегледајте извор странице</translation> +<translation id="6321940490215594447">Отворите страницу Историја</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Изаберите текст до краја реда</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> или <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Кликните на иконе од 1. до 8. на полици</translation> +<translation id="6435207348963613811">Истакните претходну ставку на полици</translation> +<translation id="6445033640292336367">Вратите картицу на првобитни положај</translation> +<translation id="649811797655257835">Изаберите датотеку, па притисните <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Мењајте подешене језике тастатуре. Сазнајте како да одаберете језик тастатуре.</translation> +<translation id="6634456834225946400">Истакните траку са обележивачима (ако се види)</translation> +<translation id="666343722268997814">Отворите мени истакнуте ставке који се активира десним тастером миша</translation> +<translation id="6671538777808758331">Идите на следеће подударање за претрагу</translation> +<translation id="6690765639083431875">Закачите прозор на левој страни</translation> +<translation id="6692847073476874842">Прегледајте датотеку у апликацији Датотеке</translation> <translation id="671928215901716392">Закључај екран</translation> <translation id="6727005317916125192">Претходни оквир</translation> +<translation id="6740781404993465795">Изаберите следећу реч или слово</translation> +<translation id="6760706756348334449">Утишајте звук</translation> <translation id="6981982820502123353">Приступачност</translation> <translation id="7020813747703216897">Нисмо пронашли ниједан одговарајући резултат</translation> <translation id="7025325401470358758">Следећи оквир</translation> -<translation id="7272373489634936181">Претражите пречице</translation> +<translation id="7379254767514753910"><ph name="ALT" /> или <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Избришите следеће слово (брисање унапред)</translation> +<translation id="766326951329901120">Налепите садржај из привремене меморије као обичан текст</translation> <translation id="7724603315864178912">Исеци</translation> -<translation id="8004192919599017226">Започни претрагу...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, па <ph name="SPACE" /> или <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Отворите датотеку у прегледачу</translation> +<translation id="7917881398263220094">Зауставите учитавање тренутне странице</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> или <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Идите на почетак документа</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> или <ph name="E" /></translation> +<translation id="8234414138295101081">Ротирајте екран за 90 степени</translation> +<translation id="836869401750819675">Отворите страницу Преузимања</translation> +<translation id="8388247778047144397">Превуците линк у празну област на траци са картицама</translation> +<translation id="8389638407792712197">Отворите нови прозор</translation> +<translation id="8429696719963529183">Користите F тастере (од F1 до F12)</translation> +<translation id="85690795166292698">Отворите линк на новој картици</translation> +<translation id="8609384513243082612">Отворите нову картицу</translation> +<translation id="8644639153978066712">Прикажите скривене датотеке у апликацији Датотеке</translation> +<translation id="8709893667941082515">Фокусирајте траку за адресу на претрагу</translation> +<translation id="8717459106217102612">Изаберите претходну реч или слово</translation> +<translation id="8727232706774971183">Прегледајте обавештења</translation> <translation id="88986195241502842">Страница надоле</translation> <translation id="8903921497873541725">Увећавање</translation> <translation id="9179672198516322668">Популарне пречице</translation>
diff --git a/ash/components/strings/ash_components_strings_sv.xtb b/ash/components/strings/ash_components_strings_sv.xtb index 1c4cdd7..0e31cd0 100644 --- a/ash/components/strings/ash_components_strings_sv.xtb +++ b/ash/components/strings/ash_components_strings_sv.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="sv"> +<translation id="104962181688258143">Öppna appen Filer</translation> +<translation id="1126871238933253947">Byt till det tangentbordsspråk som du använde tidigare.</translation> +<translation id="1195667586424773550">Dra länken till flikens adressfält</translation> +<translation id="1204450209689312104">Öppna ett nytt fönster i inkognitoläge</translation> +<translation id="1299858300159559687">Skriv ut den aktuella sidan</translation> <translation id="1383876407941801731">Sök</translation> +<translation id="1439252533104567537">Öppna siffrans motsvarande flik</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> eller <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Startprogram</translation> +<translation id="152892567002884378">Höj volymen</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sedan <ph name="ESC" /></translation> +<translation id="1652741121070700329">Placera markören först i föregående ord</translation> +<translation id="1679841710523778799">Öka ljusstyrkan</translation> +<translation id="168356808214100546">Tryck och håll <ph name="ALT" />, tryck på <ph name="TAB" /> tills du når fönstret som du vill öppna och släpp sedan tangenten.</translation> <translation id="169515659049020177">Skift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Lägg till www. och .com före och efter det du skriver i adressfältet och öppna sedan sidan</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sedan <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> eller <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Öppna nästa flik</translation> +<translation id="2010818616644390445">Öppna den sista fliken i fönstret</translation> <translation id="2145908266289632567">Textredigering</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 till =</translation> +<translation id="2181097965834437145">Visa eller dölj bokmärkesfältet</translation> +<translation id="2185166372312820725">Öppna föregående flik</translation> +<translation id="2194790690264064655">Tryck på <ph name="CTRL" /> och klicka på en länk</translation> +<translation id="2424073332829844142">Aktivera och inaktivera Caps Lock</translation> +<translation id="2441202986792279177">Byt snabbt mellan fönster</translation> +<translation id="2478303094958140141">Aktivera eller inaktivera ChromeVox (talad feedback)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Rulla nedåt på webbsidan</translation> +<translation id="2568632782096378307">Återställ skärmupplösningen till standardinställningarna</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sedan <ph name="TAB" /> eller <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Sparar den aktuella webbsidan som ett bokmärke</translation> +<translation id="2750942583782703988">Läs in den aktuella sidan igen</translation> +<translation id="2789868185375229787">Zooma ut</translation> +<translation id="2804480015716812239">Tryck på <ph name="ALT" /> och klicka på en länk</translation> +<translation id="2830827904629746450">Docka ett fönster till höger</translation> <translation id="2872353916818027657">Byt primär bildskärm</translation> +<translation id="2914313326123580426">Visa och dölj panelen Verktyg för utvecklare</translation> +<translation id="292495055542441795">Aktivera och inaktivera helskärm</translation> +<translation id="3084301071537457911">Markera nästa objekt på hyllan</translation> +<translation id="309173601632226815">Markera översiktsknappen på hyllan</translation> <translation id="3105917916468784889">Ta skärmbild</translation> +<translation id="3118681365140644126">Ta bort markeringen från en knapp på hyllan</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Fokusera på adressfältet</translation> +<translation id="3288816184963444640">Stäng aktuellt fönster</translation> +<translation id="3356202203145076517">Öppna fönstret som det har gått längst tid sedan du använde</translation> +<translation id="3407560819924487926">Öppna aktivitetshanteraren</translation> +<translation id="3422679037938588196">Hitta föregående träff för sökningen</translation> +<translation id="344577624355799426"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Återställ zoomnivån</translation> +<translation id="353037708190149633">Spara alla öppna sidor i det aktuella fönstret som bokmärken i en ny mapp</translation> +<translation id="355103131818127604">Öppna länken på en ny flik i bakgrunden</translation> <translation id="3649256019230929621">Minimera fönstret</translation> -<translation id="385051799172605136">Bakåt</translation> +<translation id="3668361878347172356">Gör om den senaste åtgärden</translation> +<translation id="3720939646656082033">Öppna länken på en ny flik och byt till den nya fliken</translation> +<translation id="3725795051337497754">Stäng den aktuella fliken</translation> +<translation id="3751033133896282964">Ångra den senaste åtgärden</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 till 8</translation> +<translation id="3837047332182291558">Starkare belysning (endast tangentbord med belysning underifrån)</translation> +<translation id="3976863468609830880">Klicka på den sista ikonen i översikten</translation> +<translation id="4035482366624727273">Markera allt på sidan</translation> +<translation id="4060703249685950734">Öppna den senast stängda fliken eller det senast stängda fönstret igen</translation> +<translation id="4090342722461256974">Tryck och håll <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, tryck på <ph name="TAB" /> tills du når fönstret som du vill öppna och släpp sedan tangenten.</translation> +<translation id="4092538597492297615">Kopiera det markerade innehållet till Urklipp</translation> +<translation id="4123108089450197101">Sparar länken som ett bokmärke</translation> +<translation id="4141203561740478845">Markera raden med adressfältet</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> eller <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Visa hjälpen för kortkommandon</translation> +<translation id="4628718545549558538">Klicka i statusfältet där kontobilden visas</translation> +<translation id="4642092649622328492">Ta en skärmdump av en del av skärmen</translation> +<translation id="4725377341024374454">Öppna den markerade knappen på hyllan</translation> +<translation id="4801989101741319327">Placera markören efter nästa ord</translation> +<translation id="4916163929714267752">Öppna länken i ett nytt fönster</translation> +<translation id="5034421018520995080">Till högst upp på sidan</translation> +<translation id="5042305953558921026">Tangent för översiktsläge</translation> +<translation id="5104462712192763270">Spara den aktuella sidan</translation> +<translation id="5121628974188116412">Till längst ned på sidan</translation> +<translation id="5236674127086649162">Läs in den aktuella sidan igen utan att använda cacheminnet</translation> +<translation id="526651782186312376">Markera text till radens början</translation> <translation id="5316716239522500219">Speglar monitorer</translation> +<translation id="5335199890994453201">Visa eller dölj DOM-inspektören</translation> +<translation id="5541719484267030947">Tryck på <ph name="ESC" /> medan du drar fliken</translation> +<translation id="5554139136362089836">Sök på den aktuella sidan</translation> +<translation id="5563050856984839829">Tryck på <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> och klicka på en länk</translation> +<translation id="561814908794220892">Öppna webbsidan på en ny flik</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> eller <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Öppna länken på fliken</translation> +<translation id="5757474750054631686">Svagare belysning (endast tangentbord med belysning underifrån)</translation> +<translation id="587531134027443617">Radera föregående ord</translation> <translation id="5928303187149237472">Ändra skärmupplösning</translation> <translation id="5975083100439434680">Zooma ut</translation> +<translation id="6011500873794669296">Byt fokus mellan: Statusfältet (där kontobilden visas) Översiktens adressfält Bokmärkesfältet (om det visas) Webbsidan som är öppen Nedladdningsfältet (om det visas)</translation> <translation id="6022924867608035986">Rensa sökrutan</translation> +<translation id="6045998054441862242">Aktivera högkontrastläge</translation> +<translation id="6052614013050385269">Högerklicka på en länk</translation> <translation id="6129953537138746214">Blanksteg</translation> +<translation id="6143669479988153888">Zooma in på sidan</translation> <translation id="6185696379715117369">Uppåt en sida</translation> +<translation id="6228457605945141550">Minska ljusstyrkan</translation> +<translation id="6276708887952587684">Visa sidkälla</translation> +<translation id="6321940490215594447">Öppna sidan Historik</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Markera text till radens slut</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> eller <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Klicka på ikonerna 1–8 på hyllan</translation> +<translation id="6435207348963613811">Markera föregående objekt på hyllan</translation> +<translation id="6445033640292336367">Återställ flikens ursprungliga position</translation> +<translation id="649811797655257835">Välj en fil och tryck på <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Byt mellan de tangentbordsspråk som du har angett. Läs mer om hur du väljer tangentbordsspråk.</translation> +<translation id="6634456834225946400">Markera bokmärkesfältet (om det visas)</translation> +<translation id="666343722268997814">Öppna högerklicksmenyn för markerat objekt</translation> +<translation id="6671538777808758331">Hitta nästa träff för sökningen</translation> +<translation id="6690765639083431875">Docka ett fönster till vänster</translation> +<translation id="6692847073476874842">Förhandsgranska filerna i appen Filer</translation> <translation id="671928215901716392">Lås skärmen</translation> <translation id="6727005317916125192">Föregående ruta</translation> +<translation id="6740781404993465795">Välja nästa ord eller bokstav</translation> +<translation id="6760706756348334449">Sänk volymen</translation> <translation id="6981982820502123353">Tillgänglighet</translation> <translation id="7020813747703216897">Inga matchande sökresultat hittades</translation> <translation id="7025325401470358758">Nästa ruta</translation> -<translation id="7272373489634936181">Sök efter kortkommandon</translation> +<translation id="7379254767514753910"><ph name="ALT" /> eller <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Radera nästa bokstav (radera framåt)</translation> +<translation id="766326951329901120">Klistra in innehållet i Urklipp som oformaterad text</translation> <translation id="7724603315864178912">Klipp ut</translation> -<translation id="8004192919599017226">Starta sökningen …</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, sedan <ph name="SPACE" /> eller <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Öppna en fil i webbläsaren</translation> +<translation id="7917881398263220094">Sluta läsa in den aktuella sidan</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> eller <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Till början av dokumentet</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> eller <ph name="E" /></translation> +<translation id="8234414138295101081">Rotera skärmen 90 grader</translation> +<translation id="836869401750819675">Öppna sidan Nedladdningar</translation> +<translation id="8388247778047144397">Dra länken till ett tomt område i flikhuvudet</translation> +<translation id="8389638407792712197">Öppna nytt fönster</translation> +<translation id="8429696719963529183">Använd F-tangenterna (F1 till F12)</translation> +<translation id="85690795166292698">Öppna länken på en ny flik</translation> +<translation id="8609384513243082612">Öppna ny flik</translation> +<translation id="8644639153978066712">Visa dolda filer i appen Filer</translation> +<translation id="8709893667941082515">Fokusera på adressfältet för sökning</translation> +<translation id="8717459106217102612">Markera föregående ord eller bokstav</translation> +<translation id="8727232706774971183">Visa dina aviseringar</translation> <translation id="88986195241502842">Nedåt en sida</translation> <translation id="8903921497873541725">Zooma in</translation> <translation id="9179672198516322668">Populära kortkommandon</translation>
diff --git a/ash/components/strings/ash_components_strings_sw.xtb b/ash/components/strings/ash_components_strings_sw.xtb index ca2cff2..7c6f370 100644 --- a/ash/components/strings/ash_components_strings_sw.xtb +++ b/ash/components/strings/ash_components_strings_sw.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="sw"> +<translation id="104962181688258143">Fungua programu ya Faili</translation> +<translation id="1126871238933253947">Tumia lugha ya kibodi ya awali uliyokuwa ukitumia.</translation> +<translation id="1195667586424773550">Buruta kiungo hadi kwenye sehemu ya anwani katika kichupo</translation> +<translation id="1204450209689312104">Fungua dirisha jipya katika hali fiche</translation> +<translation id="1299858300159559687">Chapisha ukurasa wa sasa</translation> <translation id="1383876407941801731">Tafuta</translation> +<translation id="1439252533104567537">Nenda kwenye kichupo chenye nambari</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> au <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Kizindua</translation> +<translation id="152892567002884378">Ongeza sauti</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kisha <ph name="ESC" /></translation> +<translation id="1652741121070700329">Sogeza hadi mwanzo wa neno la awali</translation> +<translation id="1679841710523778799">Ongeza ung'aavu</translation> +<translation id="168356808214100546">Bonyeza na ushikilie <ph name="ALT" />, gusa <ph name="TAB" /> hadi utakapoona dirisha ambalo ungependa kufungua, kisha uachilie.</translation> <translation id="169515659049020177">Hama</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Ongeza www. na .com kwenye maandishi uliyoandika katika sehemu ya anwani, kisha ufungue ukurasa</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kisha <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> au <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Nenda kwenye kichupo kinachofuata</translation> +<translation id="2010818616644390445">Nenda kwenye kichupo cha mwisho katika dirisha</translation> <translation id="2145908266289632567">Kubadilisha Maandishi</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 hadi =</translation> +<translation id="2181097965834437145">Onyesha au ufiche sehemu ya alamisho</translation> +<translation id="2185166372312820725">Nenda kwenye kichupo cha awali</translation> +<translation id="2194790690264064655">Bonyeza <ph name="CTRL" /> na ubofye kiungo</translation> +<translation id="2424073332829844142">Washa au uzime Caps Lock</translation> +<translation id="2441202986792279177">Badilisha madirisha haraka</translation> +<translation id="2478303094958140141">Washa au uzime ChromeVox (maelezo yanayotamkwa)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Sogeza chini ukurasa wa wavuti</translation> +<translation id="2568632782096378307">Tumia ubora chaguomsingi wa skrini</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kisha <ph name="TAB" /> au <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Hifadhi ukurasa wa sasa wa wavuti uwe alamisho</translation> +<translation id="2750942583782703988">Pakia upya ukurasa wa sasa</translation> +<translation id="2789868185375229787">Sogeza ukurasa mbali</translation> +<translation id="2804480015716812239">Bonyeza <ph name="ALT" /> na ubofye kiungo</translation> +<translation id="2830827904629746450">Tumia dirisha likiwa upande wa kulia</translation> <translation id="2872353916818027657">Papasa kiwambo msingi</translation> -<translation id="3105917916468784889">Piga picha kiwamba</translation> +<translation id="2914313326123580426">Onyesha au ufiche kidirisha cha Zana za Wasanidi Programu</translation> +<translation id="292495055542441795">Tumia skrini nzima</translation> +<translation id="3084301071537457911">Angazia kipengee kinachofuata kwenye rafu yako</translation> +<translation id="309173601632226815">Angazia kitufe cha kifungua programu kwenye rafu yako</translation> +<translation id="3105917916468784889">Piga picha ya skrini</translation> +<translation id="3118681365140644126">Acha kuangazia kitufe kwenye rafu yako</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Lenga upau anwani</translation> +<translation id="3288816184963444640">Funga dirisha la sasa</translation> +<translation id="3356202203145076517">Fungua dirisha ambalo hukutumia zaidi hivi karibuni</translation> +<translation id="3407560819924487926">Fungua kidhibiti cha shughuli kwenye Chrome</translation> +<translation id="3422679037938588196">Rudi kwenye utafutaji wa awali unaolingana na utafutaji wako</translation> +<translation id="344577624355799426"><ph name="ALT" /> au <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Badilisha kiwango cha ukuzaji</translation> +<translation id="353037708190149633">Hifadhi kurasa zote ambazo zimefunguliwa katika dirisha la sasa ziwe alamisho katika folda mpya</translation> +<translation id="355103131818127604">Fungua kiungo kwenye kichupo kipya chinichini</translation> <translation id="3649256019230929621">Punguza dirisha</translation> -<translation id="385051799172605136">Nyuma</translation> +<translation id="3668361878347172356">Rejesha kitendo chako cha mwisho</translation> +<translation id="3720939646656082033">Fungua kiungo katika kichupo kipya na utumie kichupo kipya</translation> +<translation id="3725795051337497754">Funga kichupo cha sasa</translation> +<translation id="3751033133896282964">Tendua kitendo chako cha mwisho</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 hadi 8</translation> +<translation id="3837047332182291558">Ongeza mwangaza wa kibodi (katika kibodi zenye mwanga wa nyuma pekee)</translation> +<translation id="3976863468609830880">Bofya aikoni ya mwisho kwenye rafu yako</translation> +<translation id="4035482366624727273">Chagua kila kitu kwenye ukurasa</translation> +<translation id="4060703249685950734">Fungua tena kichupo au dirisha la mwisho ulilofunga</translation> +<translation id="4090342722461256974">Bonyesha na ushikilie <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />, gusa <ph name="TAB" /> hadi utakapoona dirisha ambalo ungependa kufungua kisha uachilie.</translation> +<translation id="4092538597492297615">Nakili maudhui yaliyochaguliwa kwenye ubao wa kunakili</translation> +<translation id="4123108089450197101">Hifadhi kiungo kiwe alamisho</translation> +<translation id="4141203561740478845">Angazia safu mlalo iliyo na sehemu ya anwani</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> au <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Angalia Kisaidizi cha Mikato ya Kibodi</translation> +<translation id="4628718545549558538">Fungua eneo la hali (ambako picha yako ya akaunti huonekana)</translation> +<translation id="4642092649622328492">Piga picha ya sehemu ya skrini</translation> +<translation id="4725377341024374454">Fungua kichupo kilichoangaziwa kwenye rafu yako</translation> +<translation id="4801989101741319327">Sogeza hadi mwisho wa neno linalofuata</translation> +<translation id="4916163929714267752">Fungua kiungo katika dirisha jipya</translation> +<translation id="5034421018520995080">Nenda juu ya ukurasa</translation> +<translation id="5042305953558921026">Kitufe cha hali ya muhtasari</translation> +<translation id="5104462712192763270">Hifadhi ukurasa wako wa sasa</translation> +<translation id="5121628974188116412">Nenda sehemu ya chini ya ukurasa</translation> +<translation id="5236674127086649162">Pakia upya ukurasa wako wa sasa bila kutumia maudhui yaliyowekwa katika akiba</translation> +<translation id="526651782186312376">Chagua maandishi yaliyo kwenye mwanzo wa mstari</translation> <translation id="5316716239522500219">Viwambo vya kioo</translation> +<translation id="5335199890994453201">Onyesha au ufiche Kikaguzi cha DOM</translation> +<translation id="5541719484267030947">Huku ukiburuta kichupo, bonyeza <ph name="ESC" /></translation> +<translation id="5554139136362089836">Tafuta kwenye ukurasa wa sasa</translation> +<translation id="5563050856984839829">Bonyeza <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> na ubofye kiungo</translation> +<translation id="561814908794220892">Fungua ukurasa wa wavuti katika kichupo kipya</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> au <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Fungua kiungo katika kichupo</translation> +<translation id="5757474750054631686">Punguza mwangaza wa kibodi (katika kibodi zenye mwanga wa nyuma pekee)</translation> +<translation id="587531134027443617">Futa neno lililotangulia</translation> <translation id="5928303187149237472">Badilisha ubora wa skrini</translation> <translation id="5975083100439434680">Fifiza</translation> +<translation id="6011500873794669296">Badilisha ulengaji kati ya: Eneo la hali (sehemu ambapo picha ya akaunti huonekana) Sehemu ya anwani ya Kifungua Programu, Sehemu ya alamisho (kama inaonekana), Ukurasa wa wavuti ambao unafungua Upau wa vipakuliwa (kama unaonekana)</translation> <translation id="6022924867608035986">Futa maandishi ya kisanduku cha utafutaji</translation> +<translation id="6045998054441862242">Washa hali ya utofautishaji wa juu</translation> +<translation id="6052614013050385269">Bofya kulia kiungo</translation> <translation id="6129953537138746214">Nafasi</translation> +<translation id="6143669479988153888">Vuta ukurasa karibu</translation> <translation id="6185696379715117369">Ukurasa mmoja juu</translation> +<translation id="6228457605945141550">Punguza mwangaza</translation> +<translation id="6276708887952587684">Tazama chanzo cha ukurasa</translation> +<translation id="6321940490215594447">Fungua Ukurasa wa Historia</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Chagua maandishi katika sehemu ya mwisho wa mstari</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> au <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Bofya aikoni za 1-8 kwenye rafu yako</translation> +<translation id="6435207348963613811">Angazia kipengee cha awali kwenye rafu yako</translation> +<translation id="6445033640292336367">Rudisha kichupo kwenye nafasi yake halisi</translation> +<translation id="649811797655257835">Chagua faili, kisha ubofye <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Badili kati ya lugha za kibodi ambazo umeweka. Pata maelezo zaidi kuhusu jinsi ya kuchagua lugha ya kibodi.</translation> +<translation id="6634456834225946400">Angazia sehemu ya alamisho (kama imeonyeshwa)</translation> +<translation id="666343722268997814">Fungua menyu ya kipengee kinachoangaziwa kwa kubofya kulia</translation> +<translation id="6671538777808758331">Nenda kwenye utafutaji unaofuata unaolingana na utafutaji wako</translation> +<translation id="6690765639083431875">Tumia dirisha likiwa upande wa kushoto</translation> +<translation id="6692847073476874842">Chungulia kwanza faili katika programu ya Faili</translation> <translation id="671928215901716392">Funga skrini</translation> <translation id="6727005317916125192">Dirisha lililotangulia</translation> +<translation id="6740781404993465795">Chagua neno au herufi inayofuata</translation> +<translation id="6760706756348334449">Punguza sauti</translation> <translation id="6981982820502123353">Upatikanaji</translation> <translation id="7020813747703216897">Haikupata matokeo yoyote yanayolingana</translation> <translation id="7025325401470358758">Kidirisha kinachofuata</translation> -<translation id="7272373489634936181">Tafuta njia za mkato</translation> +<translation id="7379254767514753910"><ph name="ALT" /> au <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Futa herufi inayofuata (futa kuelekea mbele)</translation> +<translation id="766326951329901120">Bandika maudhui kutoka ubao wa kunakili katika muundo wa maandishi dhahiri</translation> <translation id="7724603315864178912">Kata</translation> -<translation id="8004192919599017226">Anza kutafuta...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, kisha <ph name="SPACE" /> au <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Fungua faili katika kivinjari</translation> +<translation id="7917881398263220094">Acha kupakia ukurasa wako wa sasa</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> au <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Nenda kwenye mwanzo wa hati</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> au <ph name="E" /></translation> +<translation id="8234414138295101081">Zungusha skrini kwa digrii 90</translation> +<translation id="836869401750819675">Fungua ukurasa wa Vipakuliwa</translation> +<translation id="8388247778047144397">Buruta kiungo kwenye sehemu tupu katika ukanda wa vichupo</translation> +<translation id="8389638407792712197">Fungua dirisha jipya</translation> +<translation id="8429696719963529183">Tumia vitufe vya F (F1 hadi F12)</translation> +<translation id="85690795166292698">Fungua kiungo katika kichupo kipya</translation> +<translation id="8609384513243082612">Fungua kichupo kipya</translation> +<translation id="8644639153978066712">Onyesha faili zilizofichwa katika programu ya Faili</translation> +<translation id="8709893667941082515">Lenga sehemu ya anwani kwenye utafutaji</translation> +<translation id="8717459106217102612">Chagua neno au herufi ya awali</translation> +<translation id="8727232706774971183">Angalia arifa zako</translation> <translation id="88986195241502842">Ukurasa mmoja chini</translation> <translation id="8903921497873541725">Kuza karibu</translation> <translation id="9179672198516322668">Njia Maarufu za Mkato</translation>
diff --git a/ash/components/strings/ash_components_strings_ta.xtb b/ash/components/strings/ash_components_strings_ta.xtb index 77ab5c3..c6f6085 100644 --- a/ash/components/strings/ash_components_strings_ta.xtb +++ b/ash/components/strings/ash_components_strings_ta.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="ta"> +<translation id="104962181688258143">கோப்புகள் பயன்பாட்டைத் திறக்கும்</translation> +<translation id="1126871238933253947">நீங்கள் பயன்படுத்திய, முந்தைய விசைப்பலகை மொழிக்கு மாற்றும்.</translation> +<translation id="1195667586424773550">தாவலின் முகவரிப் பட்டிக்கு இணைப்பை இழுக்கவும்</translation> +<translation id="1204450209689312104">புதிய சாளரத்தை மறைநிலையில் திறக்கும்</translation> +<translation id="1299858300159559687">உங்கள் தற்போதைய பக்கத்தை அச்சிடும்</translation> <translation id="1383876407941801731">தேடல்</translation> +<translation id="1439252533104567537">எண்ணிடப்பட்ட தாவலுக்குச் செல்லும்</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> அல்லது <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">துவக்கி</translation> +<translation id="152892567002884378">ஒலியளவை அதிகரிக்கும்</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, பின்னர் <ph name="ESC" />ஐ அழுத்தவும்</translation> +<translation id="1652741121070700329">முந்தைய சொல்லின் தொடக்கத்திற்கு நகர்த்தும்</translation> +<translation id="1679841710523778799">ஒளிர்வை அதிகரிக்கும்</translation> +<translation id="168356808214100546">நீங்கள் திறக்க விரும்பும் சாளரத்திற்குச் செல்லும் வரை, <ph name="ALT" />ஐ அழுத்திப் பிடித்து, <ph name="TAB" />ஐத் தட்டி, பின்னர் விடுவிக்கவும்.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">முகவரிப் பட்டியில் உங்கள் உள்ளீட்டில் www., .com ஆகியவற்றைச் சேர்த்து, பின்னர் பக்கத்தைத் திறக்கும்</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, பின்னர் <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> அல்லது <ph name="LEFT" />ஐ அழுத்தவும்</translation> +<translation id="1996162290124031907">அடுத்த தாவலுக்குச் செல்லும்</translation> +<translation id="2010818616644390445">சாளரத்தில் கடைசித் தாவலுக்குச் செல்லும்</translation> <translation id="2145908266289632567">உரைத் திருத்தம்</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 முதல் = வரை</translation> +<translation id="2181097965834437145">புக்மார்க் பட்டியைக் காட்டும் அல்லது மறைக்கும்</translation> +<translation id="2185166372312820725">முந்தைய தாவலுக்குச் செல்லும்</translation> +<translation id="2194790690264064655"><ph name="CTRL" />ஐ அழுத்தி, இணைப்பைக் கிளிக் செய்யவும்</translation> +<translation id="2424073332829844142">கேப்ஸ்லாக்கை இயக்கும் மற்றும் முடக்கும்</translation> +<translation id="2441202986792279177">சாளரங்களுக்கிடையே விரைவாக மாற்றும்</translation> +<translation id="2478303094958140141">ChromeVoxஐ (பேச்சுவடிவக் கருத்து) இயக்கும் அல்லது முடக்கும்</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">இணையப் பக்கத்தில் கீழே உருட்டும்</translation> +<translation id="2568632782096378307">திரையின் தெளிவுத்திறனை இயல்புநிலைக்கு மீட்டமைக்கும்</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, பின்னர் <ph name="TAB" /> அல்லது <ph name="RIGHT" />ஐ அழுத்தவும்</translation> +<translation id="2699509451653686398">உங்கள் தற்போதைய இணையப் பக்கத்தை புக்மார்க்காகச் சேமிக்கும்</translation> +<translation id="2750942583782703988">உங்கள் தற்போதைய பக்கத்தை மீண்டும் ஏற்றும்</translation> +<translation id="2789868185375229787">பக்கத்தில் சிறிதாக்குவதை இயக்கும்</translation> +<translation id="2804480015716812239"><ph name="ALT" />ஐ அழுத்தி, இணைப்பைக் கிளிக் செய்யவும்</translation> +<translation id="2830827904629746450">சாளரத்தை வலதுபுறத்தில் டாக் செய்யும்</translation> <translation id="2872353916818027657">முதன்மை மானிட்டர்களை இடம் மாற்று</translation> -<translation id="3105917916468784889">திரைப்பிடிப்பை எடுங்கள்</translation> +<translation id="2914313326123580426">டெவெலப்பர் கருவிகள் பேனலைக் காட்டும் அல்லது மறைக்கும்</translation> +<translation id="292495055542441795">முழுத்திரை நிலையை மாற்றும்</translation> +<translation id="3084301071537457911">உங்கள் ஷெல்ஃபில் அடுத்த உருப்படியைத் தனிப்படுத்தும்</translation> +<translation id="309173601632226815">உங்கள் ஷெல்ஃபில் தொடக்கிப் பொத்தானைத் தனிப்படுத்தும்</translation> +<translation id="3105917916468784889">ஸ்கிரீன் ஷாட்டை எடுக்கும்</translation> +<translation id="3118681365140644126">உங்கள் ஷெல்ஃபில் பொத்தானைத் தனிப்படுத்தியதை அகற்றும்</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">முகவரிப் பட்டியைக் கவனித்திடுங்கள்</translation> +<translation id="3288816184963444640">தற்போதைய சாளரத்தை மூடும்</translation> +<translation id="3356202203145076517">நீங்கள் சமீபத்தில் பயன்படுத்திய சாளரத்தைத் திறக்கும்</translation> +<translation id="3407560819924487926">செயல் நிர்வாகியைத் திறக்கும்</translation> +<translation id="3422679037938588196">உங்கள் தேடலுக்கான முந்தைய பொருத்தத்திற்குச் செல்லும்</translation> +<translation id="344577624355799426"><ph name="ALT" /> அல்லது <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">அளவுமாற்றுதல் நிலையை மீட்டமைக்கும்</translation> +<translation id="353037708190149633">உங்கள் தற்போதைய தாவலில் உள்ள எல்லா திறந்த பக்கங்களையும் புக்மார்க்குகளாக புதிய கோப்புறையில் சேமிக்கும்</translation> +<translation id="355103131818127604">இணைப்பை புதிய தாவலாகப் பின்புலத்தில் திறக்கும்</translation> <translation id="3649256019230929621">சாளரத்தை சிறிதாக்கு</translation> -<translation id="385051799172605136">முந்தைய பக்கம்</translation> +<translation id="3668361878347172356">உங்கள் கடைசிச் செயலை மீண்டும்செய்யும்</translation> +<translation id="3720939646656082033">இணைப்பை புதிய தாவலாகத் திறந்து, அந்தத் தாவலுக்கும் மாற்றும்</translation> +<translation id="3725795051337497754">தற்போதைய தாவலை மூடும்</translation> +<translation id="3751033133896282964">உங்கள் கடைசிச் செயலைச் செயல்தவிர்க்கும்</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 முதல் 8 வரை</translation> +<translation id="3837047332182291558">விசைப்பலகையைப் பிரகாசமாக்கும் (பின்னணி வெளிச்சம் கொண்ட விசைப்பலகைகளுக்கு மட்டும்)</translation> +<translation id="3976863468609830880">உங்கள் ஷெல்ஃபில் கடைசி ஐகானைக் கிளிக் செய்யும்</translation> +<translation id="4035482366624727273">பக்கத்தில் உள்ள எல்லாவற்றையும் தேர்ந்தெடுக்கும்</translation> +<translation id="4060703249685950734">நீங்கள் கடையாக மூடிய தாவல் அல்லது சாளரத்தை மீண்டும் திறக்கும்</translation> +<translation id="4090342722461256974">நீங்கள் திறக்க விரும்பும் சாளரத்திற்குச் செல்லும் வரை, <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />ஐ அழுத்திப் பிடித்து, <ph name="TAB" />ஐத் தட்டி, பின்னர் விடுவிக்கவும்.</translation> +<translation id="4092538597492297615">தேர்ந்தெடுத்த உள்ளடக்கத்தைக் கிளிப்போர்டிற்கு நகலெடுக்கும்</translation> +<translation id="4123108089450197101">இணைப்பை புக்மார்க்காகச் சேமிக்கும்</translation> +<translation id="4141203561740478845">முகவரிப் பட்டியைக் கொண்ட வரிசையைத் தனிப்படுத்தும்</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> அல்லது <ph name="ENTER" /></translation> +<translation id="4556221320735744018">கீபோர்ட் ஷார்ட்கட் உதவியைக் காட்டும்</translation> +<translation id="4628718545549558538">உங்கள் கணக்கின் படம் தோன்றக்கூடிய நிலைப் பகுதியைத் திறக்கும்</translation> +<translation id="4642092649622328492">பகுதியளவு ஸ்கிரீன்ஷாட்டை எடுக்கும்</translation> +<translation id="4725377341024374454">உங்கள் ஷெல்ஃபில் தனிப்படுத்தப்பட்ட பொத்தானைத் திறக்கும்</translation> +<translation id="4801989101741319327">அடுத்த சொல்லின் முடிவுக்கு நகர்த்தும்</translation> +<translation id="4916163929714267752">இணைப்பை புதிய சாளரத்தில் திறக்கும்</translation> +<translation id="5034421018520995080">பக்கத்தின் மேல்பக்கத்திற்குச் செல்லும்</translation> +<translation id="5042305953558921026">மேலோட்டப் பயன்முறை விசை</translation> +<translation id="5104462712192763270">உங்கள் தற்போதைய பக்கத்தைச் சேமிக்கும்</translation> +<translation id="5121628974188116412">பக்கத்தின் கீழ்ப்பக்கத்திற்குச் செல்லும்</translation> +<translation id="5236674127086649162">தற்காலிக சேமிப்பு உள்ளடக்கத்தைப் பயன்படுத்தாமல் உங்கள் தற்போதைய பக்கத்தை மீண்டும் ஏற்றும்</translation> +<translation id="526651782186312376">வரியின் தொடக்கத்தில் உள்ள உரையைத் தேர்ந்தெடுக்கும்</translation> <translation id="5316716239522500219">மானிட்டர்களைப் பிரதிபலி</translation> +<translation id="5335199890994453201">DOM கண்காணிப்பானைக் காட்டும் அல்லது மறைக்கும்</translation> +<translation id="5541719484267030947">தாவலை இழுக்கும் போது, <ph name="ESC" />ஐ அழுத்தவும்</translation> +<translation id="5554139136362089836">தற்போதைய பக்கத்தைத் தேடும்</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" />ஐ அழுத்தி, இணைப்பைக் கிளிக் செய்யவும்</translation> +<translation id="561814908794220892">புதிய தாவலில் இணையப் பக்கத்தைத் திறக்கும்</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> அல்லது <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">தாவலில் இணைப்பைத் திறக்கும்</translation> +<translation id="5757474750054631686">விசைப்பலகையை மங்கலாக்கும் (பின்னணி வெளிச்சம் கொண்ட விசைப்பலகைகளுக்கு மட்டும்)</translation> +<translation id="587531134027443617">முந்தைய சொல்லை நீக்கும்</translation> <translation id="5928303187149237472">திரையின் தெளிவுத்திறனை மாற்றும்</translation> <translation id="5975083100439434680">சிறிதாக்கு</translation> +<translation id="6011500873794669296">இவற்றிற்கு இடையில் கவனம் செலுத்துவதை மாற்றும்: உங்கள் கணக்கின் படம் தோன்றக்கூடிய நிலைப் பகுதி தொடக்கி முகவரிப் பட்டி புக்மார்க் பட்டி (தெரிந்தால்) பதிவிறக்கங்கள் பட்டியைத் திறக்கும் இணையப்பக்கம் (தெரிந்தால்)</translation> <translation id="6022924867608035986">தேடல்பெட்டியிலிருக்கும் உரையை அழிக்கும்</translation> +<translation id="6045998054441862242">அதிக ஒளி மாறுபாட்டுப் பயன்முறையை இயக்கும்</translation> +<translation id="6052614013050385269">இணைப்பை வலது கிளிக் செய்யும்</translation> <translation id="6129953537138746214">இடைவெளி</translation> +<translation id="6143669479988153888">பக்கத்தில் பெரிதாக்குவதை இயக்கும்</translation> <translation id="6185696379715117369">பக்கத்தின் மேலே</translation> +<translation id="6228457605945141550">ஒளிர்வைக் குறைக்கும்</translation> +<translation id="6276708887952587684">பக்க மூலத்தைக் காட்டும்</translation> +<translation id="6321940490215594447">வரலாற்றுப் பக்கத்தைத் திறக்கும்</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">வரியின் இறுதியில் உள்ள உரையைத் தேர்ந்தெடுக்கும்</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> அல்லது <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">உங்கள் ஷெல்ஃபில் 1 முதல் 8 வரையுள்ள ஐகான்களைக் கிளிக் செய்யும்</translation> +<translation id="6435207348963613811">உங்கள் ஷெல்ஃபில் முந்தைய உருப்படியைத் தனிப்படுத்தும்</translation> +<translation id="6445033640292336367">தாவலை அதன் பழைய நிலையில் வைக்கும்</translation> +<translation id="649811797655257835">கோப்பைத் தேர்ந்தெடுத்து, <ph name="SPACE" />ஐ அழுத்தவும்</translation> +<translation id="6572206071785323178">நீங்கள் அமைத்த விசைப்பலகை மொழிகளுக்கிடையில் மாற்றும். உங்கள் விசைப்பலகையை எப்படித் தேர்வுசெய்வது என்பதை அறியவும்.</translation> +<translation id="6634456834225946400">புக்மார்க் பட்டியைத் தனிப்படுத்தும் (காட்டப்பட்டால்)</translation> +<translation id="666343722268997814">தனிப்படுத்தப்பட்ட உருப்படிக்கான வலது கிளிக் மெனுவைத் திறக்கும்</translation> +<translation id="6671538777808758331">உங்கள் தேடலுக்கான அடுத்த பொருத்தத்திற்குச் செல்லும்</translation> +<translation id="6690765639083431875">சாளரத்தை இடதுபுறத்தில் டாக் செய்யும்</translation> +<translation id="6692847073476874842">கோப்புகள் பயன்பாட்டில் கோப்பின் மாதிரிக்காட்சியைக் காட்டும்</translation> <translation id="671928215901716392">திரையைப் பூட்டு</translation> <translation id="6727005317916125192">முந்தைய பலகம்</translation> +<translation id="6740781404993465795">அடுத்த சொல் அல்லது எழுத்தைத் தேர்ந்தெடுக்கும்</translation> +<translation id="6760706756348334449">ஒலியளவைக் குறைக்கும்</translation> <translation id="6981982820502123353">அணுகல் தன்மை</translation> <translation id="7020813747703216897">பொருந்தும் முடிவுகள் எதுவுமில்லை</translation> <translation id="7025325401470358758">அடுத்த பலகம்</translation> -<translation id="7272373489634936181">குறுக்குவழிகளைத் தேடவும்</translation> +<translation id="7379254767514753910"><ph name="ALT" /> அல்லது <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">அடுத்த எழுத்தை நீக்கும் (முன்னோக்கி நீக்குதல்)</translation> +<translation id="766326951329901120">கிளிப்போர்டிலிருந்து உள்ளடக்கத்தை எளிய உரையாக ஒட்டும்</translation> <translation id="7724603315864178912">வெட்டு</translation> -<translation id="8004192919599017226">தேடலைத் தொடங்கு...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, பின்னர் <ph name="SPACE" /> அல்லது <ph name="ENTER" />ஐ அழுத்தவும்</translation> +<translation id="7787242579016742662">உலாவியில் கோப்பைத் திறக்கும்</translation> +<translation id="7917881398263220094">உங்கள் தற்போதைய பக்கத்தை ஏற்றுவதை நிறுத்தும்</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> அல்லது <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ஆவணத்தின் தொடக்கத்திற்குச் செல்லும்</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> அல்லது <ph name="E" /></translation> +<translation id="8234414138295101081">திரையை 90 டிகிரிக்குச் சுழற்றும்</translation> +<translation id="836869401750819675">பதிவிறக்கங்கள் பக்கத்தைத் திறக்கும்</translation> +<translation id="8388247778047144397">தாவல் பட்டையில் உள்ள வெற்றுப் பகுதியில் இணைப்பை இழுக்கவும்</translation> +<translation id="8389638407792712197">புதிய சாளரத்தைத் திறக்கும்</translation> +<translation id="8429696719963529183">F விசைகளைப் பயன்படுத்தும் (F1 முதல் F12 வரை)</translation> +<translation id="85690795166292698">இணைப்பை புதிய தாவலில் திறக்கும்</translation> +<translation id="8609384513243082612">புதிய தாவலைத் திறக்கும்</translation> +<translation id="8644639153978066712">கோப்புகள் பயன்பாட்டில் உள்ள மறைக்கப்பட்ட கோப்புகளைக் காட்சிப்படுத்தும்</translation> +<translation id="8709893667941082515">தேடலில் முகவரி பட்டியில் கவனம் செலுத்தும்</translation> +<translation id="8717459106217102612">முந்தைய சொல்லை அல்லது எழுத்தைத் தேர்ந்தெடுக்கும்</translation> +<translation id="8727232706774971183">உங்கள் அறிவிப்புகளைக் காட்டும்</translation> <translation id="88986195241502842">பக்கத்தின் கீழே</translation> <translation id="8903921497873541725">பெரிதாக்கு</translation> <translation id="9179672198516322668">பிரபல ஷார்ட்கட்கள்</translation>
diff --git a/ash/components/strings/ash_components_strings_te.xtb b/ash/components/strings/ash_components_strings_te.xtb index 8e1eab08..8cb2384c 100644 --- a/ash/components/strings/ash_components_strings_te.xtb +++ b/ash/components/strings/ash_components_strings_te.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="te"> +<translation id="104962181688258143">ఫైల్స్ యాప్ని తెరవండి</translation> +<translation id="1126871238933253947">మీరు ఉపయోగించిన మునుపటి కీబోర్డ్ భాషకు మారండి.</translation> +<translation id="1195667586424773550">ట్యాబ్ యొక్క చిరునామా బార్లోకి లింక్ను లాగండి</translation> +<translation id="1204450209689312104">కొత్త విండోని అజ్ఞాత మోడ్లో తెరవండి</translation> +<translation id="1299858300159559687">మీ ప్రస్తుత పేజీని ముద్రించండి</translation> <translation id="1383876407941801731">శోధించు</translation> +<translation id="1439252533104567537">సంఖ్యల ట్యాబ్కి వెళ్లండి</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> లేదా <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">లాంచర్</translation> +<translation id="152892567002884378">వాల్యూమ్ పెంచండి</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ఆపై <ph name="ESC" /></translation> +<translation id="1652741121070700329">మునుపటి పదం యొక్క ప్రారంభానికి వెళ్లండి</translation> +<translation id="1679841710523778799">ప్రకాశాన్ని పెంచండి</translation> +<translation id="168356808214100546"><ph name="ALT" />ని నొక్కి, పట్టుకుని, మీరు తెరవాలనుకుంటున్న విండో వచ్చే వరకు <ph name="TAB" />ని నొక్కండి, ఆపై వదిలివేయండి.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">చిరునామా బార్లో మీరు నమోదు చేసే దానికి www. మరియు .com జోడించి, ఆపై పేజీని తెరవండి</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ఆపై <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> లేదా <ph name="LEFT" /></translation> +<translation id="1996162290124031907">తదుపరి ట్యాబ్కి వెళ్లండి</translation> +<translation id="2010818616644390445">విండోలో చివరి ట్యాబ్కు వెళ్లండి</translation> <translation id="2145908266289632567">వచన సవరణ</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 నుండి =</translation> +<translation id="2181097965834437145">బుక్మార్క్ల బార్ని చూపండి లేదా దాచండి</translation> +<translation id="2185166372312820725">మునుపటి ట్యాబ్కి వెళ్లండి</translation> +<translation id="2194790690264064655"><ph name="CTRL" />ని నొక్కి, లింక్ని క్లిక్ చేయండి</translation> +<translation id="2424073332829844142">Caps Lock ఆన్ మరియు ఆఫ్ చేయండి</translation> +<translation id="2441202986792279177">విండోల మధ్య త్వరగా మారండి</translation> +<translation id="2478303094958140141">ChromeVox (ప్రసంగ రూప అభిప్రాయం) ఆన్ లేదా ఆఫ్ చేయండి</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">వెబ్ పేజీని దిగువకు స్క్రోల్ చేయండి</translation> +<translation id="2568632782096378307">స్క్రీన్ రిజల్యూషన్ని డిఫాల్ట్కి రీసెట్ చేయండి</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ఆపై <ph name="TAB" /> లేదా <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">మీ ప్రస్తుత వెబ్పేజీని బుక్మార్క్గా సేవ్ చేయండి</translation> +<translation id="2750942583782703988">మీ ప్రస్తుత పేజీని మళ్లీ లోడ్ చేయండి</translation> +<translation id="2789868185375229787">పేజీలో దూరంగా జూమ్ చేయండి</translation> +<translation id="2804480015716812239"><ph name="ALT" />ని నొక్కి, లింక్ని క్లిక్ చేయండి</translation> +<translation id="2830827904629746450">కుడి వైపున విండోని డాక్ చేయండి</translation> <translation id="2872353916818027657">ప్రాథమిక మానిటర్ను మార్చు</translation> +<translation id="2914313326123580426">డెవలపర్ సాధనాల ప్యానెల్ని చూపండి లేదా దాచండి</translation> +<translation id="292495055542441795">పూర్తి స్క్రీన్ను టోగుల్ చేయండి</translation> +<translation id="3084301071537457911">మీ అరలో ఉన్న తదుపరి అంశాన్ని హైలైట్ చేయండి</translation> +<translation id="309173601632226815">మీ అరలో లాంచర్ బటన్ని హైలైట్ చేయండి</translation> <translation id="3105917916468784889">స్క్రీన్షాట్ని తీయండి</translation> +<translation id="3118681365140644126">మీ అరలోని బటన్ నుండి హైలైట్ని తీసివేయండి</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">ఫోకస్ చిరునామా బార్</translation> +<translation id="3288816184963444640">ప్రస్తుత విండోను మూసివేయండి</translation> +<translation id="3356202203145076517">మీరు అత్యంత ఇటీవల ఉపయోగించిన విండోని తెరవండి</translation> +<translation id="3407560819924487926">కార్య నిర్వాహకుడిని తెరవండి</translation> +<translation id="3422679037938588196">మీ శోధన కోసం తదుపరి సరిపోలికకు వెళ్లండి</translation> +<translation id="344577624355799426"><ph name="ALT" /> లేదా <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">జూమ్ స్థాయిని రీసెట్ చేయండి</translation> +<translation id="353037708190149633">మీ ప్రస్తుత విండోలో తెరిచి ఉన్న అన్ని పేజీలను బుక్మార్క్ల వలె కొత్త ఫోల్డర్లో సేవ్ చేయండి</translation> +<translation id="355103131818127604">లింక్ను కొత్త ట్యాబ్లో నేపథ్యంలో తెరవండి</translation> <translation id="3649256019230929621">విండోను కనిష్టీకరించు</translation> -<translation id="385051799172605136">వెనుకకు</translation> +<translation id="3668361878347172356">మీ చివరి చర్యను మళ్లీ చేయండి</translation> +<translation id="3720939646656082033">లింక్ని కొత్త ట్యాబ్లో తెరిచి, కొత్త ట్యాబ్కి మారండి</translation> +<translation id="3725795051337497754">ప్రస్తుత ట్యాబ్ను మూసివేయండి</translation> +<translation id="3751033133896282964">మీ చివరి చర్యను రద్దు చేయండి</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 నుండి 8</translation> +<translation id="3837047332182291558">కీబోర్డ్ని మరింత ప్రకాశవంతం చేయండి (నేపథ్య కాంతి ఉన్న కీబోర్డ్లకు మాత్రమే)</translation> +<translation id="3976863468609830880">మీ అరలోని చివరి చిహ్నాన్ని క్లిక్ చేయండి</translation> +<translation id="4035482366624727273">పేజీలోని ప్రతిదాన్ని ఎంచుకోండి</translation> +<translation id="4060703249685950734">మీరు మూసివేసిన చివరి ట్యాబ్ లేదా విండోని తిరిగి తెరవండి</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" />ని నొక్కి, పట్టుకుని, మీరు తెరవాలనుకుంటున్న విండో వచ్చే వరకు <ph name="TAB" />ని నొక్కండి, ఆపై వదిలివేయండి.</translation> +<translation id="4092538597492297615">ఎంచుకున్న కంటెంట్ను క్లిప్బోర్డ్కు కాపీ చేయండి</translation> +<translation id="4123108089450197101">లింక్ను బుక్మార్క్ వలె సేవ్ చేయండి</translation> +<translation id="4141203561740478845">చిరునామా బార్తో అడ్డు వరుసని హైలైట్ చేయండి</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> లేదా <ph name="ENTER" /></translation> +<translation id="4556221320735744018">కీబోర్డ్ షార్ట్కట్ హెల్పర్ని చూడండి</translation> +<translation id="4628718545549558538">స్థితి ప్రాంతాన్ని తెరవండి (మీ ఖాతా చిత్రం కనిపించే స్థలం)</translation> +<translation id="4642092649622328492">పాక్షిక స్క్రీన్షాట్ తీసుకోండి</translation> +<translation id="4725377341024374454">మీ అరలో హైలైట్ చేసిన బటన్ని తెరవండి</translation> +<translation id="4801989101741319327">తదుపరి పదం యొక్క ముగింపునకు వెళ్లండి</translation> +<translation id="4916163929714267752">లింక్ను కొత్త విండోలో తెరవండి</translation> +<translation id="5034421018520995080">పేజీ ఎగువకు వెళ్లండి</translation> +<translation id="5042305953558921026">అవలోకనం మోడ్ కీ</translation> +<translation id="5104462712192763270">మీ ప్రస్తుత పేజీని సేవ్ చేయండి</translation> +<translation id="5121628974188116412">పేజీ దిగువకు వెళ్లండి</translation> +<translation id="5236674127086649162">కాష్ చేసిన కంటెంట్ను ఉపయోగించకుండా మీ ప్రస్తుత పేజీని మళ్లీ లోడ్ చేయండి</translation> +<translation id="526651782186312376">పంక్తి ప్రారంభం వరకు వచనాన్ని ఎంచుకోండి</translation> <translation id="5316716239522500219">మానిటర్లను ప్రతిబింబించు</translation> +<translation id="5335199890994453201">DOM ఇన్స్పెక్టర్ని చూపండి లేదా దాచండి</translation> +<translation id="5541719484267030947">ట్యాబ్ని లాగే సమయంలో, <ph name="ESC" />ని నొక్కండి</translation> +<translation id="5554139136362089836">ప్రస్తుత పేజీని శోధించండి</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" />ని నొక్కి, లింక్ని క్లిక్ చేయండి</translation> +<translation id="561814908794220892">వెబ్పేజీని కొత్త ట్యాబ్లో తెరవండి</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> లేదా <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">ట్యాబ్లో లింక్ను తెరవండి</translation> +<translation id="5757474750054631686">కీబోర్డ్ ప్రకాశాన్ని తగ్గించండి (నేపథ్య కాంతి ఉన్న కీబోర్డ్లకు మాత్రమే)</translation> +<translation id="587531134027443617">మునుపటి పదాన్ని తొలగించండి</translation> <translation id="5928303187149237472">స్క్రీన్ రిజల్యూషన్ను మార్చండి</translation> <translation id="5975083100439434680">దూరంగా జూమ్ చెయ్యి</translation> +<translation id="6011500873794669296">దృష్టి కేంద్రీకరణను వీటి మధ్య మార్చండి: స్థితి ప్రాంతం (మీ ఖాతా చిత్రం కనిపించే చిత్రం) లాంచర్ చిరునామా బార్ బుక్మార్క్ల బార్ (కనిపించినట్లయితే) డౌన్లోడ్ల బార్ని తెరిచే వెబ్పేజీ (కనిపించినట్లయితే)</translation> <translation id="6022924867608035986">శోధన పెట్టె వచనాన్ని క్లియర్ చేయండి</translation> +<translation id="6045998054441862242">అధిక కాంట్రాస్ట్ మోడ్ని ఆన్ చేయండి</translation> +<translation id="6052614013050385269">లింక్ని కుడి-క్లిక్ చేయండి</translation> <translation id="6129953537138746214">ఖాళీ</translation> +<translation id="6143669479988153888">పేజీలో దగ్గరకు జూమ్ చేయండి</translation> <translation id="6185696379715117369">ఎగువ పేజీకి వెళ్లుతుంది</translation> +<translation id="6228457605945141550">ప్రకాశాన్ని తగ్గించండి</translation> +<translation id="6276708887952587684">పేజీ మూలాధారాన్ని వీక్షించండి</translation> +<translation id="6321940490215594447">చరిత్ర పేజీని తెరవండి</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">పంక్తి ముగింపు వరకు వచనాన్ని ఎంచుకోండి</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> లేదా <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">మీ అరలో 1-8 చిహ్నాలను క్లిక్ చేయండి</translation> +<translation id="6435207348963613811">మీ అరలోని మునుపటి అంశాన్ని హైలైట్ చేయండి</translation> +<translation id="6445033640292336367">ట్యాబ్ను తిరిగి దాని వాస్తవ స్థానానికి తీసుకువెళ్లండి</translation> +<translation id="649811797655257835">ఫైల్ని ఎంచుకుని, ఆపై <ph name="SPACE" />ని నొక్కండి</translation> +<translation id="6572206071785323178">మీరు సెట్ చేసిన కీబోర్డ్ భాషల మధ్య మారండి. మీ కీబోర్డ్ భాషను ఎలా ఎంచుకోవాలో తెలుసుకోండి.</translation> +<translation id="6634456834225946400">బుక్మార్క్ల బార్ని హైలైట్ చేయండి (చూపినట్లయితే)</translation> +<translation id="666343722268997814">హైలైట్ చేసిన అంశం కోసం కుడి-క్లిక్ మెనూని తెరవండి</translation> +<translation id="6671538777808758331">మీ శోధన కోసం తదుపరి సరిపోలికకు వెళ్లండి</translation> +<translation id="6690765639083431875">ఎడమ వైపున విండోని డాక్ చేయండి</translation> +<translation id="6692847073476874842">ఫైల్స్ యాప్లో ఫైల్ని ప్రివ్యూ చేయండి</translation> <translation id="671928215901716392">స్క్రీన్ను లాక్ చేయి</translation> <translation id="6727005317916125192">మునుపటి పేన్</translation> +<translation id="6740781404993465795">తదుపరి పదం లేదా అక్షరాన్ని ఎంచుకోండి</translation> +<translation id="6760706756348334449">వాల్యూమ్ తగ్గించండి</translation> <translation id="6981982820502123353">ప్రాప్యత</translation> <translation id="7020813747703216897">సరిపోలే ఫలితాలు ఏవీ కనుగొనబడలేదు</translation> <translation id="7025325401470358758">తదుపరి పేన్</translation> -<translation id="7272373489634936181">షార్ట్కట్ల కోసం శోధించండి</translation> +<translation id="7379254767514753910"><ph name="ALT" /> లేదా <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">తదుపరి అక్షరాన్ని తొలగించండి (ముందుకు తొలగింపు)</translation> +<translation id="766326951329901120">క్లిప్బోర్డ్ నుండి కంటెంట్ను సాదా వచనంగా అతికించండి</translation> <translation id="7724603315864178912">కత్తిరించు</translation> -<translation id="8004192919599017226">శోధనను ప్రారంభించండి...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, ఆపై <ph name="SPACE" /> లేదా <ph name="ENTER" /></translation> +<translation id="7787242579016742662">బ్రౌజర్లో ఫైల్ను తెరవండి</translation> +<translation id="7917881398263220094">మీ ప్రస్తుత పేజీ లోడ్ కాకుండా ఆపివేయండి</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> లేదా <ph name="MINUS" /></translation> +<translation id="8130528849632411619">పత్రం ప్రారంభం వద్దకు వెళ్లండి</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> లేదా <ph name="E" /></translation> +<translation id="8234414138295101081">స్క్రీన్ని 90 డిగ్రీలు తిప్పండి</translation> +<translation id="836869401750819675">డౌన్లోడ్ల పేజీని తెరవండి</translation> +<translation id="8388247778047144397">లింక్ను ట్యాబ్ స్ట్రిప్లోని ఖాళీ ప్రాంతంలోకి లాగండి</translation> +<translation id="8389638407792712197">కొత్త విండోని తెరవండి</translation> +<translation id="8429696719963529183">F కీలు (F1 నుండి F12 వరకు) ఉపయోగించండి</translation> +<translation id="85690795166292698">లింక్ను కొత్త ట్యాబ్లో తెరవండి</translation> +<translation id="8609384513243082612">కొత్త ట్యాబ్ని తెరవండి</translation> +<translation id="8644639153978066712">దాచబడిన ఫైల్లను ఫైల్స్ యాప్ ద్వారా ప్రదర్శించండి</translation> +<translation id="8709893667941082515">శోధనలో చిరునామా బార్పై దృష్టి కేంద్రీకరించండి</translation> +<translation id="8717459106217102612">మునుపటి పదం లేదా అక్షరాన్ని ఎంచుకోండి</translation> +<translation id="8727232706774971183">మీ నోటిఫికేషన్లను చూడండి</translation> <translation id="88986195241502842">దిగువ పేజీకి వెళుతుంది</translation> <translation id="8903921497873541725">దగ్గరికి జూమ్ చెయ్యి</translation> <translation id="9179672198516322668">జనాదరణ పొందిన షార్ట్కట్లు</translation>
diff --git a/ash/components/strings/ash_components_strings_th.xtb b/ash/components/strings/ash_components_strings_th.xtb index 7fa6d16..d357004 100644 --- a/ash/components/strings/ash_components_strings_th.xtb +++ b/ash/components/strings/ash_components_strings_th.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="th"> +<translation id="104962181688258143">เปิดแอปไฟล์</translation> +<translation id="1126871238933253947">สลับเป็นภาษาของแป้นพิมพ์ที่คุณใช้ก่อนหน้านี้</translation> +<translation id="1195667586424773550">ลากลิงก์ไปยังแถบที่อยู่ของแท็บ</translation> +<translation id="1204450209689312104">เปิดหน้าต่างใหม่ในโหมดไม่ระบุตัวตน</translation> +<translation id="1299858300159559687">พิมพ์หน้าเว็บปัจจุบัน</translation> <translation id="1383876407941801731">ค้นหา</translation> +<translation id="1439252533104567537">ไปที่แท็บที่ระบุหมายเลข</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> หรือ <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">ตัวเรียกใช้งาน</translation> +<translation id="152892567002884378">เพิ่มระดับเสียง</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> แล้วกด <ph name="ESC" /></translation> +<translation id="1652741121070700329">ย้ายไปยังจุดเริ่มต้นของคำก่อนหน้า</translation> +<translation id="1679841710523778799">เพิ่มความสว่าง</translation> +<translation id="168356808214100546">กด <ph name="ALT" /> ค้างไว้แล้วแตะ <ph name="TAB" /> จนกว่าคุณจะไปถึงหน้าต่างที่ต้องการเปิดแล้วจึงปล่อย</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">เพิ่ม www. และ .com ในข้อมูลที่คุณป้อนลงในแถบที่อยู่ แล้วเปิดหน้าเว็บนั้น</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> แล้วกด <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> หรือ <ph name="LEFT" /></translation> +<translation id="1996162290124031907">ไปที่แท็บถัดไป</translation> +<translation id="2010818616644390445">ไปที่แท็บสุดท้ายในหน้าต่าง</translation> <translation id="2145908266289632567">การแก้ไขข้อความ</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 จนถึง =</translation> +<translation id="2181097965834437145">แสดงหรือซ่อนแถบบุ๊กมาร์ก</translation> +<translation id="2185166372312820725">ไปที่แท็บก่อนหน้า</translation> +<translation id="2194790690264064655">กด <ph name="CTRL" /> แล้วคลิกลิงก์</translation> +<translation id="2424073332829844142">เปิดและปิดใช้งาน Caps Lock</translation> +<translation id="2441202986792279177">สลับไปมาระหว่างหน้าต่างอย่างรวดเร็ว</translation> +<translation id="2478303094958140141">เปิดหรือปิด ChromeVox (อธิบายและอ่านออกเสียง)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">เลื่อนหน้าเว็บลง</translation> +<translation id="2568632782096378307">รีเซ็ตความละเอียดของหน้าจอเป็นค่าเริ่มต้น</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> แล้วกด <ph name="TAB" /> หรือ <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">บันทึกหน้าเว็บปัจจุบันเป็นบุ๊กมาร์ก</translation> +<translation id="2750942583782703988">โหลดหน้าเว็บปัจจุบันซ้ำ</translation> +<translation id="2789868185375229787">ย่อหน้าเว็บ</translation> +<translation id="2804480015716812239">กด <ph name="ALT" /> และคลิกลิงก์</translation> +<translation id="2830827904629746450">จัดวางหน้าต่างทางด้านขวา</translation> <translation id="2872353916818027657">สลับหน้าจอหลัก</translation> +<translation id="2914313326123580426">แสดงหรือซ่อนแผงเครื่องมือของนักพัฒนาซอฟต์แวร์</translation> +<translation id="292495055542441795">เปลี่ยนเป็นเต็มหน้าจอ</translation> +<translation id="3084301071537457911">ไฮไลต์รายการถัดไปบนชั้นวาง</translation> +<translation id="309173601632226815">ไฮไลต์ปุ่ม Launcher บนชั้นวาง</translation> <translation id="3105917916468784889">จับภาพหน้าจอ</translation> +<translation id="3118681365140644126">นำไฮไลต์ออกจากปุ่มบนชั้นวาง</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">โฟกัสแถบที่อยู่</translation> +<translation id="3288816184963444640">ปิดหน้าต่างปัจจุบัน</translation> +<translation id="3356202203145076517">เปิดหน้าต่างที่คุณใช้ล่าสุด</translation> +<translation id="3407560819924487926">เรียกใช้ตัวจัดการงาน</translation> +<translation id="3422679037938588196">ไปยังรายการก่อนหน้าที่ตรงกับการค้นหา</translation> +<translation id="344577624355799426"><ph name="ALT" /> หรือ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">รีเซ็ตระดับการซูม</translation> +<translation id="353037708190149633">บันทึกหน้าเว็บทั้งหมดที่เปิดในหน้าต่างปัจจุบันเป็นบุ๊กมาร์กในโฟลเดอร์ใหม่</translation> +<translation id="355103131818127604">เปิดลิงก์ในแท็บใหม่บนพื้นหลัง</translation> <translation id="3649256019230929621">ย่อหน้าต่าง</translation> -<translation id="385051799172605136">กลับ</translation> +<translation id="3668361878347172356">ทำงานล่าสุดซ้ำ</translation> +<translation id="3720939646656082033">เปิดลิงก์ในแท็บใหม่และสลับไปยังแท็บใหม่</translation> +<translation id="3725795051337497754">ปิดแท็บปัจจุบัน</translation> +<translation id="3751033133896282964">เลิกทำการทำงานล่าสุด</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 จนถึง 8</translation> +<translation id="3837047332182291558">เพิ่มแสงแป้นพิมพ์ (เฉพาะแป้นพิมพ์เรืองแสง)</translation> +<translation id="3976863468609830880">คลิกไอคอนสุดท้ายบนชั้นวาง</translation> +<translation id="4035482366624727273">เลือกทุกอย่างในหน้าเว็บ</translation> +<translation id="4060703249685950734">เปิดแท็บหรือหน้าต่างที่คุณปิดล่าสุดขึ้นมาอีกครั้ง</translation> +<translation id="4090342722461256974">กด <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> ค้างไว้แล้วแตะ <ph name="TAB" /> จนกว่าคุณจะไปถึงหน้าต่างที่ต้องการเปิดแล้วจึงปล่อย</translation> +<translation id="4092538597492297615">คัดลอกเนื้อหาที่เลือกไปยังคลิปบอร์ด</translation> +<translation id="4123108089450197101">บันทึกลิงก์เป็นบุ๊กมาร์ก</translation> +<translation id="4141203561740478845">ไฮไลต์แถวแนวนอนที่มีแถบที่อยู่</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> หรือ <ph name="ENTER" /></translation> +<translation id="4556221320735744018">ดูตัวช่วยเหลือสำหรับแป้นพิมพ์ลัด</translation> +<translation id="4628718545549558538">เปิดพื้นที่แสดงสถานะ (ตรงตำแหน่งที่รูปสำหรับบัญชีของคุณปรากฏ)</translation> +<translation id="4642092649622328492">ถ่ายภาพหน้าจอบางส่วน</translation> +<translation id="4725377341024374454">เปิดปุ่มที่ไฮไลต์บนชั้นวาง</translation> +<translation id="4801989101741319327">ย้ายไปท้ายคำถัดไป</translation> +<translation id="4916163929714267752">เปิดลิงก์ในหน้าต่างใหม่</translation> +<translation id="5034421018520995080">ไปที่ด้านบนสุดของหน้า</translation> +<translation id="5042305953558921026">แป้นโหมดภาพรวม</translation> +<translation id="5104462712192763270">บันทึกหน้าเว็บปัจจุบัน</translation> +<translation id="5121628974188116412">ไปที่ด้านล่างสุดของหน้า</translation> +<translation id="5236674127086649162">โหลดหน้าเว็บปัจจุบันซ้ำโดยไม่ใช้เนื้อหาที่แคช</translation> +<translation id="526651782186312376">เลือกข้อความไปจนถึงต้นบรรทัด</translation> <translation id="5316716239522500219">แสดงผลบนหน้าจอ</translation> +<translation id="5335199890994453201">แสดงหรือซ่อนเครื่องมือตรวจสอบ DOM</translation> +<translation id="5541719484267030947">กด <ph name="ESC" /> ขณะที่ลากแท็บ</translation> +<translation id="5554139136362089836">ค้นหาในหน้าปัจจุบัน</translation> +<translation id="5563050856984839829">กด <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> และคลิกลิงก์</translation> +<translation id="561814908794220892">เปิดหน้าเว็บในแท็บใหม่</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> หรือ <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">เปิดลิงก์ในแท็บใหม่</translation> +<translation id="5757474750054631686">หรี่แสงแป้นพิมพ์ (เฉพาะแป้นพิมพ์เรืองแสง)</translation> +<translation id="587531134027443617">ลบคำก่อนหน้า</translation> <translation id="5928303187149237472">เปลี่ยนความละเอียดของหน้าจอ</translation> <translation id="5975083100439434680">ย่อ</translation> +<translation id="6011500873794669296">สลับโฟกัสระหว่างพื้นที่แสดงสถานะ (ตำแหน่งที่รูปสำหรับบัญชีของคุณปรากฏ), แถบที่อยู่ของ Launcher, แถบบุ๊กมาร์ก (ถ้ามองเห็นได้), หน้าเว็บที่เปิด, แถบดาวน์โหลด (ถ้ามองเห็นได้)</translation> <translation id="6022924867608035986">ล้างข้อความในช่องค้นหา</translation> +<translation id="6045998054441862242">เปิดโหมดคอนทราสต์สูง</translation> +<translation id="6052614013050385269">คลิกขวาที่ลิงก์</translation> <translation id="6129953537138746214">ช่องว่าง</translation> +<translation id="6143669479988153888">ขยายหน้าเว็บ</translation> <translation id="6185696379715117369">เลื่อนหน้าขึ้น</translation> +<translation id="6228457605945141550">ลดความสว่าง</translation> +<translation id="6276708887952587684">ดูที่มาของหน้าเว็บ</translation> +<translation id="6321940490215594447">เปิดหน้าประวัติการเข้าชม</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">เลือกข้อความไปจนสุดบรรทัด</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> หรือ <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">คลิกไอคอน 1-8 บนชั้นวาง</translation> +<translation id="6435207348963613811">ไฮไลต์รายการก่อนหน้านี้บนชั้นวาง</translation> +<translation id="6445033640292336367">นำแท็บกลับไปยังตำแหน่งเดิม</translation> +<translation id="649811797655257835">เลือกไฟล์แล้วกด <ph name="SPACE" /></translation> +<translation id="6572206071785323178">สลับไปมาระหว่างภาษาของแป้นพิมพ์ที่คุณตั้งค่าไว้ ดูวิธีเลือกภาษาของแป้นพิมพ์</translation> +<translation id="6634456834225946400">ไฮไลต์แถบบุ๊กมาร์ก (หากแสดงอยู่)</translation> +<translation id="666343722268997814">เปิดเมนูคลิกขวาสำหรับรายการที่ไฮไลต์</translation> +<translation id="6671538777808758331">ไปยังรายการถัดไปที่ตรงกับการค้นหา</translation> +<translation id="6690765639083431875">จัดวางหน้าต่างทางด้านซ้าย</translation> +<translation id="6692847073476874842">ดูตัวอย่างไฟล์ในแอปไฟล์</translation> <translation id="671928215901716392">ล็อกหน้าจอ</translation> <translation id="6727005317916125192">แผงก่อนหน้า</translation> +<translation id="6740781404993465795">เลือกคำหรือตัวอักษรถัดไป</translation> +<translation id="6760706756348334449">ลดระดับเสียง</translation> <translation id="6981982820502123353">การเข้าถึง</translation> <translation id="7020813747703216897">ไม่พบผลการค้นหาที่ตรงกัน</translation> <translation id="7025325401470358758">แผงถัดไป</translation> -<translation id="7272373489634936181">ค้นหาแป้นพิมพ์ลัด</translation> +<translation id="7379254767514753910"><ph name="ALT" /> หรือ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">ลบอักษรถัดไป (ลบไปข้างหน้า)</translation> +<translation id="766326951329901120">วางเนื้อหาจากคลิปบอร์ดเป็นข้อความธรรมดา</translation> <translation id="7724603315864178912">ตัด</translation> -<translation id="8004192919599017226">เริ่มค้นหา...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> แล้วกด <ph name="SPACE" /> หรือ <ph name="ENTER" /></translation> +<translation id="7787242579016742662">เปิดไฟล์ในเบราว์เซอร์</translation> +<translation id="7917881398263220094">หยุดโหลดหน้าเว็บปัจจุบันของคุณ</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> หรือ <ph name="MINUS" /></translation> +<translation id="8130528849632411619">ไปที่จุดเริ่มต้นเอกสาร</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> หรือ <ph name="E" /></translation> +<translation id="8234414138295101081">หมุนหน้าจอ 90 องศา</translation> +<translation id="836869401750819675">เปิดหน้าดาวน์โหลด</translation> +<translation id="8388247778047144397">ลากลิงก์ไปยังพื้นที่ว่างบนแนวแท็บ</translation> +<translation id="8389638407792712197">เปิดหน้าต่างใหม่</translation> +<translation id="8429696719963529183">ใช้ปุ่ม F (F1 ถึง F12)</translation> +<translation id="85690795166292698">เปิดลิงก์ในแท็บใหม่</translation> +<translation id="8609384513243082612">เปิดแท็บใหม่</translation> +<translation id="8644639153978066712">แสดงไฟล์ที่ซ่อนอยู่ในแอปไฟล์</translation> +<translation id="8709893667941082515">เน้นแถบที่อยู่ในการค้นหา</translation> +<translation id="8717459106217102612">เลือกคำหรืออักษรก่อนหน้า</translation> +<translation id="8727232706774971183">ดูการแจ้งเตือน</translation> <translation id="88986195241502842">เลื่อนหน้าลง</translation> <translation id="8903921497873541725">ขยาย</translation> <translation id="9179672198516322668">แป้นพิมพ์ลัดยอดนิยม</translation>
diff --git a/ash/components/strings/ash_components_strings_tr.xtb b/ash/components/strings/ash_components_strings_tr.xtb index b49dc5f1..a0c1646 100644 --- a/ash/components/strings/ash_components_strings_tr.xtb +++ b/ash/components/strings/ash_components_strings_tr.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="tr"> +<translation id="104962181688258143">Dosyalar uygulamasını açar</translation> +<translation id="1126871238933253947">Kullandığınız önceki klavye diline geçer</translation> +<translation id="1195667586424773550">Bağlantıyı sekmenin adres çubuğuna sürükleyin</translation> +<translation id="1204450209689312104">Gizli modda yeni bir pencere açar</translation> +<translation id="1299858300159559687">Geçerli sayfanızı yazdırır</translation> <translation id="1383876407941801731">Ara</translation> +<translation id="1439252533104567537">Numaralandırılmış sekmeye gider</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> veya <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Başlatıcı</translation> +<translation id="152892567002884378">Sesi açar</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, daha sonra <ph name="ESC" /></translation> +<translation id="1652741121070700329">Önceki kelimenin başına gider</translation> +<translation id="1679841710523778799">Parlaklığı artırır</translation> +<translation id="168356808214100546"><ph name="ALT" /> tuşunu basılı tutarken açmak istediğiniz pencereye gelinceye kadar <ph name="TAB" /> tuşuna basın, daha sonra tuşları bırakın.</translation> <translation id="169515659049020177">ÜstKrktr</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Adres çubuğuna yazdığınız metnin başına www. ve sonuna .com ifadelerini ekleyip sayfayı açar</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, daha sonra <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> veya <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Sonraki sekmeye gider</translation> +<translation id="2010818616644390445">Penceredeki son sekmeye gider</translation> <translation id="2145908266289632567">Metin Düzenleme</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 ile = arasındaki tuşlar</translation> +<translation id="2181097965834437145">Yer işaretleri çubuğunu gösterir veya gizler</translation> +<translation id="2185166372312820725">Önceki sekmeye gider</translation> +<translation id="2194790690264064655"><ph name="CTRL" /> tuşuna basın ve bağlantıyı tıklayın</translation> +<translation id="2424073332829844142">Caps Lock'u açar ve kapatır</translation> +<translation id="2441202986792279177">Pencereler arasında hızlı geçiş yapar</translation> +<translation id="2478303094958140141">ChromeVox'u (sesli geri bildirim) açar veya kapatır</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Web sayfasını aşağı doğru kaydırır</translation> +<translation id="2568632782096378307">Ekran çözünürlüğünü varsayılan ayara sıfırlar</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, daha sonra <ph name="TAB" /> veya <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Geçerli web sayfanızı yer işareti olarak kaydeder</translation> +<translation id="2750942583782703988">Geçerli sayfanızı yeniden yükler</translation> +<translation id="2789868185375229787">Sayfayı uzaklaştırır</translation> +<translation id="2804480015716812239"><ph name="ALT" /> tuşuna basın ve bağlantıyı tıklayın</translation> +<translation id="2830827904629746450">Pencereyi sağa yerleştirir</translation> <translation id="2872353916818027657">Birincil monitörü değiştir</translation> +<translation id="2914313326123580426">Geliştirici Araçları panelini gösterir veya gizler</translation> +<translation id="292495055542441795">Tam ekranı açar/kapatır</translation> +<translation id="3084301071537457911">Rafınızdaki sonraki öğeyi vurgular</translation> +<translation id="309173601632226815">Rafınızda başlatıcı düğmesini vurgular</translation> <translation id="3105917916468784889">Ekran görüntüsü al</translation> +<translation id="3118681365140644126">Rafınızdaki bir düğmenin vurgusunu kaldırır</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Adres çubuğuna odaklan</translation> +<translation id="3288816184963444640">Geçerli pencereyi kapatır</translation> +<translation id="3356202203145076517">En önce kullandığınız pencereyi açar</translation> +<translation id="3407560819924487926">Görev yöneticisini açar</translation> +<translation id="3422679037938588196">Aramanızdaki önceki eşleşmeye gider</translation> +<translation id="344577624355799426"><ph name="ALT" /> veya <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Yakınlaştırma düzeyini sıfırlar</translation> +<translation id="353037708190149633">Geçerli pencerenizdeki tüm açık sayfaları yeni bir klasörde yer işaretleri olarak kaydeder</translation> +<translation id="355103131818127604">Bağlantıyı arka plandaki yeni bir sekmede açar</translation> <translation id="3649256019230929621">Pencereyi simge durumuna küçült</translation> -<translation id="385051799172605136">Geri</translation> +<translation id="3668361878347172356">Son işleminizi yineler</translation> +<translation id="3720939646656082033">Bağlantıyı yeni bir sekmede açar ve yeni sekmeye geçer</translation> +<translation id="3725795051337497754">Geçerli sekmeyi kapatır</translation> +<translation id="3751033133896282964">Son işleminizi geri alır</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 ile 8 arasındaki tuşlar</translation> +<translation id="3837047332182291558">Klavyenin ışığını açar (yalnızca arkadan aydınlatmalı klavyeler için)</translation> +<translation id="3976863468609830880">Rafınızdaki son simgeyi tıklar</translation> +<translation id="4035482366624727273">Sayfadaki her şeyi seçer</translation> +<translation id="4060703249685950734">Kapattığınız son sekmeyi veya pencereyi yeniden açar</translation> +<translation id="4090342722461256974"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> tuşlarını basılı tutarken açmak istediğiniz pencereye gelinceye kadar <ph name="TAB" /> tuşuna basın, daha sonra tuşları bırakın.</translation> +<translation id="4092538597492297615">Seçilen içeriği panoya kopyalar</translation> +<translation id="4123108089450197101">Bağlantıyı yer işareti olarak kaydeder</translation> +<translation id="4141203561740478845">Adres çubuğu satırını vurgular</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> veya <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Klavye Kısayolu Yardımcısı'nı gösterir</translation> +<translation id="4628718545549558538">Hesap resminizin görüntülendiği durum alanını açar</translation> +<translation id="4642092649622328492">Kısmi ekran görüntüsü alır</translation> +<translation id="4725377341024374454">Rafınızda vurgulanan düğmeyi açar</translation> +<translation id="4801989101741319327">Sonraki kelimenin sonuna gider</translation> +<translation id="4916163929714267752">Bağlantıyı yeni bir pencerede açar</translation> +<translation id="5034421018520995080">Sayfanın başına gider</translation> +<translation id="5042305953558921026">Genel bakış modu tuşu</translation> +<translation id="5104462712192763270">Geçerli sayfanızı kaydeder</translation> +<translation id="5121628974188116412">Sayfanın sonuna gider</translation> +<translation id="5236674127086649162">Geçerli sayfanızı önbelleğe alınmış içeriği kullanmadan yeniden yükler</translation> +<translation id="526651782186312376">Metni satırın başına kadar seçer</translation> <translation id="5316716239522500219">Monitörleri yansıt</translation> +<translation id="5335199890994453201">DOM Denetleyicisi'ni gösterir veya gizler</translation> +<translation id="5541719484267030947">Sekmeyi sürüklerken <ph name="ESC" /> tuşuna basın</translation> +<translation id="5554139136362089836">Geçerli sayfada arama yapar</translation> +<translation id="5563050856984839829"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> tuşlarına basın ve bir bağlantıyı tıklayın</translation> +<translation id="561814908794220892">Web sayfasını yeni bir sekmede açar</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> veya <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Bağlantıyı sekmede açar</translation> +<translation id="5757474750054631686">Klavyenin ışığını kısar (yalnızca arkadan aydınlatmalı klavyeler için)</translation> +<translation id="587531134027443617">Önceki kelimeyi siler</translation> <translation id="5928303187149237472">Ekran çözünürlüğünü değiştirin</translation> <translation id="5975083100439434680">Uzaklaştır</translation> +<translation id="6011500873794669296">Odak noktasını şunlar arasında değiştirir: Durum alanı (hesap resminizin göründüğü yer), Başlatıcı Adres çubuğu, Yer işaretleri çubuğu (görünüyorsa), Açık olan web sayfası, İndirilenler çubuğu (görünüyorsa)</translation> <translation id="6022924867608035986">Arama kutusu metnini temizle</translation> +<translation id="6045998054441862242">Yüksek kontrast modunu etkinleştirir</translation> +<translation id="6052614013050385269">Bağlantıyı sağ tıklar</translation> <translation id="6129953537138746214">Boşluk</translation> +<translation id="6143669479988153888">Sayfayı yakınlaştırır</translation> <translation id="6185696379715117369">Bir sayfa yukarı</translation> +<translation id="6228457605945141550">Parlaklığı azaltır</translation> +<translation id="6276708887952587684">Sayfa kaynağını görüntüler</translation> +<translation id="6321940490215594447">Geçmiş sayfasını açar</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Metni satırın sonuna kadar seçer</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> veya <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Rafınızdaki 1-8. simgeyi tıklar</translation> +<translation id="6435207348963613811">Rafınızdaki önceki öğeyi vurgular</translation> +<translation id="6445033640292336367">Sekmeyi orijinal konumuna döndürür</translation> +<translation id="649811797655257835">Dosyayı seçip <ph name="SPACE" /> tuşuna basın</translation> +<translation id="6572206071785323178">Ayarlamış olduğunuz klavye dilleri arasında geçiş yapar. Klavye dilinizi nasıl seçeceğinizi öğrenin.</translation> +<translation id="6634456834225946400">Yer işaretleri çubuğunu vurgular (görünür durumdaysa)</translation> +<translation id="666343722268997814">Vurgulanan öğe için sağ tıklama menüsünü açar</translation> +<translation id="6671538777808758331">Aramanızdaki sonraki eşleşmeye gider</translation> +<translation id="6690765639083431875">Pencereyi sola yerleştirir</translation> +<translation id="6692847073476874842">Dosyalar uygulamasında dosyanın önizlemesini yapar</translation> <translation id="671928215901716392">Kilit ekranı</translation> <translation id="6727005317916125192">Önceki bölme</translation> +<translation id="6740781404993465795">Sonraki kelimeyi veya harfi seçer</translation> +<translation id="6760706756348334449">Sesi kısar</translation> <translation id="6981982820502123353">Erişilebilirlik</translation> <translation id="7020813747703216897">Eşleşen sonuç bulunamadı</translation> <translation id="7025325401470358758">Sonraki bölme</translation> -<translation id="7272373489634936181">Kısayol ara</translation> +<translation id="7379254767514753910"><ph name="ALT" /> veya <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Sonraki harfi siler (ileri doğru silme)</translation> +<translation id="766326951329901120">Panodaki içeriği düz metin olarak yapıştırır</translation> <translation id="7724603315864178912">Kes</translation> -<translation id="8004192919599017226">Aramayı başlat...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, daha sonra <ph name="SPACE" /> veya <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Bir dosyayı tarayıcıda açar</translation> +<translation id="7917881398263220094">Geçerli sayfanızın yüklenmesini durdurur</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> veya <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Dokümanın başına gider</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> veya <ph name="E" /></translation> +<translation id="8234414138295101081">Ekranı 90 derece döndürür</translation> +<translation id="836869401750819675">İndirilenler sayfasını açar</translation> +<translation id="8388247778047144397">Bağlantıyı sekme şeridindeki boş bir alana sürükleyin</translation> +<translation id="8389638407792712197">Yeni pencere açar</translation> +<translation id="8429696719963529183">F tuşlarını kullandırır (F1 - F12)</translation> +<translation id="85690795166292698">Bağlantıyı yeni bir sekmede açar</translation> +<translation id="8609384513243082612">Yeni sekme açar</translation> +<translation id="8644639153978066712">Dosyalar uygulamasındaki gizli dosyaları görüntüler</translation> +<translation id="8709893667941082515">Aramada adres çubuğuna odaklanır</translation> +<translation id="8717459106217102612">Önceki kelimeyi veya harfi seçer</translation> +<translation id="8727232706774971183">Bildirimlerinizi gösterir</translation> <translation id="88986195241502842">Bir sayfa aşağı gider</translation> <translation id="8903921497873541725">Yakınlaştır</translation> <translation id="9179672198516322668">Popüler Kısayollar</translation>
diff --git a/ash/components/strings/ash_components_strings_uk.xtb b/ash/components/strings/ash_components_strings_uk.xtb index 5fb4167..1188450 100644 --- a/ash/components/strings/ash_components_strings_uk.xtb +++ b/ash/components/strings/ash_components_strings_uk.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="uk"> +<translation id="104962181688258143">Відкрити додаток Файли</translation> +<translation id="1126871238933253947">Вибрати попередню мову клавіатури.</translation> +<translation id="1195667586424773550">Перетягніть посилання в адресний рядок вкладки</translation> +<translation id="1204450209689312104">Відкрити нове вікно в режимі анонімного перегляду</translation> +<translation id="1299858300159559687">Друкувати поточну сторінку</translation> <translation id="1383876407941801731">Пошук</translation> +<translation id="1439252533104567537">Перейти на нумеровану вкладку</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> або <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Панель запуску</translation> +<translation id="152892567002884378">Збільшити гучність</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, а тоді <ph name="ESC" /></translation> +<translation id="1652741121070700329">Перейти на початок попереднього слова</translation> +<translation id="1679841710523778799">Збільшити яскравість</translation> +<translation id="168356808214100546">Утримуйте <ph name="ALT" /> і торкайтеся <ph name="TAB" />, доки не перейдете в потрібне вікно, а тоді відпустіть.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Додати www. та .com до тексту в адресному рядку й відкрити сторінку</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, а тоді <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> або <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Перейти на наступну вкладку</translation> +<translation id="2010818616644390445">Перейти на останню вкладку у вікні</translation> <translation id="2145908266289632567">Редагування тексту</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> від 1 до =</translation> +<translation id="2181097965834437145">Показати чи сховати панель закладок</translation> +<translation id="2185166372312820725">Перейти на попередню вкладку</translation> +<translation id="2194790690264064655">Натисніть <ph name="CTRL" /> і посилання</translation> +<translation id="2424073332829844142">Увімкнути або вимкнути Caps Lock</translation> +<translation id="2441202986792279177">Швидко переходити між вікнами</translation> +<translation id="2478303094958140141">Увімкнути або вимкнути ChromeVox (голосові підказки)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Прокрутити веб-сторінку вниз</translation> +<translation id="2568632782096378307">Відновити роздільну здатність екрана за умовчанням</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, а тоді <ph name="TAB" /> або <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Зберегти поточну веб-сторінку як закладку</translation> +<translation id="2750942583782703988">Оновити поточну сторінку</translation> +<translation id="2789868185375229787">Зменшити масштаб сторінки</translation> +<translation id="2804480015716812239">Натисніть <ph name="ALT" /> і посилання</translation> +<translation id="2830827904629746450">Закріпити вікно праворуч</translation> <translation id="2872353916818027657">Змінити основний монітор</translation> +<translation id="2914313326123580426">Показати чи сховати панель інструментів розробника</translation> +<translation id="292495055542441795">Увімкнути або вимкнути повноекранний режим</translation> +<translation id="3084301071537457911">Виділити наступний елемент на полиці</translation> +<translation id="309173601632226815">Виділити кнопку панелі запуску на полиці</translation> <translation id="3105917916468784889">Зробити знімок екрана</translation> +<translation id="3118681365140644126">Скасувати виділення кнопки на полиці</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Активувати адресний рядок</translation> +<translation id="3288816184963444640">Закрити поточне вікно</translation> +<translation id="3356202203145076517">Відкрити вікно, яке ви переглядали найдавніше</translation> +<translation id="3407560819924487926">Відкрити Диспетчер завдань</translation> +<translation id="3422679037938588196">Перейти до попереднього збігу в результатах пошуку</translation> +<translation id="344577624355799426"><ph name="ALT" /> або <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Скинути масштабування</translation> +<translation id="353037708190149633">Зберегти всі сторінки, відкриті в поточному вікні, як закладки в новій папці</translation> +<translation id="355103131818127604">Відкрити посилання в новій вкладці, не переходячи на неї</translation> <translation id="3649256019230929621">Згорнути вікно</translation> -<translation id="385051799172605136">Назад</translation> +<translation id="3668361878347172356">Повторити останню дію</translation> +<translation id="3720939646656082033">Відкрити посилання в новій вкладці та перейти на неї</translation> +<translation id="3725795051337497754">Закрити поточну вкладку</translation> +<translation id="3751033133896282964">Відмінити останню дію</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> від 1 до 8</translation> +<translation id="3837047332182291558">Збільшити яскравість клавіатури (лише для клавіатур із підсвічуванням)</translation> +<translation id="3976863468609830880">Натиснути останній значок на полиці</translation> +<translation id="4035482366624727273">Виділити все на сторінці</translation> +<translation id="4060703249685950734">Знову відкрити останню закриту вкладку або вікно</translation> +<translation id="4090342722461256974">Утримуйте <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> і торкайтеся <ph name="TAB" />, доки не перейдете в потрібне вікно, а тоді відпустіть.</translation> +<translation id="4092538597492297615">Копіювати виділений вміст у буфер обміну</translation> +<translation id="4123108089450197101">Зберегти посилання як закладку</translation> +<translation id="4141203561740478845">Виділити адресний рядок</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> або <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Показати довідник із комбінацій клавіш</translation> +<translation id="4628718545549558538">Відкрити панель стану (де розташоване зображення облікового запису)</translation> +<translation id="4642092649622328492">Зробити частковий знімок екрана</translation> +<translation id="4725377341024374454">Натиснути виділену кнопку на полиці</translation> +<translation id="4801989101741319327">Перейти в кінець наступного слова</translation> +<translation id="4916163929714267752">Відкрити посилання в новому вікні</translation> +<translation id="5034421018520995080">Перейти вгору сторінки</translation> +<translation id="5042305953558921026">Клавіша режиму огляду</translation> +<translation id="5104462712192763270">Зберегти поточну сторінку</translation> +<translation id="5121628974188116412">Перейти вниз сторінки</translation> +<translation id="5236674127086649162">Оновити поточну сторінку без кешованого вмісту</translation> +<translation id="526651782186312376">Виділити текст до початку рядка</translation> <translation id="5316716239522500219">Дбулювати зображення на моніторах</translation> +<translation id="5335199890994453201">Показати або сховати DOM Inspector</translation> +<translation id="5541719484267030947">Перетягуючи вкладку, натисніть <ph name="ESC" /></translation> +<translation id="5554139136362089836">Шукати на поточній сторінці</translation> +<translation id="5563050856984839829">Натисніть <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> і посилання</translation> +<translation id="561814908794220892">Відкрити веб-сторінку в новій вкладці</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> або <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Відкрити посилання в поточній вкладці</translation> +<translation id="5757474750054631686">Зменшити яскравість клавіатури (лише для клавіатур із підсвічуванням)</translation> +<translation id="587531134027443617">Видалити попереднє слово</translation> <translation id="5928303187149237472">Змінити роздільну здатність екрана</translation> <translation id="5975083100439434680">Зменшити масштаб</translation> +<translation id="6011500873794669296">Перейти між панеллю стану (де розташоване зображення облікового запису), панеллю запуску, адресним рядком, панеллю закладок (якщо її видно), відкритою сторінкою та панеллю завантажень (якщо її видно)</translation> <translation id="6022924867608035986">Очистити вікно пошуку</translation> +<translation id="6045998054441862242">Увімкнути режим високого контрасту</translation> +<translation id="6052614013050385269">Відкрити контекстне меню посилання</translation> <translation id="6129953537138746214">Пробіл</translation> +<translation id="6143669479988153888">Збільшити масштаб сторінки</translation> <translation id="6185696379715117369">Сторінка вгору</translation> +<translation id="6228457605945141550">Зменшити яскравість</translation> +<translation id="6276708887952587684">Переглянути джерело сторінки</translation> +<translation id="6321940490215594447">Відкрити сторінку історії</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Виділити текст до кінця рядка</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> або <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Натиснути значки 1–8 на полиці</translation> +<translation id="6435207348963613811">Виділити попередній елемент на полиці</translation> +<translation id="6445033640292336367">Повернути вкладку на початкове місце</translation> +<translation id="649811797655257835">Виберіть файл і натисніть <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Перейти між вибраними мовами клавіатури. Дізнайтеся, як вибрати мову.</translation> +<translation id="6634456834225946400">Виділити панель закладок (якщо її видно)</translation> +<translation id="666343722268997814">Відкрити контекстне меню виділеного елемента</translation> +<translation id="6671538777808758331">Перейти до наступного збігу в результатах пошуку</translation> +<translation id="6690765639083431875">Закріпити вікно ліворуч</translation> +<translation id="6692847073476874842">Переглянути файл у додатку Файли</translation> <translation id="671928215901716392">Блокування екрана</translation> <translation id="6727005317916125192">Попередня панель</translation> +<translation id="6740781404993465795">Виділити наступне слово або літеру</translation> +<translation id="6760706756348334449">Зменшити гучність</translation> <translation id="6981982820502123353">Доступність</translation> <translation id="7020813747703216897">Відповідних результатів не знайдено</translation> <translation id="7025325401470358758">Наступна панель</translation> -<translation id="7272373489634936181">Пошук комбінацій клавіш</translation> +<translation id="7379254767514753910"><ph name="ALT" /> або <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Видалити наступну літеру (видалення вперед)</translation> +<translation id="766326951329901120">Вставити вміст із буфера обміну як простий текст</translation> <translation id="7724603315864178912">Вирізати</translation> -<translation id="8004192919599017226">Почати пошук…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, а тоді <ph name="SPACE" /> або <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Відкрити файл у веб-переглядачі</translation> +<translation id="7917881398263220094">Припинити завантаження поточної сторінки</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> або <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Перейти на початок документа</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> або <ph name="E" /></translation> +<translation id="8234414138295101081">Обернути екран на 90 градусів</translation> +<translation id="836869401750819675">Відкрити сторінку завантажень</translation> +<translation id="8388247778047144397">Перетягніть посилання на порожнє місце на панелі вкладок</translation> +<translation id="8389638407792712197">Відкрити нове вікно</translation> +<translation id="8429696719963529183">Натиснути функціональну клавішу (від F1 до F12)</translation> +<translation id="85690795166292698">Відкрити посилання в новій вкладці</translation> +<translation id="8609384513243082612">Відкрити нову вкладку</translation> +<translation id="8644639153978066712">Показати сховані файли в додатку Файли</translation> +<translation id="8709893667941082515">Активувати адресний рядок для пошуку</translation> +<translation id="8717459106217102612">Виділити попереднє слово або літеру</translation> +<translation id="8727232706774971183">Переглянути сповіщення</translation> <translation id="88986195241502842">Сторінка вниз</translation> <translation id="8903921497873541725">Збільшити масштаб</translation> <translation id="9179672198516322668">Популярні комбінації клавіш</translation>
diff --git a/ash/components/strings/ash_components_strings_vi.xtb b/ash/components/strings/ash_components_strings_vi.xtb index 4ed7e7b..d56e3b3 100644 --- a/ash/components/strings/ash_components_strings_vi.xtb +++ b/ash/components/strings/ash_components_strings_vi.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="vi"> +<translation id="104962181688258143">Mở ứng dụng Tệp</translation> +<translation id="1126871238933253947">Chuyển về ngôn ngữ bàn phím mà bạn đã sử dụng trước đó.</translation> +<translation id="1195667586424773550">Kéo liên kết vào thanh địa chỉ của tab</translation> +<translation id="1204450209689312104">Mở cửa sổ mới ở chế độ ẩn danh</translation> +<translation id="1299858300159559687">In trang hiện tại của bạn</translation> <translation id="1383876407941801731">Tìm kiếm</translation> +<translation id="1439252533104567537">Chuyển đến tab được đánh số</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> hoặc <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">Trình chạy</translation> +<translation id="152892567002884378">Tăng âm lượng</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, rồi đến <ph name="ESC" /></translation> +<translation id="1652741121070700329">Di chuyển tới đầu từ đứng trước</translation> +<translation id="1679841710523778799">Tăng độ sáng</translation> +<translation id="168356808214100546">Nhấn và giữ <ph name="ALT" /> rồi nhấn <ph name="TAB" /> cho đến khi chuyển đến cửa sổ mà bạn muốn mở, sau đó thả phím ra.</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">Thêm www. và .com vào nội dung mà bạn nhập trên thanh địa chỉ rồi mở trang</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, rồi đến <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> hoặc <ph name="LEFT" /></translation> +<translation id="1996162290124031907">Chuyển sang tab tiếp theo</translation> +<translation id="2010818616644390445">Chuyển đến tab cuối cùng trong cửa sổ</translation> <translation id="2145908266289632567">Chỉnh sửa văn bản</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 đến =</translation> +<translation id="2181097965834437145">Hiển thị hoặc ẩn thanh dấu trang</translation> +<translation id="2185166372312820725">Quay về tab trước</translation> +<translation id="2194790690264064655">Nhấn <ph name="CTRL" /> rồi nhấp vào một liên kết</translation> +<translation id="2424073332829844142">Bật và tắt Caps Lock</translation> +<translation id="2441202986792279177">Chuyển đổi nhanh giữa các cửa sổ</translation> +<translation id="2478303094958140141">Bật hoặc tắt ChromeVox (phản hồi bằng giọng nói)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">Cuộn xuống dưới trang web</translation> +<translation id="2568632782096378307">Đặt lại độ phân giải màn hình về mặc định</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, rồi đến <ph name="TAB" /> hoặc <ph name="RIGHT" /></translation> +<translation id="2699509451653686398">Lưu trang web hiện tại của bạn làm dấu trang</translation> +<translation id="2750942583782703988">Tải lại trang hiện tại của bạn</translation> +<translation id="2789868185375229787">Thu nhỏ trang</translation> +<translation id="2804480015716812239">Nhấn <ph name="ALT" /> rồi nhấp vào một liên kết</translation> +<translation id="2830827904629746450">Gắn một cửa sổ ở bên phải</translation> <translation id="2872353916818027657">Hoán đổi màn hình chính</translation> +<translation id="2914313326123580426">Hiển thị hoặc ẩn bảng Công cụ dành cho nhà phát triển</translation> +<translation id="292495055542441795">Chuyển đổi chế độ toàn màn hình</translation> +<translation id="3084301071537457911">Đánh dấu mục tiếp theo trên giá</translation> +<translation id="309173601632226815">Đánh dấu nút trình khởi chạy trên giá</translation> <translation id="3105917916468784889">Chụp ảnh màn hình</translation> +<translation id="3118681365140644126">Xóa nút được đánh dấu trên giá</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">Thanh địa chỉ chính</translation> +<translation id="3288816184963444640">Đóng cửa sổ hiện tại</translation> +<translation id="3356202203145076517">Mở cửa sổ mà bạn ít sử dụng nhất gần đây</translation> +<translation id="3407560819924487926">Hiển thị trình quản lý tác vụ</translation> +<translation id="3422679037938588196">Quay lại kết quả phù hợp trước đó cho tìm kiếm của bạn</translation> +<translation id="344577624355799426"><ph name="ALT" /> hoặc <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">Đặt lại mức thu phóng</translation> +<translation id="353037708190149633">Lưu tất cả các trang đang mở trong cửa sổ hiện tại của bạn làm dấu trang trong một thư mục mới</translation> +<translation id="355103131818127604">Mở liên kết trong tab mới trên nền</translation> <translation id="3649256019230929621">Thu nhỏ cửa sổ</translation> -<translation id="385051799172605136">Quay lại</translation> +<translation id="3668361878347172356">Làm lại hành động mới nhất của bạn</translation> +<translation id="3720939646656082033">Mở liên kết trong tab mới và chuyển sang tab mới</translation> +<translation id="3725795051337497754">Đóng tab hiện tại</translation> +<translation id="3751033133896282964">Hoàn tác hành động mới nhất của bạn</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 đến 8</translation> +<translation id="3837047332182291558">Làm cho bàn phím sáng hơn (chỉ dành cho bàn phím có đèn nền)</translation> +<translation id="3976863468609830880">Nhấp vào biểu tượng cuối cùng trên giá</translation> +<translation id="4035482366624727273">Chọn mọi nội dung trên trang</translation> +<translation id="4060703249685950734">Mở lại cửa sổ hoặc tab mà bạn đã đóng gần đây nhất</translation> +<translation id="4090342722461256974">Nhấn và giữ <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> rồi nhấn vào <ph name="TAB" /> cho đến khi chuyển đến cửa sổ mà bạn muốn mở, sau đó thả phím ra.</translation> +<translation id="4092538597492297615">Sao chép nội dung đã chọn vào khay nhớ tạm</translation> +<translation id="4123108089450197101">Lưu liên kết làm dấu trang</translation> +<translation id="4141203561740478845">Đánh dấu hàng bằng thanh địa chỉ</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> hoặc <ph name="ENTER" /></translation> +<translation id="4556221320735744018">Xem Trình trợ giúp về phím tắt</translation> +<translation id="4628718545549558538">Mở khu vực trạng thái (nơi ảnh tài khoản của bạn xuất hiện)</translation> +<translation id="4642092649622328492">Chụp ảnh một phần màn hình</translation> +<translation id="4725377341024374454">Mở nút được đánh dấu trên giá</translation> +<translation id="4801989101741319327">Di chuyển đến cuối từ tiếp theo</translation> +<translation id="4916163929714267752">Mở liên kết trong cửa sổ mới</translation> +<translation id="5034421018520995080">Chuyển tới đầu trang</translation> +<translation id="5042305953558921026">Phím chế độ tổng quan</translation> +<translation id="5104462712192763270">Lưu trang hiện tại của bạn</translation> +<translation id="5121628974188116412">Chuyển tới cuối trang</translation> +<translation id="5236674127086649162">Tải lại trang hiện tại mà không sử dụng nội dung đã lưu vào bộ nhớ đệm</translation> +<translation id="526651782186312376">Chọn văn bản ở đầu dòng</translation> <translation id="5316716239522500219">Phản chiếu màn hình</translation> +<translation id="5335199890994453201">Hiển thị hoặc ẩn Trình kiểm tra DOM</translation> +<translation id="5541719484267030947">Trong khi kéo tab, hãy nhấn <ph name="ESC" /></translation> +<translation id="5554139136362089836">Tìm kiếm trang hiện tại</translation> +<translation id="5563050856984839829">Nhấn <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> và nhấp vào liên kết</translation> +<translation id="561814908794220892">Mở trang web trong tab mới</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> hoặc <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">Mở liên kết trong tab</translation> +<translation id="5757474750054631686">Làm tối bàn phím (chỉ dành cho bàn phím có đèn nền)</translation> +<translation id="587531134027443617">Xóa từ đứng trước</translation> <translation id="5928303187149237472">Thay đổi độ phân giải màn hình</translation> <translation id="5975083100439434680">Thu nhỏ</translation> +<translation id="6011500873794669296">Chuyển đổi tiêu điểm giữa: Khu vực trạng thái (nơi ảnh tài khoản của bạn xuất hiện) Trình khởi chạy Thanh địa chỉ Thanh dấu trang (nếu hiển thị) Trang web đang mở Thanh tài nguyên đã tải xuống (nếu hiển thị)</translation> <translation id="6022924867608035986">Xóa văn bản trong hộp tìm kiếm</translation> +<translation id="6045998054441862242">Bật chế độ tương phản cao</translation> +<translation id="6052614013050385269">Nhấp chuột phải vào một liên kết</translation> <translation id="6129953537138746214">Dấu cách</translation> +<translation id="6143669479988153888">Phóng to trang</translation> <translation id="6185696379715117369">Trang trên</translation> +<translation id="6228457605945141550">Giảm độ sáng</translation> +<translation id="6276708887952587684">Xem nguồn trang</translation> +<translation id="6321940490215594447">Mở trang Lịch sử</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">Chọn văn bản ở cuối dòng</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> hoặc <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">Nhấp vào các biểu tượng từ 1 đến 8 trên giá</translation> +<translation id="6435207348963613811">Đánh dấu mục đứng trước trên giá</translation> +<translation id="6445033640292336367">Đưa tab về vị trí ban đầu</translation> +<translation id="649811797655257835">Chọn tệp, rồi nhấn phím <ph name="SPACE" /></translation> +<translation id="6572206071785323178">Chuyển đổi giữa các ngôn ngữ bàn phím mà bạn đã đặt. Hãy tìm hiểu cách chọn ngôn ngữ bàn phím.</translation> +<translation id="6634456834225946400">Đánh dấu thanh dấu trang (nếu hiển thị)</translation> +<translation id="666343722268997814">Mở menu nhấp chuột phải cho mục được đánh dấu</translation> +<translation id="6671538777808758331">Chuyển sang kết quả phù hợp tiếp theo cho tìm kiếm của bạn</translation> +<translation id="6690765639083431875">Gắn một cửa sổ ở bên trái</translation> +<translation id="6692847073476874842">Xem trước tệp trong ứng dụng Tệp</translation> <translation id="671928215901716392">Khóa màn hình</translation> <translation id="6727005317916125192">Ngăn trước đó</translation> +<translation id="6740781404993465795">Chọn từ hoặc chữ cái tiếp theo</translation> +<translation id="6760706756348334449">Giảm âm lượng</translation> <translation id="6981982820502123353">Truy cập</translation> <translation id="7020813747703216897">Không tìm thấy kết quả phù hợp nào</translation> <translation id="7025325401470358758">Ngăn tiếp theo</translation> -<translation id="7272373489634936181">Tìm kiếm phím tắt</translation> +<translation id="7379254767514753910"><ph name="ALT" /> hoặc <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">Xóa chữ cái tiếp theo (xóa tiến)</translation> +<translation id="766326951329901120">Dán nội dung từ khay nhớ tạm dưới dạng văn bản thuần túy</translation> <translation id="7724603315864178912">Cắt</translation> -<translation id="8004192919599017226">Bắt đầu tìm kiếm...</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, rồi đến <ph name="SPACE" /> hoặc <ph name="ENTER" /></translation> +<translation id="7787242579016742662">Mở tệp trong trình duyệt</translation> +<translation id="7917881398263220094">Dừng tải trang hiện tại của bạn</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> hoặc <ph name="MINUS" /></translation> +<translation id="8130528849632411619">Chuyển tới đầu tài liệu</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> hoặc <ph name="E" /></translation> +<translation id="8234414138295101081">Xoay màn hình 90 độ</translation> +<translation id="836869401750819675">Mở trang Tài nguyên đã tải xuống</translation> +<translation id="8388247778047144397">Kéo liên kết vào một vùng trống trên thanh tab</translation> +<translation id="8389638407792712197">Mở cửa sổ mới</translation> +<translation id="8429696719963529183">Sử dụng các phím F (F1 tới F12)</translation> +<translation id="85690795166292698">Mở liên kết trong tab mới</translation> +<translation id="8609384513243082612">Mở tab mới</translation> +<translation id="8644639153978066712">Hiển thị các tệp bị ẩn trong ứng dụng Tệp</translation> +<translation id="8709893667941082515">Tập trung vào thanh địa chỉ khi tìm kiếm</translation> +<translation id="8717459106217102612">Chọn chữ cái hoặc từ đứng trước</translation> +<translation id="8727232706774971183">Xem thông báo của bạn</translation> <translation id="88986195241502842">Trang dưới</translation> <translation id="8903921497873541725">Phóng to</translation> <translation id="9179672198516322668">Các phím tắt thông dụng</translation>
diff --git a/ash/components/strings/ash_components_strings_zh-CN.xtb b/ash/components/strings/ash_components_strings_zh-CN.xtb index 91ab7b5..2ccb6cf4 100644 --- a/ash/components/strings/ash_components_strings_zh-CN.xtb +++ b/ash/components/strings/ash_components_strings_zh-CN.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="zh-CN"> +<translation id="104962181688258143">打开“文件”应用</translation> +<translation id="1126871238933253947">切换到您使用过的上一种键盘语言。</translation> +<translation id="1195667586424773550">将链接拖到标签页的地址栏中</translation> +<translation id="1204450209689312104">在无痕模式下打开新窗口</translation> +<translation id="1299858300159559687">打印当前网页</translation> <translation id="1383876407941801731">搜索</translation> +<translation id="1439252533104567537">转到带编号的标签页</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> 或 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /></translation> <translation id="1510238584712386396">启动器</translation> +<translation id="152892567002884378">调高音量</translation> +<translation id="1560480564179555003"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />,然后按 <ph name="ESC" /> 键</translation> +<translation id="1652741121070700329">移到上一个字词的开头</translation> +<translation id="1679841710523778799">调高亮度</translation> +<translation id="168356808214100546">在按住 <ph name="ALT" /> 键的同时,多次点按 <ph name="TAB" /> 键直到切换至您要打开的窗口,然后松开手指。</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /></translation> +<translation id="1733525068429116555">将 www. 和 .com 添加到您在搜索栏内输入的内容中,然后打开相应网页</translation> +<translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />,然后按 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> 或<ph name="LEFT" />键</translation> +<translation id="1996162290124031907">转到下一个标签页</translation> +<translation id="2010818616644390445">转到窗口中的最后一个标签页</translation> <translation id="2145908266289632567">文字编辑</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 至 =</translation> +<translation id="2181097965834437145">显示或隐藏书签栏</translation> +<translation id="2185166372312820725">转到上一个标签页</translation> +<translation id="2194790690264064655">在按住 <ph name="CTRL" /> 键的同时点击链接</translation> +<translation id="2424073332829844142">开启/关闭大写锁定</translation> +<translation id="2441202986792279177">快速切换窗口</translation> +<translation id="2478303094958140141">开启或关闭 ChromeVox(语音反馈)</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">向下滚动网页</translation> +<translation id="2568632782096378307">将屏幕分辨率重置为默认设置</translation> +<translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />,然后按 <ph name="TAB" /> 键或<ph name="RIGHT" />键</translation> +<translation id="2699509451653686398">将当前网页保存为书签</translation> +<translation id="2750942583782703988">重新加载当前网页</translation> +<translation id="2789868185375229787">缩小网页</translation> +<translation id="2804480015716812239">在按住 <ph name="ALT" /> 键的同时点击链接</translation> +<translation id="2830827904629746450">将窗口固定在右侧</translation> <translation id="2872353916818027657">切换主显示器</translation> +<translation id="2914313326123580426">显示或隐藏开发者工具面板</translation> +<translation id="292495055542441795">开启/关闭全屏模式</translation> +<translation id="3084301071537457911">突出显示任务栏中的下一项</translation> +<translation id="309173601632226815">突出显示任务栏中的启动器按钮</translation> <translation id="3105917916468784889">生成屏幕截图</translation> +<translation id="3118681365140644126">取消任务栏中按钮的突出显示状态</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">将地址栏设为焦点</translation> +<translation id="3288816184963444640">关闭当前窗口</translation> +<translation id="3356202203145076517">打开最近最少使用的窗口</translation> +<translation id="3407560819924487926">启动任务管理器</translation> +<translation id="3422679037938588196">转到上一个相符的搜索结果</translation> +<translation id="344577624355799426"><ph name="ALT" /> 键或 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation> +<translation id="346243998268439747">重置缩放级别</translation> +<translation id="353037708190149633">将当前窗口中所有打开的网页保存为书签,并放在新文件夹中</translation> +<translation id="355103131818127604">在后台新标签页中打开链接</translation> <translation id="3649256019230929621">最小化窗口</translation> -<translation id="385051799172605136">后退</translation> +<translation id="3668361878347172356">重新执行上一步操作</translation> +<translation id="3720939646656082033">在新标签页中打开链接,同时切换到新标签页</translation> +<translation id="3725795051337497754">关闭当前标签页</translation> +<translation id="3751033133896282964">撤消上一步操作</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 至 8</translation> +<translation id="3837047332182291558">调亮键盘(仅适用于背光键盘)</translation> +<translation id="3976863468609830880">点击任务栏中的最后一个图标</translation> +<translation id="4035482366624727273">选择网页上的全部内容</translation> +<translation id="4060703249685950734">重新打开上次关闭的标签页或窗口</translation> +<translation id="4090342722461256974">在按住 <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> 的同时,多次点按 <ph name="TAB" /> 键直到切换至您要打开的窗口,然后松开手指。</translation> +<translation id="4092538597492297615">将所选内容复制到剪贴板中</translation> +<translation id="4123108089450197101">将链接保存为书签</translation> +<translation id="4141203561740478845">突出显示地址栏所在的行</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> 或 <ph name="ENTER" /> 键</translation> +<translation id="4556221320735744018">查看键盘快捷键助手</translation> +<translation id="4628718545549558538">打开状态区(其中显示了您的帐号头像)</translation> +<translation id="4642092649622328492">截取局部屏幕截图</translation> +<translation id="4725377341024374454">点击任务栏中突出显示的按钮</translation> +<translation id="4801989101741319327">移到下一个字词的末尾</translation> +<translation id="4916163929714267752">在新窗口中打开链接</translation> +<translation id="5034421018520995080">转到网页顶部</translation> +<translation id="5042305953558921026">“概览模式”键</translation> +<translation id="5104462712192763270">保存当前网页</translation> +<translation id="5121628974188116412">转到网页底部</translation> +<translation id="5236674127086649162">重新加载当前网页(不使用缓存的内容)</translation> +<translation id="526651782186312376">选择直到行首的文字</translation> <translation id="5316716239522500219">镜像显示器</translation> +<translation id="5335199890994453201">显示或隐藏 DOM 检查器</translation> +<translation id="5541719484267030947">在拖动标签页的同时按 <ph name="ESC" /> 键</translation> +<translation id="5554139136362089836">在当前网页中搜索</translation> +<translation id="5563050856984839829">在按 <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> 的同时点击链接</translation> +<translation id="561814908794220892">在新标签页中打开网页</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> 或 <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /></translation> +<translation id="5757111373163288447">在标签页中打开链接</translation> +<translation id="5757474750054631686">调暗键盘(仅适用于背光键盘)</translation> +<translation id="587531134027443617">删除上一个字词</translation> <translation id="5928303187149237472">更改屏幕分辨率</translation> <translation id="5975083100439434680">缩小</translation> +<translation id="6011500873794669296">在以下窗格之间切换焦点:状态区(其中显示了您的帐号头像)、启动器地址栏、书签栏(若显示)、打开的网页、下载内容栏(若显示)</translation> <translation id="6022924867608035986">清除搜索框文字</translation> +<translation id="6045998054441862242">开启高反差模式</translation> +<translation id="6052614013050385269">右键点击链接</translation> <translation id="6129953537138746214">空格</translation> +<translation id="6143669479988153888">放大网页</translation> <translation id="6185696379715117369">向上翻页</translation> +<translation id="6228457605945141550">调低亮度</translation> +<translation id="6276708887952587684">查看网页源代码</translation> +<translation id="6321940490215594447">打开“历史记录”页面</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation> +<translation id="6395172954772765143">选择直到行尾的文字</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> 或 <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation> +<translation id="6425378783626925378">点击任务栏中的第 1-8 个图标</translation> +<translation id="6435207348963613811">突出显示任务栏中的上一项</translation> +<translation id="6445033640292336367">将标签页移回其原始位置</translation> +<translation id="649811797655257835">选择相应文件,然后按<ph name="SPACE" /></translation> +<translation id="6572206071785323178">在您设定的键盘语言之间切换。了解如何选择键盘语言。</translation> +<translation id="6634456834225946400">突出显示书签栏(若显示)</translation> +<translation id="666343722268997814">打开突出显示项的右键点击菜单</translation> +<translation id="6671538777808758331">转到下一个相符的搜索结果</translation> +<translation id="6690765639083431875">将窗口固定在左侧</translation> +<translation id="6692847073476874842">在“文件”应用中预览文件</translation> <translation id="671928215901716392">锁定屏幕</translation> <translation id="6727005317916125192">上一个窗格</translation> +<translation id="6740781404993465795">选择下一个字词或字母</translation> +<translation id="6760706756348334449">调低音量</translation> <translation id="6981982820502123353">无障碍</translation> <translation id="7020813747703216897">找不到相符的搜索结果</translation> <translation id="7025325401470358758">下一窗格</translation> -<translation id="7272373489634936181">搜索快捷键</translation> +<translation id="7379254767514753910"><ph name="ALT" /> 键或 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation> +<translation id="7439718573248533901">删除下一个字母(前向删除)</translation> +<translation id="766326951329901120">以纯文本形式粘贴剪贴板中的内容</translation> <translation id="7724603315864178912">剪切</translation> -<translation id="8004192919599017226">开始搜索…</translation> +<translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />,然后按<ph name="SPACE" />或 <ph name="ENTER" /> 键</translation> +<translation id="7787242579016742662">在浏览器中打开文件</translation> +<translation id="7917881398263220094">停止加载当前网页</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> 或 <ph name="MINUS" /> 键</translation> +<translation id="8130528849632411619">转到文档开头处</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> 或 <ph name="E" /> 键</translation> +<translation id="8234414138295101081">将屏幕旋转 90 度</translation> +<translation id="836869401750819675">打开“下载内容”页面</translation> +<translation id="8388247778047144397">将链接拖到标签栏的空白区域中</translation> +<translation id="8389638407792712197">打开新窗口</translation> +<translation id="8429696719963529183">使用键盘顶部的一系列功能键(F1 到 F12)</translation> +<translation id="85690795166292698">在新标签页中打开链接</translation> +<translation id="8609384513243082612">打开新标签页</translation> +<translation id="8644639153978066712">在“文件”应用中显示处于隐藏状态的文件</translation> +<translation id="8709893667941082515">将光标移到地址栏内以进行搜索</translation> +<translation id="8717459106217102612">选择上一个字词或字母</translation> +<translation id="8727232706774971183">查看通知</translation> <translation id="88986195241502842">向下翻页</translation> <translation id="8903921497873541725">放大</translation> <translation id="9179672198516322668">常用快捷键</translation>
diff --git a/ash/components/strings/ash_components_strings_zh-TW.xtb b/ash/components/strings/ash_components_strings_zh-TW.xtb index b5290808..6a0beec 100644 --- a/ash/components/strings/ash_components_strings_zh-TW.xtb +++ b/ash/components/strings/ash_components_strings_zh-TW.xtb
@@ -1,31 +1,150 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="zh-TW"> +<translation id="104962181688258143">開啟「檔案」應用程式</translation> +<translation id="1126871238933253947">切換至你使用的上一個鍵盤語言。</translation> +<translation id="1195667586424773550">將連結拖曳至該分頁的網址列</translation> +<translation id="1204450209689312104">以無痕模式開啟新視窗</translation> +<translation id="1299858300159559687">列印目前網頁</translation> <translation id="1383876407941801731">搜尋</translation> +<translation id="1439252533104567537">前往已編號的分頁</translation> +<translation id="1454364489140280055"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT1" /><ph name="SEPARATOR2" /><ph name="G" /> 鍵或 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="ENTER" /> 鍵</translation> <translation id="1510238584712386396">啟動器</translation> +<translation id="152892567002884378">調高音量</translation> +<translation id="1560480564179555003">按下 <ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> 鍵,然後按下 <ph name="ESC" /> 鍵</translation> +<translation id="1652741121070700329">移至上一個字詞的開頭</translation> +<translation id="1679841710523778799">調高亮度</translation> +<translation id="168356808214100546">按住 <ph name="ALT" /> 鍵並輕觸 <ph name="TAB" /> 鍵,切換至你要開啟的視窗後放開按鍵。</translation> <translation id="169515659049020177">Shift</translation> +<translation id="1732295673545939435"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="KEY" /> 鍵</translation> +<translation id="1733525068429116555">為你在網址列中輸入的字串加上 www. 和 .com 並開啟網頁</translation> +<translation id="1920446759863417809">按下 <ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> 鍵,然後按下 <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> 鍵或 <ph name="LEFT" /> 鍵</translation> +<translation id="1996162290124031907">前往下一個分頁</translation> +<translation id="2010818616644390445">前往視窗中的最後一個分頁</translation> <translation id="2145908266289632567">文字編輯</translation> +<translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 到 = 鍵</translation> +<translation id="2181097965834437145">顯示或隱藏書籤列</translation> +<translation id="2185166372312820725">前往上一個分頁</translation> +<translation id="2194790690264064655">按住 <ph name="CTRL" /> 鍵,然後按一下連結</translation> +<translation id="2424073332829844142">開啟及關閉 Caps Lock 鍵</translation> +<translation id="2441202986792279177">快速切換視窗</translation> +<translation id="2478303094958140141">開啟或關閉 ChromeVox 互動朗讀功能</translation> <translation id="2515586267016047495">Alt</translation> +<translation id="2530339807289914946">向下捲動網頁</translation> +<translation id="2568632782096378307">將螢幕解析度重設為預設值</translation> +<translation id="2685170433750953446">按下 <ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> 鍵,然後按下 <ph name="TAB" /> 或 <ph name="RIGHT" /> 鍵</translation> +<translation id="2699509451653686398">將目前網頁儲存為書籤</translation> +<translation id="2750942583782703988">重新載入目前網頁</translation> +<translation id="2789868185375229787">縮小網頁</translation> +<translation id="2804480015716812239">按住 <ph name="ALT" /> 鍵,然後按一下連結</translation> +<translation id="2830827904629746450">將視窗固定在右側</translation> <translation id="2872353916818027657">切換主要顯示器</translation> +<translation id="2914313326123580426">顯示或隱藏開發人員工具面板</translation> +<translation id="292495055542441795">切換全螢幕</translation> +<translation id="3084301071537457911">醒目顯示檔案櫃中的下一個項目</translation> +<translation id="309173601632226815">醒目顯示檔案櫃中的啟動器按鈕</translation> <translation id="3105917916468784889">擷取螢幕畫面</translation> +<translation id="3118681365140644126">取消檔案櫃按鈕的醒目顯示狀態</translation> <translation id="3126026824346185272">Ctrl</translation> <translation id="3140353188828248647">將焦點移至網址列</translation> +<translation id="3288816184963444640">關閉目前的視窗</translation> +<translation id="3356202203145076517">開啟你最近最少使用的視窗</translation> +<translation id="3407560819924487926">開啟工作管理員</translation> +<translation id="3422679037938588196">前往上一個相符的搜尋結果</translation> +<translation id="344577624355799426"><ph name="ALT" /> 鍵或 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /> 鍵</translation> +<translation id="346243998268439747">重設縮放比例</translation> +<translation id="353037708190149633">將目前視窗中所有開啟的網頁儲存為書籤,並放在新資料夾中</translation> +<translation id="355103131818127604">在新分頁中開啟連結,顯示在背景中</translation> <translation id="3649256019230929621">將視窗縮到最小</translation> -<translation id="385051799172605136">返回</translation> +<translation id="3668361878347172356">重做上一個動作</translation> +<translation id="3720939646656082033">在新分頁中開啟連結,並切換到新開啟的分頁</translation> +<translation id="3725795051337497754">關閉目前的分頁</translation> +<translation id="3751033133896282964">復原上一個動作</translation> +<translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 到 8 鍵</translation> +<translation id="3837047332182291558">鍵盤變亮 (僅適用於背光鍵盤)</translation> +<translation id="3976863468609830880">點選檔案櫃中的最後一個圖示</translation> +<translation id="4035482366624727273">選取網頁上的所有項目</translation> +<translation id="4060703249685950734">重新開啟最後關閉的分頁或視窗</translation> +<translation id="4090342722461256974">按住 <ph name="ALT" /><ph name="SEPARATOR" /><ph name="SHIFT" /> 鍵並輕觸 <ph name="TAB" /> 鍵,切換至你要開啟的視窗後放開按鍵。</translation> +<translation id="4092538597492297615">將所選內容複製到剪貼簿</translation> +<translation id="4123108089450197101">將連結儲存為書籤</translation> +<translation id="4141203561740478845">醒目顯示網址列所在的行</translation> +<translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> 鍵或 <ph name="ENTER" /> 鍵</translation> +<translation id="4556221320735744018">查看鍵盤快速鍵說明</translation> +<translation id="4628718545549558538">開啟狀態區 (顯示帳戶圖片的位置)</translation> +<translation id="4642092649622328492">擷取部分螢幕畫面</translation> +<translation id="4725377341024374454">開啟檔案櫃中醒目顯示的按鈕</translation> +<translation id="4801989101741319327">移至下一個字詞的結尾</translation> +<translation id="4916163929714267752">在新視窗開啟連結</translation> +<translation id="5034421018520995080">前往頁面頂端</translation> +<translation id="5042305953558921026">總覽模式按鍵</translation> +<translation id="5104462712192763270">儲存目前網頁</translation> +<translation id="5121628974188116412">前往頁面底部</translation> +<translation id="5236674127086649162">重新載入目前網頁,而不使用快取內容</translation> +<translation id="526651782186312376">選取文字至本行開頭</translation> <translation id="5316716239522500219">顯示器鏡像</translation> +<translation id="5335199890994453201">顯示或隱藏 DOM 檢查器</translation> +<translation id="5541719484267030947">在拖曳分頁時按下 <ph name="ESC" /> 鍵</translation> +<translation id="5554139136362089836">搜尋目前網頁</translation> +<translation id="5563050856984839829">按住 <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="SHIFT" /> 鍵,然後按一下連結</translation> +<translation id="561814908794220892">在新分頁中開啟網頁</translation> +<translation id="5710621673935162997"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="L" /> 鍵或 <ph name="ALT" /><ph name="SEPARATOR2" /><ph name="D" /> 鍵</translation> +<translation id="5757111373163288447">在該分頁開啟連結</translation> +<translation id="5757474750054631686">鍵盤變暗 (僅適用於背光鍵盤)</translation> +<translation id="587531134027443617">刪除上一個字詞</translation> <translation id="5928303187149237472">變更螢幕解析度</translation> <translation id="5975083100439434680">縮小</translation> +<translation id="6011500873794669296">在以下位置之間切換焦點:狀態區 (你的帳戶相片顯示位置)、啟動器網址列、書籤列 (如有顯示)、開啟下載內容列的網頁 (如有顯示)</translation> <translation id="6022924867608035986">清除搜尋框文字</translation> +<translation id="6045998054441862242">開啟高對比模式</translation> +<translation id="6052614013050385269">以滑鼠右鍵按一下連結</translation> <translation id="6129953537138746214">空格</translation> +<translation id="6143669479988153888">放大網頁</translation> <translation id="6185696379715117369">Page Up 鍵</translation> +<translation id="6228457605945141550">調低亮度</translation> +<translation id="6276708887952587684">查看網頁原始碼</translation> +<translation id="6321940490215594447">開啟紀錄頁面</translation> +<translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /> 鍵</translation> +<translation id="6395172954772765143">選取文字至本行結尾</translation> +<translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> 鍵或 <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /> 鍵</translation> +<translation id="6425378783626925378">點選檔案櫃中的第 1-8 個圖示</translation> +<translation id="6435207348963613811">醒目顯示檔案櫃中的上一個項目</translation> +<translation id="6445033640292336367">讓分頁回到原始位置</translation> +<translation id="649811797655257835">選取檔案,然後按下 <ph name="SPACE" /> 鍵</translation> +<translation id="6572206071785323178">在你設定的鍵盤語言之間切換。進一步瞭解如何選擇鍵盤語言。</translation> +<translation id="6634456834225946400">醒目顯示書籤列 (假設不是隱藏狀態)</translation> +<translation id="666343722268997814">針對醒目顯示的項目開啟滑鼠右鍵選單</translation> +<translation id="6671538777808758331">前往下一個相符的搜尋結果</translation> +<translation id="6690765639083431875">將視窗固定在左側</translation> +<translation id="6692847073476874842">預覽「檔案」應用程式中的檔案</translation> <translation id="671928215901716392">鎖定螢幕</translation> <translation id="6727005317916125192">上一個窗格</translation> +<translation id="6740781404993465795">選取下一個字詞或字母</translation> +<translation id="6760706756348334449">調低音量</translation> <translation id="6981982820502123353">協助工具</translation> <translation id="7020813747703216897">找不到相符的搜尋結果</translation> <translation id="7025325401470358758">下一個窗格</translation> -<translation id="7272373489634936181">搜尋快速鍵</translation> +<translation id="7379254767514753910"><ph name="ALT" /> 鍵或 <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /> 鍵</translation> +<translation id="7439718573248533901">刪除下一個字母 (向前刪除)</translation> +<translation id="766326951329901120">以純文字貼上剪貼簿中的內容</translation> <translation id="7724603315864178912">剪下</translation> -<translation id="8004192919599017226">開始搜尋...</translation> +<translation id="7730490981846175479">按下 <ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> 鍵,然後按下 <ph name="SPACE" /> 或 <ph name="ENTER" /> 鍵</translation> +<translation id="7787242579016742662">在瀏覽器中開啟檔案</translation> +<translation id="7917881398263220094">停止載入目前網頁</translation> +<translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> 鍵或 <ph name="MINUS" /> 鍵</translation> +<translation id="8130528849632411619">前往文件開頭</translation> +<translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> 鍵或 <ph name="E" /> 鍵</translation> +<translation id="8234414138295101081">將畫面旋轉 90 度</translation> +<translation id="836869401750819675">開啟下載內容頁面</translation> +<translation id="8388247778047144397">將連結拖曳至分頁列中的空白區域</translation> +<translation id="8389638407792712197">開啟新視窗</translation> +<translation id="8429696719963529183">使用 F 鍵 (F1 到 F12)</translation> +<translation id="85690795166292698">在新分頁中開啟連結</translation> +<translation id="8609384513243082612">開啟新分頁</translation> +<translation id="8644639153978066712">顯示「檔案」應用程式中隱藏的檔案</translation> +<translation id="8709893667941082515">將焦點移至網址列以便進行搜尋</translation> +<translation id="8717459106217102612">選取上一個字詞或字母</translation> +<translation id="8727232706774971183">查看通知</translation> <translation id="88986195241502842">Page Down 鍵</translation> <translation id="8903921497873541725">放大</translation> <translation id="9179672198516322668">常用快速鍵</translation>
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb index 621edb42..65cc172 100644 --- a/ash/strings/ash_strings_am.xtb +++ b/ash/strings/ash_strings_am.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">አሰናብት</translation> <translation id="15373452373711364">ትልቅ የመዳፊት ጠቋሚ</translation> <translation id="1550523713251050646">ለተጨማሪ አማራጮች ጠቅ ያድርጉ</translation> +<translation id="1608626060424371292">ይህን ተጠቃሚ አስወግድ</translation> <translation id="1621499497873603021">ባትሪ ባዶ እስኪሆን ድረስ የቀረው ጊዜ፣ <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">ይቅርታ፣ የይለፍ ቃልዎ አሁንም ሊረጋገጥ አልቻለም። ማሳሰቢያ፦ የይለፍ ቃልዎን በቅርብ ጊዜ ቀይረው ከሆነ አዲስ የይለፍ ቃልዎ የሚተገበረው ሲወጡ ነው፣ እባክዎ የድሮውን ይለፍ ቃል እዚህ ይጠቀሙ።</translation> <translation id="1677472565718498478"><ph name="TIME" /> ቀርቷል</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">አስገባ</translation> <translation id="2675319268637823299">አንድ አስተዳዳሪ ለ<ph name="USER_EMAIL" /> በርካታ በመለያ መግባቶችን ከልክሏል። ለመቀጠል ሁሉም ተጠቃሚዎች ዘግተው መውጣት አለባቸው።</translation> -<translation id="2700058918926273959">ክፍለ-ጊዜ በ<ph name="SESSION_TIME_REMAINING" /> ውስጥ ያበቃል። ዘግተው እንዲወጡ ይደረጋሉ።</translation> <translation id="2727977024730340865">አነስተኛ ኃይል ወዳለው ባትሪ መሙያ ተሰክቷል። የባትሪ መሙላት አስተማማኝ ላይሆን ይችላል።</translation> <translation id="2761704814324807722">የሁኔታ መሣቢያ፣ ሰዓት <ph name="TIME" />፣ <ph name="BATTERY" /></translation> <translation id="277257480934873581">ከ<ph name="NAME" /> ጋር ዳግም በማገናኘት ላይ</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">ግርጌ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ብሉቱዝ)</translation> +<translation id="3112378005171663295">ሰብስብ</translation> <translation id="3126069444801937830">ለማዘመን ዳግም ያስጀምሩ</translation> <translation id="3147142846278915599">ማስጀመሪያ (መተግበሪያዎችን በማመሳሰል ላይ...)</translation> <translation id="315116470104423982">የተንቀሳቃሽ ስልክ ውሂብ</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">ኮምፒውተርዎ አቅራቢያ ባሉ የብሉቱዝ መሣሪያዎች ሊገኝ የሚችል ነው፣ እና በ<ph name="ADDRESS" /> አድራሻ እንደ «<ph name="NAME" />» ሆኖ ይታያል</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" />ን በመሙላት ላይ</translation> <translation id="615957422585914272">የማያ ገጽ ላይ ቁልፍ ሰሌዳ አሳይ</translation> +<translation id="6164005077879661055">ይህ ክትትል የሚደረግበት ተጠቃሚ አንዴ ከተወገደ በኋላ ሁሉም ከዚህ ክትትል የሚደረግበት ተጠቃሚ ጋር የተጎዳኙ ፋይሎች እና አካባቢያዊ ውሂብ እስከመጨረሻው ይሰረዛሉ። አስተዳዳሪው የዚህ ክትትል የሚደረግበት ተጠቃሚ የጎበኛቸው ድር ጣቢያዎች እና ቅንብሮች <ph name="MANAGEMENT_URL" /> ላይ ሊያዩት ይችላሉ።</translation> <translation id="6165508094623778733">ተጨማሪ ለመረዳት</translation> <translation id="6267036997247669271"><ph name="NAME" />፦ በማግበር ላይ...</translation> <translation id="6284232397434400372">ጥራቱ ተቀይሯል</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" />ን አግብር</translation> <translation id="6911468394164995108">ሌላ ይቀላቀሉ...</translation> <translation id="6981982820502123353">ተደራሽነት</translation> +<translation id="698231206551913481">አንዴ ይህ ተጠቃሚ ከተወገደ በኋላ ከዚህ ተጠቃሚ ጋር የተጎዳኙ ሁሉም ፋይሎች እና አካባቢያዊ ውሂብ በቋሚነት ይሰረዛሉ።</translation> <translation id="7029814467594812963">ከክፍለ-ጊዜ ውጣ</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" />ን ወደ <ph name="RECEIVER_NAME" /> Cast በማድረግ ላይ</translation> <translation id="7052914147756339792">ልጣፍ አዘጋጅ...</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb index cb68809..86b0b3b 100644 --- a/ash/strings/ash_strings_ar.xtb +++ b/ash/strings/ash_strings_ar.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">رفض</translation> <translation id="15373452373711364">مؤشر الماوس الكبير</translation> <translation id="1550523713251050646">انقر للحصول على المزيد من الخيارات</translation> +<translation id="1608626060424371292">إزالة هذا المستخدم</translation> <translation id="1621499497873603021">الوقت المتبقي حتى تصبح البطارية فارغة <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">عذرًا، لا يمكن التحقق من كلمة المرور حتى الآن. ملاحظة: في حال تغيير كلمة المرور مؤخرًا، سيتم تطبيق كلمة المرور الجديدة بعد تسجيل الخروج، يُرجى استخدام كلمة المرور القديمة هنا.</translation> <translation id="1677472565718498478">الوقت المتبقي <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">إرسال</translation> <translation id="2675319268637823299">منع أحد المشرفين الدخول المتعدد لـ <ph name="USER_EMAIL" />. يجب على جميع المستخدمين تسجيل الخروج للمتابعة.</translation> -<translation id="2700058918926273959">تنتهي الجلسة في <ph name="SESSION_TIME_REMAINING" />. وسيتم إخراجك.</translation> <translation id="2727977024730340865">تمّ توصيل شاحن منخفض الطاقة. لذا قد لا تكون عملية شحن البطارية جديرة بالثقة.</translation> <translation id="2761704814324807722">علبة الحالة، والوقت <ph name="TIME" />، و<ph name="BATTERY" /></translation> <translation id="277257480934873581">إعادة الاتصال بـ <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">أسفل</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (بلوتوث)</translation> +<translation id="3112378005171663295">تصغير</translation> <translation id="3126069444801937830">إعادة التشغيل للتحديث</translation> <translation id="3147142846278915599">Launcher (مزامنة التطبيقات...)</translation> <translation id="315116470104423982">بيانات الجوال</translation> @@ -209,6 +210,8 @@ <translation id="607652042414456612">يمكن لأجهزة بلوتوث القريبة اكتشاف جهاز الكمبيوتر وسيظهر كـ "<ph name="NAME" />" بالعنوان <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">جارٍ شحن <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">إظهار لوحة مفاتيح على الشاشة</translation> +<translation id="6164005077879661055">سيتم حذف جميع الملفات والبيانات المحلية المقترنة بالمستخدم الذي يخضع للإشراف نهائيًا بمجرد +إزالة هذا المستخدم الذي يخضع للإشراف. وقد تظل مواقع الويب التي تم الانتقال إليها والإعدادات التابعة للمستخدم الذي يخضع للإشراف مرئية للمدير على <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">مزيد من المعلومات</translation> <translation id="6267036997247669271"><ph name="NAME" />: جارٍ التنشيط...</translation> <translation id="6284232397434400372">تم تغيير درجة الدقة</translation> @@ -243,6 +246,7 @@ <translation id="6857811139397017780">تنشيط <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">الانضمام إلى شبكة أخرى...</translation> <translation id="6981982820502123353">إمكانية الدخول</translation> +<translation id="698231206551913481">سيتم حذف جميع الملفات والبيانات المحلية المرتبطة بهذا المستخدم نهائيًا بمجرد إزالة هذا المستخدم.</translation> <translation id="7029814467594812963">إنهاء الجلسة</translation> <translation id="7034339000180558234">إرسال <ph name="TAB_NAME" /> إلى <ph name="RECEIVER_NAME" />.</translation> <translation id="7052914147756339792">تعيين خلفية...</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb index 4c9ec98..5bc41af3 100644 --- a/ash/strings/ash_strings_bg.xtb +++ b/ash/strings/ash_strings_bg.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ОТХВЪРЛЯНЕ</translation> <translation id="15373452373711364">Голям курсор на мишката</translation> <translation id="1550523713251050646">Кликнете за още опции</translation> +<translation id="1608626060424371292">Премахване на този потребител</translation> <translation id="1621499497873603021">Оставащо време до изразходването на батерията: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">За съжаление, паролата ви пак не можа да бъде потвърдена. Забележка: Ако наскоро сте я променили, новата ще влезе в сила, след като излезете от профила си. Моля, използвайте старата парола тук.</translation> <translation id="1677472565718498478">Оставащо време: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Изпращане</translation> <translation id="2675319268637823299">Администратор е деактивирал централизирания вход за <ph name="USER_EMAIL" />. За да продължите, всички потребители трябва да излязат.</translation> -<translation id="2700058918926273959">Сесията приключва след <ph name="SESSION_TIME_REMAINING" />. Ще излезете от профила.</translation> <translation id="2727977024730340865">Използва се зарядно устройство с малка мощност. Зареждането на батерията може да не е надеждно.</translation> <translation id="2761704814324807722">Област за състоянието, часът е <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Установява се повторна връзка с мрежата „<ph name="NAME" />“</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Най-долу</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Свиване</translation> <translation id="3126069444801937830">Рестартирайте, за да актуализирате</translation> <translation id="3147142846278915599">Стартов панел (приложенията се синхронизират...)</translation> <translation id="315116470104423982">Мобилни данни</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Компютърът ви е откриваем за устройства с Bluetooth наблизо и ще се показва като „<ph name="NAME" />“ с адрес <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Зарежда се <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Показване на екранната клавиатура</translation> +<translation id="6164005077879661055">Всички файлове и локални данни, свързани с контролирания потребител, ще бъдат изтрити за постоянно, щом той бъде премахнат. Посетените уебсайтове и настройките за него може все още да се виждат от мениджъра на адрес <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Научете повече</translation> <translation id="6267036997247669271">„<ph name="NAME" />“: Активира се...</translation> <translation id="6284232397434400372">Разделителната способност е променена</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Активиране на <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Присъединяване другаде...</translation> <translation id="6981982820502123353">Достъпност</translation> +<translation id="698231206551913481">След като този потребител бъде премахнат, всички свързани с него файлове и локални данни ще се изтрият за постоянно.</translation> <translation id="7029814467594812963">Изход от сесията</translation> <translation id="7034339000180558234">„<ph name="TAB_NAME" />“ се предава към „<ph name="RECEIVER_NAME" />“</translation> <translation id="7052914147756339792">Задаване на тапет...</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb index 7940f3c..8373b83 100644 --- a/ash/strings/ash_strings_bn.xtb +++ b/ash/strings/ash_strings_bn.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">খারিজ করুন</translation> <translation id="15373452373711364">বড় মাউস কার্সার</translation> <translation id="1550523713251050646">আরও বিকল্পের জন্য ক্লিক করুন</translation> +<translation id="1608626060424371292">এই ব্যবহারকারীকে সরান</translation> <translation id="1621499497873603021">ব্যাটারি শেষ হতে <ph name="TIME_LEFT" /> সময় বাকি আছে</translation> <translation id="1658406695958299976">দুঃখিত, আপনার পাসওয়ার্ড এখনও পর্যন্ত যাচাই করা যায়নি। দ্রষ্টব্য: আপনি যদি সম্প্রতি আপনার পাসওয়ার্ড পরিবর্তন করে থাকেন, তাহলে আপনি সাইন-আউট করার পর আপনার নতুন পাসওয়ার্ড প্রয়োগ করা হবে, অনুগ্রহ করে এখানে পুরানো পাসওয়ার্ড ব্যবহার করুন।</translation> <translation id="1677472565718498478"><ph name="TIME" /> বাকি আছে</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">জমা দিন</translation> <translation id="2675319268637823299">একজন প্রশাসক <ph name="USER_EMAIL" /> এর জন্য একাধিক সাইন-ইন বাতিল করেছেন। চালিয়ে যাওয়ার জন্য, সব ব্যবহারকারীকে অবশ্যই সাইন-আউট করতে হবে।</translation> -<translation id="2700058918926273959"><ph name="SESSION_TIME_REMAINING" /> এর মধ্যে সেশন শেষ হয়ে যাবে৷ আপনাকে প্রস্থান করুন করা হবে৷</translation> <translation id="2727977024730340865">একটি নিম্ন শক্তির চার্জার প্লাগইন করা হয়েছে৷ বিশ্বস্ত ব্যাটারি চার্জ নাও হতে পারে৷</translation> <translation id="2761704814324807722">স্থিতি ট্রে, সময় <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> এ পুনরায় সংযোগ করছে</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">নিচে</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ব্লুটুথ)</translation> +<translation id="3112378005171663295">সঙ্কুচিত করুন</translation> <translation id="3126069444801937830">আপডেট করার জন্য পুনরারম্ভ করুন</translation> <translation id="3147142846278915599">লঞ্চার (অ্যাপ সিঙ্ক করা হচ্ছে...)</translation> <translation id="315116470104423982">মোবাইল ডেটা</translation> @@ -209,6 +210,8 @@ <translation id="607652042414456612">আপনার কম্পিউটার কাছাকাছি ব্লুটুথ ডিভাইসে খুঁজে পাওয়া সম্ভব এবং ঠিকানা <ph name="ADDRESS" /> সমেত "<ph name="NAME" />" হিসাবে প্রদর্শিত হবে</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> চার্জ হচ্ছে</translation> <translation id="615957422585914272">অন-স্ক্রীন কীবোর্ড প্রদর্শন করুন</translation> +<translation id="6164005077879661055">একবার এই তত্ত্বাবধানে থাকা ব্যবহারকারী সরানো হলে এর সঙ্গে সংশ্লিষ্ট সমস্ত ফাইল এবং +স্থানীয় ডেটা স্থায়ীভাবে মুছে ফেলা হবে৷ এই তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য পরিদর্শিত এবং সেটিংস <ph name="MANAGEMENT_URL" /> এ পরিচালকের কাছে এখনো দৃশ্যমান হতে পারে৷</translation> <translation id="6165508094623778733">আরও জানুন</translation> <translation id="6267036997247669271"><ph name="NAME" />: সক্রিয় করা হচ্ছে...</translation> <translation id="6284232397434400372">রেজোলিউশন পরিবর্তন করা হয়েছে</translation> @@ -243,6 +246,7 @@ <translation id="6857811139397017780">সক্রিয় করুন <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">অন্যতে যোগদান করুন ...</translation> <translation id="6981982820502123353">অ্যাক্সেযোগ্যতা</translation> +<translation id="698231206551913481">একবার এই ব্যবহারকারীকে সরানো হলে এর সঙ্গে সংশ্লিষ্ট সমস্ত ফাইল এবং স্থানীয় ডেটা স্থায়ীভাবে মুছে ফেলা হবে।</translation> <translation id="7029814467594812963">সেশন থেকে প্রস্থান</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> কে <ph name="RECEIVER_NAME" /> এ কাস্ট করা হচ্ছে</translation> <translation id="7052914147756339792">ওয়ালপেপার সেট করুন...</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb index 2910eb5..5c9ed7d 100644 --- a/ash/strings/ash_strings_ca.xtb +++ b/ash/strings/ash_strings_ca.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORA</translation> <translation id="15373452373711364">Cursor del ratolí gran</translation> <translation id="1550523713251050646">Feu clic per veure més opcions</translation> +<translation id="1608626060424371292">Suprimeix aquest usuari</translation> <translation id="1621499497873603021">Temps que queda fins que no s'esgoti la bateria: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Encara no s'ha pogut verificar la contrasenya. Nota: si fa poc que has canviat la contrasenya, la nova s'aplicarà un cop hagis tancat la sessió. Fes servir la contrasenya anterior aquí.</translation> <translation id="1677472565718498478">Temps restant: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Envia</translation> <translation id="2675319268637823299">Un administrador ha desactivat l'inici de sessió múltiple per a <ph name="USER_EMAIL" />. Tots els usuaris han de tancar la sessió per continuar.</translation> -<translation id="2700058918926273959">La sessió finalitzarà d'aquí a <ph name="SESSION_TIME_REMAINING" /> i es tancarà.</translation> <translation id="2727977024730340865">S'ha connectat a un carregador de baix consum. És possible que la càrrega de la bateria no sigui fiable.</translation> <translation id="2761704814324807722">Safata d'estat. Hora: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">S'està tornant a connectar a la xarxa <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">maj</translation> <translation id="3087734570205094154">Part inferior</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Redueix</translation> <translation id="3126069444801937830">Reinicia per actualitzar</translation> <translation id="3147142846278915599">Launcher (s'estan sincronitzant les aplicacions...)</translation> <translation id="315116470104423982">Dades mòbils</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">El vostre ordinador està visible als dispositius Bluetooth propers i apareixerà com a "<ph name="NAME" />" amb l'adreça <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237">S'està carregant: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostra el teclat en pantalla</translation> +<translation id="6164005077879661055">Tots els fitxers i les dades locals associats amb l'usuari supervisat se suprimiran permanentment quan aquest usuari supervisat se suprimeixi. És possible que el gestor encara pugui veure els llocs web visitats i la configuració d'aquest usuari supervisat a la pàgina <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Més informació</translation> <translation id="6267036997247669271"><ph name="NAME" />: s'està activant...</translation> <translation id="6284232397434400372">S'ha canviat la resolució</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Activa <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Connecta't a una altra xarxa...</translation> <translation id="6981982820502123353">Accessibilitat</translation> +<translation id="698231206551913481">Tots els fitxers i les dades locals associats amb aquest usuari se suprimiran definitivament quan aquest usuari se suprimeixi.</translation> <translation id="7029814467594812963">Tanca la sessió</translation> <translation id="7034339000180558234">S'està emetent <ph name="TAB_NAME" /> a <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Estableix fons de pantalla...</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb index 0d473d4..e48b31da 100644 --- a/ash/strings/ash_strings_cs.xtb +++ b/ash/strings/ash_strings_cs.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ZAVŘÍT</translation> <translation id="15373452373711364">Velký kurzor myši</translation> <translation id="1550523713251050646">Kliknutím zobrazíte další možnosti</translation> +<translation id="1608626060424371292">Odebrat tohoto uživatele</translation> <translation id="1621499497873603021">Čas zbývající do vybití baterie: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Je nám líto, vaše heslo se stále nedaří ověřit. Poznámka: Pokud jste heslo nedávno změnili, bude nové heslo možné použít až po odhlášení. Zde použijte staré heslo.</translation> <translation id="1677472565718498478">Zbývající čas: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Odeslat</translation> <translation id="2675319268637823299">Administrátor vícenásobné přihlášení pro účet <ph name="USER_EMAIL" /> zakázal. Všichni uživatelé se před pokračováním musejí odhlásit.</translation> -<translation id="2700058918926273959">Relace skončí za <ph name="SESSION_TIME_REMAINING" />. Poté budete odhlášeni.</translation> <translation id="2727977024730340865">Byla připojena nabíječka s nízkým výkonem. Nabíjení baterie nemusí probíhat spolehlivě.</translation> <translation id="2761704814324807722">Systémový panel, čas <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Obnovování připojení k síti <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Až dolů</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Sbalit</translation> <translation id="3126069444801937830">Restartovat a aktualizovat</translation> <translation id="3147142846278915599">Spouštěč (synchronizace aplikací...)</translation> <translation id="315116470104423982">Mobilní datové přenosy</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Váš počítač mohou objevit okolní zařízení Bluetooth, ve kterých se bude zobrazovat s názvem „<ph name="NAME" />“ a adresou <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> – nabíjení</translation> <translation id="615957422585914272">Zobrazit softwarovou klávesnici</translation> +<translation id="6164005077879661055">Po odebrání dozorovaného uživatele budou trvale smazány všechny soubory a místní data, která jsou k němu přiřazena. Navštívené weby a nastavení tohoto dozorovaného uživatele může správce i nadále zobrazit na adrese <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Další informace</translation> <translation id="6267036997247669271"><ph name="NAME" />: Probíhá aktivace...</translation> <translation id="6284232397434400372">Rozlišení se změnilo</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktivovat: <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Připojit k jiné...</translation> <translation id="6981982820502123353">Usnadnění</translation> +<translation id="698231206551913481">Po odebrání tohoto uživatele budou trvale smazány všechny soubory a místní data, která jsou k němu přiřazena.</translation> <translation id="7029814467594812963">Ukončit relaci</translation> <translation id="7034339000180558234">Odesílání karty <ph name="TAB_NAME" /> do zařízení <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Nastavení tapety...</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb index 46f0938..c4a5e63 100644 --- a/ash/strings/ash_strings_da.xtb +++ b/ash/strings/ash_strings_da.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">AFVIS</translation> <translation id="15373452373711364">Stor musemarkør</translation> <translation id="1550523713251050646">Klik for at se flere muligheder</translation> +<translation id="1608626060424371292">Fjern denne bruger</translation> <translation id="1621499497873603021">Tid tilbage, indtil batteriet er tomt, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Din adgangskode kunne stadig ikke bekræftes. Bemærk! Hvis du har ændret din adgangskode for nylig, anvendes din nye adgangskode først, når du har logget ud. Du skal bruge den gamle adgangskode her.</translation> <translation id="1677472565718498478"><ph name="TIME" /> tilbage</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Indsend</translation> <translation id="2675319268637823299">En administrator har afvist samlet login fra flere konti for <ph name="USER_EMAIL" />. Alle brugere skal logge ud for at fortsætte.</translation> -<translation id="2700058918926273959">Sessionen slutter om <ph name="SESSION_TIME_REMAINING" />. Du vil blive logget af.</translation> <translation id="2727977024730340865">Tilsluttet en oplader med lav kraft. Batteriopladningen er muligvis ikke pålidelig.</translation> <translation id="2761704814324807722">Statusbakke, tid <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Genopretter forbindelsen til <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bund</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Skjul</translation> <translation id="3126069444801937830">Genstart for at opdatere</translation> <translation id="3147142846278915599">Starter (synkronisering af apps...)</translation> <translation id="315116470104423982">Mobildata</translation> @@ -209,6 +210,8 @@ <translation id="607652042414456612">Din computer kan registreres af Bluetooth-enheder i nærheden, og den vil blive vist som "<ph name="NAME" />" med adressen <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Oplader <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Vis skærmtastatur</translation> +<translation id="6164005077879661055">Alle filer og lokale data, der er knyttet til den administrerede bruger, +slettes permanent, når den administrerede bruger fjernes. Besøgte websites og indstillinger for denne administrerede bruger er muligvis stadig synlige for administratoren på <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Flere oplysninger</translation> <translation id="6267036997247669271"><ph name="NAME" />: Aktiverer...</translation> <translation id="6284232397434400372">Opløsningen blev ændret</translation> @@ -243,6 +246,7 @@ <translation id="6857811139397017780">Aktivér <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Vælg et andet...</translation> <translation id="6981982820502123353">Hjælpefunktioner</translation> +<translation id="698231206551913481">Alle filer og lokale data, der er knyttet til denne bruger, slettes permanent, når brugeren fjernes.</translation> <translation id="7029814467594812963">Afslut session</translation> <translation id="7034339000180558234">Caster <ph name="TAB_NAME" /> til <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Vælg baggrund...</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb index 171585f..4cc2f22a 100644 --- a/ash/strings/ash_strings_de.xtb +++ b/ash/strings/ash_strings_de.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">SCHLIESSEN</translation> <translation id="15373452373711364">Großer Cursor</translation> <translation id="1550523713251050646">Für weitere Optionen klicken</translation> +<translation id="1608626060424371292">Diesen Nutzer entfernen</translation> <translation id="1621499497873603021">Verbleibende Akku-Laufzeit: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Ihr Passwort konnte immer noch nicht bestätigt werden. Hinweis: Falls Sie Ihr Passwort kürzlich geändert haben, wird Ihr neues Passwort übernommen, sobald Sie sich abmelden. Bitte verwenden Sie hier das alte Passwort.</translation> <translation id="1677472565718498478">Verbleibende Zeit: <ph name="TIME" /> h</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Senden</translation> <translation id="2675319268637823299">Ein Administrator hat die Mehrfachanmeldung für <ph name="USER_EMAIL" /> deaktiviert. Alle Nutzer müssen sich abmelden, um fortfahren zu können.</translation> -<translation id="2700058918926273959">Sitzung endet in <ph name="SESSION_TIME_REMAINING" />. Sie werden dann abgemeldet.</translation> <translation id="2727977024730340865">Das Gerät ist an ein Schwachstrom-Ladegerät angeschlossen. Möglicherweise kann der Akku nicht zuverlässig aufgeladen werden.</translation> <translation id="2761704814324807722">Statusleiste, Uhrzeit <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Verbindung zu <ph name="NAME" /> wird wiederhergestellt</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3087734570205094154">Unten</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Minimieren</translation> <translation id="3126069444801937830">Zum Aktualisieren neu starten</translation> <translation id="3147142846278915599">Launcher (Apps werden synchronisiert...)</translation> <translation id="315116470104423982">Mobilfunk</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Ihr Computer kann von Bluetooth-Geräten in der näheren Umgebung erkannt werden. Er erscheint als "<ph name="NAME" />" mit der Adresse <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> wird aufgeladen</translation> <translation id="615957422585914272">Bildschirmtastatur anzeigen</translation> +<translation id="6164005077879661055">Durch das Entfernen des betreuten Nutzers werden alle mit ihm verknüpften Dateien und lokalen Daten endgültig gelöscht. Besuchte Websites und Einstellungen des betreuten Nutzers kann der Manager möglicherweise weiterhin unter <ph name="MANAGEMENT_URL" /> einsehen.</translation> <translation id="6165508094623778733">Weitere Informationen</translation> <translation id="6267036997247669271"><ph name="NAME" />: Wird aktiviert...</translation> <translation id="6284232397434400372">Auflösung geändert</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> aktivieren</translation> <translation id="6911468394164995108">Andere Netzwerke...</translation> <translation id="6981982820502123353">Bedienungshilfen</translation> +<translation id="698231206551913481">Durch das Entfernen des Nutzers werden alle mit ihm verknüpften Dateien und lokalen Daten endgültig gelöscht.</translation> <translation id="7029814467594812963">Sitzung beenden</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> wird an <ph name="RECEIVER_NAME" /> gestreamt</translation> <translation id="7052914147756339792">Hintergrund ändern</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb index 5e273ce8..1178b1f 100644 --- a/ash/strings/ash_strings_el.xtb +++ b/ash/strings/ash_strings_el.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ΑΠΟΡΡΙΨΗ</translation> <translation id="15373452373711364">Μεγάλος δείκτης ποντικιού</translation> <translation id="1550523713251050646">Κάντε κλικ για περισσότερες επιλογές</translation> +<translation id="1608626060424371292">Κατάργηση αυτού του χρήστη</translation> <translation id="1621499497873603021">Χρόνος που απομένει μέχρι να αδειάσει η μπαταρία, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Λυπούμαστε, η επαλήθευση του κωδικού πρόσβασης εξακολουθεί να μην είναι δυνατή. Σημείωση: Εάν έχετε αλλάξει πρόσφατα τον κωδικό πρόσβασης, ο νέος κωδικός πρόσβασης θα τεθεί σε ισχύ αφού αποσυνδεθείτε. Χρησιμοποιήστε εδώ τον παλιό κωδικό πρόσβασης.</translation> <translation id="1677472565718498478">Απομένουν <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Υποβολή</translation> <translation id="2675319268637823299">Ένας διαχειριστής δεν επιτρέπει τη σύνδεση σε πολλούς λογαριασμούς για τον χρήστη <ph name="USER_EMAIL" />. Όλοι οι χρήστες πρέπει να αποσυνδεθούν για να συνεχίσετε.</translation> -<translation id="2700058918926273959">Η περίοδος σύνδεσης λήγει σε <ph name="SESSION_TIME_REMAINING" />. Θα αποσυνδεθείτε.</translation> <translation id="2727977024730340865">Σύνδεση με φορτιστή χαμηλής ισχύος. Η φόρτιση της μπαταρίας ενδέχεται να μη γίνεται με αξιόπιστο τρόπο.</translation> <translation id="2761704814324807722">Δίσκος κατάστασης, ώρα <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Επανασύνδεση στο δίκτυο <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Κάτω</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Σύμπτυξη</translation> <translation id="3126069444801937830">Επανεκκίνηση για ενημέρωση</translation> <translation id="3147142846278915599">Εφαρμογή εκκίνησης (συγχρονισμός εφαρμογών…)</translation> <translation id="315116470104423982">Δεδομένα κινητής τηλεφωνίας</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Ο υπολογιστής σας μπορεί να εντοπιστεί από κοντινές συσκευές Bluetooth και θα εμφανίζεται ως "<ph name="NAME" />" με διεύθυνση <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Φόρτιση <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Εμφάνιση πληκτρολογίου οθόνης</translation> +<translation id="6164005077879661055">Όλα τα αρχεία και τα τοπικά δεδομένα που σχετίζονται με το χρήστη υπό επίβλεψη θα διαγραφούν οριστικά μόλις καταργηθεί ο χρήστης υπό επίβλεψη. Οι ιστοσελίδες που έχει επισκεφτεί και οι ρυθμίσεις που έχει επιλέξει ενδεχομένως να εξακολουθούν να εμφανίζονται στο διαχειριστή στη διεύθυνση <ph name="MANAGEMENT_URL" /> .</translation> <translation id="6165508094623778733">Μάθετε περισσότερα</translation> <translation id="6267036997247669271"><ph name="NAME" />: Ενεργοποίηση…</translation> <translation id="6284232397434400372">Η ανάλυση άλλαξε</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Ενεργοποίηση <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Συμμετοχή σε άλλο…</translation> <translation id="6981982820502123353">Προσβασιμότητα</translation> +<translation id="698231206551913481">Όλα τα αρχεία και τα τοπικά δεδομένα που σχετίζονται με τον χρήστη θα διαγραφούν οριστικά μόλις καταργηθεί ο χρήστης.</translation> <translation id="7029814467594812963">Έξοδος από συνεδρία</translation> <translation id="7034339000180558234">Μετάδοση <ph name="TAB_NAME" /> σε <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Ορισμός ταπετσαρίας...</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb index 620b2cd5..d9b5ae9 100644 --- a/ash/strings/ash_strings_en-GB.xtb +++ b/ash/strings/ash_strings_en-GB.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">DISMISS</translation> <translation id="15373452373711364">Large mouse cursor</translation> <translation id="1550523713251050646">Click for more options</translation> +<translation id="1608626060424371292">Remove this user</translation> <translation id="1621499497873603021">Time left until battery is empty, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Sorry, your password still couldn't be verified. Note: If you changed your password recently, your new password will be applied once you sign out. Please use the old password here.</translation> <translation id="1677472565718498478"><ph name="TIME" /> left</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Submit</translation> <translation id="2675319268637823299">An administrator has dismissed multiple sign-ins for <ph name="USER_EMAIL" />. All users must sign out to continue.</translation> -<translation id="2700058918926273959">Session ends in <ph name="SESSION_TIME_REMAINING" />. You will be signed out.</translation> <translation id="2727977024730340865">Plugged in to a low-power charger. Battery charging may not be reliable.</translation> <translation id="2761704814324807722">Status tray, time <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Reconnecting to <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bottom</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Collapse</translation> <translation id="3126069444801937830">Restart to update</translation> <translation id="3147142846278915599">Launcher (syncing apps...)</translation> <translation id="315116470104423982">Mobile data</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Your computer is discoverable to nearby Bluetooth devices and will appear as "<ph name="NAME" />" with address <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Charging <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Show on-screen keyboard</translation> +<translation id="6164005077879661055">All files and local data associated with the supervised user will be permanently deleted once this supervised user is removed. Visited websites and settings for this supervised user may still be visible by the manager at <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Learn more</translation> <translation id="6267036997247669271"><ph name="NAME" />: Activating...</translation> <translation id="6284232397434400372">Resolution changed</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Activate <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Join other ...</translation> <translation id="6981982820502123353">Accessibility</translation> +<translation id="698231206551913481">All files and local data associated with this user will be permanently deleted once this user is removed.</translation> <translation id="7029814467594812963">Exit session</translation> <translation id="7034339000180558234">Casting <ph name="TAB_NAME" /> to <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Set wallpaper...</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb index 013bf01..f8f15ec8 100644 --- a/ash/strings/ash_strings_es-419.xtb +++ b/ash/strings/ash_strings_es-419.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORAR</translation> <translation id="15373452373711364">Cursor del mouse grande</translation> <translation id="1550523713251050646">Haz clic para obtener más opciones</translation> +<translation id="1608626060424371292">Eliminar este usuario</translation> <translation id="1621499497873603021">Tiempo restante hasta que se agote la batería: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Todavía no se pudo verificar tu contraseña. Ten en cuenta que, si cambiaste tu contraseña recientemente, podrás usar la nueva cuando salgas. Aquí deberás usar la contraseña anterior.</translation> <translation id="1677472565718498478">Tiempo restante <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Enviar</translation> <translation id="2675319268637823299">Un administrador inhabilitó el acceso múltiple para <ph name="USER_EMAIL" />. Todos los usuarios deben salir de sus cuentas para continuar.</translation> -<translation id="2700058918926273959">La sesión terminará en <ph name="SESSION_TIME_REMAINING" /> y se cerrará.</translation> <translation id="2727977024730340865">Conexión a un cargador de baja potencia. Es posible que la carga de la batería no sea confiable.</translation> <translation id="2761704814324807722">Bandeja de estado, hora <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Restableciendo conexión con <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Inferior</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Ocultar</translation> <translation id="3126069444801937830">Reinicia para actualizar.</translation> <translation id="3147142846278915599">Selector (sincronizando aplicaciones…)</translation> <translation id="315116470104423982">Datos móviles</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">La computadora es visible para dispositivos Bluetooth cercanos y aparecerá como "<ph name="NAME" />" con la dirección <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237">Cargando <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostrar el teclado en pantalla</translation> +<translation id="6164005077879661055">Todos los archivos y los datos locales asociados al usuario supervisado se eliminarán de forma permanente una vez que se elimine este usuario supervisado. Es posible que el administrador pueda seguir viendo la configuración y los sitios web visitados de este usuario supervisado en <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Más información</translation> <translation id="6267036997247669271"><ph name="NAME" />: Activando...</translation> <translation id="6284232397434400372">Se cambió la resolución</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Activar <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Conectarte a otra red...</translation> <translation id="6981982820502123353">Accesibilidad</translation> +<translation id="698231206551913481">Todos los archivos y datos locales asociados a este usuario se borrarán de forma permanente una vez que se quite este usuario.</translation> <translation id="7029814467594812963">Salir de la sesión</translation> <translation id="7034339000180558234">Transmitiendo <ph name="TAB_NAME" /> a <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Establecer fondo de pantalla...</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb index 5b485b4a..fa905bf7 100644 --- a/ash/strings/ash_strings_es.xtb +++ b/ash/strings/ash_strings_es.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORAR</translation> <translation id="15373452373711364">Cursor del ratón grande</translation> <translation id="1550523713251050646">Haz clic aquí para obtener más opciones</translation> +<translation id="1608626060424371292">Eliminar este usuario</translation> <translation id="1621499497873603021">Tiempo restante hasta que se agote la batería: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Aún no se ha podido verificar tu contraseña. Nota: Si has cambiado la contraseña recientemente, la nueva contraseña se aplicará una vez que hayas cerrado sesión. Utiliza la antigua contraseña aquí.</translation> <translation id="1677472565718498478">Queda: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Enviar</translation> <translation id="2675319268637823299">Un administrador ha inhabilitado el inicio de sesión múltiple para <ph name="USER_EMAIL" />. Todos los usuarios deben cerrar sesión para continuar.</translation> -<translation id="2700058918926273959">La sesión finalizará dentro de <ph name="SESSION_TIME_REMAINING" />. Se cerrará tu sesión.</translation> <translation id="2727977024730340865">Conectado a un cargador de baja potencia. Es posible que la carga de la batería no sea fiable.</translation> <translation id="2761704814324807722">Bandeja de estado, hora <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Volviendo a conectar con <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">mayús</translation> <translation id="3087734570205094154">Inferior</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Contraer</translation> <translation id="3126069444801937830">Reinicia el sistema para actualizarlo.</translation> <translation id="3147142846278915599">Menú de aplicaciones (sincronizando aplicaciones...)</translation> <translation id="315116470104423982">Redes móviles</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Tu ordenador es visible para dispositivos Bluetooth cercanos y aparecerá como "<ph name="NAME" />" con la dirección <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Cargando <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostrar teclado en pantalla</translation> +<translation id="6164005077879661055">Todos los archivos y datos locales asociados al usuario supervisado se eliminarán de forma permanente una vez que se haya eliminado este usuario supervisado. Es posible que el administrador pueda seguir viendo la configuración y los sitios web visitados de este usuario supervisado en la página <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Más información</translation> <translation id="6267036997247669271"><ph name="NAME" />: Activando...</translation> <translation id="6284232397434400372">Se ha cambiado la resolución</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Activar <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Conectarse a otra red...</translation> <translation id="6981982820502123353">Accesibilidad</translation> +<translation id="698231206551913481">Una vez que se haya quitado este usuario, todos los archivos y datos asociados a él se eliminarán de forma permanente.</translation> <translation id="7029814467594812963">Cerrar sesión</translation> <translation id="7034339000180558234">Enviando <ph name="TAB_NAME" /> a <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Establecer fondo de pantalla...</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb index 9276b75..1736dc0a 100644 --- a/ash/strings/ash_strings_et.xtb +++ b/ash/strings/ash_strings_et.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">LOOBU</translation> <translation id="15373452373711364">Suur hiirekursor</translation> <translation id="1550523713251050646">Klõpsake lisavalikute nägemiseks</translation> +<translation id="1608626060424371292">Eemalda see kasutaja</translation> <translation id="1621499497873603021">Aku tühjenemiseni on aega <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Kahjuks ei saanud teie parooli kinnitada. Märkus: kui muutsite parooli hiljuti, rakendub uus parool pärast väljalogimist. Kasutage siin vana parooli.</translation> <translation id="1677472565718498478"><ph name="TIME" /> tühjenemiseni</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Esita</translation> <translation id="2675319268637823299">Administraator on keelanud e-posti aadressi <ph name="USER_EMAIL" /> puhul mitmele kontole sisselogimise. Jätkamiseks peavad kõik kasutajad välja logima.</translation> -<translation id="2700058918926273959">Seansi lõpuni on jäänud <ph name="SESSION_TIME_REMAINING" />. Teid logitakse välja.</translation> <translation id="2727977024730340865">Ühendatud väikese energiakuluga laadijaga. Aku laadimine võib olla ebastabiilne.</translation> <translation id="2761704814324807722">Olekusalv, kellaaeg <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Võrguga <ph name="NAME" /> uuesti ühendamine</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">tõstuklahv</translation> <translation id="3087734570205094154">Alaserv</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Ahenda</translation> <translation id="3126069444801937830">Taaskäivitage värskendamiseks</translation> <translation id="3147142846278915599">Käivitusprogramm (rakenduste sünkroonimine ...)</translation> <translation id="315116470104423982">Mobiilne andmeside</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Lähedal olevad Bluetoothi seadmed saavad teie arvuti tuvastada ja see kuvatakse nimega „<ph name="NAME" />” ja aadressiga <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Laadimine: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Ekraanil kuvatava klaviatuuri kuvamine</translation> +<translation id="6164005077879661055">Kõik jälgitava kasutajaga seotud failid ja kohalikud andmed kustutatakse jäädavalt kohe, kui jälgitav kasutaja eemaldatakse. Selle jälgitava kasutaja külastatud veebisaite ja seadeid näeb haldur endiselt aadressil <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Lisateave</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktiveerimine ...</translation> <translation id="6284232397434400372">Eraldusvõimet muudeti</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktiveeri <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Liitu muu võrguga ...</translation> <translation id="6981982820502123353">Juurdepääsetavus</translation> +<translation id="698231206551913481">Kõik selle kasutajaga seotud failid ja kohalikud andmed kustutatakse jäädavalt kohe, kui see kasutaja eemaldatakse.</translation> <translation id="7029814467594812963">Välju seansist</translation> <translation id="7034339000180558234">Vahelehe <ph name="TAB_NAME" /> ülekandmine seadmesse <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Määra taustapilt ...</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb index 5659c48..d02035f 100644 --- a/ash/strings/ash_strings_fa.xtb +++ b/ash/strings/ash_strings_fa.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">رد کردن</translation> <translation id="15373452373711364">نشانگر موشواره بزرگ</translation> <translation id="1550523713251050646">برای گزینههای بیشتر کلیک کنید</translation> +<translation id="1608626060424371292">حذف این کاربر</translation> <translation id="1621499497873603021">زمان باقیمانده تا خالیشدن شارژ باتری، <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">متأسفیم، گذرواژهتان هنوز تأیید نشده است. توجه: اگر بهتازگی گذرواژهتان را تغییر دادهاید، گذرواژه جدید شما هنگامیکه از سیستم خارج شوید، اعمال میشود؛ لطفاً اینجا از گذرواژه قدیمی خود استفاده کنید.</translation> <translation id="1677472565718498478"><ph name="TIME" /> باقیمانده</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">ارائه</translation> <translation id="2675319268637823299">یکی از سرپرستها ورود چندگانه به سیستم را برای <ph name="USER_EMAIL" /> غیرمجاز کرده است. برای ادامه دادن، همه کاربران باید از سیستم خارج شوند.</translation> -<translation id="2700058918926273959">جلسه در <ph name="SESSION_TIME_REMAINING" /> به پایان میرسد. از سیستم خارج خواهید شد.</translation> <translation id="2727977024730340865">باتری به شارژر برق ضعیف متصل است. شارژ باتری ممکن است قابل اطمینان نباشد.</translation> <translation id="2761704814324807722">سینی وضعیت، زمان <ph name="TIME" />، <ph name="BATTERY" /></translation> <translation id="277257480934873581">اتصال مجدد به <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">تبدیل</translation> <translation id="3087734570205094154">پایین</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (بلوتوث)</translation> +<translation id="3112378005171663295">کوچک کردن</translation> <translation id="3126069444801937830">راهاندازی مجدد برای بهروزرسانی</translation> <translation id="3147142846278915599">راه انداز (همگامسازی برنامهها...)</translation> <translation id="315116470104423982">دادههای تلفن همراه</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">رایانه شما توسط دستگاههای بلوتوث نزدیک قابل شناسایی است و با نام «<ph name="NAME" />» و آدرس <ph name="ADDRESS" /> نشان داده میشود</translation> <translation id="6106745654298855237">در حال شارژ کردن <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">نمایش صفحهکلید روی صفحه</translation> +<translation id="6164005077879661055">با حذف این کاربر نظارتشده، کلیه فایلها و دادههای محلی مربوط به کاربر نظارتشده برای همیشه حذف خواهند شد. وبسایتهای بازدید شده و تنظیمات این کاربر نظارتشده همچنان برای مدیر در <ph name="MANAGEMENT_URL" /> قابل مشاهده خواهد بود.</translation> <translation id="6165508094623778733">بیشتر بدانید</translation> <translation id="6267036997247669271"><ph name="NAME" />: در حال فعالسازی…</translation> <translation id="6284232397434400372">وضوح تغییر کرد</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">فعال سازی <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">پیوستن به شبکه دیگر…</translation> <translation id="6981982820502123353">قابلیت دسترسی</translation> +<translation id="698231206551913481">اگر کاربر حذف شود، همه فایلها و دادههای محلی مربوط به او بهطور دائم حذف خواهند شد.</translation> <translation id="7029814467594812963">خروج از جلسه</translation> <translation id="7034339000180558234">ارسال محتوای <ph name="TAB_NAME" /> به <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">تنظیم کاغذدیواری...</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb index 91e7071..3c27c27 100644 --- a/ash/strings/ash_strings_fi.xtb +++ b/ash/strings/ash_strings_fi.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">HYLKÄÄ</translation> <translation id="15373452373711364">Suuri hiiren osoitin</translation> <translation id="1550523713251050646">Näet lisävaihtoehtoja klikkaamalla tätä.</translation> +<translation id="1608626060424371292">Poista tämä käyttäjä</translation> <translation id="1621499497873603021">Akku on tyhjä <ph name="TIME_LEFT" /> kuluttua</translation> <translation id="1658406695958299976">Salasanan vahvistaminen ei onnistunut vieläkään. Huom. Jos vaihdoit salasanasi äskettäin, uusi salasana otetaan käyttöön kirjauduttuasi ulos. Käytä tässä vanhaa salasanaasi.</translation> <translation id="1677472565718498478"><ph name="TIME" /> jäljellä</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Lähetä</translation> <translation id="2675319268637823299">Järjestelmänvalvoja on kieltänyt käyttäjää <ph name="USER_EMAIL" /> kirjautumasta sisään useille tileille. Kaikkien käyttäjien on kirjauduttava ulos jatkaakseen käyttöä.</translation> -<translation id="2700058918926273959">Istunnon loppumiseen on <ph name="SESSION_TIME_REMAINING" />. Sinut kirjataan ulos.</translation> <translation id="2727977024730340865">Pienitehoinen laturi kytketty. Akku ei ehkä lataudu luotettavasti.</translation> <translation id="2761704814324807722">Tila-alue, aika <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Yhdistetään uudelleen verkkoon <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Alaosa</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Tiivistä</translation> <translation id="3126069444801937830">Päivitä käynnistämällä uudelleen</translation> <translation id="3147142846278915599">Käynnistysohjelma (synkronoidaan sovelluksia…)</translation> <translation id="315116470104423982">Mobiilitiedonsiirto</translation> @@ -210,6 +211,9 @@ <translation id="607652042414456612">Lähellä olevat Bluetooth-laitteet voivat löytää tietokoneesi. Tietokoneesi nimi on <ph name="NAME" /> ja osoite <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Ladataan laitetta <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Näytä ruutunäppäimistö</translation> +<translation id="6164005077879661055">Kaikki valvottuun käyttäjään yhdistetyt tiedostot ja paikalliset tiedot poistetaan + pysyvästi, kun tämä valvottu käyttäjä poistetaan. Vieraillut verkkosivustot ja + valvotun käyttäjän asetukset saattavat silti vielä näkyä hallinnoijalle osoitteessa <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Lisätietoja</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktivoidaan…</translation> <translation id="6284232397434400372">Resoluutio vaihdettu</translation> @@ -244,6 +248,7 @@ <translation id="6857811139397017780">Aktivoi <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Liity muuhun verkkoon...</translation> <translation id="6981982820502123353">Esteettömyys</translation> +<translation id="698231206551913481">Kun käyttäjä poistetaan, kaikki kyseiseen käyttäjään yhdistetyt tiedostot ja paikalliset tiedot poistetaan pysyvästi.</translation> <translation id="7029814467594812963">Sulje käyttökerta</translation> <translation id="7034339000180558234">Välilehti <ph name="TAB_NAME" /> peilataan kohteeseen <ph name="RECEIVER_NAME" />.</translation> <translation id="7052914147756339792">Aseta taustakuva...</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb index 509357c..04b78cf 100644 --- a/ash/strings/ash_strings_fil.xtb +++ b/ash/strings/ash_strings_fil.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">I-DISMISS</translation> <translation id="15373452373711364">Malaking mouse cursor</translation> <translation id="1550523713251050646">Mag-click para sa higit pang mga opsyon</translation> +<translation id="1608626060424371292">Alisin ang user na ito</translation> <translation id="1621499497873603021">Natitirang oras bago maubos ang baterya, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Paumanhin, hindi pa rin ma-verify ang iyong password. Tandaan: kung pinalitan mo kamakailan ang iyong password, malalapat ang bago mong password kapag nag-sign out ka, pakigamit ang lumang password dito.</translation> <translation id="1677472565718498478"><ph name="TIME" /> na lang ang natitira</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Isumite</translation> <translation id="2675319268637823299">Hindi pinayagan ng administrator ang maraming pag-sign in para sa <ph name="USER_EMAIL" />. Dapat mag-sign out ang lahat ng user upang magpatuloy.</translation> -<translation id="2700058918926273959">Matatapos ang session pagkalipas ng <ph name="SESSION_TIME_REMAINING" />. Masa-sign out ka.</translation> <translation id="2727977024730340865">Naka-saksak sa isang low-power charger. Maaaring hindi maging tiyak ang pag-charge ng baterya.</translation> <translation id="2761704814324807722">Status tray, oras <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Muling kumokonekta sa <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Sa ilalim</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Tiklupin</translation> <translation id="3126069444801937830">I-restart upang mag-update</translation> <translation id="3147142846278915599">Launcher (nagsi-sync ng mga app...)</translation> <translation id="315116470104423982">Data sa mobile</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Ang iyong computer ay katuklas-tuklas sa mga kalapit na Bluetooth device at lalabas bilang "<ph name="NAME" />" na may address na <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">China-charge ang <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Ipakita ang on-screen na keyboard</translation> +<translation id="6164005077879661055">Permanenteng matatanggal ang lahat ng file at lokal na data na kaugnay ng pinangangasiwaang user sa oras na alisin ang pinangangasiwaang user na ito. Maaari pa ring makita ng manager ang mga nabisitang website at setting para sa pinangangasiwaang user na ito sa <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Matuto nang higit pa</translation> <translation id="6267036997247669271"><ph name="NAME" />: Ina-activate...</translation> <translation id="6284232397434400372">Binago ang resolution</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">I-activate <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Sumali sa iba...</translation> <translation id="6981982820502123353">Pagiging Maa-access</translation> +<translation id="698231206551913481">Permanenteng made-delete ang lahat ng file at lokal na data na nauugnay sa user na ito kapag inalis na ang user na ito.</translation> <translation id="7029814467594812963">Lumabas sa session</translation> <translation id="7034339000180558234">Kina-cast ang <ph name="TAB_NAME" /> sa <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Magtakda ng wallpaper...</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb index bce7139..c8c8f69 100644 --- a/ash/strings/ash_strings_fr.xtb +++ b/ash/strings/ash_strings_fr.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORER</translation> <translation id="15373452373711364">Grand curseur</translation> <translation id="1550523713251050646">Cliquez pour obtenir plus d'options.</translation> +<translation id="1608626060424371292">Supprimer cet utilisateur</translation> <translation id="1621499497873603021">Temps restant avant que la batterie ne soit vide : <ph name="TIME_LEFT" />.</translation> <translation id="1658406695958299976">Impossible de valider le mot de passe. Remarque : si vous l'avez modifié dernièrement, votre nouveau mot de passe ne sera appliqué qu'une fois que vous vous serez déconnecté. Veuillez donc utiliser votre ancien mot de passe.</translation> <translation id="1677472565718498478">Temps restant : <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Valider</translation> <translation id="2675319268637823299">Un administrateur a désactivé la connexion multicompte pour <ph name="USER_EMAIL" />. Tous les utilisateurs doivent se déconnecter pour continuer.</translation> -<translation id="2700058918926273959">Fin de la session dans <ph name="SESSION_TIME_REMAINING" />. Vous allez être déconnecté.</translation> <translation id="2727977024730340865">L'appareil est branché à un chargeur de faible puissance. Il se peut que la charge ne soit pas fiable.</translation> <translation id="2761704814324807722">Barre d'état – Heure : <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Reconnexion à <ph name="NAME" />…</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">maj</translation> <translation id="3087734570205094154">Bas</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Réduire</translation> <translation id="3126069444801937830">Redémarrer pour mettre à jour</translation> <translation id="3147142846278915599">Lanceur d'applications (synchronisation des applications en cours…)</translation> <translation id="315116470104423982">Données mobiles</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">Votre ordinateur est visible par les appareils Bluetooth situés à proximité sous le nom "<ph name="NAME" />", associé à l'adresse <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> en charge</translation> <translation id="615957422585914272">Afficher le clavier à l'écran</translation> +<translation id="6164005077879661055">Tous les fichiers et les données locales associés à l'utilisateur supervisé seront définitivement supprimés en même temps que cet utilisateur. Le gestionnaire peut toujours accéder aux sites Web consultés par l'utilisateur supervisé et aux paramètres de celui-ci à l'adresse <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">En savoir plus</translation> <translation id="6267036997247669271"><ph name="NAME" /> : activation en cours…</translation> <translation id="6284232397434400372">Résolution modifiée</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">Activer <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Autre réseau…</translation> <translation id="6981982820502123353">Accessibilité</translation> +<translation id="698231206551913481">L'ensemble des données locales et des fichiers associés à cet utilisateur seront définitivement supprimés en même temps que ce dernier.</translation> <translation id="7029814467594812963">Quitter la session</translation> <translation id="7034339000180558234">Diffusion de l'onglet "<ph name="TAB_NAME" />" sur "<ph name="RECEIVER_NAME" />"</translation> <translation id="7052914147756339792">Définir un fond d'écran…</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb index 56bc402..152c45f5 100644 --- a/ash/strings/ash_strings_gu.xtb +++ b/ash/strings/ash_strings_gu.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">છોડી દો</translation> <translation id="15373452373711364">મોટું માઉસ કર્સર</translation> <translation id="1550523713251050646">વધુ વિકલ્પો માટે ક્લિક કરો</translation> +<translation id="1608626060424371292">આ વપરાશકર્તાને દૂર કરો</translation> <translation id="1621499497873603021">બેટરી ખાલી થવામાં બાકી સમય, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">માફ કરશો, તમારો પાસવર્ડ હજી ચકાસી શકાયો નથી. નોંધ: જો તમે તાજેતરમાં તમારો પાસવર્ડ બદલ્યો હોય, તો તમારો નવો પાસવર્ડ તમે એક વાર સાઇન આઉટ કરી લો તે પછી લાગુ થશે, કૃપા કરીને અહીં જૂના પાસવર્ડનો ઉપયોગ કરો.</translation> <translation id="1677472565718498478"><ph name="TIME" /> બાકી</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">સબમિટ કરો</translation> <translation id="2675319268637823299">વ્યવસ્થાપકે <ph name="USER_EMAIL" /> માટે બહુવિધ સાઇન ઇનને નામંજૂર કર્યું છે. ચાલુ રાખવા માટે બધા વપરાશકર્તાઓએ સાઇન આઉટ કરવું જરૂરી છે.</translation> -<translation id="2700058918926273959"><ph name="SESSION_TIME_REMAINING" /> માં સત્ર સમાપ્ત થાય છે. તમને સાઇન આઉટ કરવામાં આવશે.</translation> <translation id="2727977024730340865">નિમ્ન-પાવર ચાર્જરમાં પ્લગ કરેલું છે. બૅટરી ચાર્જિંગ વિશ્વસનીય હશે નહીં.</translation> <translation id="2761704814324807722">સ્થિતિ ટ્રે, સમય <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> થી ફરીથી કનેક્ટ કરી રહ્યાં છે</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">તળિયું</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">સંકુચિત કરો</translation> <translation id="3126069444801937830">અપડેટ કરવા માટે પુનઃપ્રારંભ કરો</translation> <translation id="3147142846278915599">લોન્ચર (એપ્લિકેશન્સને સમન્વયિત કરી રહ્યું છે..)</translation> <translation id="315116470104423982">મોબાઇલ ડેટા</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">નજીકનાં Bluetooth ઉપકરણો માટે તમારું કમ્પ્યુટર શોધવાયોગ્ય છે અને તે સરનામાં <ph name="ADDRESS" /> સાથે "<ph name="NAME" />" તરીકે દેખાશે</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> ને ચાર્જ કરી રહ્યાં છે</translation> <translation id="615957422585914272">ઑન-સ્ક્રીન કીબોર્ડ બતાવો</translation> +<translation id="6164005077879661055">એકવાર આ નિરીક્ષણ કરેલ વપરાશકર્તાને દૂર કરવામાં આવે પછી નિરીક્ષણ કરેલ વપરાશકર્તા સાથે સંકળાયેલી બધી ફાઇલો અને સ્થાનિક ડેટા કાયમી રૂપે કાઢી નાંખવામાં આવશે. નિરીક્ષણ કરેલ વપરાશકર્તા માટે મુલાકાત લીધેલી વેબસાઇટ્સ અને સેટિંગ્સ <ph name="MANAGEMENT_URL" /> પરના સંચાલકને હજી પણ દૃશ્યમાન હોઈ શકે છે.</translation> <translation id="6165508094623778733">વધુ જાણો</translation> <translation id="6267036997247669271"><ph name="NAME" />: સક્રિય કરી રહ્યું છે...</translation> <translation id="6284232397434400372">રિઝોલ્યુશન બદલાયું</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">સક્રિય કરો <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">અન્યથી જોડાઓ...</translation> <translation id="6981982820502123353">ઍક્સેસિબિલિટી</translation> +<translation id="698231206551913481">આ વપરાશકર્તા દૂર કરી દેવામાં આવે તે પછી આ વપરાશકર્તા સાથે સંકળાયેલ તમામ ફાઇલો અને સ્થાનિક ડેટા કાયમીરૂપે કાઢી નાખવામાં આવશે.</translation> <translation id="7029814467594812963">સત્રમાંથી બહાર નીકળો</translation> <translation id="7034339000180558234"><ph name="RECEIVER_NAME" /> પર <ph name="TAB_NAME" /> ને કાસ્ટ કરી રહ્યાં છીએ</translation> <translation id="7052914147756339792">વૉલપેપર સેટ કરો...</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb index 7feec37..a63d929 100644 --- a/ash/strings/ash_strings_hi.xtb +++ b/ash/strings/ash_strings_hi.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ख़ारिज करें</translation> <translation id="15373452373711364">बड़ा माउस कर्सर</translation> <translation id="1550523713251050646">अधिक विकल्पों के लिए क्लिक करें</translation> +<translation id="1608626060424371292">इस उपयोगकर्ता को निकालें</translation> <translation id="1621499497873603021">बैटरी के खाली होने में शेष समय, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">माफ़ करें, आपके पासवर्ड की अभी भी पुष्टि नहीं हो पाई है. नोट: अगर आपने हाल ही में अपना पासवर्ड बदला है, तो आपके साइन आउट होते ही आपका नया पासवर्ड लागू हो जाएगा, कृपया यहां पुराने पासवर्ड का इस्तेमाल करें.</translation> <translation id="1677472565718498478"><ph name="TIME" /> शेष</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">सबमिट करें</translation> <translation id="2675319268637823299">किसी एडमिन ने <ph name="USER_EMAIL" /> के लिए एक से ज़्यादा साइन-इन की अनुमति नहीं दी है. जारी रखने के लिए सभी उपयोगकर्ताओं को साइन आउट करना होगा.</translation> -<translation id="2700058918926273959">सत्र <ph name="SESSION_TIME_REMAINING" /> में समाप्त होने वाला है. आप प्रस्थान कर जाएंगे.</translation> <translation id="2727977024730340865">कम-शक्ति वाले चार्जर में प्लग इन करें. बैटरी चार्ज करना संभवत: विश्वसनीय नहीं होगा.</translation> <translation id="2761704814324807722">स्थिति ट्रे, समय <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> से पुनः कनेक्ट कर रहा है</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">नीचे</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ब्लूटूथ)</translation> +<translation id="3112378005171663295">संक्षिप्त करें</translation> <translation id="3126069444801937830">अपडेट करने के लिए पुनरारंभ करें</translation> <translation id="3147142846278915599">लॉन्चर (ऐप्स समन्वयित किए जा रहे हैं...)</translation> <translation id="315116470104423982">मोबाइल डेटा</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">आपका कंप्यूर आस-पास के ब्लूटूथ डिवाइस के लिए खोजे जाने योग्य है और वह "<ph name="NAME" />" के रूप में <ph name="ADDRESS" /> पते के साथ दिखाई देगा</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> चार्ज हो रहा है</translation> <translation id="615957422585914272">ऑन-स्क्रीन कीबोर्ड दिखाएं</translation> +<translation id="6164005077879661055">इस निगरानी में रखे गए उपयोगकर्ता को निकाले जाने के बाद, निगरानी में रखे गए उपयोगकर्ता से संबद्ध सभी फ़ाइलें और स्थानीय डेटा को स्थायी रूप से हटा दिया जाएगा. प्रबंधक द्वारा अब भी इस निगरानी में रखे गए उपयोगकर्ता द्वारा देखी गईं वेबसाइटें और सेटिंग <ph name="MANAGEMENT_URL" /> पर देखी जा सकेंगी.</translation> <translation id="6165508094623778733">अधिक जानें</translation> <translation id="6267036997247669271"><ph name="NAME" />: सक्रिय हो रहा है...</translation> <translation id="6284232397434400372">रिज़ॉल्यूशन बदला गया</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> को सक्रिय करें</translation> <translation id="6911468394164995108">अन्य में शामिल हों...</translation> <translation id="6981982820502123353">पहुंच क्षमता</translation> +<translation id="698231206551913481">इस उपयोगकर्ता को निकाल दिए जाने पर, इस उपयोगकर्ता से संबद्ध सभी फ़ाइलों और स्थानीय डेटा को स्थायी रूप से हटा दिया जाएगा.</translation> <translation id="7029814467594812963">सत्र से बाहर निकलें</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> को <ph name="RECEIVER_NAME" /> पर कास्ट किया जा रहा है</translation> <translation id="7052914147756339792">वॉलपेपर सेट करें...</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb index f61f9a88..531a465 100644 --- a/ash/strings/ash_strings_hr.xtb +++ b/ash/strings/ash_strings_hr.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ODBACI</translation> <translation id="15373452373711364">Veliki pokazivač miša</translation> <translation id="1550523713251050646">Kliknite za više opcija</translation> +<translation id="1608626060424371292">Ukloni tog korisnika</translation> <translation id="1621499497873603021">Baterija će se isprazniti za <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Vaša zaporka i dalje nije mogla biti potvrđena. Napomena: ako ste nedavno promijenili zaporku, vaša nova zaporka primjenjivat će se nakon što se odjavite. Ovdje upotrijebite staru zaporku.</translation> <translation id="1677472565718498478">Još <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Pošalji</translation> <translation id="2675319268637823299">Administrator je onemogućio višestruku prijavu za <ph name="USER_EMAIL" />. Svi se korisnici moraju odjaviti za nastavak.</translation> -<translation id="2700058918926273959">Sesija će završiti za <ph name="SESSION_TIME_REMAINING" />. Odjavit ćete se.</translation> <translation id="2727977024730340865">Uređaj je priključen na punjač male snage. Punjenje baterije možda nije pouzdano.</translation> <translation id="2761704814324807722">Traka statusa, vrijeme <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Ponovno povezivanje s mrežom <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Donji</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Sažmi</translation> <translation id="3126069444801937830">Ponovo pokrenite za ažuriranje</translation> <translation id="3147142846278915599">Pokretač (sinkronizacija aplikacija...)</translation> <translation id="315116470104423982">Mobilni podaci</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Vaše računalo mogu otkriti Bluetooth uređaji u blizini i prikazivat će se kao "<ph name="NAME" />" s adresom <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237">Puni se putem: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Prikaži tipkovnicu na zaslonu</translation> +<translation id="6164005077879661055">Sve datoteke i lokalni podaci povezani sa zaštićenim korisnikom trajno će se izbrisati kada se taj korisnik ukloni. Web-lokacije koje je taj korisnik posjetio i njegove postavke mogu i dalje biti vidljive upravitelju na adresi <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Saznajte više</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktiviranje...</translation> <translation id="6284232397434400372">Razlučivost je promijenjena</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktiviraj <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Pridruži se drugoj...</translation> <translation id="6981982820502123353">Pristupačnost</translation> +<translation id="698231206551913481">Sve datoteke i lokalni podaci povezani s ovim korisnikom trajno će se izbrisati nakon uklanjanja korisnika.</translation> <translation id="7029814467594812963">Izlazak iz sesije</translation> <translation id="7034339000180558234">Emitiranje kartice <ph name="TAB_NAME" /> na <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Postavljanje pozadinske slike...</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb index bebcbdc7..af11780a 100644 --- a/ash/strings/ash_strings_hu.xtb +++ b/ash/strings/ash_strings_hu.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ELVETÉS</translation> <translation id="15373452373711364">Nagy egérmutató</translation> <translation id="1550523713251050646">Kattintson további lehetőségekért</translation> +<translation id="1608626060424371292">Felhasználó eltávolítása</translation> <translation id="1621499497873603021">Akkumulátor lemerüléséig hátralévő idő: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Sajnos a jelszó ellenőrzése még mindig nem sikerült. Megjegyzés: ha a közelmúltban módosította jelszavát, az új jelszó beállítása a kijelentkezés után megy végbe, ezért itt a régi jelszót használja.</translation> <translation id="1677472565718498478"><ph name="TIME" /> van hátra</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Elküldés</translation> <translation id="2675319268637823299">A rendszergazda letiltotta a többfiókos bejelentkezést <ph name="USER_EMAIL" /> számára. Az összes felhasználónak ki kell jelentkeznie a folytatáshoz.</translation> -<translation id="2700058918926273959">A munkamenet <ph name="SESSION_TIME_REMAINING" /> múlva véget ér. A rendszer ekkor kijelentkezteti Önt.</translation> <translation id="2727977024730340865">Kis teljesítményű töltőt csatlakoztatott. Az akkumulátor töltése nem megbízható.</translation> <translation id="2761704814324807722">Állapotterület, idő: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Újracsatlakozás a következőhöz: <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Alja</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Listanézet</translation> <translation id="3126069444801937830">Indítsa újra a frissítéshez</translation> <translation id="3147142846278915599">Indító (alkalmazások szinkronizálása…)</translation> <translation id="315116470104423982">Mobiladatok</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Számítógépét felfedezhetik a közeli Bluetooth-eszközök. Számítógépe „<ph name="NAME" />” néven, <ph name="ADDRESS" /> címmel lesz látható</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> töltése folyamatban</translation> <translation id="615957422585914272">A képernyő-billentyűzet megjelenítése</translation> +<translation id="6164005077879661055">Amikor ezt a felügyelt felhasználót eltávolítják, minden hozzá tartozó fájl és helyi adat véglegesen törlődik. A felügyelt felhasználó felkeresett webhelyeit és beállításait a kezelő továbbra is láthatja a következő címen: <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">További információ</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktiválás...</translation> <translation id="6284232397434400372">A felbontás módosult</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> aktiválása</translation> <translation id="6911468394164995108">Csatlakozás másik hálózathoz...</translation> <translation id="6981982820502123353">Kisegítő lehetőségek</translation> +<translation id="698231206551913481">A felhasználó eltávolításakor az összes hozzá tartozó fájl és helyi adat is véglegesen törlődik.</translation> <translation id="7029814467594812963">Kilépés a munkamenetből</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> átküldése ide: <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Háttérkép beállítása...</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb index 56b5d58..9b955762 100644 --- a/ash/strings/ash_strings_id.xtb +++ b/ash/strings/ash_strings_id.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">TUTUP</translation> <translation id="15373452373711364">Kursor mouse besar</translation> <translation id="1550523713251050646">Klik untuk opsi lainnya</translation> +<translation id="1608626060424371292">Hapus pengguna ini</translation> <translation id="1621499497873603021">Waktu yang tersisa hingga baterai kosong, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Maaf, sandi Anda masih belum dapat diverifikasi. Catatan: jika Anda baru saja mengubah sandi, sandi yang baru akan diterapkan saat Anda logout, gunakan sandi lama di sini.</translation> <translation id="1677472565718498478">Sisa waktu <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Kirim</translation> <translation id="2675319268637823299">Administrator tidak mengizinkan penggunaan login multipel untuk <ph name="USER_EMAIL" />. Semua pengguna harus logout untuk melanjutkan.</translation> -<translation id="2700058918926273959">Sesi berakhir dalam <ph name="SESSION_TIME_REMAINING" />. Anda akan keluar.</translation> <translation id="2727977024730340865">Dipasang ke pengisi daya rendah. Pengisian daya baterai mungkin tidak dapat diandalkan.</translation> <translation id="2761704814324807722">Baki status, waktu <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Menyambungkan lagi ke <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bawah</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Ciutkan</translation> <translation id="3126069444801937830">Mulai ulang untuk memperbarui</translation> <translation id="3147142846278915599">Peluncur (menyinkronkan aplikasi...)</translation> <translation id="315116470104423982">Data seluler</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Komputer Anda dapat ditemukan pada perangkat Bluetooth terdekat dan akan muncul sebagai "<ph name="NAME" />" dengan alamat <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Mengisi daya <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Tampilkan keyboard di layar</translation> +<translation id="6164005077879661055">Semua file dan data lokal yang terkait dengan pengguna yang dilindungi akan dihapus secara permanen setelah pengguna yang dilindungi ini dihapus. Situs web yang dikunjungi dan setelan untuk pengguna yang dilindungi ini mungkin tetap dapat dilihat oleh pengelola di <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Pelajari lebih lanjut</translation> <translation id="6267036997247669271"><ph name="NAME" />: Mengaktifkan...</translation> <translation id="6284232397434400372">Resolusi diubah</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktifkan <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Bergabung dengan lainnya...</translation> <translation id="6981982820502123353">Aksesibilitas</translation> +<translation id="698231206551913481">Semua file dan data lokal yang dikaitkan ke pengguna ini akan dihapus secara permanen setelah pengguna ini dihapus.</translation> <translation id="7029814467594812963">Keluar dari sesi</translation> <translation id="7034339000180558234">Mentransmisi <ph name="TAB_NAME" /> ke <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Setel wallpaper...</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb index 4e8d7a7a..0e4e478 100644 --- a/ash/strings/ash_strings_it.xtb +++ b/ash/strings/ash_strings_it.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORA</translation> <translation id="15373452373711364">Puntatore del mouse grande</translation> <translation id="1550523713251050646">Fai clic per visualizzare altre opzioni</translation> +<translation id="1608626060424371292">Rimuovi questo utente</translation> <translation id="1621499497873603021">Tempo rimanente all'esaurimento della batteria: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Non è stato ancora possibile verificare la password. Nota: se l'hai modificata di recente, la nuova password verrà applicata quando esci dall'account. Utilizza qui la tua vecchia password.</translation> <translation id="1677472565718498478"><ph name="TIME" /> rimanenti</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Invia</translation> <translation id="2675319268637823299">Un amministratore ha vietato l'accesso simultaneo per <ph name="USER_EMAIL" />. Per continuare, devono disconnettersi tutti gli utenti.</translation> -<translation id="2700058918926273959">La sessione terminerà tra <ph name="SESSION_TIME_REMAINING" />. Verrà eseguita la disconnessione.</translation> <translation id="2727977024730340865">Collegato a un caricabatterie a basso consumo. La carica della batteria potrebbe non essere affidabile.</translation> <translation id="2761704814324807722">Barra di stato, ora: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Riconnessione a <ph name="NAME" /> in corso</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">maiusc</translation> <translation id="3087734570205094154">In basso</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Comprimi</translation> <translation id="3126069444801937830">Riavvia per aggiornare</translation> <translation id="3147142846278915599">Avvio applicazioni (sincronizzazione delle app...)</translation> <translation id="315116470104423982">Dati mobili</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Il tuo computer è rilevabile per i dispositivi Bluetooth nelle vicinanze e verrà visualizzato come "<ph name="NAME" />" con l'indirizzo <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">In carica: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostra tastiera sullo schermo</translation> +<translation id="6164005077879661055">Tutti i file e i dati locali associati all'utente controllato verranno eliminati definitivamente in seguito alla rimozione dell'utente. Le impostazioni e i siti web visitati relativi all'utente controllato potrebbero essere ancora visibili al gestore all'indirizzo <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Ulteriori informazioni</translation> <translation id="6267036997247669271"><ph name="NAME" />: attivazione in corso...</translation> <translation id="6284232397434400372">Risoluzione modificata</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Attiva <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Connetti a un'altra...</translation> <translation id="6981982820502123353">Accessibilità</translation> +<translation id="698231206551913481">Tutti i file e i dati locali associati a questo utente verranno eliminati definitivamente in seguito alla rimozione dell'utente.</translation> <translation id="7029814467594812963">Esci da sessione</translation> <translation id="7034339000180558234">Trasmissione di <ph name="TAB_NAME" /> a <ph name="RECEIVER_NAME" /> in corso</translation> <translation id="7052914147756339792">Imposta sfondo...</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb index e2758cf..1d2b6b5 100644 --- a/ash/strings/ash_strings_iw.xtb +++ b/ash/strings/ash_strings_iw.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">סגור</translation> <translation id="15373452373711364">סמן עכבר גדול</translation> <translation id="1550523713251050646">לחץ לקבלת אפשרויות נוספות</translation> +<translation id="1608626060424371292">הסר את המשתמש הזה</translation> <translation id="1621499497873603021">הזמן שנותר עד להתרוקנות הסוללה, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">מצטערים, עדיין אי אפשר לאמת את הסיסמה שלך. חשוב לדעת: אם שינית לאחרונה את הסיסמה, הסיסמה החדשה תיכנס לתוקף רק אחרי יציאה מהחשבון. צריך להשתמש כאן בסיסמה הישנה.</translation> <translation id="1677472565718498478">זמן נותר - <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">שלח</translation> <translation id="2675319268637823299">מנהל מערכת ביטל את ההרשאה של <ph name="USER_EMAIL" /> לכניסה עם מספר חשבונות. כדי להמשיך, כל המשתמשים חייבים לבצע יציאה.</translation> -<translation id="2700058918926273959">הפעילות באתר תסתיים בעוד <ph name="SESSION_TIME_REMAINING" />. תנותק מהחשבון.</translation> <translation id="2727977024730340865">מחובר למטען בעל מתח נמוך. ייתכן שטעינת הסוללה לא תהיה אמינה.</translation> <translation id="2761704814324807722">מגש מערכת, שעה <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">מתחבר מחדש אל <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">תחתית</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">כווץ</translation> <translation id="3126069444801937830">הפעל מחדש כדי לעדכן</translation> <translation id="3147142846278915599">מפעיל היישומים (מסנכרן יישומים...)</translation> <translation id="315116470104423982">נתוני נייד</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">מכשירי Bluetooth קרובים יכולים לאתר את המחשב שלך, והוא יופיע כ-"<ph name="NAME" />" עם הכתובת <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">טעינה של <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">הצג מקלדת במסך</translation> +<translation id="6164005077879661055">כל הקבצים והנתונים המקומיים המשויכים למשתמש בפיקוח יימחקו לצמיתות לאחר שמשתמש בפיקוח זה יוסר. המנהל עדיין יוכל לראות את האתרים שבהם משתמש בפיקוח זה ביקר, ואת ההגדרות שלו, בכתובת <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">למידע נוסף</translation> <translation id="6267036997247669271"><ph name="NAME" />: מפעיל...</translation> <translation id="6284232397434400372">הרזולוציה השתנתה</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">הפעל את <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">הצטרף לרשת אחרת...</translation> <translation id="6981982820502123353">נגישות</translation> +<translation id="698231206551913481">כל הקבצים והנתונים המשויכים למשתמש זה יימחקו לצמיתות ברגע שהמשתמש יוסר.</translation> <translation id="7029814467594812963">צא מההפעלה</translation> <translation id="7034339000180558234">מעביר את <ph name="TAB_NAME" /> אל <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">הגדר טפט...</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb index 450817c..738560d8 100644 --- a/ash/strings/ash_strings_ja.xtb +++ b/ash/strings/ash_strings_ja.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">閉じる</translation> <translation id="15373452373711364">大きいマウス カーソル</translation> <translation id="1550523713251050646">クリックするとその他のオプションが表示されます</translation> +<translation id="1608626060424371292">このユーザーを削除</translation> <translation id="1621499497873603021">バッテリーが空になるまであと: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">パスワードをまだ確認できません。注: パスワードを最近変更した場合、新しいパスワードはログアウトした後に適用されます。こちらでは古いパスワードを使用してください。</translation> <translation id="1677472565718498478">あと <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">送信</translation> <translation id="2675319268637823299"><ph name="USER_EMAIL" /> のマルチログインは、管理者によって禁止されています。 続行するには、すべてのユーザーがログアウトする必要があります。</translation> -<translation id="2700058918926273959">セッション終了まであと <ph name="SESSION_TIME_REMAINING" />です。終了するとログアウトします。</translation> <translation id="2727977024730340865">低電力の充電器に接続しています。バッテリーが充電されない可能性があります。</translation> <translation id="2761704814324807722">ステータス トレイ、時刻 <ph name="TIME" />、<ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> に再接続しています</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">下</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(Bluetooth)</translation> +<translation id="3112378005171663295">折りたたむ</translation> <translation id="3126069444801937830">再起動して更新</translation> <translation id="3147142846278915599">ランチャー(アプリを同期中...)</translation> <translation id="315116470104423982">モバイル データ</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">お使いのパソコンは近くの Bluetooth デバイスで検出可能です。名前「<ph name="NAME" />」、アドレス「<ph name="ADDRESS" />」のデバイスとして表示されます</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> を充電しています</translation> <translation id="615957422585914272">画面キーボードを表示する</translation> +<translation id="6164005077879661055">この監視対象ユーザーを削除すると、このユーザーに関連付けられたすべてのファイルとローカル データも完全に削除されます。この監視対象ユーザーがアクセスしたウェブサイトやこのユーザーの設定は引き続き、管理者が <ph name="MANAGEMENT_URL" /> で見ることができます。</translation> <translation id="6165508094623778733">詳しく見る</translation> <translation id="6267036997247669271"><ph name="NAME" />: 有効にしています...</translation> <translation id="6284232397434400372">解像度が変更されました</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> を有効にする</translation> <translation id="6911468394164995108">他のネットワークに接続...</translation> <translation id="6981982820502123353">ユーザー補助機能</translation> +<translation id="698231206551913481">このユーザーを削除すると、このユーザーに関連付けられているファイルとローカルデータもすべて完全に削除されます。</translation> <translation id="7029814467594812963">セッションを終了</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> を <ph name="RECEIVER_NAME" /> にキャスト中</translation> <translation id="7052914147756339792">壁紙を設定...</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb index 67857e2..a0b0881 100644 --- a/ash/strings/ash_strings_kn.xtb +++ b/ash/strings/ash_strings_kn.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ವಜಾಗೊಳಿಸಿ</translation> <translation id="15373452373711364">ದೊಡ್ಡ ಮೌಸ್ ಕರ್ಸರ್</translation> <translation id="1550523713251050646">ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳಿಗೆ ಕ್ಲಿಕ್ ಮಾಡಿ</translation> +<translation id="1608626060424371292">ಈ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ</translation> <translation id="1621499497873603021">ಬ್ಯಾಟರಿ ಖಾಲಿ ಆಗುವವರೆಗೆ ಉಳಿದಿರುವ ಸಮಯ, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">ಕ್ಷಮಿಸಿ, ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಇನ್ನೂ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಗಮನಿಸಿ: ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನೀವು ಇತ್ತೀಚೆಗೆ ಬದಲಾಯಿಸಿದ್ದರೆ, ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡಿದ ನಂತರ ನಿಮ್ಮ ಹೊಸ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಜಾರಿಗೆ ತರಲಾಗುತ್ತದೆ, ಇಲ್ಲಿ ಹಳೆಯ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಬಳಸಿ.</translation> <translation id="1677472565718498478"><ph name="TIME" /> ಬಾಕಿ ಉಳಿದಿದೆ</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">ಸಲ್ಲಿಸು</translation> <translation id="2675319268637823299"><ph name="USER_EMAIL" /> ಗೆ ಬಹು ಸೈನ್-ಇನ್ ಅನುಮತಿಯನ್ನು ನಿರ್ವಾಹಕರು ರದ್ದುಗೊಳಿಸಿದ್ದಾರೆ. ಮುಂದುವರಿಯಲು ಎಲ್ಲ ಬಳಕೆದಾರರು ಸೈನ್ ಔಟ್ ಮಾಡಬೇಕು.</translation> -<translation id="2700058918926273959">ಸೆಷನ್ <ph name="SESSION_TIME_REMAINING" /> ರಲ್ಲಿ ಕೊನೆಗೊಳ್ಳಲಿದೆ. ನೀವು ಸೈನ್ ಔಟ್ ಆಗಲಿರುವಿರಿ.</translation> <translation id="2727977024730340865">ಕಡಿಮೆ ವಿದ್ಯುತ್ ಚಾರ್ಜರ್ಗೆ ಪ್ಲಗ್ ಮಾಡಲಾಗಿದೆ. ಬ್ಯಾಟರಿ ಚಾರ್ಜಿಂಗ್ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿಲ್ಲದಿರಬಹುದು.</translation> <translation id="2761704814324807722">ಸ್ಥಿತಿ ಟ್ರೇ, ಸಮಯ <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> ಗೆ ಮರುಸಂಪರ್ಕಪಡಿಸಲಾಗುತ್ತಿದೆ</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">ಕೆಳಗೆ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ಬ್ಲೂಟೂತ್)</translation> +<translation id="3112378005171663295">ಸಂಕುಚಿಸಿ</translation> <translation id="3126069444801937830">ನವೀಕರಿಸಲು ಮರುಪ್ರಾರಂಭಿಸಿ</translation> <translation id="3147142846278915599">ಲಾಂಚರ್ (ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತಿದೆ...)</translation> <translation id="315116470104423982">ಮೊಬೈಲ್ ಡೇಟಾ</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳ ಸಮೀಪದಲ್ಲಿ ಅನ್ವೇಷಿಸಬಹುದಾಗಿದೆ ಮತ್ತು <ph name="ADDRESS" /> ವಿಳಾಸದೊಂದಿಗೆ "<ph name="NAME" />" ರೂಪದಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ</translation> <translation id="615957422585914272">ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್ ತೋರಿಸು</translation> +<translation id="6164005077879661055">ಈ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರನ್ನು ಒಮ್ಮೆ ತೆಗೆದುಹಾಕಿದರೆ, ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಎಲ್ಲ ಫೈಲ್ಗಳು ಮತ್ತು ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ. ಈ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರಿಗಾಗಿ ಭೇಟಿ ನೀಡಲಾದ ವೆಬ್ಸೈಟ್ಗಳು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳು <ph name="MANAGEMENT_URL" /> ನಲ್ಲಿ ನಿರ್ವಾಹಕರಿಗೆ ಈಗಲೂ ಗೋಚರಿಸಬಹುದು.</translation> <translation id="6165508094623778733">ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation> <translation id="6267036997247669271"><ph name="NAME" />: ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ...</translation> <translation id="6284232397434400372">ರೆಸಲ್ಯೂಷನ್ ಬದಲಾಗಿದೆ</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">ಸಕ್ರಿಯಗೊಳಿಸಿ<ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">ಇತರರನ್ನು ಸೇರಿ...</translation> <translation id="6981982820502123353">ಪ್ರವೇಶ</translation> +<translation id="698231206551913481">ಒಮ್ಮೆ ಈ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿದಾಗ ಈ ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಎಲ್ಲಾ ಫೈಲ್ಗಳು ಮತ್ತು ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ.</translation> <translation id="7029814467594812963">ಸೆಶನ್ನಿಂದ ನಿರ್ಗಮಿಸಿ</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> ಅನ್ನು <ph name="RECEIVER_NAME" /> ಗೆ ಬಿತ್ತರಿಸಲಾಗುತ್ತಿದೆ</translation> <translation id="7052914147756339792">ವಾಲ್ಪೇಪರ್ ಅನ್ನು ಹೊಂದಿಸಿ...</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb index e671d6a5..0c2c6cec 100644 --- a/ash/strings/ash_strings_ko.xtb +++ b/ash/strings/ash_strings_ko.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">닫기</translation> <translation id="15373452373711364">큰 마우스 커서</translation> <translation id="1550523713251050646">더 많은 옵션을 확인하려면 클릭하세요.</translation> +<translation id="1608626060424371292">이 사용자 삭제</translation> <translation id="1621499497873603021">남은 배터리 사용 시간은 <ph name="TIME_LEFT" />입니다.</translation> <translation id="1658406695958299976">비밀번호를 여전히 확인할 수 없습니다. 참고: 최근에 비밀번호를 변경한 경우 로그아웃해야 새로운 비밀번호가 적용됩니다. 이전 비밀번호를 사용해 보세요.</translation> <translation id="1677472565718498478"><ph name="TIME" /> 남음</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">제출</translation> <translation id="2675319268637823299">관리자가 <ph name="USER_EMAIL" />의 멀티 로그인을 허용하지 않았습니다. 계속하려면 모든 사용자가 로그아웃해야 합니다.</translation> -<translation id="2700058918926273959">세션이 <ph name="SESSION_TIME_REMAINING" /> 후에 종료되어 로그아웃됩니다.</translation> <translation id="2727977024730340865">저출력 충전기에 연결되었습니다. 배터리 충전 상태가 불안정합니다.</translation> <translation id="2761704814324807722">상태 표시줄, 시간 <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" />에 다시 연결</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3087734570205094154">맨 아래</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(블루투스)</translation> +<translation id="3112378005171663295">접기</translation> <translation id="3126069444801937830">업데이트하려면 다시 시작</translation> <translation id="3147142846278915599">런처(앱 동기화 중...)</translation> <translation id="315116470104423982">모바일 데이터</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">내 컴퓨터가 근처 블루투스 기기에서 검색할 수 있도록 설정되어 있으며 주소(<ph name="ADDRESS" />)와 함께 '<ph name="NAME" />'(으)로 표시됩니다.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> 충전 중</translation> <translation id="615957422585914272">터치 키보드 표시</translation> +<translation id="6164005077879661055">관리 대상 사용자를 제거하면 해당 관리 대상 사용자와 연결되어 있는 모든 파일 및 로컬 데이터가 영구적으로 삭제됩니다. 하지만 관리자는 관리 대상 사용자의 방문한 웹사이트 및 설정을 <ph name="MANAGEMENT_URL" /> 페이지에서 계속 볼 수 있습니다.</translation> <translation id="6165508094623778733">자세히 알아보기</translation> <translation id="6267036997247669271"><ph name="NAME" />: 활성화 중...</translation> <translation id="6284232397434400372">해상도가 변경됨</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> 활성화</translation> <translation id="6911468394164995108">다른 네트워크에 연결</translation> <translation id="6981982820502123353">접근성</translation> +<translation id="698231206551913481">이 사용자를 제거하면 해당 사용자와 연결되어 있는 모든 파일 및 로컬 데이터가 영구적으로 삭제됩니다.</translation> <translation id="7029814467594812963">세션 종료</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" />을(를) <ph name="RECEIVER_NAME" />(으)로 전송 중</translation> <translation id="7052914147756339792">배경화면 설정...</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb index b236885f..44d2e61 100644 --- a/ash/strings/ash_strings_lt.xtb +++ b/ash/strings/ash_strings_lt.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ATSISAKYTI</translation> <translation id="15373452373711364">Didelis pelės žymeklis</translation> <translation id="1550523713251050646">Spustelėkite, jei reikia daugiau parinkčių</translation> +<translation id="1608626060424371292">Pašalinti šį naudotoją</translation> <translation id="1621499497873603021">Laikas, likęs iki akumuliatoriaus išsikrovimo: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Deja, jūsų slaptažodžio patvirtinti vis tiek nepavyko. Pastaba: jei neseniai pakeitėte slaptažodį, naujas slaptažodis bus taikomas, kai atsijungsite. Čia naudokite senąjį slaptažodį.</translation> <translation id="1677472565718498478">Liko <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Pateikti</translation> <translation id="2675319268637823299">Administratorius neleido <ph name="USER_EMAIL" /> prisijungti prie kelių paskyrų. Kad būtų galima tęsti, visi naudotojai turi atsijungti.</translation> -<translation id="2700058918926273959">Sesija baigsis po <ph name="SESSION_TIME_REMAINING" />. Būsite atjungti.</translation> <translation id="2727977024730340865">Prijungtas mažos galios įkroviklis. Akumuliatoriaus įkrovimas gali būti nepatikimas.</translation> <translation id="2761704814324807722">Būsenos dėklas, laikas <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Iš naujo prisijungiama prie „<ph name="NAME" />“</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Apačia</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> („Bluetooth“)</translation> +<translation id="3112378005171663295">Sutraukti</translation> <translation id="3126069444801937830">Paleisti iš naujo, kad būtų atnaujinta</translation> <translation id="3147142846278915599">Paleidimo priemonė (sinchronizuojamos programos...)</translation> <translation id="315116470104423982">Duomenys mobiliesiems</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">Jūsų kompiuterį galima aptikti netoliese esančiais „Bluetooth“ įrenginiais ir jis rodomas kaip „<ph name="NAME" />“ su adresu <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Įkraunama naudojant <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Rodyti ekrano klaviatūrą</translation> +<translation id="6164005077879661055">Visi failai ir su prižiūrimu naudotoju susiję duomenys bus ištrinti visam laikui, kai bus pašalintas šis prižiūrimas naudotojas. Valdytojas vis tiek gali peržiūrėti šio prižiūrimo naudotojo aplankytas svetaines ir nustatymus adresu <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Sužinokite daugiau</translation> <translation id="6267036997247669271">„<ph name="NAME" />“: aktyvinama...</translation> <translation id="6284232397434400372">Skyra pakeista</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">Suaktyvinti „<ph name="NETWORKSERVICE" />“</translation> <translation id="6911468394164995108">Prisijungti prie kito...</translation> <translation id="6981982820502123353">Pritaikymas neįgaliesiems</translation> +<translation id="698231206551913481">Visi failai ir su šiuo naudotoju susiję duomenys bus ištrinti visam laikui, kai šis naudotojas bus pašalintas.</translation> <translation id="7029814467594812963">Išeiti iš sesijos</translation> <translation id="7034339000180558234">Perduodama „<ph name="TAB_NAME" />“ į „<ph name="RECEIVER_NAME" />“</translation> <translation id="7052914147756339792">Nustatyti darbalaukio foną...</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb index 988a6bd..b21f7e8c 100644 --- a/ash/strings/ash_strings_lv.xtb +++ b/ash/strings/ash_strings_lv.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">NERĀDĪT</translation> <translation id="15373452373711364">Liels peles kursors</translation> <translation id="1550523713251050646">Noklikšķiniet, lai skatītu citas iespējas.</translation> +<translation id="1608626060424371292">Noņemt šo lietotāju</translation> <translation id="1621499497873603021">Atlikušais akumulatora darbības laiks: <ph name="TIME_LEFT" />.</translation> <translation id="1658406695958299976">Diemžēl jūsu paroli joprojām nevarēja verificēt. Ņemiet vērā: ja nesen mainījāt paroli, jaunā parole tiks lietota pēc izrakstīšanās. Lūdzu, šeit izmantojiet iepriekšējo paroli.</translation> <translation id="1677472565718498478">Atlikušais laiks: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Iesniegt</translation> <translation id="2675319268637823299">Administrators ir aizliedzis lietotājam <ph name="USER_EMAIL" /> vairākkārtēju pierakstīšanos. Lai turpinātu, visiem lietotājiem ir jāizrakstās.</translation> -<translation id="2700058918926273959">Atlikušais laiks līdz šīs sesijas beigām: <ph name="SESSION_TIME_REMAINING" />. Jūs tiksiet izrakstīts.</translation> <translation id="2727977024730340865">Pievienots lādētājs ar mazu strāvas padevi. Akumulatora uzlāde var nebūt uzticama.</translation> <translation id="2761704814324807722">Statusa josla, laiks: <ph name="TIME" />. <ph name="BATTERY" /></translation> <translation id="277257480934873581">Notiek atkārtota savienojuma izveide ar <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Apakšā</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Sakļaut</translation> <translation id="3126069444801937830">Restartēt, lai atjauninātu</translation> <translation id="3147142846278915599">Palaišanas programma (notiek lietotņu sinhronizēšana...)</translation> <translation id="315116470104423982">Mobilie dati</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Tuvumā esošas Bluetooth ierīces var uztvert jūsu datoru; tā nosaukums ir “<ph name="NAME" />”, adrese — <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237">Uzlāde: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Rādīt ekrāna tastatūru</translation> +<translation id="6164005077879661055">Visi faili un lokālie dati, kas ir saistīti ar uzraudzīto lietotāju, tiks neatgriezeniski dzēsti, tiklīdz uzraudzītais lietotājs tiks noņemts. Iespējams, pārzinis joprojām varēs skatīt šī uzraudzītā lietotāja apmeklētās vietnes un iestatījumus (vietnē <ph name="MANAGEMENT_URL" />).</translation> <translation id="6165508094623778733">Uzziniet vairāk</translation> <translation id="6267036997247669271"><ph name="NAME" />: notiek aktivizēšana...</translation> <translation id="6284232397434400372">Izšķirtspēja nomainīta</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktivizēt <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Pievienoties citam...</translation> <translation id="6981982820502123353">Pieejamība</translation> +<translation id="698231206551913481">Visi faili un lokālie dati, kas ir saistīti ar šo lietotāju, tiks neatgriezeniski dzēsti, tiklīdz šis lietotājs tiks noņemts.</translation> <translation id="7029814467594812963">Iziet no sesijas</translation> <translation id="7034339000180558234">Notiek cilnes <ph name="TAB_NAME" /> apraide šādā vietā: <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Iestatīt fona tapeti...</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb index bb635ce6..aaddcfe 100644 --- a/ash/strings/ash_strings_ml.xtb +++ b/ash/strings/ash_strings_ml.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">നിരാകരിക്കുക</translation> <translation id="15373452373711364">വലിയ മൗസ് കഴ്സർ</translation> <translation id="1550523713251050646">കൂടുതൽ ഓപ്ഷനുകൾക്ക് ക്ലിക്കുചെയ്യുക</translation> +<translation id="1608626060424371292">ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യുക</translation> <translation id="1621499497873603021">ബാറ്ററി ശൂന്യമാകുന്നതിന് ശേഷിക്കുന്ന സമയം, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">ക്ഷമിക്കണം, ഇപ്പോഴും നിങ്ങളുടെ പാസ്വേഡ് പരിശോധിച്ചുറപ്പിക്കാൻ കഴിഞ്ഞില്ല. ശ്രദ്ധിക്കുക: സമീപകാലത്ത് നിങ്ങൾ പാസ്വേഡ് മാറ്റിയിട്ടുണ്ടെങ്കിൽ, സൈൻ ഔട്ട് ചെയ്തുകഴിഞ്ഞാൽ പുതിയ പാസ്വേഡ് ബാധകമാകും, ഇവിടെ പഴയ പാസ്വേഡ് ഉപയോഗിക്കുക.</translation> <translation id="1677472565718498478"><ph name="TIME" /> ശേഷിക്കുന്നു</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">സമര്പ്പിക്കൂ</translation> <translation id="2675319268637823299"><ph name="USER_EMAIL" /> എന്ന ഇമെയിലിലേക്ക് ഒന്നിലധികം പേർ സൈൻ ഇൻ ചെയ്യുന്നത് ഒരു അഡ്മിനിസ്ട്രേറ്റർ വിലക്കിയിരിക്കുന്നു. തുടരാൻ, എല്ലാ ഉപയോക്താക്കളും സൈൻ ഔട്ട് ചെയ്യണം.</translation> -<translation id="2700058918926273959"><ph name="SESSION_TIME_REMAINING" />-നുള്ളിൽ സെഷൻ അവസാനിക്കുന്നു. നിങ്ങൾ സൈൻ ഔട്ടാകും.</translation> <translation id="2727977024730340865">കുറഞ്ഞ തോതിൽ വൈദ്യുതി പ്രവഹിക്കുന്ന ചാർജ്ജറിലേക്ക് പ്ലഗ് ചെയ്തിരിക്കുന്നു. ബാറ്ററി ചാർജുചെയ്യൽ വിശ്വസനീയമാകണമെന്നില്ല.</translation> <translation id="2761704814324807722">സ്റ്റാറ്റസ് ട്രേ, സമയം, <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> നെറ്റ്വർക്കിലേക്ക് വീണ്ടും കണക്റ്റുചെയ്യുന്നു</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">താഴെ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">ചുരുക്കുക</translation> <translation id="3126069444801937830">അപ്ഡേറ്റുചെയ്യുന്നതിന് പുനരാരംഭിക്കുക</translation> <translation id="3147142846278915599">ലോഞ്ചർ (അപ്ലിക്കേഷൻ സമന്വയിപ്പിക്കുന്നു...)</translation> <translation id="315116470104423982">മൊബൈല് ഡാറ്റ</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">നിങ്ങളുടെ കമ്പ്യൂട്ടർ സമീപത്തുള്ള Bluetooth ഉപകരണങ്ങൾക്ക് കണ്ടെത്താനാകുന്നതാണ് ഒപ്പം അത് <ph name="ADDRESS" /> എന്ന വിലാസത്തിൽ "<ph name="NAME" />" എന്നതായി ദൃശ്യമാകും.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> ചാർജ്ജുചെയ്യുന്നു</translation> <translation id="615957422585914272">ഓൺ-സ്ക്രീൻ കീബോർഡ് ദൃശ്യമാക്കുക</translation> +<translation id="6164005077879661055">സൂപ്പർവൈസുചെയ്ത ഉപയോക്താവിനെ നീക്കംചെയ്താൽ, സൂപ്പർവൈസുചെയ്ത ഉപയോക്താവുമായി ബന്ധപ്പെടുത്തിയിട്ടുള്ള എല്ലാ ഫയലുകളും പ്രാദേശിക ഡാറ്റയും ശാശ്വതമായി ഇല്ലാതാക്കപ്പെടും. സൂപ്പർവൈസുചെയ്ത ഈ ഉപയോക്താവിനായി സന്ദർശിച്ച വെബ്സൈറ്റുകളും ക്രമീകരണങ്ങളും <ph name="MANAGEMENT_URL" />-ൽ മാനേജർക്ക് തുടർന്നും കാണാനായേക്കും.</translation> <translation id="6165508094623778733">കൂടുതൽ മനസിലാക്കുക</translation> <translation id="6267036997247669271"><ph name="NAME" />: സജീവമാക്കുന്നു...</translation> <translation id="6284232397434400372">റെസല്യൂഷൻ മാറ്റി</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> സജീവമാക്കുക</translation> <translation id="6911468394164995108">മറ്റുള്ളവ ചേർക്കുക...</translation> <translation id="6981982820502123353">ഉപയോഗസഹായി</translation> +<translation id="698231206551913481">ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യുമ്പോൾ അതോടൊപ്പം അയാളുമായി ബന്ധപ്പെട്ട എല്ലാ ഫയലുകളും പ്രാദേശിക വിവരങ്ങളും ശാശ്വതമായി ഇല്ലാതാക്കപ്പെടും.</translation> <translation id="7029814467594812963">സെഷനിൽ നിന്ന് പുറത്തുകടക്കുക</translation> <translation id="7034339000180558234"><ph name="RECEIVER_NAME" /> എന്നതിലേക്ക് <ph name="TAB_NAME" /> കാസ്റ്റുചെയ്യുന്നു</translation> <translation id="7052914147756339792">വാൾപേപ്പർ സജ്ജമാക്കുക...</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb index a074768..d57c3375 100644 --- a/ash/strings/ash_strings_mr.xtb +++ b/ash/strings/ash_strings_mr.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">डिसमिस करा</translation> <translation id="15373452373711364">मोठा माउस कर्सर</translation> <translation id="1550523713251050646">अधिक पर्यायांसाठी क्लिक करा</translation> +<translation id="1608626060424371292">हा वापरकर्ता काढा</translation> <translation id="1621499497873603021">बॅटरी रिक्त होईपर्यंत शिल्लक वेळ, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">सॉरी, तुमच्या पासवर्डची पडताळणी अजूनही झालेली नाही. टीप: तुम्ही तुमचा पासवर्ड अलीकडेच बदलला असल्यास, तुम्ही साइन आउट केल्यानंतर तुमचा नवीन पासवर्ड लागू केला जाईल, कृपया येथे जुना पासवर्ड वापरा.</translation> <translation id="1677472565718498478"><ph name="TIME" /> शिल्लक</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">सबमिट करा</translation> <translation id="2675319268637823299">अॅडमिनिस्ट्रेटरने <ph name="USER_EMAIL" /> साठी एकाधिक साइन इनची अनुमती दिली नाही. सुरू ठेवण्यासाठी सर्व वापरकर्त्यांनी साइन आउट करणे आवश्यक आहे.</translation> -<translation id="2700058918926273959"><ph name="SESSION_TIME_REMAINING" /> मध्ये सत्र समाप्त होते. आपल्याला साइन आउट केले जाईल.</translation> <translation id="2727977024730340865">एका निम्न-उर्जेच्या चार्जरवर प्लग इन केले. बॅटरी चार्जिंग विश्वसनीय असू शकत नाही.</translation> <translation id="2761704814324807722">स्थिती ट्रे, वेळ <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> शी पुन्हा कनेक्ट करीत आहे</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">तळाकडील</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">संक्षिप्त करा</translation> <translation id="3126069444801937830">अद्यतनासाठी पुनर्प्रारंभ करा</translation> <translation id="3147142846278915599">लाँचर (संकालन अॅप्स...)</translation> <translation id="315116470104423982">मोबाइल डेटा</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">आपला कॉंप्युटर जवळपासच्या Bluetooth डिव्हाइसेसवर शोधण्यायोग्य आहे आणि <ph name="ADDRESS" /> पत्त्यासह "<ph name="NAME" />" म्हणून दिसेल</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> चार्ज करीत आहे</translation> <translation id="615957422585914272">ऑन-स्क्रीन कीबोर्ड दर्शवा</translation> +<translation id="6164005077879661055">एकदा हा पर्यवेक्षी वापरकर्ता काढल्यानंतर पर्यवेक्षी वापरकर्त्याशी संबद्ध सर्व फायली आणि स्थानिक डेटा कायमचा हटविला जाईल. या पर्यवेक्षी वापरकर्त्यासाठी भेट दिलेल्या वेबसाइट आणि सेटिंग्ज तरीही <ph name="MANAGEMENT_URL" /> वर व्यवस्थापकाद्वारे दृश्यमान असू शकतात.</translation> <translation id="6165508094623778733">अधिक जाणून घ्या</translation> <translation id="6267036997247669271"><ph name="NAME" />: सक्रिय करत आहे...</translation> <translation id="6284232397434400372">रीझोल्युशन बदलले</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">सक्रिय करा<ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">दुसरीकडे सामील व्हा...</translation> <translation id="6981982820502123353">प्रवेशयोग्यता</translation> +<translation id="698231206551913481">एकदा हा वापरकर्ता काढल्यानंतर या वापरकर्त्याशी संबद्ध सर्व फायली आणि स्थानिक डेटा कायमचा हटविला जाईल.</translation> <translation id="7029814467594812963">सत्र निर्गमन करा</translation> <translation id="7034339000180558234"><ph name="RECEIVER_NAME" /> वर <ph name="TAB_NAME" /> कास्ट करीत आहे</translation> <translation id="7052914147756339792">वॉलपेपर सेट करा...</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb index 34bb869..e2f3766 100644 --- a/ash/strings/ash_strings_ms.xtb +++ b/ash/strings/ash_strings_ms.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">KETEPIKAN</translation> <translation id="15373452373711364">Kursor tetikus besar</translation> <translation id="1550523713251050646">Klik untuk mendapatkan lagi pilihan</translation> +<translation id="1608626060424371292">Alih keluar pengguna ini</translation> <translation id="1621499497873603021">Masa yang tinggal sehingga bateri kosong, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Maaf, kata laluan anda masih tidak dapat disahkan. Perhatian: jika anda menukar kata laluan anda baru-baru ini, kata laluan baharu anda akan digunakan apabila anda log keluar, sila gunakan kata laluan yang lama di sini.</translation> <translation id="1677472565718498478">Berbaki <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Serah</translation> <translation id="2675319268637823299">Pentadbir telah melarang log masuk berbilang untuk <ph name="USER_EMAIL" />. Semua pengguna mesti log keluar untuk meneruskan.</translation> -<translation id="2700058918926273959">Sesi tamat dalam <ph name="SESSION_TIME_REMAINING" />. Anda akan dilog keluar.</translation> <translation id="2727977024730340865">Dipalamkan pada pengecas berkuasa rendah. Pengecasan bateri mungkin tidak boleh diharapkan.</translation> <translation id="2761704814324807722">Dulang status, masa <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Menyambung semula ke <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bawah</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Runtuhkan</translation> <translation id="3126069444801937830">Mulakan semula untuk mengemas kini</translation> <translation id="3147142846278915599">Pelancar (menyegerakkan apl...)</translation> <translation id="315116470104423982">Data mudah alih</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Komputer anda boleh ditemui oleh peranti Bluetooth yang berdekatan sebagai "<ph name="NAME" />" dengan alamat <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Mengecas <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Paparkan papan kekunci pada skrin</translation> +<translation id="6164005077879661055">Semua fail dan data setempat yang dikaitkan dengan pengguna diselia akan dipadamkan secara kekal apabila pengguna diselia ini dialih keluar. Tapak web yang dilawati dan tetapan untuk pengguna diselia ini masih boleh dilihat oleh pengurus di <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Ketahui lebih lanjut</translation> <translation id="6267036997247669271"><ph name="NAME" />: Mengaktifkan...</translation> <translation id="6284232397434400372">Peleraian ditukar</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktifkan <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Sertai yang lain...</translation> <translation id="6981982820502123353">Kebolehcapaian</translation> +<translation id="698231206551913481">Semua fail dan data yang berkaitan dengan pengguna ini akan dipadamkan secara kekal selepas pengguna ini dialih keluar.</translation> <translation id="7029814467594812963">Keluar dari sesi</translation> <translation id="7034339000180558234">Menghantar <ph name="TAB_NAME" /> ke <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Tetapkan kertas dinding...</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb index 09fe4a9f..1408d40 100644 --- a/ash/strings/ash_strings_nl.xtb +++ b/ash/strings/ash_strings_nl.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">SLUITEN</translation> <translation id="15373452373711364">Grote muisaanwijzer</translation> <translation id="1550523713251050646">Klik voor meer opties</translation> +<translation id="1608626060424371292">Deze gebruiker verwijderen</translation> <translation id="1621499497873603021">Resterende tijd totdat de batterij leeg is: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Je wachtwoord kan nog steeds niet worden geverifieerd. Opmerking: Als je je wachtwoord onlangs hebt gewijzigd, wordt je nieuwe wachtwoord doorgevoerd wanneer je uitlogt. Gebruik hier het oude wachtwoord.</translation> <translation id="1677472565718498478"><ph name="TIME" /> resterend</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Verzenden</translation> <translation id="2675319268637823299">Een beheerder heeft <ph name="USER_EMAIL" /> geen toestemming gegeven voor toegang tot meerdere accounts. Alle gebruikers moet uitloggen om door te gaan.</translation> -<translation id="2700058918926273959">Sessie loopt af over <ph name="SESSION_TIME_REMAINING" />. Je wordt uitgelogd.</translation> <translation id="2727977024730340865">Aangesloten op een laag-vermogen-lader. Opladen van de batterij mogelijk niet betrouwbaar.</translation> <translation id="2761704814324807722">Statusvak, tijd <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Opnieuw verbinding maken met <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Onderaan</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Samenvouwen</translation> <translation id="3126069444801937830">Opnieuw starten om updates uit te voeren</translation> <translation id="3147142846278915599">Launcher (apps synchroniseren...)</translation> <translation id="315116470104423982">Mobiele data</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Je computer is vindbaar voor Bluetooth-apparaten in de buurt en wordt weergegeven als '<ph name="NAME" />' met adres <ph name="ADDRESS" /></translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> wordt opgeladen</translation> <translation id="615957422585914272">Schermtoetsenbord weergeven</translation> +<translation id="6164005077879661055">Alle bestanden en lokale gegevens gekoppeld aan de gebruiker met beperkte rechten worden permanent verwijderd zodra de gebruiker met beperkte rechten is verwijderd. Bezochte websites en instellingen voor deze gebruiker met beperkte rechten kunnen nog steeds zichtbaar zijn voor de beheerder op <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Meer informatie</translation> <translation id="6267036997247669271"><ph name="NAME" />: activeren...</translation> <translation id="6284232397434400372">Resolutie gewijzigd</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> activeren</translation> <translation id="6911468394164995108">Verbinding met ander netwerk maken...</translation> <translation id="6981982820502123353">Toegankelijkheid</translation> +<translation id="698231206551913481">Alle bestanden en lokale gegevens die zijn gekoppeld aan deze gebruiker, worden definitief verwijderd zodra deze gebruiker is verwijderd.</translation> <translation id="7029814467594812963">Sessie sluiten</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> wordt gecast naar <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Achtergrond instellen...</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb index 41eeb04..874a6674 100644 --- a/ash/strings/ash_strings_no.xtb +++ b/ash/strings/ash_strings_no.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">AVVIS</translation> <translation id="15373452373711364">Stor markør</translation> <translation id="1550523713251050646">Klikk for å se flere alternativer</translation> +<translation id="1608626060424371292">Fjern denne brukeren</translation> <translation id="1621499497873603021">Gjenværende tid til batteriet er tomt – <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Beklager, men passordet ditt kunne fremdeles ikke bekreftes. Merk: Hvis du endret passordet ditt nylig, trer det nye passordet ditt i kraft så snart du logger av. Bruk det gamle passordet ditt her.</translation> <translation id="1677472565718498478"><ph name="TIME" /> igjen</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Send</translation> <translation id="2675319268637823299">En administrator har deaktivert multipålogging for <ph name="USER_EMAIL" />. Alle brukere må logge av for å fortsette.</translation> -<translation id="2700058918926273959">Økten slutter om <ph name="SESSION_TIME_REMAINING" />. Du blir logget av automatisk.</translation> <translation id="2727977024730340865">Tilkoblet laveffektslader. Batteriladingen kan være upålitelig.</translation> <translation id="2761704814324807722">Statusfelt, klokken <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Kobler til <ph name="NAME" /> på nytt</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bunn</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Skjul</translation> <translation id="3126069444801937830">Start på nytt for å oppdatere</translation> <translation id="3147142846278915599">Appoversikt (synkroniserer apper ...)</translation> <translation id="315116470104423982">Mobildata</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Datamaskinen din kan registreres av Bluetooth-enheter i nærheten, og vises med navnet «<ph name="NAME" />» og adressen <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Lader <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Vis skjermtastaturet</translation> +<translation id="6164005077879661055">Alle filer og lokale data tilknyttet den administrerte brukeren slettes permanent når den administrerte brukeren fjernes. Besøkte nettsteder og innstillinger for denne administrerte brukeren kan fortsatt ses av administratoren på <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Les mer</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktiveres …</translation> <translation id="6284232397434400372">Oppløsningen er endret</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktiver <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Koble til annet</translation> <translation id="6981982820502123353">Tilgjengelighet</translation> +<translation id="698231206551913481">Alle filer og lokale data som er tilknyttet denne brukeren, slettes permanent når brukeren fjernes.</translation> <translation id="7029814467594812963">Avslutt økten</translation> <translation id="7034339000180558234">Caster <ph name="TAB_NAME" /> til <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Angi bakgrunn</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb index 9f523ea..9b7df9a 100644 --- a/ash/strings/ash_strings_pl.xtb +++ b/ash/strings/ash_strings_pl.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ZAMKNIJ</translation> <translation id="15373452373711364">Duży kursor myszy</translation> <translation id="1550523713251050646">Kliknij, by wyświetlić więcej opcji</translation> +<translation id="1608626060424371292">Usuń tego użytkownika</translation> <translation id="1621499497873603021">Czas pozostały do wyczerpania baterii: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Nadal nie można zweryfikować Twojego hasła. Uwaga: jeśli ostatnio hasło było zmieniane, nowe hasło zostanie zastosowane, gdy się wylogujesz. Tu podaj stare hasło.</translation> <translation id="1677472565718498478">Pozostało <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Prześlij</translation> <translation id="2675319268637823299">Administrator nie zezwolił na wielokrotne logowanie użytkownika <ph name="USER_EMAIL" />. Aby kontynuować, wszyscy użytkownicy muszą się wylogować.</translation> -<translation id="2700058918926273959">Sesja kończy się za <ph name="SESSION_TIME_REMAINING" />. Zostaniesz wylogowany.</translation> <translation id="2727977024730340865">Podłączono ładowarkę o małej mocy. Ładowanie baterii może być nieprawidłowe.</translation> <translation id="2761704814324807722">Pasek stanu, godzina <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Ponownie łączę z: <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Na dół</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Zwiń</translation> <translation id="3126069444801937830">Uruchom ponownie i zaktualizuj</translation> <translation id="3147142846278915599">Menu z aplikacjami (synchronizuję aplikacje...)</translation> <translation id="315116470104423982">Komórkowa transmisja danych</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">Twój komputer jest wykrywalny na urządzenia Bluetooth znajdujących się w pobliżu. Będzie prezentowany jako „<ph name="NAME" />” z adresem <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Ładowanie: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Pokaż klawiaturę ekranową</translation> +<translation id="6164005077879661055">W chwili usunięcia użytkownika nadzorowanego wszystkie powiązane z nim pliki i dane lokalne zostaną trwale usunięte. Lista stron, na które wszedł ten użytkownik, oraz jego ustawienia mogą być wciąż widoczne dla menedżera na <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Więcej informacji</translation> <translation id="6267036997247669271"><ph name="NAME" />: aktywuję...</translation> <translation id="6284232397434400372">Rozdzielczość została zmieniona</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">Aktywuj sieć <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Połącz z inną...</translation> <translation id="6981982820502123353">Ułatwienia dostępu</translation> +<translation id="698231206551913481">Usunięcie tego użytkownika spowoduje trwałe usunięcie wszystkich związanych z nim plików i danych lokalnych.</translation> <translation id="7029814467594812963">Zakończ sesję</translation> <translation id="7034339000180558234">Przesyłam kartę <ph name="TAB_NAME" /> do: <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Ustaw tapetę...</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb index 53e1e6c..a33106a 100644 --- a/ash/strings/ash_strings_pt-BR.xtb +++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">DISPENSAR</translation> <translation id="15373452373711364">Cursor grande do mouse</translation> <translation id="1550523713251050646">Clique para ver mais opções</translation> +<translation id="1608626060424371292">Remover este usuário</translation> <translation id="1621499497873603021">O tempo restante até que a bateria se esgote é de <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Ainda não foi possível confirmar sua senha. Observação: se você alterou sua senha recentemente, a nova senha será aplicada depois que você sair da conta. Use a senha antiga aqui.</translation> <translation id="1677472565718498478"><ph name="TIME" /> restante(s)</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Enviar</translation> <translation id="2675319268637823299">Um administrador desativou o login múltiplo para <ph name="USER_EMAIL" />. Todos os usuários precisam sair para continuar.</translation> -<translation id="2700058918926273959">A sessão termina em <ph name="SESSION_TIME_REMAINING" />. Você será desconectado.</translation> <translation id="2727977024730340865">Conectado a um carregador de baixa potência. O carregamento da bateria pode não ser confiável.</translation> <translation id="2761704814324807722">Bandeja de status, tempo <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Reconectando-se a <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Parte inferior</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Recolher</translation> <translation id="3126069444801937830">Reiniciar para atualizar</translation> <translation id="3147142846278915599">Tela de início (sincronizando aplicativos...)</translation> <translation id="315116470104423982">Dados do celular</translation> @@ -210,6 +211,8 @@ <translation id="607652042414456612">Seu computador pode ser detectado por dispositivos Bluetooth próximos e aparecerá como "<ph name="NAME" />", com o endereço <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Carregando <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostrar teclado na tela</translation> +<translation id="6164005077879661055">Todos os arquivos e dados locais associados ao usuário supervisionado serão +permanentemente excluídos assim que esse usuário for removido. Os websites visitados por esse usuário supervisionado e suas configurações ainda poderão ser vistos pelo administrador em <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Saiba mais</translation> <translation id="6267036997247669271"><ph name="NAME" />: Ativando...</translation> <translation id="6284232397434400372">Resolução alterada</translation> @@ -244,6 +247,7 @@ <translation id="6857811139397017780">Ativar <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Conectar-se a outra...</translation> <translation id="6981982820502123353">Acessibilidade</translation> +<translation id="698231206551913481">Todos os arquivos e dados locais associados a este usuário serão excluídos permanentemente quando o usuário for removido.</translation> <translation id="7029814467594812963">Sair da sessão</translation> <translation id="7034339000180558234">Transmitindo <ph name="TAB_NAME" /> para <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Definir plano de fundo...</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb index 3eeaff6c..0f9d426 100644 --- a/ash/strings/ash_strings_pt-PT.xtb +++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORAR</translation> <translation id="15373452373711364">Cursor do rato grande</translation> <translation id="1550523713251050646">Clicar para obter mais opções</translation> +<translation id="1608626060424371292">Remover este utilizador</translation> <translation id="1621499497873603021">Tempo restante até a bateria terminar, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Lamentamos, mas ainda não foi possível validar a sua palavra-passe. Nota: se alterou a palavra-passe recentemente, a nova palavra-passe será aplicada quando terminar sessão. Utilize a palavra-passe antiga aqui.</translation> <translation id="1677472565718498478"><ph name="TIME" /> restante(s)</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Submeter</translation> <translation id="2675319268637823299">Um administrador não permitiu o início de sessão integrado para <ph name="USER_EMAIL" />. Todos os utilizadores têm de terminar sessão para continuar.</translation> -<translation id="2700058918926273959">A sessão termina em <ph name="SESSION_TIME_REMAINING" />. A sua sessão será terminada.</translation> <translation id="2727977024730340865">Ligado a um carregador de baixo consumo. O carregamento da bateria pode não ser fiável.</translation> <translation id="2761704814324807722">Tabuleiro do estado, hora <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">A restabelecer ligação a <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Parte inferior</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Reduzir</translation> <translation id="3126069444801937830">Reiniciar para atualizar</translation> <translation id="3147142846278915599">Launcher (a sincronizar aplicações...)</translation> <translation id="315116470104423982">Dados móveis</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">O seu computador é detetável para os dispositivos Bluetooth nas proximidades e aparecerá como "<ph name="NAME" />" com o endereço <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">A carregar <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Mostrar teclado no ecrã</translation> +<translation id="6164005077879661055">Todos os ficheiros e dados locais associados ao utilizador supervisionado serão definitivamente eliminados depois de este utilizador supervisionado ser removido. Os Sites visitados e as definições deste utilizador supervisionado poderão continuar visíveis para o gestor em <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Saiba mais</translation> <translation id="6267036997247669271"><ph name="NAME" />: a ativar...</translation> <translation id="6284232397434400372">Resolução alterada</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Ativar <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Ligar-se a outra...</translation> <translation id="6981982820502123353">Acessibilidade</translation> +<translation id="698231206551913481">Todos os ficheiros e dados locais associados a este utilizador são permanentemente eliminados assim que este utilizador é removido.</translation> <translation id="7029814467594812963">Sair da sessão</translation> <translation id="7034339000180558234">A transmitir <ph name="TAB_NAME" /> para <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Definir imagem de fundo...</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb index 0ac7d10..774bd1d 100644 --- a/ash/strings/ash_strings_ro.xtb +++ b/ash/strings/ash_strings_ro.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ÎNCHIDE</translation> <translation id="15373452373711364">Cursor de mouse mare</translation> <translation id="1550523713251050646">Dă clic pentru mai multe opțiuni</translation> +<translation id="1608626060424371292">Eliminați acest utilizator</translation> <translation id="1621499497873603021">Timp rămas până la descărcarea bateriei: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Ne pare rău, parola tot nu a putut fi confirmată. Notă: dacă ți-ai schimbat recent parola, aceasta se va aplica după ce te deconectezi. Te rugăm să folosești aici parola veche.</translation> <translation id="1677472565718498478">Timp rămas: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Trimite</translation> <translation id="2675319268637823299">Un administrator a interzis conectarea multiplă pentru <ph name="USER_EMAIL" />. Toți utilizatorii trebuie să se deconecteze pentru a continua.</translation> -<translation id="2700058918926273959">Sesiunea se încheie peste <ph name="SESSION_TIME_REMAINING" />. Veți fi deconectat(ă).</translation> <translation id="2727977024730340865">V-ați conectat la un încărcător de putere joasă. Încărcarea bateriei poate fi nesigură.</translation> <translation id="2761704814324807722">Bară de stare, durată <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Se reconectează la <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Jos</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Restrânge</translation> <translation id="3126069444801937830">Reporniți pentru a actualiza</translation> <translation id="3147142846278915599">Lansator (se sincronizează aplicațiile...)</translation> <translation id="315116470104423982">Date mobile</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Computerul poate fi detectat de dispozitivele Bluetooth din apropiere și va apărea ca „<ph name="NAME" />” cu adresa <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Se încarcă <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Afișați tastatura pe ecran</translation> +<translation id="6164005077879661055">Toate fișierele și datele locale asociate acestui utilizator monitorizat vor fi șterse definitiv după eliminarea acestui utilizator monitorizat. Site-urile web accesate și setările acestui utilizator monitorizat pot fi în continuare vizibile pentru manager la <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Află mai multe</translation> <translation id="6267036997247669271"><ph name="NAME" />: se activează...</translation> <translation id="6284232397434400372">Rezoluția a fost schimbată</translation> @@ -242,6 +244,7 @@ <translation id="6857811139397017780">Activează <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Conectați-vă la altă rețea...</translation> <translation id="6981982820502123353">Accesibilitate</translation> +<translation id="698231206551913481">Toate fișierele și datele locale asociate acestui utilizator vor fi șterse definitiv după eliminarea utilizatorului.</translation> <translation id="7029814467594812963">Ieșiți din sesiune</translation> <translation id="7034339000180558234">Se proiectează <ph name="TAB_NAME" /> pe <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Setați o imagine de fundal...</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb index e7372e7..3948acf 100644 --- a/ash/strings/ash_strings_ru.xtb +++ b/ash/strings/ash_strings_ru.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ЗАКРЫТЬ</translation> <translation id="15373452373711364">Большой курсор мыши</translation> <translation id="1550523713251050646">Чтобы изменить источник питания, нажмите здесь.</translation> +<translation id="1608626060424371292">Удалить профиль</translation> <translation id="1621499497873603021">Оставшееся время работы от батареи: <ph name="TIME_LEFT" />.</translation> <translation id="1658406695958299976">Неверный пароль. Обратите внимание! Если вы недавно изменили пароль, но не выходили из системы, значит, новый пароль ещё не вступил в силу и необходимо указать старый.</translation> <translation id="1677472565718498478">Ещё <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Отправить</translation> <translation id="2675319268637823299">Администратор отключил множественный вход для аккаунта <ph name="USER_EMAIL" />. Чтобы вы смогли войти в этот аккаунт, все остальные пользователи должны выйти из него.</translation> -<translation id="2700058918926273959">Сеанс закончится через <ph name="SESSION_TIME_REMAINING" />. После этого будет выполнен выход.</translation> <translation id="2727977024730340865">Подключено маломощное зарядное устройство. Возможны проблемы при зарядке.</translation> <translation id="2761704814324807722">Строка состояния, время <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Повторное подключение к сети <ph name="NAME" />…</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Снизу</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Свернуть</translation> <translation id="3126069444801937830">Перезагрузите, чтобы обновить</translation> <translation id="3147142846278915599">Панель запуска (синхронизация приложений...)</translation> <translation id="315116470104423982">Мобильное подключение</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Расположенные поблизости устройства Bluetooth видят ваш компьютер под именем <ph name="NAME" /> с адресом <ph name="ADDRESS" />.</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> заряжается</translation> <translation id="615957422585914272">Показывать экранную клавиатуру</translation> +<translation id="6164005077879661055">После удаления контролируемого профиля все файлы и локальные данные, связанные с ним, будут удалены. Посещенные страницы и настройки этого профиля будут видны его менеджеру на странице: <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Подробнее...</translation> <translation id="6267036997247669271"><ph name="NAME" />: выполняется активация...</translation> <translation id="6284232397434400372">Разрешение изменено</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Активировать <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Подключиться к другой сети...</translation> <translation id="6981982820502123353">Специальные возможности</translation> +<translation id="698231206551913481">После удаления пользователя все связанные с ним файлы и локальные данные также будут удалены.</translation> <translation id="7029814467594812963">Завершить сеанс</translation> <translation id="7034339000180558234">Трансляция вкладки "<ph name="TAB_NAME" />": <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Выбрать обои</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb index c1ee9ff..338988f8 100644 --- a/ash/strings/ash_strings_sk.xtb +++ b/ash/strings/ash_strings_sk.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ZATVORIŤ</translation> <translation id="15373452373711364">Veľký kurzor myši</translation> <translation id="1550523713251050646">Kliknutím zobrazíte ďalšie možnosti</translation> +<translation id="1608626060424371292">Odstrániť tohto používateľa</translation> <translation id="1621499497873603021">Čas zostávajúci do vybitia batérie: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Je nám to ľúto, ale vaše heslo sa stále nedarí overiť. Poznámka: Ak ste ho nedávno zmenili, nové heslo sa použije až po odhlásení. Tu použite staré heslo.</translation> <translation id="1677472565718498478">Zostávajúci čas: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Odoslať</translation> <translation id="2675319268637823299">Správca zakázal viacnásobné prihlásenie pre používateľa <ph name="USER_EMAIL" />. Všetci používatelia sa musia odhlásiť a až potom môžu pokračovať.</translation> -<translation id="2700058918926273959">Relácia sa skončí o <ph name="SESSION_TIME_REMAINING" />. Následne budete odhlásený/-á.</translation> <translation id="2727977024730340865">Batéria je zapojená do nabíjačky s nízkym výkonom. Nabíjanie batérie nemusí byť spoľahlivé.</translation> <translation id="2761704814324807722">Stavový panel, čas <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Prebieha opätovné pripájanie k sieti <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Spodok</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Zbaliť</translation> <translation id="3126069444801937830">Reštartovaním vykonáte aktualizáciu</translation> <translation id="3147142846278915599">Spúšťač (synchronizujú sa aplikácie...)</translation> <translation id="315116470104423982">Mobilné dátové prenosy</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Váš počítač je viditeľný pre zariadenia Bluetooth v blízkosti a zobrazí sa ako <ph name="NAME" /> s adresou <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Nabíja sa zariadenie <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Zobraziť klávesnicu na obrazovke</translation> +<translation id="6164005077879661055">Všetky súbory a miestne údaje spojené s týmto kontrolovaným používateľom budú po jeho odstránení natrvalo odstránené. Správca bude môcť naďalej zobraziť navštívené webové stránky a nastavenia tohto používateľa na adrese <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Ďalšie informácie</translation> <translation id="6267036997247669271"><ph name="NAME" />: Aktivuje sa...</translation> <translation id="6284232397434400372">Rozlíšenie sa zmenilo</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktivovať zariadenie <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Pripojiť k ďalšej...</translation> <translation id="6981982820502123353">Dostupnosť</translation> +<translation id="698231206551913481">Všetky súbory a miestne údaje priradené k tomuto používateľovi budú po jeho odstránení natrvalo vymazané.</translation> <translation id="7029814467594812963">Ukončiť reláciu</translation> <translation id="7034339000180558234">Prenášanie karty <ph name="TAB_NAME" /> do zariadenia <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Nastavenie tapety...</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb index 6566f61..0e34664 100644 --- a/ash/strings/ash_strings_sl.xtb +++ b/ash/strings/ash_strings_sl.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">OPUSTI</translation> <translation id="15373452373711364">Velik miškin kazalec</translation> <translation id="1550523713251050646">Kliknite za več možnosti</translation> +<translation id="1608626060424371292">Odstrani tega uporabnika</translation> <translation id="1621499497873603021">Preostali čas do izpraznitve akumulatorja, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Vašega gesla še ni bilo mogoče preveriti. Opomba: če ste nedavno spremenili geslo, bo novo geslo začelo veljati, ko se odjavite. Tu uporabite starega.</translation> <translation id="1677472565718498478">Še <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Pošlji</translation> <translation id="2675319268637823299">Skrbnik je prepovedal prijavo z več računi za <ph name="USER_EMAIL" />. Če želite nadaljevati, morajo biti odjavljeni vsi uporabniki.</translation> -<translation id="2700058918926273959">Seja se konča čez <ph name="SESSION_TIME_REMAINING" />. Odjavljeni boste.</translation> <translation id="2727977024730340865">Priključen je nizkoenergijski polnilnik. Polnjenje akumulatorja morda ne bo zanesljivo.</translation> <translation id="2761704814324807722">Vrstica stanja, čas: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Vnovično vzpostavljanje povezave z omrežjem <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Na dno</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Strni</translation> <translation id="3126069444801937830">Znova zaženite za posodobitev</translation> <translation id="3147142846278915599">Zaganjalnik (sinhronizacija aplikacij ...)</translation> <translation id="315116470104423982">Prenos podatkov v mobilnih omrežjih</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Vaš računalnik je viden bližnjim napravam Bluetooth in bo videti kot »<ph name="NAME" />« z naslovom <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Polnjenje: <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Pokaži zaslonsko tipkovnico</translation> +<translation id="6164005077879661055">Vse datoteke in lokalni podatki, povezani z zaščitenim uporabnikom, bodo trajno izbrisani, ko ga odstranite. Obiskana spletna mesta in nastavitve tega uporabnika bodo morda še vedno vidna upravitelju na <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Več o tem</translation> <translation id="6267036997247669271"><ph name="NAME" />: Aktiviranje ...</translation> <translation id="6284232397434400372">Ločljivost je bila spremenjena</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktiviraj <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Pridružitev drugemu omrežju ...</translation> <translation id="6981982820502123353">Dostopnost</translation> +<translation id="698231206551913481">Vse datoteke in lokalni podatki, povezani s tem uporabnikom, bodo trajno izbrisani, ko odstranite uporabnika.</translation> <translation id="7029814467594812963">Zapusti sejo</translation> <translation id="7034339000180558234">Predvajanje zavihka v <ph name="TAB_NAME" /> sprejemniku <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Nastavi sliko za ozadje ...</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb index c8cf8f9..601bbcd 100644 --- a/ash/strings/ash_strings_sr.xtb +++ b/ash/strings/ash_strings_sr.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ОДБАЦИ</translation> <translation id="15373452373711364">Велики курсор</translation> <translation id="1550523713251050646">Кликните за више опција</translation> +<translation id="1608626060424371292">Уклони овог корисника</translation> <translation id="1621499497873603021">Време које је преостало док се батерија не испразни, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Жао нам је, верификација лозинке још увек није успела. Напомена: ако сте недавно променили лозинку, нова лозинка ће се применити када се одјавите. Овде користите стару лозинку.</translation> <translation id="1677472565718498478"><ph name="TIME" /> је преостало</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Пошаљи</translation> <translation id="2675319268637823299">Администратор је забранио вишеструко пријављивање за <ph name="USER_EMAIL" />. Сви корисници морају да се одјаве да бисмо наставили са сесијом.</translation> -<translation id="2700058918926273959">Сесија се завршава за <ph name="SESSION_TIME_REMAINING" />. Бићете одјављени.</translation> <translation id="2727977024730340865">Уређај је укључен у пуњач мале снаге. Пуњење батерије можда неће бити поуздано.</translation> <translation id="2761704814324807722">Статусна трака, време <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Поново се повезујете са мрежом <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Дно</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Скупите</translation> <translation id="3126069444801937830">Покрените поново да бисте ажурирали</translation> <translation id="3147142846278915599">Покретач (апликације се синхронизују...)</translation> <translation id="315116470104423982">Мобилни подаци</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Оближњи Bluetooth уређаји могу да открију рачунар и он ће се приказивати као „<ph name="NAME" />“ са адресом <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Пуњење уређаја <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Прикажи тастатуру на екрану</translation> +<translation id="6164005077879661055">Све датотеке и локални подаци повезани са корисником под надзором ће бити трајно избрисани када уклоните овог корисника под надзором. Менаџер ће можда и даље моћи да види посећене веб-сајтове и подешавања за овог корисника под надзором на <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Сазнајте више</translation> <translation id="6267036997247669271"><ph name="NAME" />: Активирање...</translation> <translation id="6284232397434400372">Резолуција је промењена</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Активирај <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Придружи ме другој...</translation> <translation id="6981982820502123353">Приступачност</translation> +<translation id="698231206551913481">Све датотеке и локални подаци повезани са овим корисником ће бити трајно избрисани када уклоните овог корисника.</translation> <translation id="7029814467594812963">Изађи из сесије</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> се пребацује на <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Подеси позадину...</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb index 6ae384e..b176542 100644 --- a/ash/strings/ash_strings_sv.xtb +++ b/ash/strings/ash_strings_sv.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">IGNORERA</translation> <translation id="15373452373711364">Stor muspekare</translation> <translation id="1550523713251050646">Klicka här för fler alternativ</translation> +<translation id="1608626060424371292">Ta bort den här användaren</translation> <translation id="1621499497873603021">Tid som återstår tills batteriet är tomt: <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Det gick inte att verifiera lösenordet. Obs! Om du nyligen har bytt lösenord börjar det nya lösenordet att gälla först när du loggar ut. Använd det gamla lösenordet här.</translation> <translation id="1677472565718498478"><ph name="TIME" /> kvar</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Skicka</translation> <translation id="2675319268637823299">En administratör har förbjudit multiinloggning för <ph name="USER_EMAIL" />. Alla användare måste logga ut för att fortsätta.</translation> -<translation id="2700058918926273959">Sessionen upphör om <ph name="SESSION_TIME_REMAINING" />. Du kommer att loggas ut.</translation> <translation id="2727977024730340865">Ansluten till en laddare med låg effekt. Batteriet kanske inte laddas ordentligt.</translation> <translation id="2761704814324807722">Statusfältet, tid <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Återansluter till <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">skift</translation> <translation id="3087734570205094154">Nederst</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Komprimera</translation> <translation id="3126069444801937830">Starta om för att uppdatera</translation> <translation id="3147142846278915599">Översikt (appar synkroniseras …)</translation> <translation id="315116470104423982">Mobildata</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Din dator kan upptäckas av Bluetooth-enheter som finns i närheten och den visas som <ph name="NAME" /> med adressen <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Laddar <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Visa skärmtangentbordet</translation> +<translation id="6164005077879661055">Alla filer och lokala data som är kopplade till den hanterade användaren tas bort permanent när den hanterade användaren tas bort. Besökta webbplatser och inställningar för den hanterade användaren kan fortfarande vara synliga för den som hanterar användaren på <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Läs mer</translation> <translation id="6267036997247669271"><ph name="NAME" />: Aktiverar ...</translation> <translation id="6284232397434400372">Upplösningen har ändrats</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Aktivera <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Anslut till andra ...</translation> <translation id="6981982820502123353">Tillgänglighet</translation> +<translation id="698231206551913481">Alla filer inklusive lokal data som tillhör den här användaren tas bort permanent när användaren tas bort.</translation> <translation id="7029814467594812963">Avsluta session</translation> <translation id="7034339000180558234">Castar <ph name="TAB_NAME" /> till <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Ange bakgrund ...</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb index 9e9edfb..8318adf3e 100644 --- a/ash/strings/ash_strings_sw.xtb +++ b/ash/strings/ash_strings_sw.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ONDOA</translation> <translation id="15373452373711364">Kishale kikubwa cha kipanya</translation> <translation id="1550523713251050646">Bofya ili upate chaguo zaidi</translation> +<translation id="1608626060424371292">Ondoa mtumiaji huyu</translation> <translation id="1621499497873603021">Muda unaosalia mpaka betri inapoisha, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Samahani, tumeshindwa kuthibitisha nenosiri lako. Kumbuka: ikiwa ulibadilisha nenosiri lako hivi karibuni, nenosiri lako jipya litaanza kutumika pindi utakapoondoka kwenye akaunti, tafadhali tumia nenosiri la awali hapa.</translation> <translation id="1677472565718498478">Zimesalia <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Wasilisha</translation> <translation id="2675319268637823299">Msimamizi amezuia uwezo wa kuingia katika akaunti nyingi kwa wakati mmoja kwa kutumia <ph name="USER_EMAIL" />. Ni lazima watumiaji wote waondoke katika akaunti ili uendelee.</translation> -<translation id="2700058918926273959">Kipindi kitakwisha baada ya <ph name="SESSION_TIME_REMAINING" />. Utaondolewa katika akaunti.</translation> <translation id="2727977024730340865">Imechomekwa katika chaja ya kawi ya chini. Huenda kuchaji kwa betri hakutakuwa kuzuri.</translation> <translation id="2761704814324807722">Treya ya hali, saa <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Inaunganisha upya kwenye <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Chini</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Kunja</translation> <translation id="3126069444801937830">Anzisha upya ili kusasisha</translation> <translation id="3147142846278915599">Kifungua programu (inasawazisha programu...)</translation> <translation id="315116470104423982">Data ya mtandao wa simu</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Kompyuta yako inaweza kutambuliwa na vifaa vyenye Bluetooth vilivyo karibu na itaonekana kama "<ph name="NAME" />" ikiwa na anwani ya <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Inachaji <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Onyesha kibodi ya skrini</translation> +<translation id="6164005077879661055">Faili zote na data ya ndani zinazohusishwa na mtumiaji anayesimamiwa zitafutwa kabisa mtumiaji huyu anayesimamiwa atakapoondolewa. Tovuti zilizotembelewa na mipangilio ya mtumiaji huyu anayesimamiwa inaweza bado kuonekana na msimamizi katika <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Pata maelezo zaidi</translation> <translation id="6267036997247669271"><ph name="NAME" />: Inaanza kutumia...</translation> <translation id="6284232397434400372">Imebadilisha ubora</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Amilisha <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Jiunge na mwingine...</translation> <translation id="6981982820502123353">Upatikanaji</translation> +<translation id="698231206551913481">Faili na data zote zilizo kwenye kifaa zinazohusishwa na mtumiaji zitafutwa kabisa pindi tu mtumiaji huyu atakapoondolewa.</translation> <translation id="7029814467594812963">Toka kwenye kipindi</translation> <translation id="7034339000180558234">Inatuma <ph name="TAB_NAME" /> kwenye <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Weka Mandhari...</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb index a25f440..1ea2c1b2 100644 --- a/ash/strings/ash_strings_ta.xtb +++ b/ash/strings/ash_strings_ta.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">நிராகரி</translation> <translation id="15373452373711364">பெரிய மவுஸ் இடஞ்சுட்டி</translation> <translation id="1550523713251050646">மேலும் விருப்பங்களுக்குக் கிளிக் செய்யவும்</translation> +<translation id="1608626060424371292">இவரை அகற்று</translation> <translation id="1621499497873603021">இன்னும் <ph name="TIME_LEFT" /> இல் பேட்டரி காலியாகிவிடும்</translation> <translation id="1658406695958299976">மன்னிக்கவும், உங்கள் கடவுச்சொல் இன்னும் சரிபார்க்கப்படவில்லை. குறிப்பு: உங்கள் கடவுச்சொல்லைச் சமீபத்தில் மாற்றியிருந்தால், நீங்கள் வெளியேறியவுடன் புதிய கடவுச்சொல் பயன்படுத்தப்படும், இங்கு பழைய கடவுச்சொல்லைப் பயன்படுத்தவும்.</translation> <translation id="1677472565718498478"><ph name="TIME" /> மணி நேரம்</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">சமர்ப்பி</translation> <translation id="2675319268637823299"><ph name="USER_EMAIL" />க்கு, பல உள்நுழைவை நிர்வாகி அனுமதிக்கவில்லை. தொடர, எல்லாப் பயனர்களும் வெளியேற வேண்டும்.</translation> -<translation id="2700058918926273959"><ph name="SESSION_TIME_REMAINING" /> இல் அமர்வு முடிந்துவிடும். வெளியேற்றப்படுவீர்கள்.</translation> <translation id="2727977024730340865">குறைந்த சக்தியிலான சார்ஜர் செருகப்பட்டுள்ளது. பேட்டரி சார்ஜிங் நம்பகமானதாக இல்லாமல் இருக்கலாம்.</translation> <translation id="2761704814324807722">நிலைத் தட்டு, நேரம் <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> உடன் மீண்டும் இணைக்கிறது</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">கீழே</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (புளூடூத்)</translation> +<translation id="3112378005171663295">சுருக்கு</translation> <translation id="3126069444801937830">புதுப்பிக்க மீண்டும் தொடங்குக</translation> <translation id="3147142846278915599">துவக்கி (பயன்பாடுகளை ஒத்திசைக்கிறது...)</translation> <translation id="315116470104423982">மொபைல் தரவு</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">உங்கள் கணினி அருகிலுள்ள புளூடூத் சாதனங்களைக் கண்டறியக்கூடியது, மேலும் <ph name="ADDRESS" /> என்ற முகவரியுடன் "<ph name="NAME" />" என்ற பெயரில் தோன்றும்</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> சார்ஜ் ஏற்றப்படுகிறது</translation> <translation id="615957422585914272">ஆன்-ஸ்கிரீன் விசைப்பலகையைக் காட்டு</translation> +<translation id="6164005077879661055">இந்தக் கண்காணிக்கப்படும் பயனர் அகற்றப்பட்டவுடன் கண்காணிக்கப்படும் பயனருடன் தொடர்புடைய எல்லா கோப்புகளும், அகத் தரவும் நிரந்தரமாக நீக்கப்படும். இந்தக் கண்காணிக்கப்படும் பயனர் பார்வையிட்ட இணையதளங்களையும் அமைப்புகளையும் <ph name="MANAGEMENT_URL" /> இல் இன்னும் நிர்வாகியால் பார்க்க முடியும்.</translation> <translation id="6165508094623778733">மேலும் அறிக</translation> <translation id="6267036997247669271"><ph name="NAME" />: செயல்படுத்துகிறது...</translation> <translation id="6284232397434400372">தெளிவு மாற்றப்பட்டது</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" /> ஐ செயல்படுத்து</translation> <translation id="6911468394164995108">மற்றொன்றில் சேர்...</translation> <translation id="6981982820502123353">அணுகல் தன்மை</translation> +<translation id="698231206551913481">இந்தப் பயனர் அகற்றப்பட்டதும், பயனருடன் தொடர்புடைய எல்லா கோப்புகளும் அகத் தரவும் நிரந்தரமாக நீக்கப்படும்.</translation> <translation id="7029814467594812963">அமர்விலிருந்து வெளியேறவும்</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" />ஐ <ph name="RECEIVER_NAME" />க்கு அனுப்புகிறது</translation> <translation id="7052914147756339792">வால்பேப்பரை அமை...</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb index 16be09c0..b511869 100644 --- a/ash/strings/ash_strings_te.xtb +++ b/ash/strings/ash_strings_te.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">తీసివేయి</translation> <translation id="15373452373711364">పెద్ద మౌస్ కర్సర్</translation> <translation id="1550523713251050646">మరిన్ని ఎంపికల కోసం క్లిక్ చేయండి</translation> +<translation id="1608626060424371292">ఈ వినియోగదారుని తీసివేయండి</translation> <translation id="1621499497873603021">బ్యాటరీ ఖాళీ కావడానికి మిగిలి ఉన్న సమయం, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">క్షమించండి, మీ పాస్వర్డ్ ఇప్పటికీ ధృవీకరించబడలేదు. గమనిక: మీరు మీ పాస్వర్డ్ను ఇటీవల మార్చి ఉంటే, మీరు సైన్ అవుట్ చేసిన తర్వాత మీ కొత్త పాస్వర్డ్ వర్తించబడుతుంది, దయచేసి పాత పాస్వర్డ్ను ఇక్కడ ఉపయోగించండి.</translation> <translation id="1677472565718498478"><ph name="TIME" /> మిగిలి ఉంది</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">సమర్పించు</translation> <translation id="2675319268637823299">ఒక నిర్వాహకుడు <ph name="USER_EMAIL" /> కోసం బహుళ సైన్-ఇన్ అనుమతిని తిరస్కరించారు. కొనసాగించాలంటే అందరు వినియోగదారులు తప్పనిసరిగా సైన్ అవుట్ చేయాలి.</translation> -<translation id="2700058918926273959">సెషన్ <ph name="SESSION_TIME_REMAINING" />లో ముగుస్తుంది. మీరు సైన్ అవుట్ చేయబడతారు.</translation> <translation id="2727977024730340865">తక్కువ-పవర్ గల ఛార్జర్కు ప్లగిన్ చేయబడింది. బ్యాటరీ ఛార్జింగ్ విశ్వసనీయంగా ఉండకపోవచ్చు.</translation> <translation id="2761704814324807722">స్థితి ట్రే, సమయం <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" />కి మళ్లీ కనెక్ట్ చేస్తోంది</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">దిగువ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (బ్లూటూత్)</translation> +<translation id="3112378005171663295">కుదించు</translation> <translation id="3126069444801937830">నవీకరించడానికి పునఃప్రారంభించండి</translation> <translation id="3147142846278915599">లాంచర్ (అనువర్తనాలను సమకాలీకరిస్తోంది...)</translation> <translation id="315116470104423982">మొబైల్ డేటా</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">మీ కంప్యూటర్ సమీప బ్లూటూత్ పరికరాల్లో కనుగొనబడుతుంది మరియు చిరునామా <ph name="ADDRESS" />తో "<ph name="NAME" />" వలె కనిపిస్తుంది</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" />ని ఛార్జ్ చేస్తోంది</translation> <translation id="615957422585914272">స్క్రీన్పై కీబోర్డ్ను చూపు</translation> +<translation id="6164005077879661055">ఈ పర్యవేక్షించబడే వినియోగదారు తీసివేయబడినప్పుడు పర్యవేక్షించబడే వినియోగదారుతో అనుబంధించబడిన అన్ని ఫైల్లు మరియు స్థానిక డేటా శాశ్వతంగా తొలగించబడతాయి. ఈ పర్యవేక్షించబడే వినియోగదారు సందర్శించిన వెబ్సైట్లు మరియు వీరి సెట్టింగ్లు ఇప్పటికీ <ph name="MANAGEMENT_URL" />లో నిర్వాహకునికి కనిపించవచ్చు.</translation> <translation id="6165508094623778733">మరింత తెలుసుకోండి</translation> <translation id="6267036997247669271"><ph name="NAME" />: సక్రియం చేస్తోంది...</translation> <translation id="6284232397434400372">రిజల్యూషన్ మార్చబడింది</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780"><ph name="NETWORKSERVICE" />ని సక్రియం చెయ్యి</translation> <translation id="6911468394164995108">మరొక దానిలో చేరండి...</translation> <translation id="6981982820502123353">ప్రాప్యత</translation> +<translation id="698231206551913481">ఈ వినియోగదారును తీసివేసిన తర్వాత ఈ వినియోగదారుతో అనుబంధించిన అన్ని ఫైల్లు మరియు స్థానిక డేటా శాశ్వతంగా తొలగించబడతాయి.</translation> <translation id="7029814467594812963">సెషన్ని నిష్క్రమించు</translation> <translation id="7034339000180558234"><ph name="RECEIVER_NAME" />కి <ph name="TAB_NAME" />ని ప్రసారం చేస్తున్నాము</translation> <translation id="7052914147756339792">వాల్పేపర్ను సెట్ చేయి...</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb index 8c6b0ad..d135147 100644 --- a/ash/strings/ash_strings_th.xtb +++ b/ash/strings/ash_strings_th.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ปิด</translation> <translation id="15373452373711364">เคอร์เซอร์เมาส์ขนาดใหญ่</translation> <translation id="1550523713251050646">คลิกเพื่อดูตัวเลือกเพิ่มเติม</translation> +<translation id="1608626060424371292">ลบผู้ใช้รายนี้</translation> <translation id="1621499497873603021">เวลาที่เหลือกว่าแบตเตอรี่จะหมด, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">ขออภัย ยังคงยืนยันรหัสผ่านไม่ได้ หมายเหตุ: หากคุณเปลี่ยนแปลงรหัสผ่านไปเมื่อเร็วๆ นี้ รหัสผ่านใหม่จะมีผลเมื่อคุณออกจากระบบ โปรดใช้รหัสผ่านเดิมที่นี่</translation> <translation id="1677472565718498478">ใช้ได้อีก <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">ส่ง</translation> <translation id="2675319268637823299">ผู้ดูแลระบบไม่อนุญาตให้ <ph name="USER_EMAIL" /> ลงชื่อเข้าสู่ระบบพร้อมกันหลายบัญชี ผู้ใช้ทุกคนต้องออกจากระบบเพื่อดำเนินการต่อ</translation> -<translation id="2700058918926273959">เซสชันจะสิ้นสุดใน <ph name="SESSION_TIME_REMAINING" /> ระบบจะให้คุณออกจากระบบ</translation> <translation id="2727977024730340865">เสียบอยู่กับที่ชาร์จพลังงานต่ำ การชาร์จแบตเตอรี่อาจไม่น่าเชื่อถือ</translation> <translation id="2761704814324807722">ถาดสถานะ เวลา <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">กำลังเชื่อมต่อ <ph name="NAME" /> อีกครั้ง</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">ด้านล่าง</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (บลูทูธ)</translation> +<translation id="3112378005171663295">ยุบ</translation> <translation id="3126069444801937830">รีสตาร์ทเพื่ออัปเดต</translation> <translation id="3147142846278915599">Launcher (กำลังซิงค์แอป...)</translation> <translation id="315116470104423982">ข้อมูลมือถือ</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">ค้นพบคอมพิวเตอร์ของคุณอยู่ใกล้กับอุปกรณ์บลูทูธและจะปรากฏเป็น "<ph name="NAME" />" พร้อมด้วยที่อยู่ <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">กำลังชาร์จ<ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">แสดงแป้นพิมพ์บนหน้าจอ</translation> +<translation id="6164005077879661055">ไฟล์และข้อมูลในตัวเครื่องทั้งหมดที่เกี่ยวข้องกับผู้ใช้ภายใต้การดูแลจะถูกลบออกอย่างถาวรเมื่อผู้ใช้ภายใต้การดูแลนี้ถูกลบ เว็บไซต์ที่เข้าชมและการตั้งค่าสำหรับผู้ใช้ภายใต้การดูแลนี้อาจจะยังคงมองเห็นได้โดยผู้จัดการที่ <ph name="MANAGEMENT_URL" /></translation> <translation id="6165508094623778733">เรียนรู้เพิ่มเติม</translation> <translation id="6267036997247669271"><ph name="NAME" /> กำลังเปิดใช้งาน...</translation> <translation id="6284232397434400372">เปลี่ยนความละเอียดแล้ว</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">เปิดใช้งาน <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">เชื่อมต่อเครือข่ายอื่น...</translation> <translation id="6981982820502123353">การเข้าถึง</translation> +<translation id="698231206551913481">ระบบจะลบไฟล์ทั้งหมดและข้อมูลในเครื่องที่เชื่อมโยงกับผู้ใช้รายนี้ออกอย่างถาวรหลังจากนำผู้ใช้รายนี้ออกแล้ว</translation> <translation id="7029814467594812963">ออกจากเซสชัน</translation> <translation id="7034339000180558234">กำลังแคสต์ <ph name="TAB_NAME" /> ไปยัง <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">ตั้งค่าวอลเปเปอร์...</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb index 1f4fd26..454d51e 100644 --- a/ash/strings/ash_strings_tr.xtb +++ b/ash/strings/ash_strings_tr.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">KAPAT</translation> <translation id="15373452373711364">Büyük fare imleci</translation> <translation id="1550523713251050646">Daha fazla seçenek için tıklayın</translation> +<translation id="1608626060424371292">Bu kullanıcıyı kaldır</translation> <translation id="1621499497873603021">Pilin boşalması için kalan süre, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Maalesef şifreniz hâlâ doğrulanamadı. Not: Şifrenizi yakın zamanda değiştirdiyseniz, yeni şifreniz oturumu kapatmanızdan sonra geçerli olacaktır. Lütfen burada eski şifrenizi kullanın.</translation> <translation id="1677472565718498478">Kalan süre: <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Gönder</translation> <translation id="2675319268637823299">Bir yönetici <ph name="USER_EMAIL" /> için çoklu oturum açmayı engellemiş. Tüm kullanıcılar devam etmek için çıkış yapmalıdır.</translation> -<translation id="2700058918926273959">Oturumun süresi <ph name="SESSION_TIME_REMAINING" /> içinde bitiyor. Süre dolduğunda oturumunuz kapatılacaktır.</translation> <translation id="2727977024730340865">Düşük güçlü bir şarj cihazına takıldı. Şarj durumu güvenilir olmayabilir.</translation> <translation id="2761704814324807722">Durum tepsisi, saat: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581"><ph name="NAME" /> ile yeniden bağlantı kuruluyor</translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">üstkrktr</translation> <translation id="3087734570205094154">Alt</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Daralt</translation> <translation id="3126069444801937830">Güncellemek için yeniden başlat</translation> <translation id="3147142846278915599">Launcher (uygulamalar senkronize ediliyor...)</translation> <translation id="315116470104423982">Mobil veriler</translation> @@ -210,6 +211,7 @@ <ph name="ADDRESS" /> adresine sahip "<ph name="NAME" />" olarak görünecek</translation> <translation id="6106745654298855237"><ph name="POWER_SOURCE" /> şarj ediyor</translation> <translation id="615957422585914272">Dokunmatik klavyeyi göster</translation> +<translation id="6164005077879661055">Denetlenen bu kullanıcı kaldırıldığında denetlenen kullanıcıyla ilişkilendirilmiş tüm dosyalar ve yerel veriler kalıcı olarak silinir. Yönetici, denetlenen bu kullanıcıya ilişkin ziyaret edilen web sayfaları ve ayarları <ph name="MANAGEMENT_URL" /> adresinden görüntülemeye devam edebilir.</translation> <translation id="6165508094623778733">Daha fazla bilgi edinin</translation> <translation id="6267036997247669271"><ph name="NAME" />: Etkinleştiriliyor...</translation> <translation id="6284232397434400372">Çözünürlük değiştirildi</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">Şunu etkinleştir: <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Başka ağa katıl...</translation> <translation id="6981982820502123353">Erişilebilirlik</translation> +<translation id="698231206551913481">Bu kullanıcıyla ilişkilendirilen tüm dosyalar ve yerel veriler, bu kullanıcı kaldırıldıktan sonra kalıcı olarak silinir.</translation> <translation id="7029814467594812963">Oturumdan çık</translation> <translation id="7034339000180558234"><ph name="TAB_NAME" /> sekmesi <ph name="RECEIVER_NAME" /> üzerinde yayınlanıyor</translation> <translation id="7052914147756339792">Duvar kağıdını ayarla...</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb index 9b683b20..8f49b07 100644 --- a/ash/strings/ash_strings_uk.xtb +++ b/ash/strings/ash_strings_uk.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">ЗАКРИТИ</translation> <translation id="15373452373711364">Великий курсор миші</translation> <translation id="1550523713251050646">Натисніть, щоб побачити більше опцій</translation> +<translation id="1608626060424371292">Вилучити цього користувача</translation> <translation id="1621499497873603021">До розрядження акумулятора залишилося <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">На жаль, поки не вдалося підтвердити ваш пароль. Зверніть увагу: якщо ви нещодавно змінили пароль, новий пароль буде застосовано, щойно ви вийдете з облікового запису. Скористайтеся старим паролем тут.</translation> <translation id="1677472565718498478">Залишилося <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Надіслати</translation> <translation id="2675319268637823299">Адміністратор заборонив паралельний вхід користувачу <ph name="USER_EMAIL" />. Щоб продовжити, усі користувачі повинні вийти.</translation> -<translation id="2700058918926273959">Сеанс закінчиться через <ph name="SESSION_TIME_REMAINING" />. Ви вийдете.</translation> <translation id="2727977024730340865">Підключено до зарядного пристрою низької потужності. Акумулятор може заряджатися неналежним чином.</translation> <translation id="2761704814324807722">Панель статусу, час: <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Під’єднання до мережі <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Низ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Згорнути</translation> <translation id="3126069444801937830">Перезапустіть, щоб оновити</translation> <translation id="3147142846278915599">Панель запуску (синхронізація додатків…)</translation> <translation id="315116470104423982">Мобільне передавання даних</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">Ваш комп’ютер видимий для пристроїв Bluetooth поблизу та відображатиметься з назвою "<ph name="NAME" />" та адресою <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Заряджає <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Показувати екранну клавіатуру</translation> +<translation id="6164005077879661055">Усі файли та локальні дані, пов’язані з контрольованим користувачем, буде назавжди видалено, якщо вилучити цього контрольованого користувача. Менеджер усе одно може бачити веб-сайти, які відвідував цей контрольований користувач, і його налаштування на сторінці <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Докладніше</translation> <translation id="6267036997247669271"><ph name="NAME" />: активація…</translation> <translation id="6284232397434400372">Роздільну здатність змінено</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">Активувати <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Під’єднатися до іншої...</translation> <translation id="6981982820502123353">Доступність</translation> +<translation id="698231206551913481">Якщо видалити цього користувача, усі файли та локальні дані, зв’язані з ним, буде видалено назавжди.</translation> <translation id="7029814467594812963">Завершити сеанс</translation> <translation id="7034339000180558234">Вкладка "<ph name="TAB_NAME" />" транслюється на пристрій "<ph name="RECEIVER_NAME" />"</translation> <translation id="7052914147756339792">Установити фоновий малюнок...</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb index 0be3814..1cb645f 100644 --- a/ash/strings/ash_strings_vi.xtb +++ b/ash/strings/ash_strings_vi.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">LOẠI BỎ</translation> <translation id="15373452373711364">Con trỏ chuột lớn</translation> <translation id="1550523713251050646">Nhấp để xem các tùy chọn khác</translation> +<translation id="1608626060424371292">Xóa người dùng này</translation> <translation id="1621499497873603021">Thời gian còn lại cho đến khi pin hết, <ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">Rất tiếc, chúng tôi vẫn không thể xác minh được mật khẩu của bạn. Lưu ý: nếu gần đây bạn đã đổi mật khẩu thì mật khẩu mới của bạn sẽ được áp dụng sau khi bạn đăng xuất. Vui lòng sử dụng mật khẩu cũ của bạn tại đây.</translation> <translation id="1677472565718498478">Còn <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">Gửi</translation> <translation id="2675319268637823299">Quản trị viên không cho phép đăng nhập nhiều tài khoản đối với <ph name="USER_EMAIL" />. Tất cả người dùng phải đăng xuất để tiếp tục.</translation> -<translation id="2700058918926273959">Phiên sẽ kết thúc sau <ph name="SESSION_TIME_REMAINING" />. Bạn sẽ bị đăng xuất.</translation> <translation id="2727977024730340865">Được cắm vào bộ sạc công suất thấp. Việc sạc pin có thể không được đảm bảo.</translation> <translation id="2761704814324807722">Khay trạng thái, thời gian <ph name="TIME" />, <ph name="BATTERY" /></translation> <translation id="277257480934873581">Đang kết nối lại với <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">Bên dưới</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> +<translation id="3112378005171663295">Thu gọn</translation> <translation id="3126069444801937830">Khởi động lại để cập nhật</translation> <translation id="3147142846278915599">Trình khởi chạy (đang đồng bộ hóa ứng dụng...)</translation> <translation id="315116470104423982">Dữ liệu di động</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">Máy tính của bạn có thể phát hiện thiết bị Bluetooth gần đó và hiện thị dưới tên "<ph name="NAME" />" với địa chỉ là <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">Đang sạc <ph name="POWER_SOURCE" /></translation> <translation id="615957422585914272">Hiển thị bàn phím ảo</translation> +<translation id="6164005077879661055">Tất cả các tệp và dữ liệu trên máy được liên kết với người dùng được giám sát sẽ vĩnh viễn bị xóa khi người dùng được giám sát này bị xóa. Các trang web đã truy cập và các cài đặt của người dùng được giám sát này có thể vẫn hiển thị với người quản lý tại <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Tìm hiểu thêm</translation> <translation id="6267036997247669271"><ph name="NAME" />: Đang kích hoạt...</translation> <translation id="6284232397434400372">Đã thay đổi độ phân giải</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">Kích hoạt <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">Tham gia mạng khác...</translation> <translation id="6981982820502123353">Truy cập</translation> +<translation id="698231206551913481">Tất cả các tệp và dữ liệu cục bộ liên quan tới người dùng này sẽ bị xóa vĩnh viễn sau khi người dùng này bị xóa.</translation> <translation id="7029814467594812963">Thoát khỏi phiên</translation> <translation id="7034339000180558234">Đang truyền <ph name="TAB_NAME" /> tới <ph name="RECEIVER_NAME" /></translation> <translation id="7052914147756339792">Đặt hình nền...</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb index 21491b9..c6bc985 100644 --- a/ash/strings/ash_strings_zh-CN.xtb +++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">关闭</translation> <translation id="15373452373711364">大号鼠标光标</translation> <translation id="1550523713251050646">点击即可查看更多选项</translation> +<translation id="1608626060424371292">移除此用户</translation> <translation id="1621499497873603021">电池电量将在 <ph name="TIME_LEFT" />后耗尽</translation> <translation id="1658406695958299976">抱歉,系统仍然无法验证您的密码。注意:如果您最近更改了密码,新密码将在您退出后生效。目前请在此处输入旧密码。</translation> <translation id="1677472565718498478">电量尚余 <ph name="TIME" /></translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">提交</translation> <translation id="2675319268637823299">管理员已禁止 <ph name="USER_EMAIL" /> 使用多帐号登录功能。 所有用户都必须先退出帐号才能继续。</translation> -<translation id="2700058918926273959">会话将在<ph name="SESSION_TIME_REMAINING" />后结束,到时您将自动退出。</translation> <translation id="2727977024730340865">已插入低功率充电器;可能无法保证充电成功。</translation> <translation id="2761704814324807722">状态栏,时间为<ph name="TIME" />,<ph name="BATTERY" /></translation> <translation id="277257480934873581">正在重新连接到 <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3087734570205094154">底部</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(蓝牙)</translation> +<translation id="3112378005171663295">收起</translation> <translation id="3126069444801937830">重新启动以进行更新</translation> <translation id="3147142846278915599">启动器(正在同步应用…)</translation> <translation id="315116470104423982">移动数据</translation> @@ -210,6 +211,7 @@ <translation id="607652042414456612">附近的蓝牙设备可检测到您的计算机(名称将显示为“<ph name="NAME" />”,地址为<ph name="ADDRESS" />)</translation> <translation id="6106745654298855237">正在为“<ph name="POWER_SOURCE" />”充电</translation> <translation id="615957422585914272">显示屏幕键盘</translation> +<translation id="6164005077879661055">删除该受监管用户后,与其相关联的所有文件和本地数据都会被永久删除,但管理员仍可以在 <ph name="MANAGEMENT_URL" /> 上查看该用户的设置和访问过的网站。</translation> <translation id="6165508094623778733">了解详情</translation> <translation id="6267036997247669271"><ph name="NAME" />:正在激活…</translation> <translation id="6284232397434400372">分辨率已更改</translation> @@ -244,6 +246,7 @@ <translation id="6857811139397017780">激活 <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">连接其他网络...</translation> <translation id="6981982820502123353">无障碍</translation> +<translation id="698231206551913481">移除该用户后,与其关联的所有文件和本地数据都会被永久删除。</translation> <translation id="7029814467594812963">退出会话</translation> <translation id="7034339000180558234">正在将“<ph name="TAB_NAME" />”投射到“<ph name="RECEIVER_NAME" />”</translation> <translation id="7052914147756339792">设置壁纸...</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb index 4b77f25..85e24145 100644 --- a/ash/strings/ash_strings_zh-TW.xtb +++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -25,6 +25,7 @@ <translation id="1525508553941733066">關閉</translation> <translation id="15373452373711364">大型滑鼠游標</translation> <translation id="1550523713251050646">按一下即可查看更多選項</translation> +<translation id="1608626060424371292">移除這位使用者</translation> <translation id="1621499497873603021">電池剩餘使用時間:<ph name="TIME_LEFT" /></translation> <translation id="1658406695958299976">很抱歉,系統仍然無法驗證你的密碼。注意:如果你的密碼最近有所異動,新密碼會在你登出後立即生效,目前請在這裡使用舊密碼。</translation> <translation id="1677472565718498478"><ph name="TIME" /> 後用盡</translation> @@ -74,7 +75,6 @@ <translation id="2653659639078652383">提交</translation> <translation id="2675319268637823299">管理員已禁止 <ph name="USER_EMAIL" /> 的多重登入功能。 所有使用者都必須登出,才能繼續操作。</translation> -<translation id="2700058918926273959">這個工作階段將在 <ph name="SESSION_TIME_REMAINING" />後結束,屆時系統會將你登出。</translation> <translation id="2727977024730340865">使用低功率充電器,可能導致充電狀態不穩定。</translation> <translation id="2761704814324807722">狀態匣:時間 <ph name="TIME" />,<ph name="BATTERY" /></translation> <translation id="277257480934873581">正在重新連線至 <ph name="NAME" /></translation> @@ -97,6 +97,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3087734570205094154">置底</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (藍牙)</translation> +<translation id="3112378005171663295">收合</translation> <translation id="3126069444801937830">重新啟動即可更新</translation> <translation id="3147142846278915599">啟動器 (正在同步處理應用程式...)</translation> <translation id="315116470104423982">行動數據</translation> @@ -209,6 +210,7 @@ <translation id="607652042414456612">你的電腦已開放附近的藍牙裝置搜尋,顯示名稱為「<ph name="NAME" />」,位址則是 <ph name="ADDRESS" /></translation> <translation id="6106745654298855237">正在為「<ph name="POWER_SOURCE" />」充電</translation> <translation id="615957422585914272">顯示螢幕小鍵盤</translation> +<translation id="6164005077879661055">將這位受監管的使用者移除後,系統即會永久刪除所有與該使用者相關的檔案和本機資料。管理員仍可前往 <ph name="MANAGEMENT_URL" /> 查看這位受監管使用者的網頁瀏覽紀錄和設定。</translation> <translation id="6165508094623778733">瞭解詳情</translation> <translation id="6267036997247669271"><ph name="NAME" />:正在啟用...</translation> <translation id="6284232397434400372">解析度已變更</translation> @@ -243,6 +245,7 @@ <translation id="6857811139397017780">啟用 <ph name="NETWORKSERVICE" /></translation> <translation id="6911468394164995108">加入其他網路...</translation> <translation id="6981982820502123353">協助工具</translation> +<translation id="698231206551913481">將這位使用者移除後,與這位使用者相關聯的所有檔案和本機資料都會遭到永久刪除。</translation> <translation id="7029814467594812963">結束工作階段</translation> <translation id="7034339000180558234">正在將「<ph name="TAB_NAME" />」畫面投放到「<ph name="RECEIVER_NAME" />」</translation> <translation id="7052914147756339792">設定桌布...</translation>
diff --git a/ash/system/power/power_button_controller.cc b/ash/system/power/power_button_controller.cc index 3759954..b56c094 100644 --- a/ash/system/power/power_button_controller.cc +++ b/ash/system/power/power_button_controller.cc
@@ -177,6 +177,7 @@ if (menu_timer_was_running && !screen_off_when_power_button_down_ && force_off_on_button_up_) { display_controller_->SetBacklightsForcedOff(true); + LockScreenIfRequired(); } } } @@ -360,4 +361,15 @@ } } +void PowerButtonController::LockScreenIfRequired() { + const SessionController* session_controller = + Shell::Get()->session_controller(); + if (session_controller->ShouldLockScreenAutomatically() && + session_controller->CanLockScreen() && + !session_controller->IsUserSessionBlocked() && + !lock_state_controller_->LockRequested()) { + lock_state_controller_->LockWithoutAnimation(); + } +} + } // namespace ash
diff --git a/ash/system/power/power_button_controller.h b/ash/system/power/power_button_controller.h index 6f7cf8725..590af998 100644 --- a/ash/system/power/power_button_controller.h +++ b/ash/system/power/power_button_controller.h
@@ -148,6 +148,10 @@ // |turn_screen_off_for_tap_| and |screenshot_controller_|. void InitTabletPowerButtonMembers(); + // Locks the screen if the "Show lock screen when waking from sleep" pref is + // set and locking is possible. + void LockScreenIfRequired(); + // Are the power or lock buttons currently held? bool power_button_down_ = false; bool lock_button_down_ = false;
diff --git a/ash/system/power/power_button_controller_unittest.cc b/ash/system/power/power_button_controller_unittest.cc index dd9bed1..b301ea82 100644 --- a/ash/system/power/power_button_controller_unittest.cc +++ b/ash/system/power/power_button_controller_unittest.cc
@@ -59,6 +59,14 @@ } protected: + bool GetLockedState() { + // LockScreen is an async mojo call. + SessionController* const session_controller = + Shell::Get()->session_controller(); + session_controller->FlushMojoForTest(); + return session_controller->IsScreenLocked(); + } + bool GetGlobalTouchscreenEnabled() const { return Shell::Get()->touch_devices_controller()->GetTouchscreenEnabled( TouchscreenEnabledSource::GLOBAL); @@ -105,6 +113,34 @@ DISALLOW_COPY_AND_ASSIGN(PowerButtonControllerTest); }; +TEST_F(PowerButtonControllerTest, LockScreenIfRequired) { + Initialize(ButtonType::NORMAL, LoginStatus::USER); + SetShouldLockScreenAutomatically(true); + ASSERT_FALSE(GetLockedState()); + + // On User logged in status, power-button-press-release should lock screen if + // automatic screen-locking was requested. + PressPowerButton(); + ReleasePowerButton(); + EXPECT_TRUE(GetLockedState()); + + // On locked state, power-button-press-release should do nothing. + PressPowerButton(); + ReleasePowerButton(); + EXPECT_TRUE(GetLockedState()); + + // Unlock the sceen. + UnlockScreen(); + ASSERT_FALSE(GetLockedState()); + + // power-button-press-release should not lock the screen if automatic + // screen-locking wasn't requested. + SetShouldLockScreenAutomatically(false); + PressPowerButton(); + ReleasePowerButton(); + EXPECT_FALSE(GetLockedState()); +} + // Tests that tapping power button of a clamshell device. TEST_F(PowerButtonControllerTest, TappingPowerButtonOfClamshell) { // Should not turn the screen off when screen is on.
diff --git a/base/process/process_info_win.cc b/base/process/process_info_win.cc index a33216b..23e93e3 100644 --- a/base/process/process_info_win.cc +++ b/base/process/process_info_win.cc
@@ -5,6 +5,7 @@ #include "base/process/process_info.h" #include <windows.h> +#include <memory> #include "base/logging.h" #include "base/memory/ptr_util.h"
diff --git a/base/test/scoped_task_environment.cc b/base/test/scoped_task_environment.cc index cf9dfe8..7aeadcf5 100644 --- a/base/test/scoped_task_environment.cc +++ b/base/test/scoped_task_environment.cc
@@ -6,6 +6,7 @@ #include "base/bind_helpers.h" #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/synchronization/condition_variable.h"
diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc index 994333cb..c403990 100644 --- a/base/trace_event/memory_dump_manager.cc +++ b/base/trace_event/memory_dump_manager.cc
@@ -17,6 +17,7 @@ #include "base/debug/alias.h" #include "base/debug/stack_trace.h" #include "base/debug/thread_heap_usage_tracker.h" +#include "base/memory/ptr_util.h" #include "base/sequenced_task_runner.h" #include "base/strings/string_util.h" #include "base/third_party/dynamic_annotations/dynamic_annotations.h"
diff --git a/base/trace_event/memory_dump_manager_unittest.cc b/base/trace_event/memory_dump_manager_unittest.cc index 3a6b58e..025bd736 100644 --- a/base/trace_event/memory_dump_manager_unittest.cc +++ b/base/trace_event/memory_dump_manager_unittest.cc
@@ -16,6 +16,7 @@ #include "base/command_line.h" #include "base/debug/thread_heap_usage_tracker.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h" #include "base/synchronization/waitable_event.h"
diff --git a/base/trace_event/memory_infra_background_whitelist.cc b/base/trace_event/memory_infra_background_whitelist.cc index 24ce750..30c292c 100644 --- a/base/trace_event/memory_infra_background_whitelist.cc +++ b/base/trace_event/memory_infra_background_whitelist.cc
@@ -274,6 +274,7 @@ "sync/0x?/model_type/SYNCED_NOTIFICATION_APP_INFO", "sync/0x?/model_type/THEME", "sync/0x?/model_type/TYPED_URL", + "sync/0x?/model_type/USER_EVENT", "sync/0x?/model_type/WALLET_METADATA", "sync/0x?/model_type/WIFI_CREDENTIAL", "tab_restore/service_helper_0x?/entries",
diff --git a/build/android/gyp/generate_split_manifest.py b/build/android/gyp/generate_split_manifest.py deleted file mode 100755 index daa8f67..0000000 --- a/build/android/gyp/generate_split_manifest.py +++ /dev/null
@@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 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. -"""Creates an AndroidManifest.xml for an APK split. - -Given the manifest file for the main APK, generates an AndroidManifest.xml with -the value required for a Split APK (package, versionCode, etc). -""" - -import optparse -import xml.etree.ElementTree - -from util import build_utils - -MANIFEST_TEMPLATE = """<?xml version="1.0" encoding="utf-8"?> -<manifest - xmlns:android="http://schemas.android.com/apk/res/android" - package="%(package)s" - split="%(split)s"> - <uses-sdk android:minSdkVersion="21" /> - <application android:hasCode="%(has_code)s"> - </application> -</manifest> -""" - -def ParseArgs(): - """Parses command line options. - - Returns: - An options object as from optparse.OptionsParser.parse_args() - """ - parser = optparse.OptionParser() - build_utils.AddDepfileOption(parser) - parser.add_option('--main-manifest', help='The main manifest of the app') - parser.add_option('--out-manifest', help='The output manifest') - parser.add_option('--split', help='The name of the split') - parser.add_option( - '--has-code', - action='store_true', - default=False, - help='Whether the split will contain a .dex file') - - (options, args) = parser.parse_args() - - if args: - parser.error('No positional arguments should be given.') - - # Check that required options have been provided. - required_options = ('main_manifest', 'out_manifest', 'split') - build_utils.CheckOptions(options, parser, required=required_options) - - return options - - -def Build(main_manifest, split, has_code): - """Builds a split manifest based on the manifest of the main APK. - - Args: - main_manifest: the XML manifest of the main APK as a string - split: the name of the split as a string - has_code: whether this split APK will contain .dex files - - Returns: - The XML split manifest as a string - """ - - doc = xml.etree.ElementTree.fromstring(main_manifest) - package = doc.get('package') - - return MANIFEST_TEMPLATE % { - 'package': package, - 'split': split.replace('-', '_'), - 'has_code': str(has_code).lower() - } - - -def main(): - options = ParseArgs() - main_manifest = file(options.main_manifest).read() - split_manifest = Build( - main_manifest, - options.split, - options.has_code) - - with file(options.out_manifest, 'w') as f: - f.write(split_manifest) - - if options.depfile: - deps = [options.main_manifest] - build_utils.WriteDepfile(options.depfile, options.out_manifest, deps) - - -if __name__ == '__main__': - main()
diff --git a/build/android/gyp/process_resources.py b/build/android/gyp/process_resources.py index de4150a..22036a2b 100755 --- a/build/android/gyp/process_resources.py +++ b/build/android/gyp/process_resources.py
@@ -59,54 +59,6 @@ 'zh-TW': 'zh-rTW', } -# List is generated from the chrome_apk.apk_intermediates.ap_ via: -# unzip -l $FILE_AP_ | cut -c31- | grep res/draw | cut -d'/' -f 2 | sort \ -# | uniq | grep -- -tvdpi- | cut -c10- -# and then manually sorted. -# Note that we can't just do a cross-product of dimensions because the filenames -# become too big and aapt fails to create the files. -# This leaves all default drawables (mdpi) in the main apk. Android gets upset -# though if any drawables are missing from the default drawables/ directory. -_DENSITY_SPLITS = { - 'hdpi': ( - 'hdpi-v4', # Order matters for output file names. - 'ldrtl-hdpi-v4', - 'sw600dp-hdpi-v13', - 'ldrtl-hdpi-v17', - 'ldrtl-sw600dp-hdpi-v17', - 'hdpi-v21', - ), - 'xhdpi': ( - 'xhdpi-v4', - 'ldrtl-xhdpi-v4', - 'sw600dp-xhdpi-v13', - 'ldrtl-xhdpi-v17', - 'ldrtl-sw600dp-xhdpi-v17', - 'xhdpi-v21', - ), - 'xxhdpi': ( - 'xxhdpi-v4', - 'ldrtl-xxhdpi-v4', - 'sw600dp-xxhdpi-v13', - 'ldrtl-xxhdpi-v17', - 'ldrtl-sw600dp-xxhdpi-v17', - 'xxhdpi-v21', - ), - 'xxxhdpi': ( - 'xxxhdpi-v4', - 'ldrtl-xxxhdpi-v4', - 'sw600dp-xxxhdpi-v13', - 'ldrtl-xxxhdpi-v17', - 'ldrtl-sw600dp-xxxhdpi-v17', - 'xxxhdpi-v21', - ), - 'tvdpi': ( - 'tvdpi-v4', - 'sw600dp-tvdpi-v13', - 'ldrtl-sw600dp-tvdpi-v17', - ), -} - # Pngs that we shouldn't convert to webp. Please add rationale when updating. _PNG_WEBP_BLACKLIST_PATTERN = re.compile('|'.join([ # Crashes on Galaxy S5 running L (https://crbug.com/807059). @@ -215,13 +167,6 @@ parser.add_option('--version-name', help='Version name for apk.') parser.add_option('--no-compress', help='disables compression for the ' 'given comma separated list of extensions') - parser.add_option( - '--create-density-splits', - action='store_true', - help='Enables density splits') - parser.add_option('--language-splits', - default='[]', - help='GN list of languages to create splits for') parser.add_option('--locale-whitelist', default='[]', help='GN list of languages to include. All other language ' @@ -261,7 +206,6 @@ options.dependencies_res_zips = ( build_utils.ParseGnList(options.dependencies_res_zips)) - options.language_splits = build_utils.ParseGnList(options.language_splits) options.locale_whitelist = build_utils.ParseGnList(options.locale_whitelist) options.xxxhdpi_whitelist = build_utils.ParseGnList(options.xxxhdpi_whitelist) @@ -556,41 +500,6 @@ shutil.move(src_file, dst_file) -def _GenerateDensitySplitPaths(apk_path): - for density, config in _DENSITY_SPLITS.iteritems(): - src_path = '%s_%s' % (apk_path, '_'.join(config)) - dst_path = '%s_%s' % (apk_path, density) - yield src_path, dst_path - - -def _GenerateLanguageSplitOutputPaths(apk_path, languages): - for lang in languages: - yield '%s_%s' % (apk_path, lang) - - -def _RenameDensitySplits(apk_path): - """Renames all density splits to have shorter / predictable names.""" - for src_path, dst_path in _GenerateDensitySplitPaths(apk_path): - shutil.move(src_path, dst_path) - - -def _CheckForMissedConfigs(apk_path, check_density, languages): - """Raises an exception if apk_path contains any unexpected configs.""" - triggers = [] - if check_density: - triggers.extend(re.compile('-%s' % density) for density in _DENSITY_SPLITS) - if languages: - triggers.extend(re.compile(r'-%s\b' % lang) for lang in languages) - with zipfile.ZipFile(apk_path) as main_apk_zip: - for name in main_apk_zip.namelist(): - for trigger in triggers: - if trigger.search(name) and not 'mipmap-' in name: - raise Exception(('Found config in main apk that should have been ' + - 'put into a split: %s\nYou need to update ' + - 'package_resources.py to include this new ' + - 'config (trigger=%s)') % (name, trigger.pattern)) - - def _CreateLinkApkArgs(options): link_command = [ options.aapt_path + '2', @@ -615,14 +524,6 @@ if options.shared_resources: link_command.append('--shared-lib') - if options.create_density_splits: - for config in _DENSITY_SPLITS.itervalues(): - link_command.extend(('--split', ','.join(config))) - - if options.language_splits: - for lang in options.language_splits: - link_command.extend(('--split', lang)) - if options.locale_whitelist: aapt_locales = _ToAaptLocales( options.locale_whitelist, options.support_zh_hk) @@ -778,13 +679,6 @@ build_utils.CheckOutput( link_command, print_stdout=False, print_stderr=False) - if options.create_density_splits or options.language_splits: - _CheckForMissedConfigs(options.apk_path, options.create_density_splits, - options.language_splits) - - if options.create_density_splits: - _RenameDensitySplits(options.apk_path) - # _PackageLibrary uses aapt rather than aapt2 because aapt2 compile does not # support outputting an R.txt file. @@ -924,14 +818,6 @@ ] output_paths = [x for x in possible_output_paths if x] - if options.apk_path and options.create_density_splits: - for _, dst_path in _GenerateDensitySplitPaths(options.apk_path): - output_paths.append(dst_path) - if options.apk_path and options.language_splits: - output_paths.extend( - _GenerateLanguageSplitOutputPaths(options.apk_path, - options.language_splits)) - # List python deps in input_strings rather than input_paths since the contents # of them does not change what gets written to the depsfile. input_strings = options.extra_res_packages + [
diff --git a/build/check_gn_headers_whitelist.txt b/build/check_gn_headers_whitelist.txt index e17b0a3..c66acfc0 100644 --- a/build/check_gn_headers_whitelist.txt +++ b/build/check_gn_headers_whitelist.txt
@@ -41,6 +41,7 @@ chrome/browser/chromeos/certificate_provider/pin_dialog_manager.h chrome/browser/chromeos/certificate_provider/sign_requests.h chrome/browser/chromeos/certificate_provider/thread_safe_certificate_map.h +chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h chrome/browser/chromeos/login/signin/oauth2_login_manager.h chrome/browser/chromeos/login/signin/oauth2_login_verifier.h chrome/browser/chromeos/login/signin/oauth2_token_fetcher.h @@ -62,7 +63,6 @@ chrome/browser/permissions/permission_queue_controller.h chrome/browser/prefs/active_profile_pref_service.h chrome/browser/rlz/chrome_rlz_tracker_delegate.h -chrome/browser/signin/easy_unlock_service_observer.h chrome/browser/ui/android/content_settings/subresource_filter_infobar_delegate.h chrome/browser/ui/app_icon_loader_delegate.h chrome/browser/ui/app_list/app_list_syncable_service_factory.h
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index 365ec895..81c502bd 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni
@@ -1652,18 +1652,6 @@ ] } - if (defined(invoker.density_splits) && invoker.density_splits != []) { - args += [ "--create-density-splits" ] - foreach(_density, invoker.density_splits) { - outputs += [ "${invoker.output}_${_density}" ] - } - } - if (defined(invoker.language_splits) && invoker.language_splits != []) { - args += [ "--language-splits=${invoker.language_splits}" ] - foreach(_language, invoker.language_splits) { - outputs += [ "${invoker.output}_${_language}" ] - } - } if (defined(invoker.aapt_locale_whitelist)) { args += [ "--locale-whitelist=${invoker.aapt_locale_whitelist}" ] } @@ -1928,6 +1916,7 @@ _dex_path = invoker.dex_path } _load_library_from_apk = invoker.load_library_from_apk + assert(_load_library_from_apk || true) _deps = [] if (defined(invoker.deps)) { @@ -2069,8 +2058,7 @@ packaged_resources_path = _incremental_packaged_resources_path } - _finalize_apk_rule_name = "${target_name}__finalize" - finalize_apk(_finalize_apk_rule_name) { + finalize_apk(target_name) { input_apk_path = _packaged_apk_path output_apk_path = _final_apk_path keystore_path = _keystore_path @@ -2083,8 +2071,7 @@ ] } - _incremental_finalize_apk_rule_name = "${target_name}_incremental__finalize" - finalize_apk(_incremental_finalize_apk_rule_name) { + finalize_apk("${target_name}_incremental") { input_apk_path = _incremental_packaged_apk_path output_apk_path = _incremental_final_apk_path keystore_path = _keystore_path @@ -2095,48 +2082,6 @@ ":$_incremental_package_target", ] } - - _split_deps = [] - - template("finalize_split") { - finalize_apk(target_name) { - _config = invoker.split_config - _type = invoker.split_type - input_apk_path = "${_packaged_resources_path}_${_config}" - _output_paths = process_file_template( - [ _final_apk_path ], - "{{source_dir}}/{{source_name_part}}-${_type}-${_config}.apk") - output_apk_path = _output_paths[0] - keystore_path = _keystore_path - keystore_name = _keystore_name - keystore_password = _keystore_password - deps = _deps - } - } - - foreach(_split, invoker.density_splits) { - _split_rule = "${target_name}__finalize_${_split}_split" - finalize_split(_split_rule) { - split_type = "density" - split_config = _split - } - _split_deps += [ ":$_split_rule" ] - } - foreach(_split, invoker.language_splits) { - _split_rule = "${target_name}__finalize_${_split}_split" - finalize_split(_split_rule) { - split_type = "lang" - split_config = _split - } - _split_deps += [ ":$_split_rule" ] - } - - group(target_name) { - public_deps = [ ":${_finalize_apk_rule_name}" ] + _split_deps - } - group("${target_name}_incremental") { - public_deps = [ ":${_incremental_finalize_apk_rule_name}" ] + _split_deps - } } template("compile_java") { @@ -2693,60 +2638,6 @@ } } - # Creates an AndroidManifest.xml for an APK split. - template("generate_split_manifest") { - assert(defined(invoker.main_manifest)) - assert(defined(invoker.out_manifest)) - assert(defined(invoker.split_name)) - - action(target_name) { - forward_variables_from(invoker, - [ - "deps", - "testonly", - ]) - depfile = "$target_gen_dir/$target_name.d" - args = [ - "--main-manifest", - rebase_path(invoker.main_manifest, root_build_dir), - "--out-manifest", - rebase_path(invoker.out_manifest, root_build_dir), - "--split", - invoker.split_name, - ] - if (defined(invoker.version_code)) { - args += [ - "--version-code", - invoker.version_code, - ] - } - if (defined(invoker.version_name)) { - args += [ - "--version-name", - invoker.version_name, - ] - } - if (defined(invoker.has_code)) { - args += [ - "--has-code", - invoker.has_code, - ] - } - args += [ - "--depfile", - rebase_path(depfile, root_build_dir), - ] - - script = "//build/android/gyp/generate_split_manifest.py" - outputs = [ - invoker.out_manifest, - ] - inputs = [ - invoker.main_manifest, - ] - } - } - template("pack_relocation_section") { assert(defined(invoker.file_list_json)) assert(defined(invoker.libraries_filearg))
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index ecaacaf..c06c164 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -1982,37 +1982,12 @@ } _rebased_build_config = rebase_path(_build_config, root_build_dir) - _create_abi_split = - defined(invoker.create_abi_split) && invoker.create_abi_split - _create_density_splits = - defined(invoker.create_density_splits) && invoker.create_density_splits - _create_language_splits = - defined(invoker.language_splits) && invoker.language_splits != [] - - _density_splits = [] - if (_create_density_splits) { - _density_splits = [ - "hdpi", - "xhdpi", - "xxhdpi", - "xxxhdpi", - "tvdpi", - ] - } - - _language_splits = [] - if (_create_language_splits) { - _language_splits = invoker.language_splits - } _generate_buildconfig_java = !defined(invoker.apk_under_test) if (defined(invoker.generate_buildconfig_java)) { _generate_buildconfig_java = invoker.generate_buildconfig_java } - # Help GN understand that _create_abi_split is not unused (bug in GN). - assert(_create_abi_split || true) - _proguard_enabled = defined(invoker.proguard_enabled) && invoker.proguard_enabled if (_proguard_enabled) { @@ -2067,8 +2042,6 @@ proguard_file_main_dex = _generated_proguard_main_dex_config } output = _packaged_resources_path - density_splits = _density_splits - language_splits = _language_splits build_config = _build_config deps = _deps + [ @@ -2432,8 +2405,6 @@ "write_asset_list", ]) packaged_resources_path = _packaged_resources_path - density_splits = _density_splits - language_splits = _language_splits apk_path = _final_apk_path android_manifest = _android_manifest assets_build_config = _build_config @@ -2463,9 +2434,8 @@ ":$_process_resources_target", ] - if ((_native_libs_deps != [] || - _extra_native_libs_even_when_incremental != []) && - !_create_abi_split) { + if (_native_libs_deps != [] || + _extra_native_libs_even_when_incremental != []) { deps += _native_libs_deps + _extra_native_libs_deps + [ _native_libs_file_arg_dep ] native_libs_filearg = _native_libs_file_arg @@ -2474,7 +2444,7 @@ _extra_native_libs_even_when_incremental } - if (_secondary_abi_native_libs_deps != [] && !_create_abi_split) { + if (_secondary_abi_native_libs_deps != []) { deps += _secondary_abi_native_libs_deps + [ _secondary_abi_native_libs_file_arg_dep ] secondary_abi_native_libs_filearg = _secondary_abi_native_libs_file_arg @@ -2485,61 +2455,6 @@ forward_variables_from(invoker, [ "native_lib_placeholders" ]) } - if ((_native_libs_deps != [] || - _extra_native_libs_even_when_incremental != []) && _create_abi_split) { - _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}" - _final_deps += [ ":$_apk_rule" ] - _split_manifest_path = - "$_gen_dir/splits/${android_app_abi}/AndroidManifest.xml" - _split_packaged_resources_path = "$_gen_dir/splits/${android_app_abi}.ap_" - - generate_split_manifest("${_apk_rule}__generate_manifest") { - main_manifest = _android_manifest - out_manifest = _split_manifest_path - split_name = "abi_${android_app_abi}" - deps = [ - ":$_merge_manifest_target", - ] - } - - process_resources("${_apk_rule}__process_resources") { - deps = [ - ":${_apk_rule}__generate_manifest", - ] - android_manifest = _split_manifest_path - version_code = _version_code - version_name = _version_name - output = _split_packaged_resources_path - } - create_apk(_apk_rule) { - apk_path = "${_final_apk_path_no_ext}-abi-${android_app_abi}.apk" - base_path = "$_gen_dir/$_apk_rule" - - android_manifest = _split_manifest_path - load_library_from_apk = _load_library_from_apk - packaged_resources_path = _split_packaged_resources_path - - keystore_name = _keystore_name - keystore_path = _keystore_path - keystore_password = _keystore_password - - forward_variables_from(invoker, - [ - "alternative_android_sdk_jar", - "native_lib_placeholders", - "public_deps", - ]) - - incremental_deps = _deps + [ ":$_split_manifest_rule" ] - deps = incremental_deps + _native_libs_deps + _extra_native_libs_deps + - [ _native_libs_file_arg_dep ] - native_libs_filearg = _native_libs_file_arg - native_libs = _extra_native_libs - native_libs_even_when_incremental = - _extra_native_libs_even_when_incremental - } - } - _write_installer_json_rule_name = "${_template_name}__incremental_json" action(_write_installer_json_rule_name) { script = "//build/android/incremental_install/write_installer_json.py" @@ -2578,12 +2493,6 @@ rebase_path(_extra_native_libs, root_build_dir) args += [ "--native-libs=$_rebased_extra_native_libs" ] } - if (_create_density_splits) { - args += [ "--split=${_rebased_apk_path_no_ext}-density-*.apk" ] - } - if (_create_language_splits) { - args += [ "--split=${_rebased_apk_path_no_ext}-language-*.apk" ] - } if (_load_library_from_apk) { args += [ "--dont-even-try=Incremental builds do not work with load_library_from_apk. Try setting is_component_build=true in your GN args." ] }
diff --git a/cc/animation/animation_host.cc b/cc/animation/animation_host.cc index 2fb7199..0b17d50 100644 --- a/cc/animation/animation_host.cc +++ b/cc/animation/animation_host.cc
@@ -9,6 +9,7 @@ #include "base/callback.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event_argument.h" #include "cc/animation/animation.h"
diff --git a/cc/animation/worklet_animation_unittest.cc b/cc/animation/worklet_animation_unittest.cc index 36e65fc..ef89d6f 100644 --- a/cc/animation/worklet_animation_unittest.cc +++ b/cc/animation/worklet_animation_unittest.cc
@@ -4,6 +4,7 @@ #include "cc/animation/worklet_animation.h" +#include "base/memory/ptr_util.h" #include "cc/animation/scroll_timeline.h" #include "cc/test/animation_test_common.h" #include "cc/test/animation_timelines_test_common.h"
diff --git a/cc/paint/oop_pixeltest.cc b/cc/paint/oop_pixeltest.cc index efdb550..4cc9195 100644 --- a/cc/paint/oop_pixeltest.cc +++ b/cc/paint/oop_pixeltest.cc
@@ -10,9 +10,12 @@ #include "cc/base/region.h" #include "cc/layers/recording_source.h" #include "cc/paint/display_item_list.h" +#include "cc/paint/paint_image_builder.h" +#include "cc/raster/playback_image_provider.h" #include "cc/raster/raster_source.h" #include "cc/test/pixel_test_utils.h" #include "cc/test/test_in_process_context_provider.h" +#include "cc/tiles/gpu_image_decode_cache.h" #include "gpu/command_buffer/client/gles2_implementation.h" #include "gpu/command_buffer/client/gles2_interface.h" #include "gpu/command_buffer/client/raster_implementation_gles.h" @@ -44,22 +47,6 @@ return display_item_list; } -class NoOpImageProvider : public ImageProvider { - public: - ~NoOpImageProvider() override = default; - - ScopedDecodedDrawImage GetDecodedDrawImage( - const DrawImage& draw_image) override { - SkBitmap bitmap; - bitmap.allocPixelsFlags(SkImageInfo::MakeN32Premul(10, 10), - SkBitmap::kZeroPixels_AllocFlag); - sk_sp<SkImage> image = SkImage::MakeFromBitmap(bitmap); - return ScopedDecodedDrawImage(DecodedDrawImage(image, SkSize::Make(10, 10), - SkSize::Make(1, 1), - kLow_SkFilterQuality, true)); - } -}; - class OopPixelTest : public testing::Test { public: void SetUp() override { @@ -72,50 +59,26 @@ switches::kEnableOOPRasterization); } - // Setup a GL context for reading back pixels. - bool is_offscreen = true; - gpu::ContextCreationAttribs attribs; - attribs.alpha_size = -1; - attribs.depth_size = 24; - attribs.stencil_size = 8; - attribs.samples = 0; - attribs.sample_buffers = 0; - attribs.fail_if_major_perf_caveat = false; - attribs.bind_generates_resource = false; - - context_ = gpu::GLInProcessContext::CreateWithoutInit(); - auto result = context_->Initialize( - nullptr, nullptr, is_offscreen, gpu::kNullSurfaceHandle, nullptr, - attribs, gpu::SharedMemoryLimits(), &gpu_memory_buffer_manager_, - &image_factory_, nullptr, base::ThreadTaskRunnerHandle::Get()); - - ASSERT_EQ(result, gpu::ContextResult::kSuccess); - - // Setup a second context with OOP rasterization enabled and a - // RasterInterface on top of it. - attribs.enable_oop_rasterization = true; - - raster_context_ = gpu::GLInProcessContext::CreateWithoutInit(); - result = raster_context_->Initialize( - nullptr, nullptr, is_offscreen, gpu::kNullSurfaceHandle, nullptr, - attribs, gpu::SharedMemoryLimits(), &gpu_memory_buffer_manager_, - &image_factory_, nullptr, base::ThreadTaskRunnerHandle::Get()); - ASSERT_EQ(result, gpu::ContextResult::kSuccess); - ASSERT_TRUE(raster_context_->GetCapabilities().supports_oop_raster); - raster_implementation_ = - std::make_unique<gpu::raster::RasterImplementationGLES>( - raster_context_->GetImplementation(), - raster_context_->GetImplementation(), - raster_context_->GetCapabilities()); + context_provider_ = + base::MakeRefCounted<TestInProcessContextProvider>(nullptr, true); + oop_image_cache_.reset(new GpuImageDecodeCache(context_provider_.get(), + true, kRGBA_8888_SkColorType, + kWorkingSetSize)); + gpu_image_cache_.reset( + new GpuImageDecodeCache(context_provider_.get(), false, + kRGBA_8888_SkColorType, kWorkingSetSize)); } - void TearDown() override { - raster_implementation_.reset(); - raster_context_.reset(); - context_.reset(); - } + class RasterOptions { + public: + RasterOptions() = default; + explicit RasterOptions(const gfx::Size& playback_size) { + resource_size = playback_size; + content_size = resource_size; + full_raster_rect = gfx::Rect(playback_size); + playback_rect = gfx::Rect(playback_size); + } - struct RasterOptions { SkColor background_color = SK_ColorBLACK; int msaa_sample_count = 0; bool use_lcd_text = false; @@ -131,66 +94,71 @@ bool requires_clear = false; bool preclear = false; SkColor preclear_color; + ImageDecodeCache* image_cache = nullptr; }; SkBitmap Raster(scoped_refptr<DisplayItemList> display_item_list, const gfx::Size& playback_size) { - RasterOptions options; - options.resource_size = playback_size; - options.content_size = options.resource_size; - options.full_raster_rect = gfx::Rect(playback_size); - options.playback_rect = gfx::Rect(playback_size); + RasterOptions options(playback_size); return Raster(display_item_list, options); } SkBitmap Raster(scoped_refptr<DisplayItemList> display_item_list, const RasterOptions& options) { - gpu::gles2::GLES2Interface* gl = context_->GetImplementation(); + TestInProcessContextProvider::ScopedRasterContextLock lock( + context_provider_.get()); + + PlaybackImageProvider image_provider(oop_image_cache_.get(), + options.color_space, + PlaybackImageProvider::Settings()); + + gpu::gles2::GLES2Interface* gl = context_provider_->ContextGL(); int width = options.resource_size.width(); int height = options.resource_size.height(); // Create and allocate a texture on the raster interface. GLuint raster_texture_id; - raster_texture_id = raster_implementation_->CreateTexture( + auto* raster_implementation = context_provider_->RasterInterface(); + raster_texture_id = raster_implementation->CreateTexture( false, gfx::BufferUsage::GPU_READ, viz::ResourceFormat::RGBA_8888); - raster_implementation_->TexStorage2D(raster_texture_id, 1, width, height); - raster_implementation_->TexParameteri(raster_texture_id, - GL_TEXTURE_MIN_FILTER, GL_LINEAR); + raster_implementation->TexStorage2D(raster_texture_id, 1, width, height); + raster_implementation->TexParameteri(raster_texture_id, + GL_TEXTURE_MIN_FILTER, GL_LINEAR); - EXPECT_EQ(raster_implementation_->GetError(), + EXPECT_EQ(raster_implementation->GetError(), static_cast<unsigned>(GL_NO_ERROR)); RasterColorSpace color_space(options.color_space, ++color_space_id_); if (options.preclear) { - raster_implementation_->BeginRasterCHROMIUM( + raster_implementation->BeginRasterCHROMIUM( raster_texture_id, options.preclear_color, options.msaa_sample_count, options.use_lcd_text, options.use_distance_field_text, options.color_type, color_space); - raster_implementation_->EndRasterCHROMIUM(); + raster_implementation->EndRasterCHROMIUM(); } // "Out of process" raster! \o/ - raster_implementation_->BeginRasterCHROMIUM( + raster_implementation->BeginRasterCHROMIUM( raster_texture_id, options.background_color, options.msaa_sample_count, options.use_lcd_text, options.use_distance_field_text, options.color_type, color_space); - raster_implementation_->RasterCHROMIUM( - display_item_list.get(), &image_provider_, options.content_size, + raster_implementation->RasterCHROMIUM( + display_item_list.get(), &image_provider, options.content_size, options.full_raster_rect, options.playback_rect, options.post_translate, options.post_scale, options.requires_clear); - raster_implementation_->EndRasterCHROMIUM(); + raster_implementation->EndRasterCHROMIUM(); // Produce a mailbox and insert an ordering barrier (assumes the raster // interface and gl are on the same scheduling group). gpu::Mailbox mailbox; - raster_implementation_->GenMailbox(mailbox.name); - raster_implementation_->ProduceTextureDirect(raster_texture_id, - mailbox.name); - raster_implementation_->OrderingBarrierCHROMIUM(); + raster_implementation->GenMailbox(mailbox.name); + raster_implementation->ProduceTextureDirect(raster_texture_id, + mailbox.name); + raster_implementation->OrderingBarrierCHROMIUM(); - EXPECT_EQ(raster_implementation_->GetError(), + EXPECT_EQ(raster_implementation->GetError(), static_cast<unsigned>(GL_NO_ERROR)); // Import the texture in gl, create an fbo and bind the texture to it. @@ -210,7 +178,7 @@ gl->DeleteFramebuffers(1, &fbo_id); gl->OrderingBarrierCHROMIUM(); - raster_implementation_->DeleteTextures(1, &raster_texture_id); + raster_implementation->DeleteTextures(1, &raster_texture_id); // Swizzle rgba->bgra if needed. std::vector<SkPMColor> colors; @@ -236,16 +204,17 @@ SkBitmap RasterExpectedBitmap( scoped_refptr<DisplayItemList> display_item_list, const gfx::Size& playback_size) { - RasterOptions options; - options.resource_size = playback_size; - options.full_raster_rect = gfx::Rect(playback_size); - options.playback_rect = gfx::Rect(playback_size); + RasterOptions options(playback_size); return RasterExpectedBitmap(display_item_list, options); } SkBitmap RasterExpectedBitmap( scoped_refptr<DisplayItemList> display_item_list, const RasterOptions& options) { + TestInProcessContextProvider::ScopedRasterContextLock lock( + context_provider_.get()); + context_provider_->GrContext()->resetContext(); + // Generate bitmap via the "in process" raster path. This verifies // that the preamble setup in RasterSource::PlaybackToCanvas matches // the same setup done in GLES2Implementation::RasterCHROMIUM. @@ -259,10 +228,14 @@ layer_rect); recording.SetRequiresClear(options.requires_clear); + PlaybackImageProvider image_provider(gpu_image_cache_.get(), + options.color_space, + PlaybackImageProvider::Settings()); + auto raster_source = recording.CreateRasterSource(); RasterSource::PlaybackSettings settings; settings.use_lcd_text = options.use_lcd_text; - // TODO(enne): add a fake image provider here. + settings.image_provider = &image_provider; uint32_t flags = options.use_distance_field_text ? SkSurfaceProps::kUseDistanceFieldFonts_Flag @@ -272,18 +245,9 @@ surface_props = SkSurfaceProps(flags, SkSurfaceProps::kLegacyFontHost_InitType); } - gpu::Capabilities capabilities; - gpu::gles2::GLES2Interface* gl = context_->GetImplementation(); - size_t max_resource_cache_bytes; - size_t max_glyph_cache_texture_bytes; - skia_bindings::GrContextForGLES2Interface::DefaultCacheLimitsForTests( - &max_resource_cache_bytes, &max_glyph_cache_texture_bytes); - skia_bindings::GrContextForGLES2Interface scoped_grcontext( - gl, capabilities, max_resource_cache_bytes, - max_glyph_cache_texture_bytes); SkImageInfo image_info = SkImageInfo::MakeN32Premul( options.resource_size.width(), options.resource_size.height()); - auto surface = SkSurface::MakeRenderTarget(scoped_grcontext.get(), + auto surface = SkSurface::MakeRenderTarget(context_provider_->GrContext(), SkBudgeted::kYes, image_info); SkCanvas* canvas = surface->getCanvas(); if (options.preclear) @@ -299,7 +263,8 @@ options.full_raster_rect, options.playback_rect, raster_transform, settings); surface->prepareForExternalIO(); - EXPECT_EQ(gl->GetError(), static_cast<unsigned>(GL_NO_ERROR)); + EXPECT_EQ(context_provider_->ContextGL()->GetError(), + static_cast<unsigned>(GL_NO_ERROR)); SkBitmap bitmap; SkImageInfo info = SkImageInfo::Make( @@ -308,7 +273,8 @@ bitmap.allocPixels(info, options.resource_size.width() * 4); bool success = surface->readPixels(bitmap, 0, 0); CHECK(success); - EXPECT_EQ(gl->GetError(), static_cast<unsigned>(GL_NO_ERROR)); + EXPECT_EQ(context_provider_->ContextGL()->GetError(), + static_cast<unsigned>(GL_NO_ERROR)); return bitmap; } @@ -329,14 +295,13 @@ } } - private: - viz::TestGpuMemoryBufferManager gpu_memory_buffer_manager_; - TestImageFactory image_factory_; - std::unique_ptr<gpu::GLInProcessContext> context_; - std::unique_ptr<gpu::GLInProcessContext> raster_context_; - std::unique_ptr<gpu::raster::RasterImplementationGLES> raster_implementation_; + protected: + enum { kWorkingSetSize = 64 * 1024 * 1024 }; + scoped_refptr<TestInProcessContextProvider> context_provider_; + std::unique_ptr<GpuImageDecodeCache> gpu_image_cache_; + std::unique_ptr<GpuImageDecodeCache> oop_image_cache_; gl::DisableNullDrawGLBindings enable_pixel_output_; - NoOpImageProvider image_provider_; + std::unique_ptr<ImageProvider> image_provider_; int color_space_id_ = 0; }; @@ -403,6 +368,39 @@ ExpectEquals(actual, expected); } +TEST_F(OopPixelTest, DrawImage) { + gfx::Rect rect(10, 10); + + SkBitmap bitmap; + bitmap.allocPixelsFlags( + SkImageInfo::MakeN32Premul(rect.width(), rect.height()), + SkBitmap::kZeroPixels_AllocFlag); + + SkCanvas canvas(bitmap); + canvas.drawColor(SK_ColorMAGENTA); + SkPaint green; + green.setColor(SK_ColorGREEN); + canvas.drawRect(SkRect::MakeXYWH(1, 2, 3, 4), green); + + sk_sp<SkImage> image = SkImage::MakeFromBitmap(bitmap); + const PaintImage::Id kSomeId = 32; + auto builder = + PaintImageBuilder::WithDefault().set_image(image, 0).set_id(kSomeId); + auto paint_image = builder.TakePaintImage(); + + auto display_item_list = base::MakeRefCounted<DisplayItemList>(); + display_item_list->StartPaint(); + display_item_list->push<DrawImageOp>(paint_image, 0.f, 0.f, nullptr); + display_item_list->EndPaintOfUnpaired(rect); + display_item_list->Finalize(); + + auto actual = Raster(display_item_list, rect.size()); + ExpectEquals(actual, bitmap); + + auto expected = RasterExpectedBitmap(display_item_list, rect.size()); + ExpectEquals(expected, bitmap); +} + TEST_F(OopPixelTest, Preclear) { gfx::Rect rect(10, 10); auto display_item_list = base::MakeRefCounted<DisplayItemList>();
diff --git a/cc/test/layer_tree_pixel_test.cc b/cc/test/layer_tree_pixel_test.cc index e246ede7..c0a31254 100644 --- a/cc/test/layer_tree_pixel_test.cc +++ b/cc/test/layer_tree_pixel_test.cc
@@ -46,9 +46,10 @@ scoped_refptr<TestInProcessContextProvider> compositor_context_provider; scoped_refptr<TestInProcessContextProvider> worker_context_provider; if (test_type_ == PIXEL_TEST_GL) { - compositor_context_provider = new TestInProcessContextProvider(nullptr); - worker_context_provider = - new TestInProcessContextProvider(compositor_context_provider.get()); + compositor_context_provider = + new TestInProcessContextProvider(nullptr, false); + worker_context_provider = new TestInProcessContextProvider( + compositor_context_provider.get(), false); } constexpr bool disable_display_vsync = false; bool synchronous_composite = @@ -78,7 +79,7 @@ // mimic texture transport from the renderer process to the Display // compositor. auto display_context_provider = - base::MakeRefCounted<TestInProcessContextProvider>(nullptr); + base::MakeRefCounted<TestInProcessContextProvider>(nullptr, false); display_context_provider->BindToCurrentThread(); bool flipped_output_surface = false;
diff --git a/cc/test/pixel_test.cc b/cc/test/pixel_test.cc index 44f6581..86d59d24 100644 --- a/cc/test/pixel_test.cc +++ b/cc/test/pixel_test.cc
@@ -163,7 +163,7 @@ enable_pixel_output_ = std::make_unique<gl::DisableNullDrawGLBindings>(); auto context_provider = - base::MakeRefCounted<TestInProcessContextProvider>(nullptr); + base::MakeRefCounted<TestInProcessContextProvider>(nullptr, false); output_surface_ = std::make_unique<PixelTestOutputSurface>( std::move(context_provider), flipped_output_surface); output_surface_->BindToClient(output_surface_client_.get()); @@ -175,7 +175,7 @@ output_surface_->context_provider(), shared_bitmap_manager_.get()); child_context_provider_ = - base::MakeRefCounted<TestInProcessContextProvider>(nullptr); + base::MakeRefCounted<TestInProcessContextProvider>(nullptr, false); child_context_provider_->BindToCurrentThread(); child_resource_provider_ = std::make_unique<LayerTreeResourceProvider>( child_context_provider_.get(), shared_bitmap_manager_.get(),
diff --git a/cc/test/test_in_process_context_provider.cc b/cc/test/test_in_process_context_provider.cc index 5fa328f..77d3bca 100644 --- a/cc/test/test_in_process_context_provider.cc +++ b/cc/test/test_in_process_context_provider.cc
@@ -32,7 +32,8 @@ viz::TestGpuMemoryBufferManager* gpu_memory_buffer_manager, TestImageFactory* image_factory, gpu::GLInProcessContext* shared_context, - scoped_refptr<base::SingleThreadTaskRunner> task_runner) { + scoped_refptr<base::SingleThreadTaskRunner> task_runner, + bool oop_raster) { const bool is_offscreen = true; gpu::ContextCreationAttribs attribs; attribs.alpha_size = -1; @@ -42,6 +43,7 @@ attribs.sample_buffers = 0; attribs.fail_if_major_perf_caveat = false; attribs.bind_generates_resource = false; + attribs.enable_oop_rasterization = oop_raster; auto context = gpu::GLInProcessContext::CreateWithoutInit(); auto result = context->Initialize( @@ -55,15 +57,18 @@ std::unique_ptr<gpu::GLInProcessContext> CreateTestInProcessContext() { return CreateTestInProcessContext(nullptr, nullptr, nullptr, - base::ThreadTaskRunnerHandle::Get()); + base::ThreadTaskRunnerHandle::Get(), false); } TestInProcessContextProvider::TestInProcessContextProvider( - TestInProcessContextProvider* shared_context) { + TestInProcessContextProvider* shared_context, + bool enable_oop_rasterization) { + // TODO(enne): make this always support oop rasterization. Some tests + // fail to create the context when oop rasterization is turned on. context_ = CreateTestInProcessContext( &gpu_memory_buffer_manager_, &image_factory_, (shared_context ? shared_context->context_.get() : nullptr), - base::ThreadTaskRunnerHandle::Get()); + base::ThreadTaskRunnerHandle::Get(), enable_oop_rasterization); cache_controller_.reset(new viz::ContextCacheController( context_->GetImplementation(), base::ThreadTaskRunnerHandle::Get())); @@ -79,9 +84,10 @@ break; } - raster_context_ = std::make_unique<gpu::raster::RasterImplementationGLES>( - context_->GetImplementation(), context_->GetImplementation(), - capabilities_); + raster_implementation_ = + std::make_unique<gpu::raster::RasterImplementationGLES>( + context_->GetImplementation(), context_->GetImplementation(), + context_->GetCapabilities()); } TestInProcessContextProvider::~TestInProcessContextProvider() = default; @@ -103,7 +109,7 @@ } gpu::raster::RasterInterface* TestInProcessContextProvider::RasterInterface() { - return raster_context_.get(); + return raster_implementation_.get(); } gpu::ContextSupport* TestInProcessContextProvider::ContextSupport() {
diff --git a/cc/test/test_in_process_context_provider.h b/cc/test/test_in_process_context_provider.h index 5fc2128..a34c42c 100644 --- a/cc/test/test_in_process_context_provider.h +++ b/cc/test/test_in_process_context_provider.h
@@ -42,7 +42,8 @@ public viz::RasterContextProvider { public: explicit TestInProcessContextProvider( - TestInProcessContextProvider* shared_context); + TestInProcessContextProvider* shared_context, + bool enable_oop_rasterization); // viz::ContextProvider / viz::RasterContextProvider implementation. void AddRef() const override; @@ -71,7 +72,7 @@ viz::TestGpuMemoryBufferManager gpu_memory_buffer_manager_; TestImageFactory image_factory_; std::unique_ptr<gpu::GLInProcessContext> context_; - std::unique_ptr<gpu::raster::RasterInterface> raster_context_; + std::unique_ptr<gpu::raster::RasterInterface> raster_implementation_; std::unique_ptr<skia_bindings::GrContextForGLES2Interface> gr_context_; std::unique_ptr<viz::ContextCacheController> cache_controller_; base::Lock context_lock_;
diff --git a/cc/tiles/gpu_image_decode_cache_unittest.cc b/cc/tiles/gpu_image_decode_cache_unittest.cc index 52395c49..06ad67a 100644 --- a/cc/tiles/gpu_image_decode_cache_unittest.cc +++ b/cc/tiles/gpu_image_decode_cache_unittest.cc
@@ -259,9 +259,9 @@ } std::unique_ptr<GpuImageDecodeCache> CreateCache() { - return base::WrapUnique( - new GpuImageDecodeCache(context_provider_.get(), use_transfer_cache_, - color_type_, kGpuMemoryLimitBytes)); + return std::make_unique<GpuImageDecodeCache>( + context_provider_.get(), use_transfer_cache_, color_type_, + kGpuMemoryLimitBytes); } GPUImageDecodeTestMockContextProvider* context_provider() {
diff --git a/cc/trees/layer_tree_host_pixeltest_scrollbars.cc b/cc/trees/layer_tree_host_pixeltest_scrollbars.cc index 983d6ed..1ae41ee 100644 --- a/cc/trees/layer_tree_host_pixeltest_scrollbars.cc +++ b/cc/trees/layer_tree_host_pixeltest_scrollbars.cc
@@ -151,7 +151,7 @@ background->AddChild(layer); scoped_refptr<TestInProcessContextProvider> context( - new TestInProcessContextProvider(nullptr)); + new TestInProcessContextProvider(nullptr, false)); context->BindToCurrentThread(); int max_texture_size = 0; context->ContextGL()->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml index 08480f2..725a371 100644 --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml
@@ -284,7 +284,7 @@ <dimen name="omnibox_suggestion_answer_image_vertical_spacing">5dp</dimen> <dimen name="omnibox_suggestion_answer_image_horizontal_spacing">4dp</dimen> <dimen name="omnibox_suggestion_phone_url_bar_left_offset">10dp</dimen> - <dimen name="omnibox_suggestion_phone_url_bar_left_offset_rtl">46dp</dimen> + <dimen name="omnibox_suggestion_phone_url_bar_left_offset_rtl">10dp</dimen> <dimen name="omnibox_suggestion_refine_width">48dp</dimen> <dimen name="omnibox_suggestion_text_vertical_padding">5dp</dimen> <dimen name="omnibox_suggestion_multiline_text_vertical_padding">10dp</dimen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java index c7a72b1..294fa1e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
@@ -162,7 +162,6 @@ // TODO(mdjones): Remove CHROME_HOME completely. public static final String CHROME_HOME = "ChromeHome"; public static final String CHROME_HOME_BOTTOM_NAV_LABELS = "ChromeHomeBottomNavLabels"; - public static final String CHROME_HOME_CLEAR_URL_ON_OPEN = "ChromeHomeClearUrlOnOpen"; public static final String CHROME_HOME_DESTROY_SUGGESTIONS = "ChromeHomeDestroySuggestions"; public static final String CHROME_HOME_DROP_ALL_BUT_FIRST_THUMBNAIL = "ChromeHomeDropAllButFirstThumbnail"; @@ -171,12 +170,8 @@ public static final String CHROME_HOME_MENU_ITEMS_EXPAND_SHEET = "ChromeHomeMenuItemsExpandSheet"; public static final String CHROME_HOME_PERSISTENT_IPH = "ChromeHomePersistentIph"; - public static final String CHROME_HOME_PERSONALIZED_OMNIBOX_SUGGESTIONS = - "ChromeHomePersonalizedOmniboxSuggestions"; public static final String CHROME_HOME_PULL_TO_REFRESH_IPH_AT_TOP = "ChromeHomePullToRefreshIphAtTop"; - public static final String CHROME_HOME_SHOW_GOOGLE_G_WHEN_URL_CLEARED = - "ChromeHomeShowGoogleGWhenUrlCleared"; public static final String CHROME_HOME_SURVEY = "ChromeHomeSurvey"; public static final String CHROME_HOME_SWIPE_VELOCITY_FEATURE = "ChromeHomeSwipeLogicVelocity"; public static final String CHROME_MEMEX = "ChromeMemex";
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionContentUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionContentUtils.java index 3c83cae6..44f78d9 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionContentUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserSessionContentUtils.java
@@ -93,7 +93,7 @@ CustomTabsConnection.getInstance().getClientPackageNameForSession(session); if (TextUtils.isEmpty(packageName)) return false; boolean valid = OriginVerifier.isValidOrigin( - packageName, new Origin(referrer), CustomTabsService.RELATION_USE_AS_ORIGIN); + packageName, referrer, CustomTabsService.RELATION_USE_AS_ORIGIN); // OriginVerifier should only be allowing https schemes. assert valid == UrlConstants.HTTPS_SCHEME.equals(referrer.getScheme());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/Origin.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/Origin.java deleted file mode 100644 index c871b4e9..0000000 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/Origin.java +++ /dev/null
@@ -1,55 +0,0 @@ -// Copyright 2018 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.browserservices; - -import android.net.Uri; - -import org.chromium.net.GURLUtils; - -/** - * A class to canonically represent a web origin in Java. It requires the native library to be - * loaded as it uses {@link GURLUtils#getOrigin}. - */ -public class Origin { - private final String mOrigin; - - /** - * Constructs a canonical Origin from a String. - */ - public Origin(String uri) { - mOrigin = GURLUtils.getOrigin(uri); - } - - /** - * Constructs a canonical Origin from an Uri. - */ - public Origin(Uri uri) { - this(uri.toString()); - } - - /** - * Returns a Uri representing this Origin. - */ - public Uri uri() { - return Uri.parse(mOrigin); - } - - @Override - public int hashCode() { - return mOrigin.hashCode(); - } - - @Override - public String toString() { - return mOrigin; - } - - @Override - public boolean equals(Object other) { - if (this == other) return true; - if (other == null || getClass() != other.getClass()) return false; - return mOrigin.equals(((Origin) other).mOrigin); - } -}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java index 1d29dc0..7e8d2be 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java
@@ -57,13 +57,13 @@ private static final String USE_AS_ORIGIN = "delegate_permission/common.use_as_origin"; private static final String HANDLE_ALL_URLS = "delegate_permission/common.handle_all_urls"; - private static Map<Pair<String, Integer>, Set<Origin>> sPackageToCachedOrigins; + private static Map<Pair<String, Integer>, Set<Uri>> sPackageToCachedOrigins; private final OriginVerificationListener mListener; private final String mPackageName; private final String mSignatureFingerprint; private final @Relation int mRelation; private long mNativeOriginVerifier = 0; - private Origin mOrigin; + private Uri mOrigin; /** Small helper class to post a result of origin verification. */ private class VerifiedCallback implements Runnable { @@ -79,10 +79,9 @@ } } - public static Uri getPostMessageUriFromVerifiedOrigin(String packageName, - Origin verifiedOrigin) { + static Uri getPostMessageOriginFromVerifiedOrigin(String packageName, Uri verifiedOrigin) { return Uri.parse(IntentHandler.ANDROID_APP_REFERRER_SCHEME + "://" - + verifiedOrigin.uri().getHost() + "/" + packageName); + + verifiedOrigin.getHost() + "/" + packageName); } /** Clears all known relations. */ @@ -99,14 +98,15 @@ * @param relation The Digital Asset Links relation verified. */ public static void addVerifiedOriginForPackage( - String packageName, Origin origin, @Relation int relation) { + String packageName, Uri origin, @Relation int relation) { ThreadUtils.assertOnUiThread(); if (sPackageToCachedOrigins == null) sPackageToCachedOrigins = new HashMap<>(); - Set<Origin> cachedOrigins = - sPackageToCachedOrigins.get(new Pair<>(packageName, relation)); + Set<Uri> cachedOrigins = + sPackageToCachedOrigins.get(new Pair<String, Integer>(packageName, relation)); if (cachedOrigins == null) { - cachedOrigins = new HashSet<>(); - sPackageToCachedOrigins.put(new Pair<>(packageName, relation), cachedOrigins); + cachedOrigins = new HashSet<Uri>(); + sPackageToCachedOrigins.put( + new Pair<String, Integer>(packageName, relation), cachedOrigins); } cachedOrigins.add(origin); } @@ -121,10 +121,11 @@ * @param origin The origin to verify * @param relation The Digital Asset Links relation to verify for. */ - public static boolean isValidOrigin(String packageName, Origin origin, @Relation int relation) { + public static boolean isValidOrigin(String packageName, Uri origin, @Relation int relation) { ThreadUtils.assertOnUiThread(); if (sPackageToCachedOrigins == null) return false; - Set<Origin> cachedOrigins = sPackageToCachedOrigins.get(new Pair<>(packageName, relation)); + Set<Uri> cachedOrigins = + sPackageToCachedOrigins.get(new Pair<String, Integer>(packageName, relation)); if (cachedOrigins == null) return false; return cachedOrigins.contains(origin); } @@ -139,12 +140,12 @@ * @param origin The origin that was declared on the query for this result. * @param verified Whether the given origin was verified to correspond to the given package. */ - void onOriginVerified(String packageName, Origin origin, boolean verified); + void onOriginVerified(String packageName, Uri origin, boolean verified); } /** * Main constructor. - * Use {@link OriginVerifier#start(Origin)} + * Use {@link OriginVerifier#start(Uri)} * @param listener The listener who will get the verification result. * @param packageName The package for the Android application for verification. * @param relation Digital Asset Links {@link Relation} to use during verification. @@ -163,10 +164,10 @@ * profile as context. * @param origin The postMessage origin the application is claiming to have. Can't be null. */ - public void start(@NonNull Origin origin) { + public void start(@NonNull Uri origin) { ThreadUtils.assertOnUiThread(); mOrigin = origin; - String scheme = mOrigin.uri().getScheme(); + String scheme = mOrigin.getScheme(); if (TextUtils.isEmpty(scheme) || !UrlConstants.HTTPS_SCHEME.equals(scheme.toLowerCase(Locale.US))) { ThreadUtils.runOnUiThread(new VerifiedCallback(false)); @@ -273,6 +274,7 @@ private void originVerified(boolean originVerified) { if (originVerified) { addVerifiedOriginForPackage(mPackageName, mOrigin, mRelation); + mOrigin = getPostMessageOriginFromVerifiedOrigin(mPackageName, mOrigin); } if (mListener != null) mListener.onOriginVerified(mPackageName, mOrigin, originVerified); cleanUp();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java index 2c8587b..a8f8c6c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java
@@ -32,7 +32,7 @@ private boolean mMessageChannelCreated; private boolean mBoundToService; private AppWebMessagePort[] mChannel; - private Uri mPostMessageUri; + private Uri mOrigin; private String mPackageName; /** @@ -77,7 +77,7 @@ // Can't reset with the same web contents twice. if (webContents.equals(mWebContents)) return; mWebContents = webContents; - if (mPostMessageUri == null) return; + if (mOrigin == null) return; new WebContentsObserver(webContents) { private boolean mNavigatedOnce; @@ -125,7 +125,7 @@ mChannel[0].setMessageCallback(mMessageCallback, null); webContents.postMessageToFrame( - null, "", mPostMessageUri.toString(), "", new AppWebMessagePort[] {mChannel[1]}); + null, "", mOrigin.toString(), "", new AppWebMessagePort[] {mChannel[1]}); mMessageChannelCreated = true; if (mBoundToService) notifyMessageChannelReady(null); @@ -139,11 +139,11 @@ } /** - * Sets the postMessage postMessageUri for this session to the given {@link Uri}. - * @param postMessageUri The postMessageUri value to be set. + * Sets the postMessage origin for this session to the given {@link Uri}. + * @param origin The origin value to be set. */ - public void initializeWithPostMessageUri(Uri postMessageUri) { - mPostMessageUri = postMessageUri; + public void initializeWithOrigin(Uri origin) { + mOrigin = origin; if (mWebContents != null && !mWebContents.isDestroyed()) { initializeWithWebContents(mWebContents); } @@ -191,18 +191,17 @@ } @Override - public void onOriginVerified(String packageName, Origin origin, boolean result) { + public void onOriginVerified(String packageName, Uri origin, boolean result) { if (!result) return; - initializeWithPostMessageUri( - OriginVerifier.getPostMessageUriFromVerifiedOrigin(packageName, origin)); + initializeWithOrigin(origin); } /** - * @return The PostMessage Uri that has been declared for this handler. + * @return The origin that has been declared for this handler. */ @VisibleForTesting - public Uri getPostMessageUriForTesting() { - return mPostMessageUri; + public Uri getOriginForTesting() { + return mOrigin; } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java index 6064498..5ba81191 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
@@ -427,6 +427,7 @@ * @param windowToRestore The non-VR WindowAndroid to restore. */ public void onExitVr(WindowAndroid windowToRestore) { + if (mNativeCompositorView == 0) return; setWindowAndroid(windowToRestore); mCompositorSurfaceManager.shutDown(); nativeSetCompositorWindow(mNativeCompositorView, mWindowAndroid);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java index 6db1811..80b2110ce 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeVersionInfo; import org.chromium.chrome.browser.IntentHandler; -import org.chromium.chrome.browser.browserservices.Origin; import org.chromium.chrome.browser.browserservices.OriginVerifier; import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener; import org.chromium.chrome.browser.browserservices.PostMessageHandler; @@ -360,13 +359,13 @@ } /** - * See {@link PostMessageHandler#initializeWithPostMessageUri(Uri)}. + * See {@link PostMessageHandler#initializeWithOrigin(Uri)}. */ public synchronized void initializeWithPostMessageOriginForSession( CustomTabsSessionToken session, Uri origin) { SessionParams params = mSessionParams.get(session); if (params == null) return; - params.postMessageHandler.initializeWithPostMessageUri(origin); + params.postMessageHandler.initializeWithOrigin(origin); } public synchronized boolean validateRelationship( @@ -375,7 +374,7 @@ } /** - * Validates the link between the client and the origin. + * See {@link PostMessageHandler#verifyAndInitializeWithOrigin(Uri, int)}. */ public synchronized void verifyAndInitializeWithPostMessageOriginForSession( CustomTabsSessionToken session, Uri origin, @Relation int relation) { @@ -392,7 +391,7 @@ OriginVerificationListener listener = null; if (initializePostMessageChannel) listener = params.postMessageHandler; params.originVerifier = new OriginVerifier(listener, params.getPackageName(), relation); - ThreadUtils.runOnUiThread(() -> { params.originVerifier.start(new Origin(origin)); }); + ThreadUtils.runOnUiThread(() -> { params.originVerifier.start(origin); }); if (relation == CustomTabsService.RELATION_HANDLE_ALL_URLS && InstalledAppProviderImpl.isAppInstalledAndAssociatedWithOrigin( params.getPackageName(), URI.create(origin.toString()), @@ -425,7 +424,7 @@ if (!isAppAssociatedWithOrigin) return false; // Split path from the given Uri to get only the origin before web->native verification. - Origin origin = new Origin(url); + Uri origin = new Uri.Builder().scheme(url.getScheme()).authority(url.getHost()).build(); if (OriginVerifier.isValidOrigin( packageName, origin, CustomTabsService.RELATION_HANDLE_ALL_URLS)) { return true; @@ -445,7 +444,7 @@ synchronized Uri getPostMessageOriginForSessionForTesting(CustomTabsSessionToken session) { SessionParams params = mSessionParams.get(session); if (params == null) return null; - return params.postMessageHandler.getPostMessageUriForTesting(); + return params.postMessageHandler.getOriginForTesting(); } /** @@ -615,8 +614,8 @@ */ public synchronized boolean isFirstPartyOriginForSession( CustomTabsSessionToken session, Uri origin) { - return OriginVerifier.isValidOrigin(getClientPackageNameForSession(session), - new Origin(origin), CustomTabsService.RELATION_USE_AS_ORIGIN); + return OriginVerifier.isValidOrigin(getClientPackageNameForSession(session), origin, + CustomTabsService.RELATION_USE_AS_ORIGIN); } /** Tries to bind to a client to keep it alive, and returns true for success. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java index 43579fb..25cd843 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java
@@ -878,11 +878,9 @@ } if (isRTL) { - mTextLine1.layout(0, t, mTextRight - mSuggestionViewStartOffset, b); - mAnswerImage.layout( - mTextRight - imageWidth, t, mTextRight - mSuggestionViewStartOffset, b); - mTextLine2.layout(0, t, - mTextRight - (imageWidth + imageSpacing) - mSuggestionViewStartOffset, b); + mTextLine1.layout(0, t, mTextRight, b); + mAnswerImage.layout(mTextRight - imageWidth, t, mTextRight, b); + mTextLine2.layout(0, t, mTextRight - (imageWidth + imageSpacing), b); } else { mTextLine1.layout(mTextLeft + mSuggestionViewStartOffset, t, r - l, b); mAnswerImage.layout(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java index b8d7b65..3dec1b4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
@@ -931,10 +931,6 @@ return nativeGetSupervisedUserSecondCustodianProfileImageURL(); } - public void setChromeHomePersonalizedOmniboxSuggestionsEnabled(boolean enabled) { - nativeSetChromeHomePersonalizedOmniboxSuggestionsEnabled(enabled); - } - /** * @return A sorted list of LanguageItems representing the Chrome accept languages with details. * Languages that are not supported on Android have been filtered out. @@ -1198,7 +1194,6 @@ private native void nativeSetLatestVersionWhenClickedUpdateMenuItem(String version); private native String nativeGetLatestVersionWhenClickedUpdateMenuItem(); private native void nativeSetSupervisedUserId(String supervisedUserId); - private native void nativeSetChromeHomePersonalizedOmniboxSuggestionsEnabled(boolean enabled); private native void nativeGetChromeAcceptLanguages(List<LanguageItem> list); private native void nativeGetUserAcceptLanguages(List<String> list); private native void nativeUpdateUserAcceptLanguages(String language, boolean add);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java index 4ccf2314..c248f00a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java
@@ -5,7 +5,6 @@ package org.chromium.chrome.browser.toolbar; import android.content.Context; -import android.os.Build; import android.support.annotation.DrawableRes; import android.support.annotation.Nullable; import android.text.TextUtils; @@ -118,8 +117,6 @@ @Override public String getText() { - if (clearUrlForBottomSheetOpen()) return ""; - String displayText = super.getText(); if (!hasTab() || mTab.isFrozen()) return displayText; @@ -234,20 +231,13 @@ boolean isShownInRegularNtp = ntp != null && ntp.isLocationBarShownInNTP() && ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SHOW_GOOGLE_G_IN_OMNIBOX); - boolean isShownInBottomSheet = mBottomSheet != null && mBottomSheet.isSheetOpen() - && TextUtils.isEmpty(urlBarText) - && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT - && ChromeFeatureList.isEnabled(ChromeFeatureList.CHROME_HOME_CLEAR_URL_ON_OPEN) - && ChromeFeatureList.isEnabled( - ChromeFeatureList.CHROME_HOME_SHOW_GOOGLE_G_WHEN_URL_CLEARED); - - return (isShownInRegularNtp || isShownInBottomSheet) + return isShownInRegularNtp && TemplateUrlService.getInstance().isDefaultSearchEngineGoogle(); } @Override public boolean shouldShowSecurityIcon() { - return !clearUrlForBottomSheetOpen() && getSecurityIconResource() != 0; + return getSecurityIconResource() != 0; } @Override @@ -255,7 +245,7 @@ // Because is offline page is cleared a bit slower, we also ensure that connection security // level is NONE or HTTP_SHOW_WARNING (http://crbug.com/671453). int securityLevel = getSecurityLevel(); - return !clearUrlForBottomSheetOpen() && isOfflinePage() + return isOfflinePage() && (securityLevel == ConnectionSecurityLevel.NONE || securityLevel == ConnectionSecurityLevel.HTTP_SHOW_WARNING); } @@ -310,14 +300,6 @@ return 0; } - private boolean clearUrlForBottomSheetOpen() { - return mBottomSheet != null && mBottomSheet.isSheetOpen() - && mBottomSheet.getTargetSheetState() != BottomSheet.SHEET_STATE_PEEK - && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT - && ChromeFeatureList.isInitialized() - && ChromeFeatureList.isEnabled(ChromeFeatureList.CHROME_HOME_CLEAR_URL_ON_OPEN); - } - @Override public boolean isDisplayingQueryTerms() { return extractSearchTermsFromUrl(getCurrentUrl()) != null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java index a7de78bf1..90590b0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
@@ -682,16 +682,21 @@ mCompositorView.onExitVr(mActivity.getWindowAndroid()); - mActivity.getToolbarManager().setProgressBarEnabled(true); + if (mActivity.getToolbarManager() != null) { + mActivity.getToolbarManager().setProgressBarEnabled(true); + } // Since VSync was paused, control heights may not have been propagated. If we request to // show the controls before the old values have propagated we'll end up with the old values // (ie. the controls hidden). The values will have propagated with the next frame received // from the compositor, so we can tell the controls to show at that point. - mActivity.getCompositorViewHolder().getCompositorView().surfaceRedrawNeededAsync(() -> { - ChromeFullscreenManager manager = mActivity.getFullscreenManager(); - manager.getBrowserVisibilityDelegate().showControlsTransient(); - }); + if (mActivity.getCompositorViewHolder() != null + && mActivity.getCompositorViewHolder().getCompositorView() != null) { + mActivity.getCompositorViewHolder().getCompositorView().surfaceRedrawNeededAsync(() -> { + ChromeFullscreenManager manager = mActivity.getFullscreenManager(); + manager.getBrowserVisibilityDelegate().showControlsTransient(); + }); + } if (ChromeFeatureList.isEnabled(ChromeFeatureList.VR_BROWSING_NATIVE_ANDROID_UI)) { mActivity.getModalDialogManager().cancelAllDialogs();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java index 6c49d24..e235112 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java
@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.browserservices.BrowserSessionContentHandler; import org.chromium.chrome.browser.browserservices.BrowserSessionContentUtils; import org.chromium.chrome.browser.browserservices.BrowserSessionDataProvider; -import org.chromium.chrome.browser.browserservices.Origin; import org.chromium.chrome.browser.browserservices.OriginVerifier; import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener; import org.chromium.chrome.browser.compositor.layouts.LayoutManager; @@ -176,12 +175,18 @@ void verifyRelationship() { mOriginVerifier = new OriginVerifier(mTrustedWebContentProvider, getNativeClientPackageName(), CustomTabsService.RELATION_HANDLE_ALL_URLS); - mOriginVerifier.start(new Origin(mWebappInfo.uri())); + // Split path from the url to get only the origin. + Uri origin = new Uri.Builder() + .scheme(mWebappInfo.uri().getScheme()) + .authority(mWebappInfo.uri().getHost()) + .build(); + mOriginVerifier.start(origin); } @Override - public void onOriginVerified(String packageName, Origin origin, boolean verified) { + public void onOriginVerified(String packageName, Uri origin, boolean verified) { mVerificationFailed = !verified; + mOriginVerifier.cleanUp(); mOriginVerifier = null; if (mVerificationFailed) getFullscreenManager().setPositionsForTabToNonFullscreen(); }
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb index ab1330c..db980eb 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{ከ# ሰዓት በፊት}one{ከ# ሰዓቶች በፊት}other{ከ# ሰዓቶች በፊት}}</translation> <translation id="5817918615728894473">አጣምር</translation> <translation id="583281660410589416">ያልታወቀ </translation> -<translation id="5832934273103296195">ተዘርግቷል - ለመሰብሰብ ጠቅ ያድርጉ</translation> <translation id="5833984609253377421">አገናኝ አጋራ</translation> <translation id="583891442612896534">Chrome ለውሂብ እመቃ የGoogle አገልጋዮችን መድረስ አልቻለም። የውሂብ ቁጠባዎችዎ የተገደቡ ሊሆኑ ይችላሉ።</translation> -<translation id="584615158992327102">የወረዱትን፣ ዕልባቶችን እና ታሪክን ይድረሱ</translation> <translation id="5854790677617711513">ከ30 ቀናት በላይ የቆየ</translation> <translation id="5858741533101922242">Chrome የብሉቱዝ አስማሚውን ማብራት አልቻለም</translation> <translation id="5860033963881614850">አጥፋ</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">ለመሰብሰብ መታ ያድርጉ</translation> <translation id="5974562976030145789">«ውርዶች» ቦታው ይቀየራል። በሚቀጥለው ጊዜ የአድራሻ አሞሌውን ወደ ላይ ይጎትቱት።</translation> <translation id="6000066717592683814">Googleን አቆየው</translation> -<translation id="6031101910111098835">ተሰብስቧል - ለመዘርጋት ጠቅ ያድርጉ</translation> <translation id="6039379616847168523">ወደ ቀጣዩ ትር ዝለል</translation> <translation id="6040143037577758943">ዝጋ</translation> <translation id="6042308850641462728">ተጨማሪ</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">ዕልባት አርትዕ</translation> <translation id="6406506848690869874">አመሳስል</translation> <translation id="6409731863280057959">ብቅ-ባዮች</translation> -<translation id="6411957228448379013">የአድራሻ አሞሌ። ውርዶችን፣ ዕልባቶችን እና ታሪክን ለመመልከት ወደ ላይ ያንሸራትቱ።</translation> <translation id="641643625718530986">አትም…</translation> <translation id="6416782512398055893"><ph name="MBS" /> ሜባ ወርዷል</translation> <translation id="6433501201775827830">የእርስዎን የፍለጋ ፕሮግራም ይምረጡ</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">የደህንነት ሪፖርቶች</translation> <translation id="6710213216561001401">ቀዳሚ</translation> <translation id="6738867403308150051">በማውረድ ላይ…</translation> +<translation id="6746124502594467657">ወደታች አውርድ</translation> <translation id="6762156594045689028">ይህን ቅንብር ለመለወጥ <ph name="BEGIN_LINK" />ስምረትን ዳግም ያስጀምሩ<ph name="END_LINK" /></translation> <translation id="6770414673596662518">የChrome የጥንቃቄ አሰሳ ስርዓት ተንኮል-አዘል ገጾችን ለማወቅ እና እርስዎን ከማስገር፣ ተንኮል-አዘል ዌር እና ጎጂ ወራጆች ለመጠበቅ ስራ ላይ ይውላል።</translation> <translation id="6776813977906306442">ቪዲዮዎችን በኋላ ለመመልከት የአውርድ አዝራሩን በመጠቀም ያውርዷቸው</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">ተጨማሪ ጽሑፎች በቅርቡ ይታያሉ። የእርስዎን ምሽት ይዝናኑበት!</translation> <translation id="857943718398505171">ተፈቅዷል (የሚመከር)</translation> <translation id="8583805026567836021">የመለያ ውሂብን በማጽዳት ላይ</translation> +<translation id="8609465669617005112">ወደላይ አውጣ</translation> <translation id="8616006591992756292">የእርስዎ Google መለያ <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> ላይ ሌሎች የአሰሳ ታሪክ ዓይነቶች ሊኖረው ይችላል።</translation> <translation id="8617240290563765734">በወረደው ይዘት ላይ የተጠቆመው ዩአርኤል ይከፈት?</translation> <translation id="862875433388403934">ይዘቶችን (ፊልሞች፣ ሙዚቃ፣ ወዘተ.) የሚያወርዱ መተግበሪያዎች በአዲስ መሣሪያ ምስክርነት ላይ ተመስርተው ፍቃዶችን ዳግም እስኪያገኙ ድረስ በእነሱ የወረዱ ይዘቶችን መልሶ ማጫወት ላይቻል ይችላል።
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb index b51d2cb..7d6161b 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -534,10 +534,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{قبل ساعة واحدة (#)}zero{قبل # ساعة}two{قبل ساعتين (#)}few{قبل # ساعات}many{قبل # ساعة}other{قبل # ساعة}}</translation> <translation id="5817918615728894473">إقران</translation> <translation id="583281660410589416">غير معروف</translation> -<translation id="5832934273103296195">تم التوسيع - انقر للتصغير</translation> <translation id="5833984609253377421">مشاركة الرابط</translation> <translation id="583891442612896534">لا يمكن لمتصفح Chrome الوصول إلى خوادم Google لضغط البيانات. قد تكون خيارات توفير البيانات محدودة.</translation> -<translation id="584615158992327102">الوصول إلى التنزيلات والإشارات المرجعية والسجل.</translation> <translation id="5854790677617711513">مرّ عليها أكثر من 30 يومًا</translation> <translation id="5858741533101922242">يتعذر على Chrome تشغيل محوّل البلوتوث</translation> <translation id="5860033963881614850">إيقاف</translation> @@ -555,7 +553,6 @@ <translation id="5962718611393537961">النقر للتصغير</translation> <translation id="5974562976030145789">سيتم نقل "التنزيلات". في المرة القادمة، اسحب شريط العناوين للأعلى.</translation> <translation id="6000066717592683814">الاستمرار في استخدام محرك Google</translation> -<translation id="6031101910111098835">تم التصغير - انقر للتوسيع</translation> <translation id="6039379616847168523">الانتقال السريع إلى علامة التبويب التالية</translation> <translation id="6040143037577758943">إغلاق</translation> <translation id="6042308850641462728">المزيد</translation> @@ -601,7 +598,6 @@ <translation id="6404511346730675251">تعديل إشارة مرجعية</translation> <translation id="6406506848690869874">المزامنة</translation> <translation id="6409731863280057959">النوافذ المنبثقة</translation> -<translation id="6411957228448379013">شريط العناوين. مرّر للأعلى للاطلاع على التنزيلات والإشارات المرجعية والسّجل.</translation> <translation id="641643625718530986">طباعة…</translation> <translation id="6416782512398055893">تم التنزيل بحجم <ph name="MBS" /> ميغابايت</translation> <translation id="6433501201775827830">اختيار محرك البحث</translation> @@ -642,6 +638,7 @@ <translation id="6701279291835318271">تقارير الأمان</translation> <translation id="6710213216561001401">السابق</translation> <translation id="6738867403308150051">جارٍ التنزيل…</translation> +<translation id="6746124502594467657">الانتقال إلى أسفل</translation> <translation id="6762156594045689028">لتغيير هذا الإعداد، يمكنك <ph name="BEGIN_LINK" />إعادة تعيين المزامنة<ph name="END_LINK" /></translation> <translation id="6770414673596662518">سيتم استخدام نظام التصفح الآمن من Chrome أيضًا في اكتشاف الصفحات الضارة وحمايتك من التصيّد، والبرامج الضارة، والتنزيلات التي تلحق أذى بالجهاز.</translation> <translation id="6776813977906306442">يمكنك تنزيل مقاطع فيديو لمشاهدتها لاحقًا باستخدام زر "التنزيل"</translation> @@ -834,6 +831,7 @@ <translation id="857509777403223202">ستظهر المزيد من المقالات قريبًا. استمتع بليلتك!</translation> <translation id="857943718398505171">مسموح به (موصى به)</translation> <translation id="8583805026567836021">محو بيانات الحساب</translation> +<translation id="8609465669617005112">التحريك إلى أعلى</translation> <translation id="8616006591992756292">قد يتضمن حسابك في Google نماذج أخرى من سجل التصفح في <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">هل تريد فتح عنوان URL المقترح والمحدد في المحتوى الذي تم تنزيله؟</translation> <translation id="862875433388403934">قد لا يكون المحتوى (أفلام، موسيقى، وما إلى ذلك) الذي تم تنزيله في تطبيقات أخرى قابلاً للتشغيل حتى تُعيد هذه التطبيقات الحصول على التراخيص استنادًا إلى بيانات اعتماد الجهاز الجديدة.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb index 9c0d33f..d5996f23 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{преди # час}other{преди # часа}}</translation> <translation id="5817918615728894473">Сдвояване</translation> <translation id="583281660410589416">Неизвестно</translation> -<translation id="5832934273103296195">Разгънато – Кликнете за свиване</translation> <translation id="5833984609253377421">Споделяне на връзката</translation> <translation id="583891442612896534">Chrome не може да установи връзка с компресиращите сървъри на Google. Икономията на данни може да е ограничена.</translation> -<translation id="584615158992327102">достъп до изтеглените файлове, отметките и историята.</translation> <translation id="5854790677617711513">По-стари от 30 дни</translation> <translation id="5858741533101922242">Chrome не може да включи адаптера за Bluetooth</translation> <translation id="5860033963881614850">Изключено</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Докоснете за свиване</translation> <translation id="5974562976030145789">„Изтегляния“ ще се премести. Следващия път издърпайте адресната лента нагоре.</translation> <translation id="6000066717592683814">Запазване на Google</translation> -<translation id="6031101910111098835">Свито – Кликнете за разгъване</translation> <translation id="6039379616847168523">Преминаване към следващия раздел</translation> <translation id="6040143037577758943">Затваряне</translation> <translation id="6042308850641462728">Още</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Редактиране на отметката</translation> <translation id="6406506848690869874">Синхронизиранe</translation> <translation id="6409731863280057959">Изскачащи прозорци</translation> -<translation id="6411957228448379013">Адресна лента. Прекарайте пръст нагоре, за да видите изтеглените файлове, отметките и историята.</translation> <translation id="641643625718530986">Печат…</translation> <translation id="6416782512398055893">Изтеглено: <ph name="MBS" /> МБ</translation> <translation id="6433501201775827830">Изберете машина за търсене</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Отчети за сигурността</translation> <translation id="6710213216561001401">Предишна</translation> <translation id="6738867403308150051">Изтегля се…</translation> +<translation id="6746124502594467657">Придвижване надолу</translation> <translation id="6762156594045689028">За да промените тази настройка, <ph name="BEGIN_LINK" />нулирайте синхронизирането<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Системата на Chrome за безопасно сърфиране ще се използва също за откриване на злонамерени страници и за да ви защитава от фишинг, злонамерен софтуер и опасни изтегляния.</translation> <translation id="6776813977906306442">Изтегляйте видеоклипове посредством бутона „Изтегляне“, за да ги гледате по-късно</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Скоро ще се покажат още статии. Приятна вечер!</translation> <translation id="857943718398505171">Разрешено (препоръчително)</translation> <translation id="8583805026567836021">Данните от профила се изчистват</translation> +<translation id="8609465669617005112">Придвижване нагоре</translation> <translation id="8616006591992756292">В профила ви в Google може да има други видове история на сърфиране, съхранявани на адрес <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Да се отвори ли предложеният URL адрес, посочен в изтегленото съдържание?</translation> <translation id="862875433388403934">Възможно е изтегленото в други приложения съдържание (филми, музика и др.) да не се възпроизвежда повече, докато те не придобият отново лицензи въз основа на нови идентификационни данни на устройството.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb index 3e9055b1..c0323f969 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{fa # hora}other{fa # hores}}</translation> <translation id="5817918615728894473">Vincula</translation> <translation id="583281660410589416">Desconegut</translation> -<translation id="5832934273103296195">Vista ampliada (feu clic per reduir-la)</translation> <translation id="5833984609253377421">Comparteix l'enllaç</translation> <translation id="583891442612896534">Chrome no es pot connectar amb els servidors de Google per comprimir les dades. És possible que només pugueu desar dades de manera limitada.</translation> -<translation id="584615158992327102">accés a les baixades, a les adreces d'interès i a l'historial.</translation> <translation id="5854790677617711513">Anterior a 30 dies</translation> <translation id="5858741533101922242">Chrome no pot activar l'adaptador Bluetooth</translation> <translation id="5860033963881614850">Desactivat</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Toca per replegar</translation> <translation id="5974562976030145789">L'opció Baixades canvia de lloc. La propera vegada, fes lliscar la barra d'adreces cap amunt per trobar-la.</translation> <translation id="6000066717592683814">Continua amb Google</translation> -<translation id="6031101910111098835">Vista replegada (feu clic per desplegar-la)</translation> <translation id="6039379616847168523">Ves a la pestanya següent</translation> <translation id="6040143037577758943">Tanca</translation> <translation id="6042308850641462728">Més</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Edita l'adreça d'interès</translation> <translation id="6406506848690869874">Sincronització</translation> <translation id="6409731863280057959">Finestres emergents</translation> -<translation id="6411957228448379013">Barra d'adreces. Llisca cap amunt per veure les baixades, les adreces d'interès i l'historial.</translation> <translation id="641643625718530986">Imprimeix…</translation> <translation id="6416782512398055893">S'han baixat <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Tria el motor de cerca</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Informes de seguretat</translation> <translation id="6710213216561001401">Anterior</translation> <translation id="6738867403308150051">Baixada en curs...</translation> +<translation id="6746124502594467657">Mou avall</translation> <translation id="6762156594045689028">Per canviar aquesta configuració, <ph name="BEGIN_LINK" />restabliu la sincronització<ph name="END_LINK" /></translation> <translation id="6770414673596662518">El sistema de Navegació segura de Chrome també s'utilitzarà per detectar pàgines malicioses i per protegir-vos de la pesca (suplantació d'identitat), de programari maliciós i de baixades perjudicials.</translation> <translation id="6776813977906306442">Amb el botó Baixa, pots baixar vídeos per mirar-los més tard</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Aviat es mostraran més articles. Que tinguis un bon vespre.</translation> <translation id="857943718398505171">Permès (recomanat)</translation> <translation id="8583805026567836021">S'estan esborrant les dades del compte</translation> +<translation id="8609465669617005112">Desplaça cap amunt</translation> <translation id="8616006591992756292">A <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />, trobaràs altres maneres d'explorar l'historial del teu compte de Google.</translation> <translation id="8617240290563765734">Voleu obrir l'URL suggerit que s'especifica al contingut que s'ha baixat?</translation> <translation id="862875433388403934">És possible que el contingut (pel·lícules, música, etc.) que hàgiu baixat en altres aplicacions ja no es pugui reproduir fins que aquestes aplicacions no tornin a adquirir llicències basades en les credencials del dispositiu nou.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb index 5b54b7e1..bc8b38e9 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{před # hodinou}few{před # hodinami}many{před # hodiny}other{před # hodinami}}</translation> <translation id="5817918615728894473">Spárovat</translation> <translation id="583281660410589416">Neznámé</translation> -<translation id="5832934273103296195">Rozbaleno – kliknutím sbalíte</translation> <translation id="5833984609253377421">Sdílet odkaz</translation> <translation id="583891442612896534">Chrome se nemůže připojit k serverům společnosti Google pro kompresi dat. Úspora dat může být omezena.</translation> -<translation id="584615158992327102">přístup ke staženým souborům, záložkám a historii.</translation> <translation id="5854790677617711513">Starší než 30 dnů</translation> <translation id="5858741533101922242">Chrome nemůže zapnout adaptér Bluetooth</translation> <translation id="5860033963881614850">Vypnuto</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Klepnutím sbalíte</translation> <translation id="5974562976030145789">Položka Stažené soubory se přesouvá. Příště přejeďte prstem nahoru z adresního řádku.</translation> <translation id="6000066717592683814">Ponechat Google</translation> -<translation id="6031101910111098835">Sbaleno – kliknutím rozbalíte</translation> <translation id="6039379616847168523">Přejít na další kartu</translation> <translation id="6040143037577758943">Zavřít</translation> <translation id="6042308850641462728">Více</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Upravit záložku</translation> <translation id="6406506848690869874">Synchronizace</translation> <translation id="6409731863280057959">Vyskakovací okna</translation> -<translation id="6411957228448379013">Adresní řádek. Přejetím prstem nahoru zobrazíte stažené soubory, záložky a historii.</translation> <translation id="641643625718530986">Tisk…</translation> <translation id="6416782512398055893">Staženo: <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Vyberte vyhledávač</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Přehledy zabezpečení</translation> <translation id="6710213216561001401">Předchozí</translation> <translation id="6738867403308150051">Stahování…</translation> +<translation id="6746124502594467657">Posunout dolů</translation> <translation id="6762156594045689028">Chcete-li toto nastavení změnit, <ph name="BEGIN_LINK" />resetujte synchronizaci<ph name="END_LINK" />.</translation> <translation id="6770414673596662518">Chrome bude také používat systém Bezpečné prohlížení, který umožňuje zjistit škodlivé stránky a ochránit vás před phishingem, malwarem a škodlivými soubory ke stažení.</translation> <translation id="6776813977906306442">Pomocí tlačítka Stáhnout si můžete stáhnout videa k pozdějšímu zhlédnutí</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Brzy se zobrazí další články. Užijte si večer.</translation> <translation id="857943718398505171">Povoleno (doporučeno)</translation> <translation id="8583805026567836021">Mazání dat účtu</translation> +<translation id="8609465669617005112">Posunout nahoru</translation> <translation id="8616006591992756292">Na stránce <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> mohou být k dispozici další druhy historie prohlížení zaznamenané ve vašem účtu Google.</translation> <translation id="8617240290563765734">Otevřít navrhovanou adresu URL uvedenou ve staženém obsahu?</translation> <translation id="862875433388403934">Obsah (filmy, hudba atd.) stažený v jiných aplikacích možná nebude možné přehrát, dokud dané aplikace znovu nezískají licence s novými identifikačními údaji zařízení.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb index 6789692f..6a332a7 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{For 1 time siden}one{For # time siden}other{For # timer siden}}</translation> <translation id="5817918615728894473">Start parring</translation> <translation id="583281660410589416">Ukendt</translation> -<translation id="5832934273103296195">Udvidet – klik for at minimere</translation> <translation id="5833984609253377421">Del link</translation> <translation id="583891442612896534">Chrome kan ikke komme i kontakt med Googles servere i forbindelse med datakomprimering. Dine sparede data kan være begrænsede.</translation> -<translation id="584615158992327102">få adgang til downloads, bogmærker og historik.</translation> <translation id="5854790677617711513">Ældre end 30 dage</translation> <translation id="5858741533101922242">Chrome kan ikke slå Bluetooth-adapteren til</translation> <translation id="5860033963881614850">Fra</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tryk for at skjule</translation> <translation id="5974562976030145789">"Downloads" får en ny placering. Næste gang skal du trække adresselinjen op for at se dem.</translation> <translation id="6000066717592683814">Behold Google</translation> -<translation id="6031101910111098835">Skjult – klik for at udvide</translation> <translation id="6039379616847168523">Gå til den næste fane</translation> <translation id="6040143037577758943">Luk</translation> <translation id="6042308850641462728">Mere</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Rediger bogmærke</translation> <translation id="6406506848690869874">Synkronisering</translation> <translation id="6409731863280057959">Pop op-vinduer</translation> -<translation id="6411957228448379013">Adresselinje. Stryg opad for at se downloads, bogmærker og historik.</translation> <translation id="641643625718530986">Udskriv…</translation> <translation id="6416782512398055893">Der er downloadet <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Vælg en søgemaskine</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Sikkerhedsrapporter</translation> <translation id="6710213216561001401">Forrige</translation> <translation id="6738867403308150051">Downloader…</translation> +<translation id="6746124502594467657">Flyt ned</translation> <translation id="6762156594045689028">Hvis du vil ændre denne indstilling, skal du <ph name="BEGIN_LINK" />nulstille synkroniseringen<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Systemet Beskyttet browsing i Chrome anvendes også til at registrere skadelige sider og beskytte dig mod phishing, malware og skadelige downloads.</translation> <translation id="6776813977906306442">Download videoer, som du vil se senere, ved hjælp af knappen Download</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Der vises snart flere artikler. Hav en god aften!</translation> <translation id="857943718398505171">Tilladt (anbefales)</translation> <translation id="8583805026567836021">Kontodataene ryddes</translation> +<translation id="8609465669617005112">Flyt op</translation> <translation id="8616006591992756292">Din Google-konto kan have andre former for browserhistorik på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Vil du åbne den foreslåede webadresse, som er angivet i det downloadede indhold?</translation> <translation id="862875433388403934">Indhold (film, musik m.m.), der er downloadet i andre applikationer, kan muligvis ikke længere afspilles, før disse applikationer får nye licenser, der er baseret på nye loginoplysninger for enheden.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb index c25e0d3..5e52e37 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
@@ -534,10 +534,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Vor # Stunde}other{Vor # Stunden}}</translation> <translation id="5817918615728894473">Koppeln</translation> <translation id="583281660410589416">Unbekannt</translation> -<translation id="5832934273103296195">Maximiert – zum Minimieren klicken</translation> <translation id="5833984609253377421">Link teilen</translation> <translation id="583891442612896534">Chrome kann die Google-Server für die Datenkomprimierung nicht erreichen. Ihre Einsparungen bei der Datennutzung können begrenzt sein.</translation> -<translation id="584615158992327102">um Downloads, Lesezeichen und den Verlauf aufzurufen.</translation> <translation id="5854790677617711513">Älter als 30 Tage</translation> <translation id="5858741533101922242">Chrome kann den Bluetooth-Adapter nicht aktivieren</translation> <translation id="5860033963881614850">Aus</translation> @@ -555,7 +553,6 @@ <translation id="5962718611393537961">Zum Minimieren tippen</translation> <translation id="5974562976030145789">"Downloads" wird verschoben. Ziehen Sie beim nächsten Mal die Adressleiste nach oben.</translation> <translation id="6000066717592683814">Google beibehalten</translation> -<translation id="6031101910111098835">Minimiert – zum Maximieren klicken</translation> <translation id="6039379616847168523">Zum nächsten Tab wechseln</translation> <translation id="6040143037577758943">Schließen</translation> <translation id="6042308850641462728">Mehr</translation> @@ -601,7 +598,6 @@ <translation id="6404511346730675251">Lesezeichen bearbeiten</translation> <translation id="6406506848690869874">Synchronisierung</translation> <translation id="6409731863280057959">Pop-ups</translation> -<translation id="6411957228448379013">Adressleiste. Sie können nach oben wischen, um Lesezeichen, Downloads und den Verlauf zu sehen.</translation> <translation id="641643625718530986">Drucken...</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB heruntergeladen</translation> <translation id="6433501201775827830">Suchmaschine auswählen</translation> @@ -642,6 +638,7 @@ <translation id="6701279291835318271">Sicherheitsberichte</translation> <translation id="6710213216561001401">Zurück</translation> <translation id="6738867403308150051">Wird heruntergeladen...</translation> +<translation id="6746124502594467657">Nach unten</translation> <translation id="6762156594045689028">Wenn Sie diese Einstellung ändern möchten, <ph name="BEGIN_LINK" />setzen Sie die Synchronisierung zurück<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Das Safe Browsing-System von Chrome erkennt außerdem schädliche Seiten und schützt Sie vor Phishing, Malware und schädlichen Downloads.</translation> <translation id="6776813977906306442">Mit der Download-Schaltfläche Videos herunterladen, um sie später anzusehen</translation> @@ -834,6 +831,7 @@ <translation id="857509777403223202">Weitere Artikel werden in Kürze erscheinen. Schönen Abend!</translation> <translation id="857943718398505171">Zugelassen (empfohlen)</translation> <translation id="8583805026567836021">Kontodaten werden gelöscht</translation> +<translation id="8609465669617005112">Nach oben</translation> <translation id="8616006591992756292">Möglicherweise verfügt Ihr Google-Konto unter <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> über andere Browserverläufe.</translation> <translation id="8617240290563765734">Soll die im heruntergeladenen Inhalt angegebene URL geöffnet werden?</translation> <translation id="862875433388403934">In anderen Anwendungen heruntergeladene Inhalte wie Filme und Musik können möglicherweise erst wieder abgespielt werden, nachdem Lizenzen basierend auf neuen Anmeldedaten für die betreffenden Anwendungen erworben wurden.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb index a80b5d0b..25bb1e6 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Πριν από # ώρα}other{Πριν από # ώρες}}</translation> <translation id="5817918615728894473">Σύζευξη</translation> <translation id="583281660410589416">Άγνωστο</translation> -<translation id="5832934273103296195">Αναπτυγμένη - Κάντε κλικ για σύμπτυξη</translation> <translation id="5833984609253377421">Κοινοποίηση συνδέσμου</translation> <translation id="583891442612896534">Το Chrome δεν είναι δυνατό να επικοινωνήσει με τους διακομιστές της Google για συμπίεση δεδομένων. Η εξοικονόμηση δεδομένων πιθανώς να είναι περιορισμένη.</translation> -<translation id="584615158992327102">πρόσβαση σε λήψεις, σελιδοδείκτες και ιστορικό.</translation> <translation id="5854790677617711513">Παλαιότερο από 30 ημέρες</translation> <translation id="5858741533101922242">Το Chrome δεν είναι δυνατό να ενεργοποιήσει τον προσαρμογέα Bluetooth</translation> <translation id="5860033963881614850">Απενεργοποιημένη</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Πατήστε για σύμπτυξη</translation> <translation id="5974562976030145789">Το στοιχείο "Λήψεις" μετακινείται. Την επόμενη φορά, τραβήξτε τη γραμμή διεύθυνσης προς τα επάνω.</translation> <translation id="6000066717592683814">Διατήρηση του Google</translation> -<translation id="6031101910111098835">Συμπτυγμένη - Κάντε κλικ για ανάπτυξη</translation> <translation id="6039379616847168523">Μετάβαση στην επόμενη καρτέλα</translation> <translation id="6040143037577758943">Κλείσιμο</translation> <translation id="6042308850641462728">Περισσότερα</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Επεξεργασία σελιδοδείκτη</translation> <translation id="6406506848690869874">Συγχρονισμός</translation> <translation id="6409731863280057959">Αναδυόμενα παράθυρα</translation> -<translation id="6411957228448379013">Γραμμή διευθύνσεων. Σύρετε προς τα επάνω, για να δείτε τις λήψεις, τους σελιδοδείκτες και το ιστορικό.</translation> <translation id="641643625718530986">Εκτύπωση…</translation> <translation id="6416782512398055893">Έγινε λήψη <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Επιλέξτε τη μηχανή αναζήτησής σας</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Αναφορές ασφάλειας</translation> <translation id="6710213216561001401">Προηγούμενο</translation> <translation id="6738867403308150051">Λήψη…</translation> +<translation id="6746124502594467657">Μετακίνηση προς τα κάτω</translation> <translation id="6762156594045689028">Για να αλλάξετε αυτήν τη ρύθμιση, <ph name="BEGIN_LINK" />επαναφέρετε το συγχρονισμό<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Το σύστημα ασφαλούς περιήγησης του Chrome μπορεί να χρησιμοποιηθεί επίσης για τον εντοπισμό κακόβουλων σελίδων και την προστασία σας από ηλεκτρονικό "ψάρεμα" (phishing), κακόβουλα προγράμματα και επιβλαβείς λήψεις.</translation> <translation id="6776813977906306442">Κατεβάστε βίντεο για να τα παρακολουθήσετε αργότερα, χρησιμοποιώντας το κουμπί Λήψης</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Περισσότερα άρθρα θα εμφανιστούν σύντομα. Απολαύστε το βράδυ σας!</translation> <translation id="857943718398505171">Επιτρέπεται (συνιστάται)</translation> <translation id="8583805026567836021">Διαγραφή δεδομένων λογαριασμού</translation> +<translation id="8609465669617005112">Μετακίνηση προς τα επάνω</translation> <translation id="8616006591992756292">Ο Λογαριασμός σας Google ενδέχεται να διαθέτει άλλες μορφές ιστορικού περιήγησης στη διεύθυνση <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Άνοιγμα της προτεινόμενης διεύθυνσης URL που καθορίζεται στο ληφθέν περιεχόμενο;</translation> <translation id="862875433388403934">Ίσως να είναι αδύνατη η αναπαραγωγή λήψεων περιεχομένου (ταινίες, μουσική, κ.λπ.), σε άλλες εφαρμογές έως ότου αποκτήσουν άδειες με νέα διαπιστευτήρια συσκευής.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb index e3e5735bd..a731632 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# hour ago}other{# hours ago}}</translation> <translation id="5817918615728894473">Pair</translation> <translation id="583281660410589416">Unknown</translation> -<translation id="5832934273103296195">Expanded – Click to collapse</translation> <translation id="5833984609253377421">Share link</translation> <translation id="583891442612896534">Chrome is unable to reach Google servers for data compression. Your data savings may be limited.</translation> -<translation id="584615158992327102">access downloads, bookmarks and history.</translation> <translation id="5854790677617711513">Older than 30 days</translation> <translation id="5858741533101922242">Chrome is unable to turn on Bluetooth adaptor</translation> <translation id="5860033963881614850">Off</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tap to collapse</translation> <translation id="5974562976030145789">'Downloads' is moving. Next time, pull the address bar up.</translation> <translation id="6000066717592683814">Keep Google</translation> -<translation id="6031101910111098835">Collapsed – Click to expand</translation> <translation id="6039379616847168523">Jump to the next tab</translation> <translation id="6040143037577758943">Close</translation> <translation id="6042308850641462728">More</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Edit bookmark</translation> <translation id="6406506848690869874">Sync</translation> <translation id="6409731863280057959">Pop-ups</translation> -<translation id="6411957228448379013">Address bar. Swipe up to see downloads, bookmarks and history.</translation> <translation id="641643625718530986">Print…</translation> <translation id="6416782512398055893">Downloaded <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Choose your search engine</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Security Reports</translation> <translation id="6710213216561001401">Previous</translation> <translation id="6738867403308150051">Downloading…</translation> +<translation id="6746124502594467657">Move down</translation> <translation id="6762156594045689028">To change this setting, <ph name="BEGIN_LINK" />reset sync<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome’s Safe Browsing system will also be used to detect malicious pages and protect you from phishing, malware and harmful downloads.</translation> <translation id="6776813977906306442">Download videos to watch later using the Download button</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">More articles will appear soon. Enjoy your evening!</translation> <translation id="857943718398505171">Allowed (recommended)</translation> <translation id="8583805026567836021">Clearing account data</translation> +<translation id="8609465669617005112">Move up</translation> <translation id="8616006591992756292">Your Google account may have other forms of browsing history at <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Open the suggested URL specified in the downloaded content?</translation> <translation id="862875433388403934">Content (films, music, etc.) downloaded in other applications may no longer be playable until those applications re-acquire licences based on a new device credential. To obtain new licences, connect to the Internet and play your downloaded content.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb index 4075984..ed2d62b 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Hace # hora}other{Hace # horas}}</translation> <translation id="5817918615728894473">Sincronizar</translation> <translation id="583281660410589416">Desconocido</translation> -<translation id="5832934273103296195">Expandido (hacer clic para contraer)</translation> <translation id="5833984609253377421">Compartir vínculo</translation> <translation id="583891442612896534">Chrome no puede acceder a los servidores de Google para la compresión de datos. Es posible que el ahorro de datos esté reducido.</translation> -<translation id="584615158992327102">acceder a las descargas, los favoritos y el historial.</translation> <translation id="5854790677617711513">Hace más de 30 días</translation> <translation id="5858741533101922242">Chrome no puede activar el adaptador Bluetooth</translation> <translation id="5860033963881614850">Desactivado</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Presiona para contraer</translation> <translation id="5974562976030145789">Estamos moviendo "Descargas". La próxima vez, desliza la barra de direcciones hacia arriba.</translation> <translation id="6000066717592683814">Seguir usando Google</translation> -<translation id="6031101910111098835">Contraído (hacer clic para expandir)</translation> <translation id="6039379616847168523">Ir a la pestaña siguiente</translation> <translation id="6040143037577758943">Cerrar</translation> <translation id="6042308850641462728">Más</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Editar marcador</translation> <translation id="6406506848690869874">Sincronización</translation> <translation id="6409731863280057959">Ventanas emergentes</translation> -<translation id="6411957228448379013">Barra de direcciones. Deslízala hacia arriba para ver las descargas, los favoritos y el historial.</translation> <translation id="641643625718530986">Imprimir…</translation> <translation id="6416782512398055893">Se descargaron <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Selecciona el motor de búsqueda</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Informes de seguridad</translation> <translation id="6710213216561001401">Anterior</translation> <translation id="6738867403308150051">Descargando…</translation> +<translation id="6746124502594467657">Mover hacia abajo</translation> <translation id="6762156594045689028">Para cambiar esta configuración, <ph name="BEGIN_LINK" />restablece la sincronización<ph name="END_LINK" /></translation> <translation id="6770414673596662518">El sistema de navegación segura de Chrome también se puede utilizar para detectar páginas maliciosas y protegerte de la suplantación de identidad (phishing), el software malicioso y las descargas peligrosas.</translation> <translation id="6776813977906306442">Descarga videos con el botón Descargar para verlos más tarde</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Pronto se mostrarán más artículos. Disfruta tu tarde.</translation> <translation id="857943718398505171">Permitido (recomendado)</translation> <translation id="8583805026567836021">Borrando datos de cuenta</translation> +<translation id="8609465669617005112">Subir</translation> <translation id="8616006591992756292">Es posible que tu cuenta de Google tenga otros formularios del historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">¿Quieres abrir la URL sugerida que se especifica en el contenido descargado?</translation> <translation id="862875433388403934">Tal vez no puedas reproducir el contenido descargado (películas, música, etc.) en otras aplicaciones hasta que dichas aplicaciones vuelvan a adquirir licencias basadas en una nueva credencial de dispositivo.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb index 3a3ca5b..8c529bb 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Hace # hora}other{Hace # horas}}</translation> <translation id="5817918615728894473">Vincular</translation> <translation id="583281660410589416">Desconocido</translation> -<translation id="5832934273103296195">Vista expandida (hacer clic para contraerla)</translation> <translation id="5833984609253377421">Compartir enlace</translation> <translation id="583891442612896534">Chrome no puede acceder a los servidores de Google para comprimir los datos. El ahorro de datos puede estar limitado.</translation> -<translation id="584615158992327102">acceder a las descargas, los marcadores y el historial</translation> <translation id="5854790677617711513">Más de 30 días</translation> <translation id="5858741533101922242">Chrome no ha podido activar el adaptador Bluetooth</translation> <translation id="5860033963881614850">No</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Toca para ocultar</translation> <translation id="5974562976030145789">A partir de ahora, tendrás que deslizar la barra de direcciones hacia arriba para mostrar las descargas.</translation> <translation id="6000066717592683814">Mantener Google como motor de búsqueda predeterminado</translation> -<translation id="6031101910111098835">Vista contraída (hacer clic para expandirla)</translation> <translation id="6039379616847168523">Te dirige a la siguiente pestaña</translation> <translation id="6040143037577758943">Cerrar</translation> <translation id="6042308850641462728">Más</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Editar marcador</translation> <translation id="6406506848690869874">Sincronización</translation> <translation id="6409731863280057959">Ventanas emergentes</translation> -<translation id="6411957228448379013">Barra de direcciones. Desliza el dedo hacia arriba para mostrar los marcadores, las descargas y el historial.</translation> <translation id="641643625718530986">Imprimir…</translation> <translation id="6416782512398055893">MB descargados: <ph name="MBS" /></translation> <translation id="6433501201775827830">Elegir tu motor de búsqueda</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Informes de seguridad</translation> <translation id="6710213216561001401">Anterior</translation> <translation id="6738867403308150051">Descargando…</translation> +<translation id="6746124502594467657">Bajar</translation> <translation id="6762156594045689028">Para cambiar esta opción, <ph name="BEGIN_LINK" />restablece la sincronización<ph name="END_LINK" /></translation> <translation id="6770414673596662518">El sistema de Navegación Segura de Chrome también se utilizará para detectar páginas maliciosas y para proteger al usuario de la suplantación de identidad, del software malicioso y de las descargas peligrosas.</translation> <translation id="6776813977906306442">Descarga vídeos para verlos más tarde con el botón Descargar</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Próximamente se mostrarán más artículos. Disfruta de la noche.</translation> <translation id="857943718398505171">Permitido (recomendado)</translation> <translation id="8583805026567836021">Borrando datos de cuenta</translation> +<translation id="8609465669617005112">Subir</translation> <translation id="8616006591992756292">Es posible que tu cuenta de Google tenga otros tipos de historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">¿Quieres abrir la URL sugerida que se especifica en el contenido descargado?</translation> <translation id="862875433388403934">Es posible que el contenido (películas, música, etc.) descargado en otras aplicaciones no se pueda reproducir hasta que esas aplicaciones no vuelvan a adquirir licencias basadas en una nueva credencial de dispositivo.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb index 1bf9787..d1d0813f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
@@ -532,10 +532,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{۱ ساعت قبل}one{# ساعت قبل}other{# ساعت قبل}}</translation> <translation id="5817918615728894473">مرتبطسازی</translation> <translation id="583281660410589416">ناشناس</translation> -<translation id="5832934273103296195">بزرگشده - برای کوچک کردن کلیک کنید</translation> <translation id="5833984609253377421">اشتراکگذاری پیوند</translation> <translation id="583891442612896534">Chrome نمیتواند برای فشرده کردن دادهها به سرورهای Google دسترسی پیدا کند. شاید ذخیره دادههایتان محدود باشد.</translation> -<translation id="584615158992327102">دسترسی به بارگیریها، نشانکها و سابقه.</translation> <translation id="5854790677617711513">قدیمیتر از ۳۰ روز</translation> <translation id="5858741533101922242">Chrome قادر به روشن کردن آداپتور بلوتوث نیست</translation> <translation id="5860033963881614850">خاموش</translation> @@ -553,7 +551,6 @@ <translation id="5962718611393537961">برای کوچک کردن ضربه بزنید</translation> <translation id="5974562976030145789">«بارگیریها» درحال انتقال هستند. دفعه بعد، نوار نشانی را به بالا بکشید.</translation> <translation id="6000066717592683814">حفظ Google</translation> -<translation id="6031101910111098835">کوچک شده - برای بزرگ کردن کلیک کنید</translation> <translation id="6039379616847168523">رفتن به برگه بعدی</translation> <translation id="6040143037577758943">بستن</translation> <translation id="6042308850641462728">بیشتر</translation> @@ -599,7 +596,6 @@ <translation id="6404511346730675251">ویرایش نشانک</translation> <translation id="6406506848690869874">همگامسازی</translation> <translation id="6409731863280057959">پنجرههای بازشو</translation> -<translation id="6411957228448379013">نوار نشانی. برای دیدن بارگیریها، نشانکها و سابقه تند به بالا بکشید.</translation> <translation id="641643625718530986">چاپ...</translation> <translation id="6416782512398055893"><ph name="MBS" /> مگابایت بارگیری شد</translation> <translation id="6433501201775827830">انتخاب موتور جستجو</translation> @@ -640,6 +636,7 @@ <translation id="6701279291835318271">گزارشهای امنیتی</translation> <translation id="6710213216561001401">قبلی</translation> <translation id="6738867403308150051">در حال بارگیری…</translation> +<translation id="6746124502594467657">انتقال به پایین</translation> <translation id="6762156594045689028">برای تغییر این تنظیم، <ph name="BEGIN_LINK" />همگامسازی را بازنشانی کنید<ph name="END_LINK" /></translation> <translation id="6770414673596662518">همچنین از سیستم مرور ایمن Chrome برای تشخیص صفحات مخرب و محافظت از شما در برابر فیشینگ، بدافزار و بارگیریهای خطرناک استفاده میشود.</translation> <translation id="6776813977906306442">با استفاده از دکمه «بارگیری»، ویدیوها را برای تماشا در فرصتی دیگر بارگیری کنید</translation> @@ -832,6 +829,7 @@ <translation id="857509777403223202">مقالههای بیشتر بهزودی نشان داده میشوند. از غروبتان لذت ببرید!</translation> <translation id="857943718398505171">مجاز (توصیه میشود)</translation> <translation id="8583805026567836021">پاکسازی دادههای حساب</translation> +<translation id="8609465669617005112">انتقال به بالا</translation> <translation id="8616006591992756292">ممکن است حساب Google شما اشکال دیگری از سابقه مرور در <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> داشته باشد.</translation> <translation id="8617240290563765734">نشانی وب مشخص شده در محتوای بارگیریشده باز شود؟</translation> <translation id="862875433388403934">شاید دیگر محتوای بارگیریشده (فیلمها، موسیقی و غیره) در برنامههای دیگر قابل پخش نباشد، مگر آنکه آن برنامهها مجدداً مجوزها را براساس اعتبارنامه دستگاه جدید بدست آورند.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb index 182feee..e73613f7 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# tunti sitten}other{# tuntia sitten}}</translation> <translation id="5817918615728894473">Muodosta laitepari</translation> <translation id="583281660410589416">Tuntematon</translation> -<translation id="5832934273103296195">Laajennettu – tiivistä klikkaamalla</translation> <translation id="5833984609253377421">Jaa linkki</translation> <translation id="583891442612896534">Chrome ei saa yhteyttä Googlen palvelimiin tietojen pakkausta varten. Tietojen tallentaminen voi olla rajoitettua.</translation> -<translation id="584615158992327102">katsella latauksia, kirjanmerkkejä ja historiaa.</translation> <translation id="5854790677617711513">Yli 30 päivää vanhat</translation> <translation id="5858741533101922242">Chrome ei voi ottaa käyttöön Bluetooth-sovitinta.</translation> <translation id="5860033963881614850">Pois käytöstä</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tiivistä napauttamalla.</translation> <translation id="5974562976030145789">Lataukset siirtyvät uuteen paikkaan. Ensi kerralla löydät ne vetämällä osoitepalkkia ylöspäin.</translation> <translation id="6000066717592683814">Käytä Googlea</translation> -<translation id="6031101910111098835">Tiivistetty – laajenna klikkaamalla</translation> <translation id="6039379616847168523">Siirry seuraavalle välilehdelle</translation> <translation id="6040143037577758943">Sulje</translation> <translation id="6042308850641462728">Lisää</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Muokkaa kirjanmerkkiä</translation> <translation id="6406506848690869874">Synkronointi</translation> <translation id="6409731863280057959">Ponnahdusikkunat</translation> -<translation id="6411957228448379013">Osoitekenttä. Pyyhkäise ylös, niin näet kirjanmerkit, lataukset ja historian.</translation> <translation id="641643625718530986">Tulosta…</translation> <translation id="6416782512398055893">Ladattu: <ph name="MBS" /> Mt</translation> <translation id="6433501201775827830">Valitse hakukone</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Tietoturvaraportit</translation> <translation id="6710213216561001401">Edellinen</translation> <translation id="6738867403308150051">Ladataan…</translation> +<translation id="6746124502594467657">Siirrä alas</translation> <translation id="6762156594045689028">Jos haluat muokata tätä asetusta, <ph name="BEGIN_LINK" />nollaa synkronointi<ph name="END_LINK" />.</translation> <translation id="6770414673596662518">Chromen selaussuojajärjestelmän avulla myös tunnistetaan haitallisia sivuja ja suojataan sinua tietojenkalastelulta, haittaohjelmilta ja haitallisilta latauksilta.</translation> <translation id="6776813977906306442">Lataa videoita myöhemmin katsottavaksi painamalla latauspainiketta.</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Muita artikkeleita ilmestyy pian. Nauti illastasi!</translation> <translation id="857943718398505171">Sallittu (suositus)</translation> <translation id="8583805026567836021">Poistetaan tilin tietoja</translation> +<translation id="8609465669617005112">Siirrä ylös</translation> <translation id="8616006591992756292">Google-tililläsi voi olla muita selaushistoriatietoja osoitteessa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Avataanko ladatussa sisällössä määritetty ehdotettu URL-osoite?</translation> <translation id="862875433388403934">Muissa sov. ladattua sisältöä (esim. elokuvia, musiikkia) ei ehkä voi toistaa ennen käyttöoik. myöntämistä sovellukselle uudell. uusien laitteen kirjautumistiet. perust.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb index e42733f..94513307 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# oras ang nakalipas}one{# oras ang nakalipas}other{# na oras ang nakalipas}}</translation> <translation id="5817918615728894473">Ipares</translation> <translation id="583281660410589416">Hindi-alam</translation> -<translation id="5832934273103296195">Pinalawak - I-click upang i-collapse</translation> <translation id="5833984609253377421">Ibahagi ang link</translation> <translation id="583891442612896534">Hindi magawa ng Chrome na makipag-ugnayan sa mga server ng Google para sa pag-compress ng data. Maaaring limitado lang ang matipid mo sa data.</translation> -<translation id="584615158992327102">i-access ang mga download, bookmark, at history.</translation> <translation id="5854790677617711513">Mas matagal sa 30 araw</translation> <translation id="5858741533101922242">Hindi ma-on ng Chrome ang Bluetooth adapter</translation> <translation id="5860033963881614850">Naka-off</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">I-tap upang i-collapse</translation> <translation id="5974562976030145789">Magbabago ng pwesto ang “Mga Download.” Sa susunod, hilahin pataas ang address bar.</translation> <translation id="6000066717592683814">Panatilihin ang Google</translation> -<translation id="6031101910111098835">Naka-collapse - I-click upang palawakin</translation> <translation id="6039379616847168523">Pumunta sa susunod na tab</translation> <translation id="6040143037577758943">Isara</translation> <translation id="6042308850641462728">Higit pa</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">I-edit ang bookmark</translation> <translation id="6406506848690869874">Pag-sync</translation> <translation id="6409731863280057959">Mga Pop-up</translation> -<translation id="6411957228448379013">Address bar. Mag-swipe pataas upang makita ang mga download, bookmark, at history.</translation> <translation id="641643625718530986">I-print…</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB ang na-download</translation> <translation id="6433501201775827830">Pumili ng iyong search engine</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Mga ulat tungkol sa seguridad</translation> <translation id="6710213216561001401">Nakaraan</translation> <translation id="6738867403308150051">Nagda-download...</translation> +<translation id="6746124502594467657">Ibaba</translation> <translation id="6762156594045689028">Upang baguhin ang setting na ito, <ph name="BEGIN_LINK" />i-reset ang pag-sync<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Ang Chrome ay mayroong system na Ligtas na Pagba-browse para malaman kung aling mga page ang hindi ligtas gamitin. Mapoprotektahan ka nito mula sa phishing, malware at mga download na nakakasama.</translation> <translation id="6776813977906306442">Mag-download ng mga video upang panoorin sa ibang pagkakataon gamit ang button na I-download</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Marami pang artikulo ang malapit nang lumabas. I-enjoy ang iyong gabi!</translation> <translation id="857943718398505171">Pinapayagan (inirerekomenda)</translation> <translation id="8583805026567836021">Kini-clear ang data ng account</translation> +<translation id="8609465669617005112">Lumipat</translation> <translation id="8616006591992756292">Maaaring may iba pang anyo ng history ng pag-browse ang iyong Google Account sa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Buksan ang iminumungkahing URL na tinukoy sa na-download na content?</translation> <translation id="862875433388403934">Ang content (mga pelikula, musika, atbp.) na na-download sa iba pang mga application ay maaaring hindi na ma-play hanggang sa muling makakuha ang mga application na iyon ng mga lisensya batay sa bagong kredensyal ng device.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb index b8e5ce5..edbc7ceb 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Il y a # heure}one{Il y a # heure}other{Il y a # heures}}</translation> <translation id="5817918615728894473">Associer</translation> <translation id="583281660410589416">Inconnu</translation> -<translation id="5832934273103296195">Développé – Cliquer pour réduire</translation> <translation id="5833984609253377421">Partager le lien</translation> <translation id="583891442612896534">Impossible de se connecter aux serveurs de Google dans Chrome pour la compression de données. Les sauvegardes de données peuvent être limitées.</translation> -<translation id="584615158992327102">accéder aux téléchargements, aux favoris et à l'historique.</translation> <translation id="5854790677617711513">Datant de plus de 30 jours</translation> <translation id="5858741533101922242">Impossible d'activer l'adaptateur Bluetooth dans Chrome</translation> <translation id="5860033963881614850">Désactivé</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Appuyer pour réduire</translation> <translation id="5974562976030145789">La section "Téléchargements" va être déplacée. La prochaine fois, tirez la barre d'adresse vers le haut pour y accéder.</translation> <translation id="6000066717592683814">Conserver Google</translation> -<translation id="6031101910111098835">Réduit – Cliquer pour développer</translation> <translation id="6039379616847168523">Accéder à l'onglet suivant</translation> <translation id="6040143037577758943">Fermer</translation> <translation id="6042308850641462728">Plus</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Modifier le favori</translation> <translation id="6406506848690869874">Synchronisation</translation> <translation id="6409731863280057959">Fenêtres pop-up</translation> -<translation id="6411957228448379013">Barre d'adresse. Balayez l'écran vers le haut pour voir les téléchargements, les favoris et l'historique.</translation> <translation id="641643625718530986">Imprimer…</translation> <translation id="6416782512398055893"><ph name="MBS" /> Mo téléchargé(s)</translation> <translation id="6433501201775827830">Sélectionner votre moteur de recherche</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Rapports relatifs à la sécurité</translation> <translation id="6710213216561001401">Précédent</translation> <translation id="6738867403308150051">Téléchargement en cours…</translation> +<translation id="6746124502594467657">Descendre</translation> <translation id="6762156594045689028">Pour modifier ce paramètre, <ph name="BEGIN_LINK" />réinitialisez la synchronisation<ph name="END_LINK" />.</translation> <translation id="6770414673596662518">Nous utilisons également le système de navigation sécurisée de Chrome pour détecter les pages nuisibles tout en vous protégeant de l'hameçonnage, des logiciels malveillants et des téléchargements dangereux.</translation> <translation id="6776813977906306442">Téléchargez des vidéos à regarder plus tard à l'aide du bouton "Télécharger"</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">D'autres articles vous seront bientôt proposés. Bonne soirée !</translation> <translation id="857943718398505171">Autorisé (recommandé)</translation> <translation id="8583805026567836021">Suppression des données du compte</translation> +<translation id="8609465669617005112">Monter</translation> <translation id="8616006591992756292">Votre compte Google conserve peut-être d'autres formes d'historique de navigation sur la page <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Ouvrir l'URL suggérée indiquée dans le contenu téléchargé ?</translation> <translation id="862875433388403934">Il se peut que le contenu (films, musique, etc.) téléchargé dans d'autres applications ne soit plus lisible tant que ces applications n'ont pas obtenu de nouvelles licences sur la base d'un nouvel identifiant d'appareil.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb index c99f992..a6b1fc0 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# घंटा पहले}one{# घंटे पहले}other{# घंटे पहले}}</translation> <translation id="5817918615728894473">युग्मित करें</translation> <translation id="583281660410589416">अज्ञात</translation> -<translation id="5832934273103296195">विस्तारित - संक्षिप्त करने के लिए क्लिक करें</translation> <translation id="5833984609253377421">लिंक साझा करें</translation> <translation id="583891442612896534">Chrome डेटा संपीड़न के लिए Google के सर्वर तक नहीं पहुंच पा रहा है. आपकी डेटा की बचत सीमित हो सकती हैं.</translation> -<translation id="584615158992327102">डाउनलोड, बुकमार्क और इतिहास एक्सेस करें.</translation> <translation id="5854790677617711513">30 दिनों से ज़्यादा पुराना</translation> <translation id="5858741533101922242">Chrome, ब्लूटूथ एडाप्टर को चालू नहीं कर सका</translation> <translation id="5860033963881614850">बंद</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">संक्षिप्त करने के लिए टैप करें</translation> <translation id="5974562976030145789">“डाउनलोड” दूसरी जगह पर जा रहा है. अगली बार, पता बार ऊपर की ओर खींचें.</translation> <translation id="6000066717592683814">Google को डिफ़ॉल्ट बनाए रखें</translation> -<translation id="6031101910111098835">संक्षिप्त - विस्तृत करने के लिए क्लिक करें</translation> <translation id="6039379616847168523">सीधे अगले टैब पर जाएं</translation> <translation id="6040143037577758943">बंद करें</translation> <translation id="6042308850641462728">अधिक</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">बुकमार्क संपादित करें</translation> <translation id="6406506848690869874">समन्वय</translation> <translation id="6409731863280057959">पॉप-अप</translation> -<translation id="6411957228448379013">पता बार. डाउनलोड, बुकमार्क और इतिहास देखने के लिए ऊपर की ओर स्वाइप करें.</translation> <translation id="641643625718530986">प्रिंट करें…</translation> <translation id="6416782512398055893"><ph name="MBS" /> एमबी डाउनलोड किया गया</translation> <translation id="6433501201775827830">अपना खोज इंजन चुनें</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">सुरक्षा रिपोर्ट</translation> <translation id="6710213216561001401">पिछला</translation> <translation id="6738867403308150051">डाउनलोड हो रहे हैं...</translation> +<translation id="6746124502594467657">नीचे जाएं</translation> <translation id="6762156594045689028">यह सेटिंग बदलने के लिए, <ph name="BEGIN_LINK" />समन्वयन रीसेट करें<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome के सुरक्षित ब्राउज़िंग सिस्टम का उपयोग दुर्भावनापूर्ण पृष्ठों का पता लगाने तथा फ़िशिंग, मैलवेयर और हानिकारक डाउनलोड से आपकी सुरक्षा करने के लिए भी किया जाएगा.</translation> <translation id="6776813977906306442">डाउनलोड करें बटन का उपयोग करके बाद में देखने के लिए वीडियो डाउनलोड करें</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">जल्द ही और लेख दिखाई देंगे. अपनी शाम का आनंद लें!</translation> <translation id="857943718398505171">अनुमति दी गई (सुझाया गया)</translation> <translation id="8583805026567836021">खाते का डेटा साफ़ हो रहा है</translation> +<translation id="8609465669617005112">ऊपर जाएं</translation> <translation id="8616006591992756292">आपके Google खाते में <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> पर अन्य प्रकार के ब्राउज़िंग इतिहास हो सकतेे हैं.</translation> <translation id="8617240290563765734">डाउनलोड की गई सामग्री में निर्दिष्ट URL खोलें?</translation> <translation id="862875433388403934">अन्य ऐप्लिकेशन में डाउनलोड की गई सामग्री (फ़िल्में, संगीत, आदि) तब तक चलाने योग्य नहीं हो सकती, जब तक कि वे ऐप्लिकेशन नए डिवाइस प्रमाणिकता पर आधारित लाइसेंस पुन: प्राप्त नहीं कर लेते.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb index d241b56..c001ad5 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{prije # sata}one{prije # sata}few{prije # sata}other{prije # sati}}</translation> <translation id="5817918615728894473">Upari</translation> <translation id="583281660410589416">Nepoznato</translation> -<translation id="5832934273103296195">Prošireno – kliknite za sažimanje</translation> <translation id="5833984609253377421">Dijeli vezu</translation> <translation id="583891442612896534">Chrome ne može pristupiti Googleovim poslužiteljima za kompresiju podataka. Ušteda na prijenosu podataka može biti ograničena.</translation> -<translation id="584615158992327102">pristup preuzimanjima, oznakama i povijesti.</translation> <translation id="5854790677617711513">Starije od 30 dana</translation> <translation id="5858741533101922242">Chrome ne može uključiti Bluetooth adapter</translation> <translation id="5860033963881614850">Isključeno</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Dodirnite da biste saželi</translation> <translation id="5974562976030145789">“Preuzimanja” se premještaju. Sljedeći put povucite adresnu traku prema gore.</translation> <translation id="6000066717592683814">Zadrži Google</translation> -<translation id="6031101910111098835">Sažeto – kliknite za proširivanje</translation> <translation id="6039379616847168523">Preskakanje na sljedeću karticu</translation> <translation id="6040143037577758943">Zatvori</translation> <translation id="6042308850641462728">Više</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Uredi oznaku</translation> <translation id="6406506848690869874">Sinkronizacija</translation> <translation id="6409731863280057959">Skočni prozori</translation> -<translation id="6411957228448379013">Adresna traka. Prijeđite prstom prema gore da biste vidjeli oznake, preuzimanja i povijest.</translation> <translation id="641643625718530986">Ispis…</translation> <translation id="6416782512398055893">Preuzeto <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Odaberite tražilicu</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Sigurnosna izvješća</translation> <translation id="6710213216561001401">Prethodno</translation> <translation id="6738867403308150051">Preuzimanje...</translation> +<translation id="6746124502594467657">Pomakni dolje</translation> <translation id="6762156594045689028">Da biste promijenili tu postavku, <ph name="BEGIN_LINK" />poništite sinkronizaciju<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chromeov sustav Sigurno pregledavanje upotrebljavat će se i za otkrivanje zlonamjernih stranica i zaštitu od krađe identiteta, zlonamjernog softvera i štetnih preuzimanja.</translation> <translation id="6776813977906306442">Preuzmite videozapise za kasnije gledanje pomoću gumba Preuzmi</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Uskoro će se prikazati više članaka. Želimo vam ugodnu večer!</translation> <translation id="857943718398505171">Dopušteno (preporučeno)</translation> <translation id="8583805026567836021">Brisanje podataka računa</translation> +<translation id="8609465669617005112">Premjesti gore</translation> <translation id="8616006591992756292">Na vašem Google računu možda postoje drugi oblici povijesti pregledavanja na stranici <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Želite li otvoriti predloženi URL naveden u preuzetom sadržaju?</translation> <translation id="862875433388403934">Preuzeti sadržaj (filmovi, glazba itd.) u drugim aplikacijama možda se više neće moći reproducirati dok te aplikacije ponovo ne dobiju licence na temelju nove vjerodajnice uređaja.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb index 209796d9..b739c93 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# órája}other{# órája}}</translation> <translation id="5817918615728894473">Párosítás</translation> <translation id="583281660410589416">Ismeretlen</translation> -<translation id="5832934273103296195">Kibontva – Kattintson az összecsukáshoz</translation> <translation id="5833984609253377421">Link megosztása</translation> <translation id="583891442612896534">A Chrome nem tudja elérni a Google szervereit az adatok tömörítése céljából. Az adatforgalmi megtakarítás korlátozva lehet.</translation> -<translation id="584615158992327102">a letöltések, a könyvjelzők és az előzmények eléréséhez.</translation> <translation id="5854790677617711513">30 napnál régebbi</translation> <translation id="5858741533101922242">A Chrome nem tudja bekapcsolni a Bluetooth-adaptert</translation> <translation id="5860033963881614850">Kikapcsolva</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Koppintson az összecsukáshoz</translation> <translation id="5974562976030145789">A „Letöltések” szakasz elköltözik. Legközelebb húzza felfelé a címsávot.</translation> <translation id="6000066717592683814">A Google megtartása</translation> -<translation id="6031101910111098835">Összecsukva – Kattintson a kibontáshoz</translation> <translation id="6039379616847168523">Ugrás a következő lapra</translation> <translation id="6040143037577758943">Bezárás</translation> <translation id="6042308850641462728">Hosszabban</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Könyvjelző szerkesztése</translation> <translation id="6406506848690869874">Szinkronizálás</translation> <translation id="6409731863280057959">Előugró ablakok</translation> -<translation id="6411957228448379013">Címsáv. Csúsztassa ujját felfelé a letöltések, a könyvjelzők és az előzmények megtekintéséhez.</translation> <translation id="641643625718530986">Nyomtatás…</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB letöltve</translation> <translation id="6433501201775827830">Keresőmotor kiválasztása</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Biztonsági jelentések</translation> <translation id="6710213216561001401">Előző</translation> <translation id="6738867403308150051">Letöltés…</translation> +<translation id="6746124502594467657">Mozgatás lefelé</translation> <translation id="6762156594045689028">A beállítás módosításához <ph name="BEGIN_LINK" />állítsa alaphelyzetbe a szinkronizálást<ph name="END_LINK" /></translation> <translation id="6770414673596662518">A Chrome Biztonságos Böngészés rendszere is segít a rosszindulatú oldalak észlelésében, valamint megvédi Önt az adathalászattól, a rosszindulatú programoktól és az ártalmas letöltésektől.</translation> <translation id="6776813977906306442">A Letöltés gomb segítségével videókat tölthet le, hogy később tekintse meg őket</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Hamarosan további cikkek jelennek meg. Kellemes estét kívánunk!</translation> <translation id="857943718398505171">Engedélyezve (ajánlott)</translation> <translation id="8583805026567836021">Fiókadatok törlése</translation> +<translation id="8609465669617005112">Mozgatás felfelé</translation> <translation id="8616006591992756292">Előfordulhat, hogy a böngészési előzmények más formái még megtalálhatók Google-fiókjában a <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> webhelyen.</translation> <translation id="8617240290563765734">Megnyitja a letöltött tartalomban szereplő javasolt URL-t?</translation> <translation id="862875433388403934">Az egyéb alkalmazásokban letöltött tartalmakat (filmek, zene stb.) valószínűleg nem lehet majd lejátszani, amíg az egyes alkalmazások új engedélyeket nem kapnak új eszközhitelesítési adatok alapján.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb index 391ef73..1272f62c 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# jam yang lalu}other{# jam yang lalu}}</translation> <translation id="5817918615728894473">Sandingkan</translation> <translation id="583281660410589416">Tidak dikenal</translation> -<translation id="5832934273103296195">Diperluas - Klik untuk menciutkan</translation> <translation id="5833984609253377421">Bagikan link</translation> <translation id="583891442612896534">Chrome tidak dapat menjangkau server Google untuk mengompresi data. Penyimpanan data Anda mungkin dibatasi.</translation> -<translation id="584615158992327102">akses hasil download, bookmark, dan histori.</translation> <translation id="5854790677617711513">Lebih dari 30 hari</translation> <translation id="5858741533101922242">Chrome tidak dapat mengaktifkan adaptor Bluetooth</translation> <translation id="5860033963881614850">Nonaktif</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tap untuk menciutkan</translation> <translation id="5974562976030145789">Fitur “Download” sedang dipindahkan. Selanjutnya, tarik kolom URL ke atas untuk mengaksesnya.</translation> <translation id="6000066717592683814">Tetap menggunakan Google</translation> -<translation id="6031101910111098835">Diciutkan - Klik untuk memperluas</translation> <translation id="6039379616847168523">Beralih ke tab berikutnya</translation> <translation id="6040143037577758943">Tutup</translation> <translation id="6042308850641462728">Lainnya</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Edit bookmark</translation> <translation id="6406506848690869874">Sinkronisasi</translation> <translation id="6409731863280057959">Pop-up</translation> -<translation id="6411957228448379013">Kolom URL. Geser ke atas untuk melihat download, bookmark, dan histori.</translation> <translation id="641643625718530986">Cetak...</translation> <translation id="6416782512398055893">Terdownload <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Pilih mesin telusur Anda</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Laporan keamanan</translation> <translation id="6710213216561001401">Sebelumnya</translation> <translation id="6738867403308150051">Mendownload…</translation> +<translation id="6746124502594467657">Berpindah ke bawah</translation> <translation id="6762156594045689028">Untuk mengubah setelan ini, <ph name="BEGIN_LINK" />setel ulang sinkronisasi<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Sistem Safe Browsing Chrome juga dapat digunakan untuk mendeteksi halaman berbahaya dan melindungi Anda dari phishing, software perusak, dan download berbahaya.</translation> <translation id="6776813977906306442">Download video untuk ditonton nanti menggunakan tombol Download</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Artikel lainnya akan segera muncul. Nikmati malam Anda!</translation> <translation id="857943718398505171">Diizinkan (disarankan)</translation> <translation id="8583805026567836021">Menghapus data akun</translation> +<translation id="8609465669617005112">Berpindah ke atas</translation> <translation id="8616006591992756292">Akun Google Anda mungkin memiliki bentuk histori browsing lainnya di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Buka URL yang disarankan yang ditentukan di konten download?</translation> <translation id="862875433388403934">Konten (film, musik, dsb.) yang didownload di aplikasi lain mungkin tidak dapat diputar lagi hingga aplikasi tersebut mendapatkan kembali lisensi berdasarkan kredensial perangkat yang baru.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb index 1da4b2c..0a120dd 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# ora fa}other{# ore fa}}</translation> <translation id="5817918615728894473">Accoppia</translation> <translation id="583281660410589416">Sconosciuto</translation> -<translation id="5832934273103296195">Visualizzazione espansa. Fai clic per comprimere</translation> <translation id="5833984609253377421">Condividi link</translation> <translation id="583891442612896534">Chrome non riesce a contattare i server di Google per la compressione dei dati. I salvataggi di dati potrebbero essere limitati.</translation> -<translation id="584615158992327102">accedi a download, preferiti e cronologia.</translation> <translation id="5854790677617711513">Oltre 30 giorni fa</translation> <translation id="5858741533101922242">Chrome non riesce ad attivare l'adattatore Bluetooth</translation> <translation id="5860033963881614850">Off</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tocca per comprimere</translation> <translation id="5974562976030145789">La voce "Download" verrà spostata. La prossima volta dovrai trascinare verso l'alto la barra degli indirizzi.</translation> <translation id="6000066717592683814">Mantieni Google</translation> -<translation id="6031101910111098835">Visualizzazione compressa. Fai clic per espandere</translation> <translation id="6039379616847168523">Vai alla scheda successiva</translation> <translation id="6040143037577758943">Chiudi</translation> <translation id="6042308850641462728">Più</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Modifica preferito</translation> <translation id="6406506848690869874">Sincronizzazione</translation> <translation id="6409731863280057959">Popup</translation> -<translation id="6411957228448379013">Barra degli indirizzi. Scorri verso l'alto per visualizzare download, preferiti e cronologia.</translation> <translation id="641643625718530986">Stampa…</translation> <translation id="6416782512398055893">Sono stati scaricati <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Scegli il motore di ricerca</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Rapporti sulla sicurezza</translation> <translation id="6710213216561001401">Indietro</translation> <translation id="6738867403308150051">Download in corso…</translation> +<translation id="6746124502594467657">Sposta giù</translation> <translation id="6762156594045689028">Per modificare questa impostazione, <ph name="BEGIN_LINK" />reimposta la sincronizzazione<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Il sistema Navigazione sicura di Chrome verrà utilizzato anche per rilevare pagine dannose e proteggerti da phishing, malware e download pericolosi.</translation> <translation id="6776813977906306442">Usa il pulsante di download per scaricare video da guardare in seguito.</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">A breve verranno visualizzati altri articoli. Buona serata.</translation> <translation id="857943718398505171">Consentita (opzione consigliata)</translation> <translation id="8583805026567836021">Cancellazione dati dell'account</translation> +<translation id="8609465669617005112">Sposta su</translation> <translation id="8616006591992756292">Il tuo account Google potrebbe avere altri tipi di cronologia di navigazione all'indirizzo <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Aprire l'URL consigliato specificato nei contenuti scaricati?</translation> <translation id="862875433388403934">I contenuti (film, musica e così via) scaricati in altre applicazioni potrebbero non essere riproducibili finché tali applicazioni non riacquistano le licenze in base a nuove credenziali del dispositivo.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb index a0425a3..cfe7b4d 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
@@ -444,7 +444,7 @@ <translation id="510275257476243843">נותרה שעה אחת</translation> <translation id="5127805178023152808">סנכרון כבוי</translation> <translation id="5129038482087801250">התקן אפליקציית אינטרנט</translation> -<translation id="5139940364318403933">למד כיצד להשתמש ב-כונן גוגל</translation> +<translation id="5139940364318403933">איך משתמשים ב-Google Drive</translation> <translation id="515227803646670480">נקה נתונים מאוחסנים</translation> <translation id="5152843274749979095">לא מותקנות אפליקציות נתמכות</translation> <translation id="5161254044473106830">יש להזין כותרת</translation> @@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{לפני שעה}two{לפני שעתיים}many{לפני # שעות}other{לפני # שעות}}</translation> <translation id="5817918615728894473">התאם</translation> <translation id="583281660410589416">לא ידוע</translation> -<translation id="5832934273103296195">מורחב - הקש כדי לכווץ</translation> <translation id="5833984609253377421">שתף קישור</translation> <translation id="583891442612896534">ל-Chrome אין אפשרות לגשת אל שרתי Google לדחיסת נתונים. ייתכן שהחיסכון בנתונים יהיה מוגבל.</translation> -<translation id="584615158992327102">גישה אל ההורדות, הסימניות וההיסטוריה.</translation> <translation id="5854790677617711513">לפני יותר מ-30 ימים</translation> <translation id="5858741533101922242">לא ניתן להפעיל ב-Chrome את מתאם Bluetooth</translation> <translation id="5860033963881614850">כבוי</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">הקש כדי לכווץ</translation> <translation id="5974562976030145789">ההורדות עוברות למקום אחר. מעכשיו צריך למשוך את סרגל הכתובות כלפי מעלה.</translation> <translation id="6000066717592683814">המשך להשתמש ב-Google</translation> -<translation id="6031101910111098835">מכווץ - לחץ כדי להרחיב</translation> <translation id="6039379616847168523">עבור לכרטיסייה הבאה</translation> <translation id="6040143037577758943">סגור</translation> <translation id="6042308850641462728">עוד</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">ערוך סימניה</translation> <translation id="6406506848690869874">סנכרן</translation> <translation id="6409731863280057959">חלונות קופצים</translation> -<translation id="6411957228448379013">סרגל הכתובות. החלקה כלפי מעלה תציג את ההורדות, הסימניות וההיסטוריה.</translation> <translation id="641643625718530986">הדפס…</translation> <translation id="6416782512398055893">בוצעה הורדה של MB <ph name="MBS" /></translation> <translation id="6433501201775827830">בחירת מנוע החיפוש</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">דוחות אבטחה</translation> <translation id="6710213216561001401">הקודם</translation> <translation id="6738867403308150051">מוריד...</translation> +<translation id="6746124502594467657">הזז למטה</translation> <translation id="6762156594045689028"><ph name="BEGIN_LINK" />אפס את הסינכרון<ph name="END_LINK" /> כדי לשנות את ההגדרה הזו</translation> <translation id="6770414673596662518">מערכת הגלישה הבטוחה של Chrome תשמש גם לזיהוי דפים זדוניים ולהגנה עליך מפני דיוג, תוכנות זדוניות והורדות של קבצים מזיקים.</translation> <translation id="6776813977906306442">אפשר ללחוץ על לחצן ההורדה כדי להוריד סרטונים ולצפות בהם מאוחר יותר</translation> @@ -683,7 +680,7 @@ <translation id="7062545763355031412">קבל והחלף חשבונות</translation> <translation id="7063006564040364415">לא ניתן היה להתחבר אל שרת הסנכרון.</translation> <translation id="7066151586745993502">{NUM_SELECTED,plural, =1{נבחר אחד}two{נבחרו #}many{נבחרו #}other{נבחרו #}}</translation> -<translation id="7077143737582773186">Secure Digital</translation> +<translation id="7077143737582773186">כרטיס SD</translation> <translation id="7121362699166175603">ניקוי ההיסטוריה וההשלמות האוטומטיות בסרגל הכתובות. ייתכן שלחשבון Google שלך יהיו צורות אחרות של היסטוריית גלישה בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="7128222689758636196">התר למנוע החיפוש הנוכחי</translation> <translation id="7138678301420049075">אחר</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">בקרוב יופיעו מאמרים נוספים. שיהיה לך ערב נפלא!</translation> <translation id="857943718398505171">מותרת (מומלץ)</translation> <translation id="8583805026567836021">מנקה נתוני חשבון</translation> +<translation id="8609465669617005112">הזז למעלה</translation> <translation id="8616006591992756292">ייתכן שלחשבון Google שלך יהיו צורות אחרות של היסטוריית גלישה בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">האם לעבור אל כתובת האתר שצוינה כהצעה בתוכן שהורדת?</translation> <translation id="862875433388403934">ייתכן שלא תוכל עוד להפעיל תוכן (סרטים, מוזיקה וכו') שהורדת באפליקציות אחרות עד לרכישה מחדש של רישיונות באפליקציות אלה עם פרטי כניסה למכשיר חדש. כדי להשיג רישיונות חדשים, התחבר לאינטרנט והפעל את התוכן שהורדת.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb index fbc92dc..315daf1 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# 時間前}other{# 時間前}}</translation> <translation id="5817918615728894473">ペア設定</translation> <translation id="583281660410589416">不明</translation> -<translation id="5832934273103296195">展開状態 - クリックして折りたたみ</translation> <translation id="5833984609253377421">リンクを共有</translation> <translation id="583891442612896534">データ圧縮のために Chrome から Google サーバーにアクセスすることができません。データ使用量をあまり削減できない可能性があります。</translation> -<translation id="584615158992327102">ダウンロード、ブックマーク、履歴にアクセスします。</translation> <translation id="5854790677617711513">30 日以上経過</translation> <translation id="5858741533101922242">Chrome から Bluetooth アダプタをオンにできません</translation> <translation id="5860033963881614850">オフ</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">タップして折りたたむ</translation> <translation id="5974562976030145789">[ダウンロード] は移動しました。次回からはアドレスバーを上にスワイプしてください。</translation> <translation id="6000066717592683814">Google のままにする</translation> -<translation id="6031101910111098835">折りたたみ状態 - クリックして展開</translation> <translation id="6039379616847168523">次のタブに移動する</translation> <translation id="6040143037577758943">閉じる</translation> <translation id="6042308850641462728">もっと見る</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">ブックマークを編集</translation> <translation id="6406506848690869874">同期</translation> <translation id="6409731863280057959">ポップアップ</translation> -<translation id="6411957228448379013">アドレスバーです。ダウンロード、ブックマーク、履歴を表示するには上にスワイプします。</translation> <translation id="641643625718530986">印刷...</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB をダウンロード済み</translation> <translation id="6433501201775827830">検索エンジンを選択</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">セキュリティ レポート</translation> <translation id="6710213216561001401">前へ</translation> <translation id="6738867403308150051">ダウンロードしています…</translation> +<translation id="6746124502594467657">下に移動</translation> <translation id="6762156594045689028">この設定を変更するには、<ph name="BEGIN_LINK" />同期をリセット<ph name="END_LINK" />します</translation> <translation id="6770414673596662518">また、Chrome のセーフ ブラウジング システムにより悪意のあるページが検出され、フィッシング、不正なソフトウェア、有害なダウンロードからユーザーを保護します。</translation> <translation id="6776813977906306442">動画をダウンロードして後で見るには、[ダウンロード] をクリックします</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">記事は随時更新されます。また後でご覧ください。</translation> <translation id="857943718398505171">許可(推奨)</translation> <translation id="8583805026567836021">アカウント データをクリア中</translation> +<translation id="8609465669617005112">上に移動</translation> <translation id="8616006591992756292">お使いの Google アカウントの <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> に、他の形式の閲覧履歴が記録されている場合があります。</translation> <translation id="8617240290563765734">ダウンロード コンテンツに指定されている URL を開きますか?</translation> <translation id="862875433388403934">他のアプリケーションでダウンロードしたコンテンツ(映画、音楽など)は再生できなくなっている可能性があります。再生するには、該当のアプリケーションで新しいデバイス認証情報に基づくライセンスを再取得する必要があります。
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb index a20f8fff..4feaf25 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{#시간 전}other{#시간 전}}</translation> <translation id="5817918615728894473">페어링</translation> <translation id="583281660410589416">알 수 없음</translation> -<translation id="5832934273103296195">펼쳐짐 - 접으려면 클릭</translation> <translation id="5833984609253377421">링크 공유</translation> <translation id="583891442612896534">Chrome이 Google 서버에 접속할 수 없어 데이터를 압축하지 못했습니다. 데이터 절약이 제한적일 수 있습니다.</translation> -<translation id="584615158992327102">다운로드 항목, 북마크, 방문 기록 액세스</translation> <translation id="5854790677617711513">30일 이상 전</translation> <translation id="5858741533101922242">Chrome에서 블루투스 어댑터를 사용 설정할 수 없습니다.</translation> <translation id="5860033963881614850">사용 안함</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">탭하여 접기</translation> <translation id="5974562976030145789">'다운로드'의 위치가 변경됩니다. 다음에는 검색주소창을 위로 당기세요.</translation> <translation id="6000066717592683814">계속 Google 사용</translation> -<translation id="6031101910111098835">접힘 - 펼치려면 클릭</translation> <translation id="6039379616847168523">다음 탭으로 이동</translation> <translation id="6040143037577758943">닫기</translation> <translation id="6042308850641462728">더보기</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">북마크 수정</translation> <translation id="6406506848690869874">동기화</translation> <translation id="6409731863280057959">팝업</translation> -<translation id="6411957228448379013">검색주소창입니다. 다운로드 항목, 북마크, 방문 기록을 보려면 위로 스와이프하세요.</translation> <translation id="641643625718530986">인쇄…</translation> <translation id="6416782512398055893"><ph name="MBS" />MB 다운로드됨</translation> <translation id="6433501201775827830">검색 엔진 선택</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">보안 보고서</translation> <translation id="6710213216561001401">이전</translation> <translation id="6738867403308150051">다운로드 중...</translation> +<translation id="6746124502594467657">아래로 이동</translation> <translation id="6762156594045689028">이 설정을 변경하려면 <ph name="BEGIN_LINK" />동기화를 재설정<ph name="END_LINK" />합니다.</translation> <translation id="6770414673596662518">또한 Chrome의 세이프 브라우징 시스템이 악성 웹페이지를 탐지하여 피싱, 멀웨어, 유해한 다운로드로부터 사용자를 보호합니다.</translation> <translation id="6776813977906306442">다운로드 버튼을 사용하여 나중에 볼 동영상 다운로드</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">더 많은 콘텐츠가 표시될 예정이니 기대해주세요. 즐거운 저녁 시간 보내세요.</translation> <translation id="857943718398505171">허용(권장)</translation> <translation id="8583805026567836021">계정 데이터 지우기</translation> +<translation id="8609465669617005112">위로 이동</translation> <translation id="8616006591992756292">Google 계정의 내 활동(<ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />)에는 인터넷 사용 기록이 다른 형식으로 남아 있을 수도 있습니다.</translation> <translation id="8617240290563765734">다운로드한 콘텐츠에 지정된 추천 URL을 여시겠습니까?</translation> <translation id="862875433388403934">다른 애플리케이션에서 다운로드한 콘텐츠(영화, 음악 등)는 해당 애플리케이션이 새로운 기기 사용자 인증 정보를 기반으로 라이선스를 다시 취득해야 재생할 수 있습니다.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb index 6723ccf..8396ead 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Prieš 1 valandą}one{Prieš # valandą}few{Prieš # valandas}many{Prieš # valandos}other{Prieš # valandų}}</translation> <translation id="5817918615728894473">Susieti</translation> <translation id="583281660410589416">Nežinoma</translation> -<translation id="5832934273103296195">Išskleista – spustelėkite, kad sutrauktumėte</translation> <translation id="5833984609253377421">Bendrinti nuorodą</translation> <translation id="583891442612896534">„Chrome“ negali pasiekti „Google“ serverių dėl duomenų glaudinimo. Duomenų išsaugojimas gali būti apribotas.</translation> -<translation id="584615158992327102">pasiekti atsisiuntimus, žymes ir istoriją.</translation> <translation id="5854790677617711513">Senesni nei 30 dienų</translation> <translation id="5858741533101922242">„Chrome“ nepavyksta įjungti „Bluetooth“ adapterio</translation> <translation id="5860033963881614850">Išjungta</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Palieskite ir sutraukite</translation> <translation id="5974562976030145789">Parinktis „Atsisiuntimai“ perkeliama. Kitą kartą patraukite adreso juostą aukštyn.</translation> <translation id="6000066717592683814">Palikti „Google“</translation> -<translation id="6031101910111098835">Sutraukta – spustelėkite, kad išskleistumėte</translation> <translation id="6039379616847168523">Pereiti prie kito skirtuko</translation> <translation id="6040143037577758943">Uždaryti</translation> <translation id="6042308850641462728">Daugiau</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Redaguoti žymę</translation> <translation id="6406506848690869874">Sinchronizavimas</translation> <translation id="6409731863280057959">Iššokantieji langai</translation> -<translation id="6411957228448379013">Adreso juosta. Perbraukite aukštyn, kad būtų rodomi atsisiuntimai, žymės ir istorija.</translation> <translation id="641643625718530986">Spausdinti…</translation> <translation id="6416782512398055893">Atsisiųsta <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Paieškos variklio pasirinkimas</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Saugos ataskaitos</translation> <translation id="6710213216561001401">Ankstesnis</translation> <translation id="6738867403308150051">Atsisiunčiama...</translation> +<translation id="6746124502594467657">Perkelti žemyn</translation> <translation id="6762156594045689028">Kad pakeistumėte šį nustatymą, <ph name="BEGIN_LINK" />iš naujo nustatykite sinchronizavimą<ph name="END_LINK" /></translation> <translation id="6770414673596662518">„Chrome“ saugaus naršymo sistema taip pat bus naudojama siekiant aptikti kenkėjiškus puslapius ir apsaugoti jus nuo sukčiavimo, kenkėjiškų programų ir žalingų atsisiuntimų.</translation> <translation id="6776813977906306442">Naudodami atsisiuntimo mygtuką atsisiųskite vaizdo įrašą, kad galėtumėte jį peržiūrėti vėliau.</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Netrukus bus rodoma daugiau straipsnių. Gero vakaro!</translation> <translation id="857943718398505171">Leidžiama (rekomenduojama)</translation> <translation id="8583805026567836021">Valomi paskyros duomenys</translation> +<translation id="8609465669617005112">Perkelti į viršų</translation> <translation id="8616006591992756292">„Google“ paskyroje gali būti kito tipo naršymo istorijos, kuri pasiekiama adresu <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Atidaryti atsisiųstame turinyje nurodytą siūlomą URL?</translation> <translation id="862875433388403934">Nebegalėsite leisti kitose programose atsisiųsto turinio (filmų, muzikos ir pan.), kol tose programose nebus iš naujo gautos licencijos pagal naujus įrenginio prisijungimo duomenis.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb index c769cd2..16f13221 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{pirms # stundas}zero{pirms # stundām}one{pirms # stundas}other{pirms # stundām}}</translation> <translation id="5817918615728894473">Savienot pārī</translation> <translation id="583281660410589416">Nezināms</translation> -<translation id="5832934273103296195">Izvērsts — noklikšķiniet, lai sakļautu</translation> <translation id="5833984609253377421">Kopīgot saiti</translation> <translation id="583891442612896534">Chrome nevar sasniegt Google serverus, lai veiktu datu saspiešanu. Datu lietojuma samazinājums var būt ierobežots.</translation> -<translation id="584615158992327102">piekļuve lejupielādēm, grāmatzīmēm un vēsturei.</translation> <translation id="5854790677617711513">Vecāki par 30 dienām</translation> <translation id="5858741533101922242">Chrome nevar ieslēgt Bluetooth adapteri.</translation> <translation id="5860033963881614850">Izsl.</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Pieskarties, lai sakļautu</translation> <translation id="5974562976030145789">Sadaļa “Lejupielādes” tiks pārvietota. Nākamreiz velciet augšup adreses joslu.</translation> <translation id="6000066717592683814">Arī turpmāk izmantot Google</translation> -<translation id="6031101910111098835">Sakļauts — noklikšķiniet, lai izvērstu</translation> <translation id="6039379616847168523">Pāriet uz nākamo cilni</translation> <translation id="6040143037577758943">Aizvērt</translation> <translation id="6042308850641462728">Vairāk</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Rediģēt grāmatzīmi</translation> <translation id="6406506848690869874">Sinhronizācija</translation> <translation id="6409731863280057959">Uznirstošie logi</translation> -<translation id="6411957228448379013">Adreses josla. Velciet augšup, lai skatītu lejupielādes, grāmatzīmes un vēsturi.</translation> <translation id="641643625718530986">Drukāt...</translation> <translation id="6416782512398055893">Lejupielādēts: <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Meklētājprogrammas izvēle</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Ziņojumi par drošību</translation> <translation id="6710213216561001401">Iepriekšējais</translation> <translation id="6738867403308150051">Notiek lejupielāde…</translation> +<translation id="6746124502594467657">Pārvietot uz leju</translation> <translation id="6762156594045689028">Lai mainītu šo iestatījumu, <ph name="BEGIN_LINK" />atiestatiet sinhronizāciju<ph name="END_LINK" />.</translation> <translation id="6770414673596662518">Chrome sistēma Droša pārlūkošana tiks arī izmantota, lai noteiktu ļaunprātīgas lapas un pasargātu jūs no pikšķerēšanas, ļaunprātīgas programmatūras un kaitīgu failu lejupielādes.</translation> <translation id="6776813977906306442">Nospiediet pogu Lejupielādēt, lai lejupielādētu videoklipus un tos skatītos vēlāk.</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Drīzumā būs pieejami citi raksti. Jauku vakaru!</translation> <translation id="857943718398505171">Atļauta (ieteicams)</translation> <translation id="8583805026567836021">Konta datu dzēšana</translation> +<translation id="8609465669617005112">Virziet uz augšu</translation> <translation id="8616006591992756292">Jūsu Google kontam var būt citu veidu pārlūkošanas vēstures dati vietnē <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Vai atvērt lejupielādētajā saturā norādīto ieteikto URL?</translation> <translation id="862875433388403934">Citās lietojumprogrammās lejupielādētu saturu (filmas, mūziku), iespējams, nevarēs atskaņot, kamēr šajās lietojumprogrammās netiks iegūtas licences, pamatojoties uz jauniem ierīces akreditācijas datiem.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb index f8fbb34..4ebfcd27 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# uur geleden}other{# uur geleden}}</translation> <translation id="5817918615728894473">Koppelen</translation> <translation id="583281660410589416">Onbekend</translation> -<translation id="5832934273103296195">Uitgevouwen; klik om samen te vouwen</translation> <translation id="5833984609253377421">Link delen</translation> <translation id="583891442612896534">Chrome kan de Google-servers niet bereiken voor gegevenscompressie. De besparing op je gegevensgebruik is mogelijk beperkt.</translation> -<translation id="584615158992327102">toegang tot downloads, bladwijzers en geschiedenis.</translation> <translation id="5854790677617711513">Ouder dan 30 dagen</translation> <translation id="5858741533101922242">Chrome kan de Bluetooth-adapter niet inschakelen</translation> <translation id="5860033963881614850">Uit</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tik om samen te vouwen</translation> <translation id="5974562976030145789">Het item Downloads wordt verplaatst. Trek de volgende keer de adresbalk omhoog.</translation> <translation id="6000066717592683814">Google blijven gebruiken</translation> -<translation id="6031101910111098835">Samengevouwen; klik om uit te vouwen</translation> <translation id="6039379616847168523">Naar het volgende tabblad gaan</translation> <translation id="6040143037577758943">Sluiten</translation> <translation id="6042308850641462728">Meer</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Bladwijzer bewerken</translation> <translation id="6406506848690869874">Synchronisatie</translation> <translation id="6409731863280057959">Pop-ups</translation> -<translation id="6411957228448379013">Adresbalk. Veeg omhoog om je downloads, bladwijzers en geschiedenis te bekijken.</translation> <translation id="641643625718530986">Afdrukken…</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB gedownload</translation> <translation id="6433501201775827830">Je zoekmachine kiezen</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Beveiligingsrapporten</translation> <translation id="6710213216561001401">Vorige</translation> <translation id="6738867403308150051">Downloaden...</translation> +<translation id="6746124502594467657">Omlaag</translation> <translation id="6762156594045689028">Als je deze instelling wilt wijzigen, <ph name="BEGIN_LINK" />stel je de synchronisatie opnieuw in<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Het Safe Browsing-systeem van Chrome wordt ook gebruikt om onveilige pagina's te detecteren en je te beschermen tegen phishing, malware en andere schadelijke downloads.</translation> <translation id="6776813977906306442">Gebruik de knop Downloaden om video's te downloaden zodat je ze later kunt bekijken</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Er worden binnenkort meer artikelen weergegeven. Geniet van je avond.</translation> <translation id="857943718398505171">Toegestaan (aanbevolen)</translation> <translation id="8583805026567836021">Accountgegevens wissen</translation> +<translation id="8609465669617005112">Omhoog</translation> <translation id="8616006591992756292">Er kunnen andere vormen van browsegeschiedenis zijn opgeslagen voor je Google-account op <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">De voorgestelde URL in de gedownloade content openen?</translation> <translation id="862875433388403934">Content (films, muziek, enzovoort) die is gedownload in andere apps kan mogelijk niet langer worden afgespeeld, totdat die apps opnieuw licenties verkrijgen op basis van nieuwe apparaatinloggegevens.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb index 474fb19..c69a18f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{for # time siden}other{for # timer siden}}</translation> <translation id="5817918615728894473">Koble sammen</translation> <translation id="583281660410589416">Ukjent</translation> -<translation id="5832934273103296195">Utvidet – klikk for å skjule</translation> <translation id="5833984609253377421">Del en link</translation> <translation id="583891442612896534">Chrome kunne ikke kontakte Google-tjenerne for datakomprimering. Det kan hende at du bare oppnår begrenset datasparing.</translation> -<translation id="584615158992327102">få tilgang til nedlastinger, bokmerker og loggen.</translation> <translation id="5854790677617711513">Eldre enn 30 dager</translation> <translation id="5858741533101922242">Chrome kan ikke slå på Bluetooth-adapteren</translation> <translation id="5860033963881614850">Av</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Trykk for å skjule</translation> <translation id="5974562976030145789">«Nedlastinger» flyttes. Trekk opp adressefeltet neste gang.</translation> <translation id="6000066717592683814">Behold Google</translation> -<translation id="6031101910111098835">Skjult – klikk for å vise</translation> <translation id="6039379616847168523">Gå til den neste fanen</translation> <translation id="6040143037577758943">Lukk</translation> <translation id="6042308850641462728">Mer</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Rediger bokmerket</translation> <translation id="6406506848690869874">Synkroniser</translation> <translation id="6409731863280057959">Forgrunnsvinduer</translation> -<translation id="6411957228448379013">Adressefeltet. Sveip opp for å se nedlastinger, bokmerker og loggen.</translation> <translation id="641643625718530986">Skriv ut</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB er lastet ned</translation> <translation id="6433501201775827830">Velg søkemotor</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Sikkerhetsrapporter</translation> <translation id="6710213216561001401">Forrige</translation> <translation id="6738867403308150051">Laster ned …</translation> +<translation id="6746124502594467657">Flytt ned</translation> <translation id="6762156594045689028">For å endre denne innstillingen, <ph name="BEGIN_LINK" />tilbakestill synkroniseringen<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Safe Browsing-systemet («sikker surfing») i Chrome brukes også til å oppdage skadelige sider og beskytte deg mot nettfisking, skadelig programvare og skadelige nedlastinger.</translation> <translation id="6776813977906306442">Last ned videoer du vil se senere, med Last ned-knappen</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Flere artikler kommer snart. Ha en fin kveld.</translation> <translation id="857943718398505171">Tillatt (anbefales)</translation> <translation id="8583805026567836021">Fjerner kontodata …</translation> +<translation id="8609465669617005112">Flytt opp</translation> <translation id="8616006591992756292">Det kan hende Google-kontoen din har andre typer nettlesingslogger på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Vil du åpne den foreslåtte nettadressen som er spesifisert i det nedlastede innholdet?</translation> <translation id="862875433388403934">Innhold (filmer, musikk osv.) som er lastet ned i andre apper, kan kanskje ikke spilles av lenger, før appene får nye lisenser basert på ny enhetslegitimasjon.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb index f08548d..38feeed 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# godzinę temu}few{# godziny temu}many{# godzin temu}other{# godziny temu}}</translation> <translation id="5817918615728894473">Sparuj</translation> <translation id="583281660410589416">Nieznany</translation> -<translation id="5832934273103296195">Rozwinięty – kliknij, by zwinąć</translation> <translation id="5833984609253377421">Udostępnij link</translation> <translation id="583891442612896534">Chrome nie może połączyć się z serwerami Google kompresującymi dane. Oszczędność użycia danych może być ograniczona.</translation> -<translation id="584615158992327102">by uzyskać dostęp do pobranych plików, zakładek i historii.</translation> <translation id="5854790677617711513">Sprzed ponad 30 dni</translation> <translation id="5858741533101922242">Chrome nie może włączyć adaptera Bluetooth</translation> <translation id="5860033963881614850">Wyłączone</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Kliknij, by zwinąć</translation> <translation id="5974562976030145789">„Pobrane pliki” przenoszą się w inne miejsce. Aby następnym razem je wyświetlić, przeciągnij pasek adresu w górę.</translation> <translation id="6000066717592683814">Zachowaj Google</translation> -<translation id="6031101910111098835">Zwinięty – kliknij, by rozwinąć</translation> <translation id="6039379616847168523">Przejdź do następnej karty</translation> <translation id="6040143037577758943">Zamknij</translation> <translation id="6042308850641462728">Więcej</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Edytuj zakładkę</translation> <translation id="6406506848690869874">Synchronizacja</translation> <translation id="6409731863280057959">Wyskakujące okienka</translation> -<translation id="6411957228448379013">Pasek adresu. Przesuń w górę, by zobaczyć pobrane pliki, zakładki i historię.</translation> <translation id="641643625718530986">Drukuj…</translation> <translation id="6416782512398055893">Pobrano <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Wybierz wyszukiwarkę</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Raporty zabezpieczeń</translation> <translation id="6710213216561001401">Wstecz</translation> <translation id="6738867403308150051">Pobieram…</translation> +<translation id="6746124502594467657">W dół</translation> <translation id="6762156594045689028">Aby zmienić to ustawienie, <ph name="BEGIN_LINK" />zresetuj synchronizację<ph name="END_LINK" /></translation> <translation id="6770414673596662518">System Bezpieczne przeglądanie w Chrome jest też używany do wykrywania złośliwych stron oraz ochrony przed wyłudzaniem informacji, złośliwym oprogramowaniem i szkodliwymi plikami do pobrania.</translation> <translation id="6776813977906306442">Kliknij przycisk Pobierz, by pobrać film i obejrzeć go później</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Wkrótce pojawi się więcej artykułów. Życzymy miłego wieczoru.</translation> <translation id="857943718398505171">Dozwolone (zalecane)</translation> <translation id="8583805026567836021">Usuwam dane konta</translation> +<translation id="8609465669617005112">W górę</translation> <translation id="8616006591992756292">Inne rodzaje historii przeglądania mogą być nadal dostępne na Twoim koncie Google na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Otworzyć sugerowany URL określony w pobranych materiałach?</translation> <translation id="862875433388403934">Odtwarzanie pobranych treści (filmów, muzyki itp.) w innych aplikacjach może wymagać uzyskania licencji na podstawie nowych danych logowania urządzenia.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb index 0e76c05..5992b8f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -532,10 +532,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# hora atrás}one{# horas atrás}other{# horas atrás}}</translation> <translation id="5817918615728894473">Parear</translation> <translation id="583281660410589416">Desconhecido</translation> -<translation id="5832934273103296195">Visualização expandida: clique para recolher</translation> <translation id="5833984609253377421">Compartilhar link</translation> <translation id="583891442612896534">Não foi possível acessar os servidores do Google para realizar a compactação de dados a partir do Google Chrome. Seu espaço para salvar dados pode estar limitado.</translation> -<translation id="584615158992327102">acesso a downloads, favoritos e histórico.</translation> <translation id="5854790677617711513">Com mais de 30 dias</translation> <translation id="5858741533101922242">O Chrome não pôde ativar o adaptador Bluetooth</translation> <translation id="5860033963881614850">Desativado</translation> @@ -553,7 +551,6 @@ <translation id="5962718611393537961">Toque para recolher</translation> <translation id="5974562976030145789">O item “Downloads” está mudando de lugar. Na próxima vez, puxe a barra de endereço para cima.</translation> <translation id="6000066717592683814">Continuar usando o Google</translation> -<translation id="6031101910111098835">Visualização recolhida: clique para expandir</translation> <translation id="6039379616847168523">Ir para a próxima guia</translation> <translation id="6040143037577758943">Fechar</translation> <translation id="6042308850641462728">Mais</translation> @@ -599,7 +596,6 @@ <translation id="6404511346730675251">Editar favorito</translation> <translation id="6406506848690869874">Sincronizar</translation> <translation id="6409731863280057959">Pop-ups</translation> -<translation id="6411957228448379013">Barra de endereço. Deslize para cima para ver os downloads, os favoritos e o histórico.</translation> <translation id="641643625718530986">Imprimir...</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB transferido(s) por download</translation> <translation id="6433501201775827830">Escolha seu mecanismo de pesquisa</translation> @@ -640,6 +636,7 @@ <translation id="6701279291835318271">Relatórios de segurança</translation> <translation id="6710213216561001401">Anterior</translation> <translation id="6738867403308150051">Fazendo o download...</translation> +<translation id="6746124502594467657">Mover para baixo</translation> <translation id="6762156594045689028">Para alterar essa configuração, <ph name="BEGIN_LINK" />redefina a sincronização<ph name="END_LINK" /></translation> <translation id="6770414673596662518">O sistema de Navegação segura do Chrome também é usado para detectar páginas maliciosas e proteger você contra phishing, malware e downloads nocivos.</translation> <translation id="6776813977906306442">Faça o download de vídeos para assistir mais tarde usando o botão Download</translation> @@ -832,6 +829,7 @@ <translation id="857509777403223202">Mais artigos serão exibidos em breve. Aproveite o fim do dia.</translation> <translation id="857943718398505171">Permitido (recomendado)</translation> <translation id="8583805026567836021">Limpando os dados da conta</translation> +<translation id="8609465669617005112">Mover para cima</translation> <translation id="8616006591992756292">Sua Conta do Google pode ter outras formas de histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Abrir o URL sugerido especificado no conteúdo transferido por download?</translation> <translation id="862875433388403934">Conteúdo (filmes, música, etc.) baixado em outros aplicativos pode não ser cobrado até que esses aplicativos readquiram licenças baseadas em uma nova credencial do dispositivo.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb index f3d6666..e8d47558 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Há # hora}other{Há # horas}}</translation> <translation id="5817918615728894473">Sincronizar</translation> <translation id="583281660410589416">Desconhecido</translation> -<translation id="5832934273103296195">Expandida – clicar para reduzir</translation> <translation id="5833984609253377421">Partilhar link</translation> <translation id="583891442612896534">O Chrome não consegue comunicar com os servidores da Google para a compressão de dados. A poupança de dados pode ser limitada.</translation> -<translation id="584615158992327102">aceder às transferências, aos marcadores e ao histórico.</translation> <translation id="5854790677617711513">Com mais de 30 dias</translation> <translation id="5858741533101922242">O Chrome não consegue ativar o adaptador Bluetooth</translation> <translation id="5860033963881614850">Desativado</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Toque para reduzir</translation> <translation id="5974562976030145789">Vamos mudar o item "Transferências" de localização. Da próxima vez que o quiser encontrar, puxe a barra de endereço para cima.</translation> <translation id="6000066717592683814">Manter o Google</translation> -<translation id="6031101910111098835">Reduzida – clicar para expandir</translation> <translation id="6039379616847168523">Ir para o próximo separador</translation> <translation id="6040143037577758943">Fechar</translation> <translation id="6042308850641462728">Mais</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Editar marcador</translation> <translation id="6406506848690869874">Sincronização</translation> <translation id="6409731863280057959">Pop-ups</translation> -<translation id="6411957228448379013">Barra de endereço. Deslize rapidamente para cima para ver as transferências, os marcadores e o histórico.</translation> <translation id="641643625718530986">Imprimir…</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB transferido(s)</translation> <translation id="6433501201775827830">Escolher o motor de pesquisa</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Relatórios de segurança</translation> <translation id="6710213216561001401">Anterior</translation> <translation id="6738867403308150051">A transferir...</translation> +<translation id="6746124502594467657">Mover para baixo</translation> <translation id="6762156594045689028">Para alterar esta definição, <ph name="BEGIN_LINK" />reponha a sincronização<ph name="END_LINK" /></translation> <translation id="6770414673596662518">O sistema de Navegação segura do Chrome também será utilizado para detetar páginas maliciosas e para o proteger contra phishing, programas maliciosos e transferências prejudiciais.</translation> <translation id="6776813977906306442">Transferir vídeos para ver mais tarde através do botão Transferir</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Serão apresentados mais artigos em breve. Desfrute do seu serão!</translation> <translation id="857943718398505171">Permitido (recomendado)</translation> <translation id="8583805026567836021">A limpar os dados da conta</translation> +<translation id="8609465669617005112">Mover para cima</translation> <translation id="8616006591992756292">A sua Conta Google pode ter outras formas do histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Pretende abrir o URL sugerido que é especificado no conteúdo transferido?</translation> <translation id="862875433388403934">É possível que os conteúdos (filmes, música, etc.) transferidos noutras aplicações deixem de ser reproduzíveis enquanto essas aplicações não voltarem a obter licenças com base numa nova credencial de dispositivo.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb index 721c33b..1704fa8 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Acum # oră}few{Acum # ore}other{Acum # de ore}}</translation> <translation id="5817918615728894473">Asociază</translation> <translation id="583281660410589416">Necunoscut</translation> -<translation id="5832934273103296195">Afișare extinsă – dă clic pentru a restrânge</translation> <translation id="5833984609253377421">Trimite linkul</translation> <translation id="583891442612896534">Chrome nu poate să contacteze serverele Google pentru comprimarea datelor. Economiile de date pot fi limitate.</translation> -<translation id="584615158992327102">ca să accesezi marcajele, descărcările și istoricul.</translation> <translation id="5854790677617711513">Mai vechi de 30 de zile</translation> <translation id="5858741533101922242">Chrome nu poate activa adaptorul Bluetooth</translation> <translation id="5860033963881614850">Dezactivat</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Atinge pentru a restrânge</translation> <translation id="5974562976030145789">„Descărcări” se mută. Data viitoare, trage în sus bara de adrese.</translation> <translation id="6000066717592683814">Păstrează Google</translation> -<translation id="6031101910111098835">Afișare restrânsă – dă clic pentru a extinde</translation> <translation id="6039379616847168523">Accesează fila următoare</translation> <translation id="6040143037577758943">Închide</translation> <translation id="6042308850641462728">Mai multe</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Modificați marcajul</translation> <translation id="6406506848690869874">Sincronizare</translation> <translation id="6409731863280057959">Ferestre pop-up</translation> -<translation id="6411957228448379013">Bara de adrese. Glisează în sus pentru a vedea descărcările, marcajele și istoricul.</translation> <translation id="641643625718530986">Printați...</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB descărcați</translation> <translation id="6433501201775827830">Alege motorul de căutare</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Rapoarte de securitate</translation> <translation id="6710213216561001401">Înapoi</translation> <translation id="6738867403308150051">Se descarcă...</translation> +<translation id="6746124502594467657">Mutați în jos</translation> <translation id="6762156594045689028">Pentru a modifica această setare, <ph name="BEGIN_LINK" />resetează sincronizarea<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Sistemul Navigare sigură din Chrome va fi folosit pentru a detecta pagini rău-intenționate și pentru a te proteja împotriva phishingului, a programelor malware și a descărcărilor periculoase.</translation> <translation id="6776813977906306442">Descarcă videoclipuri pentru a viziona mai târziu folosind butonul Descarcă</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">În curând vor apărea mai multe articole. O seară plăcută!</translation> <translation id="857943718398505171">Acordată (recomandat)</translation> <translation id="8583805026567836021">Se șterg datele contului</translation> +<translation id="8609465669617005112">Mutați mai sus</translation> <translation id="8616006591992756292">Contul Google poate să ofere alte forme ale istoricului de navigare la <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Deschizi adresa URL sugerată specificată în conținutul descărcat?</translation> <translation id="862875433388403934">Conținutul (filme, muzică etc.) descărcat în alte aplicații nu va mai fi redat decât după ce aplicațiile obțin din nou licențe pe baza unor date de conectare noi pe dispozitiv.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb index ff1ac37..faee460 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# час назад}one{# час назад}few{# часа назад}many{# часов назад}other{# часа назад}}</translation> <translation id="5817918615728894473">Подключить</translation> <translation id="583281660410589416">Неизвестно</translation> -<translation id="5832934273103296195">Развернуто. Нажмите, чтобы свернуть.</translation> <translation id="5833984609253377421">Отправить ссылку</translation> <translation id="583891442612896534">Не удалось подключиться к серверам Google для сжатия данных. Объем трафика может увеличиться.</translation> -<translation id="584615158992327102">получить доступ к загрузкам, закладкам и истории.</translation> <translation id="5854790677617711513">Сохраненные более 30 дней назад</translation> <translation id="5858741533101922242">Не удалось включить адаптер Bluetooth</translation> <translation id="5860033963881614850">Выкл.</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Нажмите, чтобы свернуть</translation> <translation id="5974562976030145789">Интерфейс меняется. В следующий раз, чтобы увидеть "Скачанные файлы", потяните адресную строку вверх.</translation> <translation id="6000066717592683814">Использовать Google</translation> -<translation id="6031101910111098835">Свернуто. Нажмите, чтобы развернуть.</translation> <translation id="6039379616847168523">Перейти к следующей вкладке</translation> <translation id="6040143037577758943">Закрыть</translation> <translation id="6042308850641462728">Подробнее...</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Изменить закладку</translation> <translation id="6406506848690869874">Синхронизация...</translation> <translation id="6409731863280057959">Всплывающие окна</translation> -<translation id="6411957228448379013">Адресная строка. Чтобы увидеть загрузки, закладки и историю, проведите вверх.</translation> <translation id="641643625718530986">Печать</translation> <translation id="6416782512398055893">Скачано <ph name="MBS" /> МБ</translation> <translation id="6433501201775827830">Выберите поисковую систему</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Отчеты о безопасности</translation> <translation id="6710213216561001401">Назад</translation> <translation id="6738867403308150051">Скачивание…</translation> +<translation id="6746124502594467657">Переместить вниз</translation> <translation id="6762156594045689028">Чтобы изменить эту настройку, <ph name="BEGIN_LINK" />сбросьте параметры синхронизации<ph name="END_LINK" />.</translation> <translation id="6770414673596662518">Функция "Безопасный просмотр" также позволяет обнаружить подозрительные страницы и защитить устройство от фишинга и вредоносного ПО.</translation> <translation id="6776813977906306442">Чтобы скачать видео для просмотра, нажмите соответствующую кнопку</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Другие статьи скоро появятся. Хорошего вечера!</translation> <translation id="857943718398505171">Разрешено (рекомендуется)</translation> <translation id="8583805026567836021">Удаление данных аккаунта</translation> +<translation id="8609465669617005112">Переместить вверх</translation> <translation id="8616006591992756292">Информация о других ваших действиях в Интернете может также храниться на странице <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Открыть предложенный URL из скачанного контента?</translation> <translation id="862875433388403934">Воспроизведение контента (фильмов, музыки и т. д.), скачанного в других приложениях, может не поддерживаться, пока не будут получены лицензии с новыми учетными данными устройства.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb index 2919d9e..5e01805 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{pred # hodinou}few{pred # hodinami}many{pred # hodinou}other{pred # hodinami}}</translation> <translation id="5817918615728894473">Párovať</translation> <translation id="583281660410589416">Neznáme</translation> -<translation id="5832934273103296195">Rozbalené – kliknutím zbaliť</translation> <translation id="5833984609253377421">Zdieľať odkaz</translation> <translation id="583891442612896534">Prehliadaču Chrome sa nepodarilo nadviazať spojenie so servermi Google s cieľom vykonať kompresiu údajov. Ukladanie vašich údajov môže byť obmedzené.</translation> -<translation id="584615158992327102">prístup k stiahnutým súborom, záložkám a histórii.</translation> <translation id="5854790677617711513">Staršie ako 30 dní</translation> <translation id="5858741533101922242">Chrome nedokáže zapnúť adaptér Bluetooth</translation> <translation id="5860033963881614850">Vypnuté</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Klepnutím zbaliť</translation> <translation id="5974562976030145789">Meníme umiestnenie priečinka Stiahnuté súbory. Nabudúce potiahnite panel s adresou nahor.</translation> <translation id="6000066717592683814">Ponechať Google</translation> -<translation id="6031101910111098835">Zbalené – kliknutím rozbaliť</translation> <translation id="6039379616847168523">Prechod na ďalšiu kartu</translation> <translation id="6040143037577758943">Zavrieť</translation> <translation id="6042308850641462728">Viac</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Upraviť záložku</translation> <translation id="6406506848690869874">Synchronizácia</translation> <translation id="6409731863280057959">Kontextové okná</translation> -<translation id="6411957228448379013">Panel s adresou. Potiahnutím nahor zobrazíte stiahnuté súbory, záložky a históriu.</translation> <translation id="641643625718530986">Tlačiť...</translation> <translation id="6416782512398055893">Stiahnuté: <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Výber vyhľadávača</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Prehľady zabezpečenia</translation> <translation id="6710213216561001401">Dozadu</translation> <translation id="6738867403308150051">Sťahuje sa...</translation> +<translation id="6746124502594467657">Presunúť nadol</translation> <translation id="6762156594045689028">Ak chcete zmeniť toto nastavenie, <ph name="BEGIN_LINK" />resetujte synchronizáciu<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Systém Bezpečné prehliadanie v prehliadači Chrome sa použije aj na rozpoznanie škodlivých stránok a ochranu pred phishingom, malvérom a sťahovaním škodlivých súborov.</translation> <translation id="6776813977906306442">Stiahnite si videá pomocou tlačidla Stiahnuť a pozrite si ich neskôr</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Čoskoro sa zobrazia ďalšie články. Príjemný večer!</translation> <translation id="857943718398505171">Povolené (odporúčané)</translation> <translation id="8583805026567836021">Prebieha vymazávanie údajov účtu</translation> +<translation id="8609465669617005112">Presunúť nahor</translation> <translation id="8616006591992756292">Váš účet Google môže mať ďalšie formy histórie prehliadania na adrese <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Otvoriť navrhovanú webovú adresu určenú v stiahnutom obsahu?</translation> <translation id="862875433388403934">Obsah (filmy, hudba atď.) stiahnutý v iných aplikáciách sa nemusí dať prehrať, pokiaľ aplikácie opätovne nezískajú licencie na základe nových poverení zariadenia. Ak chcete získať nové licencie, pripojte sa k internetu a prehrajte stiahnutý obsah.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb index cb38ba3..536f071 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Pred # uro}one{Pred # uro}two{Pred # urama}few{Pred # urami}other{Pred # urami}}</translation> <translation id="5817918615728894473">Seznani</translation> <translation id="583281660410589416">Neznano</translation> -<translation id="5832934273103296195">Razširjeno – kliknite, če želite strniti</translation> <translation id="5833984609253377421">Deli povezavo z drugimi</translation> <translation id="583891442612896534">Chrome ne more dostopati do Googlovih strežnikov za stiskanje podatkov. Prihranek podatkov bo morda omejen.</translation> -<translation id="584615158992327102">dostop do prenosov, zaznamkov in zgodovine</translation> <translation id="5854790677617711513">Starejše od 30 dni</translation> <translation id="5858741533101922242">Chrome ne more vklopiti vmesnika za Bluetooth</translation> <translation id="5860033963881614850">Izklopljeno</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Dotik za strnitev</translation> <translation id="5974562976030145789">»Prenosi« bodo premaknjeni. Naslednjič povlecite naslovno vrstico navzgor.</translation> <translation id="6000066717592683814">Ohrani Google</translation> -<translation id="6031101910111098835">Strnjeno – kliknite, če želite razširiti</translation> <translation id="6039379616847168523">Premik na naslednji zavihek</translation> <translation id="6040143037577758943">Zapri</translation> <translation id="6042308850641462728">Več</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Uredi zaznamek</translation> <translation id="6406506848690869874">Sinhronizacija</translation> <translation id="6409731863280057959">Pojavna okna</translation> -<translation id="6411957228448379013">Naslovna vrstica. Povlecite gor, če si želite ogledati zaznamke, prenose in zgodovino.</translation> <translation id="641643625718530986">Tiskanje …</translation> <translation id="6416782512398055893">Preneseno <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Izbira iskalnika</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Varnostna poročila</translation> <translation id="6710213216561001401">Nazaj</translation> <translation id="6738867403308150051">Prenašanje ...</translation> +<translation id="6746124502594467657">Premakni dol</translation> <translation id="6762156594045689028">Če želite spremeniti to nastavitev, <ph name="BEGIN_LINK" />ponastavite sinhronizacijo<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chromov sistem varnega brskanja bo uporabljen za odkrivanje strani z zlonamerno vsebino in zaščito pred lažnim predstavljanjem, zlonamerno programsko opremo in škodljivimi prenosi.</translation> <translation id="6776813977906306442">Z gumbom za prenos lahko prenesete videoposnetke za poznejši ogled</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Kmalu bo prikazanih več člankov. Prijeten večer.</translation> <translation id="857943718398505171">Dovoljeno (priporočeno)</translation> <translation id="8583805026567836021">Brisanje podatkov računa</translation> +<translation id="8609465669617005112">Premakni navzgor</translation> <translation id="8616006591992756292">V Google Računu so morda druge vrste zgodovine brskanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Želite odpreti predlagani URL, naveden v preneseni vsebini?</translation> <translation id="862875433388403934">Prenesene vsebine (filmov, glasbe ipd.) morda ne bo mogoče več predvajati v drugih aplikacijah, dokler te znova ne pridobijo licenc na podlagi nove poverilnice naprave.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb index e45c7d1..7553b70a 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Пре # сата}one{Пре # сата}few{Пре # сата}other{Пре # сати}}</translation> <translation id="5817918615728894473">Упари</translation> <translation id="583281660410589416">Непознато</translation> -<translation id="5832934273103296195">Проширено је – Кликните да бисте скупили</translation> <translation id="5833984609253377421">Дели линк</translation> <translation id="583891442612896534">Chrome није успео да контактира Google сервере ради компримовања података. Уштеда података може да буде ограничена.</translation> -<translation id="584615158992327102">приступ преузимањима, обележивачима и историји.</translation> <translation id="5854790677617711513">Старије од 30 дана</translation> <translation id="5858741533101922242">Chrome не може да укључи Bluetooth адаптер</translation> <translation id="5860033963881614850">Искључено</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Додирните да бисте скупили</translation> <translation id="5974562976030145789">Премештамо „Преузимања“. Следећи пут повуците траку за адресу нагоре.</translation> <translation id="6000066717592683814">Задржи Google</translation> -<translation id="6031101910111098835">Скупљено је – Кликните да бисте проширили</translation> <translation id="6039379616847168523">Прелазак на следећу картицу</translation> <translation id="6040143037577758943">Затвори</translation> <translation id="6042308850641462728">Више</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Измена обележивача</translation> <translation id="6406506848690869874">Синхронизација</translation> <translation id="6409731863280057959">Искачући прозори</translation> -<translation id="6411957228448379013">Трака за адресу. Превуците је нагоре да бисте видели преузимања, обележиваче и историју.</translation> <translation id="641643625718530986">Штампај...</translation> <translation id="6416782512398055893">Преузели сте <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Изаберите претраживач</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Извештаји о безбедности</translation> <translation id="6710213216561001401">Претходно</translation> <translation id="6738867403308150051">Преузима се...</translation> +<translation id="6746124502594467657">Премести надоле</translation> <translation id="6762156594045689028">Да бисте променили ово подешавање, <ph name="BEGIN_LINK" />ресетујте синхронизацију<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome-ов систем Безбедно прегледање ћемо користити и да бисмо откривали злонамерне странице и да бисмо вас заштитили од „пецања“, малвера и штетних преузимања.</translation> <translation id="6776813977906306442">Помоћу дугмета Преузми преузимајте видео снимке да бисте их касније гледали</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Још чланака ће се појавити ускоро. Желимо вам пријатно вече!</translation> <translation id="857943718398505171">Дозвољено (препоручено)</translation> <translation id="8583805026567836021">Брисање података о налогу</translation> +<translation id="8609465669617005112">Премести нагоре</translation> <translation id="8616006591992756292">Google налог може да има друге облике историје прегледања на <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Желите ли да отворите предложени URL наведен у преузетом садржају?</translation> <translation id="862875433388403934">Можда више нећете моћи да пуштате садржај (филмови, музика итд.) преузет у другим апликацијама док оне поново не добију лиценце на основу новог акредитива уређаја.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb index f3f5b74..4aa3d10 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{för # timme sedan}other{för # timmar sedan}}</translation> <translation id="5817918615728894473">Koppla</translation> <translation id="583281660410589416">Okänd</translation> -<translation id="5832934273103296195">Gruppvyn har expanderats. Komprimera vyn genom att klicka.</translation> <translation id="5833984609253377421">Dela länk</translation> <translation id="583891442612896534">Chrome kan inte nå Googles servrar för datakomprimeringen. Du kanske inte sparar data i någon större utsträckning.</translation> -<translation id="584615158992327102">åtkomst till nedladdningar, bokmärken och historik.</translation> <translation id="5854790677617711513">Äldre än 30 dagar</translation> <translation id="5858741533101922242">Det gick inte att aktivera Bluetooth-adaptern i Chrome</translation> <translation id="5860033963881614850">Av</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Tryck här om du vill komprimera</translation> <translation id="5974562976030145789">Nedladdade filer har flyttat. Dra uppåt på adressfältet nästa gång.</translation> <translation id="6000066717592683814">Behåll Google</translation> -<translation id="6031101910111098835">Gruppvyn har komprimerats. Expandera vyn genom att klicka.</translation> <translation id="6039379616847168523">Hoppa till nästa flik</translation> <translation id="6040143037577758943">Stäng</translation> <translation id="6042308850641462728">Mer</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Redigera bokmärke</translation> <translation id="6406506848690869874">Synkronisera</translation> <translation id="6409731863280057959">Popup-fönster</translation> -<translation id="6411957228448379013">Adressfält. Om du sveper uppåt visas bokmärken, nedladdningar och historik.</translation> <translation id="641643625718530986">Skriv ut …</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB har laddats ned</translation> <translation id="6433501201775827830">Välj sökmotor</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Säkerhetsrapporter</translation> <translation id="6710213216561001401">Föregående</translation> <translation id="6738867403308150051">Laddar ned …</translation> +<translation id="6746124502594467657">Flytta ned</translation> <translation id="6762156594045689028"><ph name="BEGIN_LINK" />Återställ synkroniseringen<ph name="END_LINK" /> om du vill ändra den här inställningen.</translation> <translation id="6770414673596662518">Säker webbsökning i Chrome används dessutom för att identifiera skadliga sidor och skydda dig från nätfiske, skadlig programvara och skadliga filnedladdningar.</translation> <translation id="6776813977906306442">Ladda ned videor att titta på senare med knappen Ladda ned.</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Fler artiklar visas snart. Trevlig kväll!</translation> <translation id="857943718398505171">Tillåten (rekommenderas)</translation> <translation id="8583805026567836021">Rensar kontouppgifter</translation> +<translation id="8609465669617005112">Flytta upp</translation> <translation id="8616006591992756292">Det kan finnas andra former av webbhistorik i Google-kontot på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Vill du öppna den föreslagna webbadressen i det nedladdade innehållet?</translation> <translation id="862875433388403934">Det kan hända att det inte går att spela upp innehåll (t.ex. filmer och musik) som har hämtats i andra appar förrän dessa appar får nya licenser som baseras på nya användaruppgifter för enheten.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb index b55415a..e4839eb4 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{Saa # iliyopita}other{Saa # zilizopita}}</translation> <translation id="5817918615728894473">Oanisha</translation> <translation id="583281660410589416">Haijulikani</translation> -<translation id="5832934273103296195">Kimepanuliwa - Bofya ili ukunje</translation> <translation id="5833984609253377421">Shiriki kiungo</translation> <translation id="583891442612896534">Chrome haiwezi kufikia seva za Google ili kushindilia data. Hifadhi zako za data zinaweza kuwa chache.</translation> -<translation id="584615158992327102">fikia vipakuliwa, alamisho na historia.</translation> <translation id="5854790677617711513">Iliyohifadhiwa kwa zaidi ya siku 30</translation> <translation id="5858741533101922242">Chrome imeshindwa kuwasha adapta ya Bluetooth</translation> <translation id="5860033963881614850">Kimezimwa</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Gusa ili ukunje</translation> <translation id="5974562976030145789">Kipengele cha “Vipakuliwa” kinahamishwa. Wakati ujao, utavuta juu sehemu ya anwani.</translation> <translation id="6000066717592683814">Endelea Kutumia Google</translation> -<translation id="6031101910111098835">Imekunjwa - Bofya ili upanue</translation> <translation id="6039379616847168523">Nenda kwenye kichupo kinachofuata</translation> <translation id="6040143037577758943">Funga</translation> <translation id="6042308850641462728">Zaidi</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Badilisha alamisho</translation> <translation id="6406506848690869874">Sawazisha</translation> <translation id="6409731863280057959">Madirisha ibukizi</translation> -<translation id="6411957228448379013">Sehemu ya anwani. Telezesha kidole juu ili uone alamisho, vipakuliwa na historia.</translation> <translation id="641643625718530986">Chapisha...</translation> <translation id="6416782512398055893">Umepakua MB <ph name="MBS" /></translation> <translation id="6433501201775827830">Chagua mtambo wako wa kutafuta</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Ripoti za usalama</translation> <translation id="6710213216561001401">Iliyotangulia</translation> <translation id="6738867403308150051">Inapakua...</translation> +<translation id="6746124502594467657">Songa chini</translation> <translation id="6762156594045689028">Ili kubadilisha mipangilio hii, <ph name="BEGIN_LINK" />fanya usawazishaji upya<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Mfumo wa Kuvinjari Salama wa Chrome pia utatumiwa kugundua kurasa hasidi na kukulinda dhidi ya hadaa ili kupata maelezo ya kibinafsi, programu hasidi, na vipakuliwa vya kudhuru.</translation> <translation id="6776813977906306442">Pakua video za kutazama baadaye ukitumia kifute cha Kupakua</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Makala zaidi yataonekana hivi karibuni. Jioni njema!</translation> <translation id="857943718398505171">Imeruhusiwa (inapendekezwa)</translation> <translation id="8583805026567836021">Inafuta data ya akaunti</translation> +<translation id="8609465669617005112">Songa juu</translation> <translation id="8616006591992756292">Huenda Akaunti yako ya Google ikawa na aina nyingine za historia ya kuvinjari kwenye <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Ungependa kufungua URL iliyopendekezwa na kubainishwa katika maudhui yaliyopakuliwa?</translation> <translation id="862875433388403934">Maudhui (filamu, muziki, n.k.) yaliyopakuliwa katika programu nyingine huenda yasichezeke tena hadi programu hizo zipate upya leseni kulingana na kitambulisho kipya cha kifaa.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb index 168e395..dc113954 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# ชั่วโมงที่ผ่านมา}other{# ชั่วโมงที่ผ่านมา}}</translation> <translation id="5817918615728894473">จับคู่</translation> <translation id="583281660410589416">ไม่รู้จัก</translation> -<translation id="5832934273103296195">ขยาย - คลิกเพื่อยุบ</translation> <translation id="5833984609253377421">แชร์ลิงก์</translation> <translation id="583891442612896534">Chrome ไม่สามารถเข้าถึงเซิร์ฟเวอร์ Google เพื่อบีบอัดข้อมูล การประหยัดอินเทอร์เน็ตของคุณอาจมีข้อจำกัด</translation> -<translation id="584615158992327102">เข้าถึงการดาวน์โหลด บุ๊กมาร์ก และประวัติการเข้าชม</translation> <translation id="5854790677617711513">เกิน 30 วัน</translation> <translation id="5858741533101922242">Chrome ไม่สามารถเปิดอะแดปเตอร์บลูทูธ</translation> <translation id="5860033963881614850">ปิด</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">แตะเพื่อยุบ</translation> <translation id="5974562976030145789">เรากำลังจะย้าย “ดาวน์โหลด” ครั้งต่อไปให้เลื่อนแถบที่อยู่ขึ้น</translation> <translation id="6000066717592683814">ใช้ Google ต่อ</translation> -<translation id="6031101910111098835">ยุบ - คลิกเพื่อขยาย</translation> <translation id="6039379616847168523">ข้ามไปยังแท็บถัดไป</translation> <translation id="6040143037577758943">ปิด</translation> <translation id="6042308850641462728">เพิ่มเติม</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">แก้ไขบุ๊กมาร์ก</translation> <translation id="6406506848690869874">การซิงค์ข้อมูล</translation> <translation id="6409731863280057959">ป๊อปอัป</translation> -<translation id="6411957228448379013">แถบที่อยู่ เลื่อนขึ้นเพื่อดูการดาวน์โหลด บุ๊กมาร์ก และประวัติการเข้าชม</translation> <translation id="641643625718530986">พิมพ์…</translation> <translation id="6416782512398055893">ดาวน์โหลดแล้ว <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">เลือกเครื่องมือค้นหา</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">รายงานการรักษาความปลอดภัย</translation> <translation id="6710213216561001401">ก่อนหน้า</translation> <translation id="6738867403308150051">กำลังดาวน์โหลด…</translation> +<translation id="6746124502594467657">เลื่อนลง</translation> <translation id="6762156594045689028">หากต้องการเปลี่ยนการตั้งค่านี้ โปรด<ph name="BEGIN_LINK" />รีเซ็ตการซิงค์<ph name="END_LINK" /></translation> <translation id="6770414673596662518">ระบบ Safe Browsing ของ Chrome ยังใช้ในการตรวจหาหน้าเว็บที่ไม่ปลอดภัยและปกป้องคุณจากฟิชชิง มัลแวร์ และการดาวน์โหลดที่เป็นอันตราย</translation> <translation id="6776813977906306442">ดาวน์โหลดวิดีโอไว้ดูภายหลังโดยใช้ปุ่ม "ดาวน์โหลด"</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">บทความอื่นๆ จะปรากฏขึ้นในอีกไม่ช้า ขอให้เพลิดเพลินกับยามค่ำ</translation> <translation id="857943718398505171">อนุญาตแล้ว (แนะนำ)</translation> <translation id="8583805026567836021">กำลังล้างข้อมูลบัญชี</translation> +<translation id="8609465669617005112">เลื่อนขึ้น</translation> <translation id="8616006591992756292">บัญชี Google อาจมีประวัติการท่องเว็บรูปแบบอื่นๆ ที่ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /></translation> <translation id="8617240290563765734">ต้องการเปิด URL แนะนำซึ่งระบุอยู่ในเนื้อหาที่ดาวน์โหลดไหม</translation> <translation id="862875433388403934">เนื้อหา (ภาพยนตร์ เพลง ฯลฯ) ที่ดาวน์โหลดในแอปพลิเคชันอื่นๆ อาจไม่สามารถเล่นได้อีกต่อไปจนกว่าแอปพลิเคชันเหล่านั้นจะได้รับใบอนุญาตอีกครั้งโดยขึ้นอยู่กับข้อมูลรับรองของอุปกรณ์ใหม่
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb index 5f252d61..4cdf4b7 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# saat önce}other{# saat önce}}</translation> <translation id="5817918615728894473">Eşle</translation> <translation id="583281660410589416">Bilinmiyor</translation> -<translation id="5832934273103296195">Genişletildi - Daraltmak için tıklayın</translation> <translation id="5833984609253377421">Bağlantıyı paylaş</translation> <translation id="583891442612896534">Chrome, veri sıkıştırma için Google sunucularına erişemiyor. Veri tasarrufunuz sınırlı olabilir.</translation> -<translation id="584615158992327102">indirilenler, yer işaretleri ve geçmişe erişin.</translation> <translation id="5854790677617711513">30 günden daha eski</translation> <translation id="5858741533101922242">Chrome, Bluetooth adaptörünü açamıyor</translation> <translation id="5860033963881614850">Kapalı</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Daraltmak için dokunun</translation> <translation id="5974562976030145789">“İndirilenler”in yeri değişiyor. Bir dahaki sefere adres çubuğunu yukarı çekin.</translation> <translation id="6000066717592683814">Google kalsın</translation> -<translation id="6031101910111098835">Daraltıldı - Genişletmek için tıklayın</translation> <translation id="6039379616847168523">Sonraki sekmeye gider</translation> <translation id="6040143037577758943">Kapat</translation> <translation id="6042308850641462728">Daha fazla</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Yer işaretini düzenle</translation> <translation id="6406506848690869874">Senkronizasyon</translation> <translation id="6409731863280057959">Pop-up'lar</translation> -<translation id="6411957228448379013">Adres çubuğu. İndirilenleri, yer işaretlerini ve geçmişi görmek için yukarı kaydırın.</translation> <translation id="641643625718530986">Yazdır…</translation> <translation id="6416782512398055893"><ph name="MBS" /> MB indirildi</translation> <translation id="6433501201775827830">Arama motorunuzu seçin</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Güvenlik raporları</translation> <translation id="6710213216561001401">Önceki</translation> <translation id="6738867403308150051">İndiriliyor…</translation> +<translation id="6746124502594467657">Aşağı taşı</translation> <translation id="6762156594045689028">Bu ayarı değiştirmek için <ph name="BEGIN_LINK" />senkronizasyonu sıfırlayın<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome'un Güvenli Tarama sistemi, kötü amaçlı sayfaların tespit edilmesinin yanı sıra sizi kimlik avı, kötü amaçlı uygulama ve zararlı indirme işlemlerine karşı korumak için de kullanılır.</translation> <translation id="6776813977906306442">İndir düğmesini kullanarak videoları daha sonra izlemek üzere indirin</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Yakında daha fazla seçenek gösterilecek. Güzel bir akşam geçirmenizi dileriz.</translation> <translation id="857943718398505171">İzin verildi (önerilir)</translation> <translation id="8583805026567836021">Hesap verileri temizleniyor</translation> +<translation id="8609465669617005112">Yukarı taşı</translation> <translation id="8616006591992756292">Google Hesabınızın <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> adresinde başka biçimlerde tarama geçmişi olabilir.</translation> <translation id="8617240290563765734">İndirilen öğede belirtilen URL önerisi açılsın mı?</translation> <translation id="862875433388403934">Diğer uygulamalarda indirilen içerikler (film, müzik vb.), ilgili uygulamalar cihazın yeni kimlik bilgilerine dayanarak yeniden lisans alana kadar oynatılmayabilir.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb index bcc3389..3591112f 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# годину тому}one{# годину тому}few{# години тому}many{# годин тому}other{# години тому}}</translation> <translation id="5817918615728894473">Підключити</translation> <translation id="583281660410589416">Невідомий</translation> -<translation id="5832934273103296195">Розгорнуто – натисніть, щоб згорнути</translation> <translation id="5833984609253377421">Поділитися посиланням</translation> <translation id="583891442612896534">Chrome не може зв’язатись із серверами Google для стиснення даних. Можливо, у вас обмежене заощадження даних.</translation> -<translation id="584615158992327102">доступ до завантажень, закладок та історії.</translation> <translation id="5854790677617711513">Понад 30 днів тому</translation> <translation id="5858741533101922242">Chrome не може ввімкнути адаптер Bluetooth</translation> <translation id="5860033963881614850">Вимк.</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Торкніться, щоб згорнути</translation> <translation id="5974562976030145789">Розділ меню "Завантаження" переміщено. Наступного разу потягніть адресний рядок угору.</translation> <translation id="6000066717592683814">Залишити Google</translation> -<translation id="6031101910111098835">Згорнуто – натисніть, щоб розгорнути</translation> <translation id="6039379616847168523">Перейти до наступної вкладки</translation> <translation id="6040143037577758943">Закрити</translation> <translation id="6042308850641462728">Більше</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Редагувати закладку</translation> <translation id="6406506848690869874">Синхронізація</translation> <translation id="6409731863280057959">Спливаючі вікна</translation> -<translation id="6411957228448379013">Адресний рядок. Проведіть пальцем угору, щоб побачити завантаження, закладки й історію.</translation> <translation id="641643625718530986">Друк…</translation> <translation id="6416782512398055893">Завантажено <ph name="MBS" /> МБ</translation> <translation id="6433501201775827830">Виберіть пошукову систему</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Звіти про безпеку</translation> <translation id="6710213216561001401">Попереднє</translation> <translation id="6738867403308150051">Завантаження…</translation> +<translation id="6746124502594467657">Вниз</translation> <translation id="6762156594045689028">Щоб змінити це налаштування, <ph name="BEGIN_LINK" />скиньте синхронізацію<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Система Безпечного перегляду Chrome також використовується для виявлення шкідливих сторінок і захисту від фішингу, зловмисного програмного забезпечення та небезпечних завантажень.</translation> <translation id="6776813977906306442">Завантажити відео за допомогою відповідної кнопки, щоб переглянути їх пізніше</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Згодом тут з’являться інші статті. Гарного вечора.</translation> <translation id="857943718398505171">Дозволено (рекомендується)</translation> <translation id="8583805026567836021">Очищення даних облікового запису</translation> +<translation id="8609465669617005112">Угору</translation> <translation id="8616006591992756292">У вашому обліковому записі Google на сторінці <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> можуть бути інші форми історії веб-перегляду.</translation> <translation id="8617240290563765734">Перейти за URL-адресою, указаною в завантаженому вмісті?</translation> <translation id="862875433388403934">Завантажений в інші додатки вміст (фільми, музика тощо) може не відтворюватися, доки ці додатки самі не отримають ліцензії на основі нових облікових даних пристрою.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb index e512f0c..8985020 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# giờ trước}other{# giờ trước}}</translation> <translation id="5817918615728894473">Ghép nối</translation> <translation id="583281660410589416">Không xác định</translation> -<translation id="5832934273103296195">Đã mở rộng - Nhấp để thu gọn</translation> <translation id="5833984609253377421">Chia sẻ liên kết</translation> <translation id="583891442612896534">Chrome không thể kết nối với máy chủ của Google để nén dữ liệu. Các khoản tiết kiệm đối với dữ liệu của bạn có thể bị giới hạn.</translation> -<translation id="584615158992327102">truy cập vào tài nguyên đã tải xuống, dấu trang và lịch sử.</translation> <translation id="5854790677617711513">Đã tồn tại hơn 30 ngày</translation> <translation id="5858741533101922242">Chrome không thể bật bộ điều hợp Bluetooth</translation> <translation id="5860033963881614850">Tắt</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">Nhấn để thu gọn</translation> <translation id="5974562976030145789">Vị trí “Tài nguyên đã tải xuống” sắp thay đổi. Lần sau, bạn chỉ cần kéo thanh địa chỉ lên để truy cập.</translation> <translation id="6000066717592683814">Giữ Google làm công cụ tìm kiếm mặc định</translation> -<translation id="6031101910111098835">Đã thu gọn - Nhấp để mở rộng</translation> <translation id="6039379616847168523">Chuyển sang tab tiếp theo</translation> <translation id="6040143037577758943">Đóng</translation> <translation id="6042308850641462728">Thêm</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">Chỉnh sửa dấu trang</translation> <translation id="6406506848690869874">Đồng bộ hóa</translation> <translation id="6409731863280057959">Cửa sổ bật lên</translation> -<translation id="6411957228448379013">Thanh địa chỉ. Vuốt lên để xem tài nguyên đã tải xuống, dấu trang và lịch sử.</translation> <translation id="641643625718530986">In…</translation> <translation id="6416782512398055893">Đã tải xuống <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">Chọn công cụ tìm kiếm của bạn</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">Báo cáo bảo mật</translation> <translation id="6710213216561001401">Trước đó</translation> <translation id="6738867403308150051">Đang tải xuống...</translation> +<translation id="6746124502594467657">Di chuyển xuống</translation> <translation id="6762156594045689028">Để thay đổi cài đặt này, hãy <ph name="BEGIN_LINK" />đặt lại đồng bộ hóa<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Hệ thống duyệt web an toàn của Chrome cũng sẽ được sử dụng để phát hiện trang độc hại và bảo vệ bạn khỏi lừa đảo, phần mềm độc hại và nội dung tải xuống có hại.</translation> <translation id="6776813977906306442">Tải video xuống để xem vào thời điểm khác bằng nút Tải xuống</translation> @@ -740,7 +737,7 @@ <translation id="7649070708921625228">Trợ giúp</translation> <translation id="7658239707568436148">Hủy</translation> <translation id="7665369617277396874">Thêm tài khoản</translation> -<translation id="7682724950699840886">Thử các mẹo sau: đảm bảo có đủ dung lượng trên thiết bị của bạn, hãy thử xuất lại.</translation> +<translation id="7682724950699840886">Thử các mẹo sau: đảm bảo thiết bị của bạn có đủ dung lượng, sau đó thử xuất lại.</translation> <translation id="7698359219371678927">Tạo email trong <ph name="APP_NAME" /></translation> <translation id="773466115871691567">Luôn dịch các trang viết bằng <ph name="SOURCE_LANGUAGE" /></translation> <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">Các bài viết khác sẽ sớm xuất hiện. Chúc bạn buổi tối vui vẻ!</translation> <translation id="857943718398505171">Được phép (được đề xuất)</translation> <translation id="8583805026567836021">Xóa dữ liệu tài khoản</translation> +<translation id="8609465669617005112">Di chuyển lên</translation> <translation id="8616006591992756292">Tài khoản Google của bạn có thể có các dạng lịch sử duyệt web khác tại <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="8617240290563765734">Mở URL đề xuất được chỉ định trong nội dung được tải xuống?</translation> <translation id="862875433388403934">Nội dung (phim, nhạc, v.v.) được tải xuống trong các ứng dụng khác có thể không còn phát được cho tới khi ứng dụng đó nhận lại giấy phép dựa theo thông tin đăng nhập thiết bị mới.
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb index b99665c..28e467b 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# 小时前}other{# 小时前}}</translation> <translation id="5817918615728894473">配对</translation> <translation id="583281660410589416">未知</translation> -<translation id="5832934273103296195">已展开 - 点击即可收起</translation> <translation id="5833984609253377421">分享链接</translation> <translation id="583891442612896534">Chrome 无法连接到 Google 服务器来进行数据压缩,因此您节省的数据流量可能有限。</translation> -<translation id="584615158992327102">访问“下载内容”、“书签”和“历史记录”。</translation> <translation id="5854790677617711513">30 天之前的</translation> <translation id="5858741533101922242">Chrome 无法开启蓝牙适配器</translation> <translation id="5860033963881614850">关闭</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">点按即可收起</translation> <translation id="5974562976030145789">“下载内容”的位置即将变更。下次只需上拉地址栏即可查看下载内容。</translation> <translation id="6000066717592683814">继续使用 Google</translation> -<translation id="6031101910111098835">已收起 - 点击即可展开</translation> <translation id="6039379616847168523">跳转到下一个标签页</translation> <translation id="6040143037577758943">关闭</translation> <translation id="6042308850641462728">更多</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">修改书签</translation> <translation id="6406506848690869874">同步</translation> <translation id="6409731863280057959">弹出式窗口</translation> -<translation id="6411957228448379013">地址栏。向上滑动即可查看下载内容、书签和历史记录。</translation> <translation id="641643625718530986">打印…</translation> <translation id="6416782512398055893">已下载 <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">选择您的搜索引擎</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">安全报告</translation> <translation id="6710213216561001401">上一个</translation> <translation id="6738867403308150051">即将开始下载…</translation> +<translation id="6746124502594467657">下移</translation> <translation id="6762156594045689028">要更改此设置,请<ph name="BEGIN_LINK" />重置同步设置<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome 的安全浏览系统也将用于检测恶意网页,保护您免受网上诱骗、恶意软件和有害下载内容的侵害。</translation> <translation id="6776813977906306442">您可使用“下载”按钮下载视频以供日后观看</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">我们很快将会为您奉上更多文章,伴您度过美好的夜晚时光!</translation> <translation id="857943718398505171">已允许(推荐)</translation> <translation id="8583805026567836021">清除帐号数据</translation> +<translation id="8609465669617005112">上移</translation> <translation id="8616006591992756292">您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能有其他形式的浏览记录。</translation> <translation id="8617240290563765734">要打开下载的内容中指定的建议网址吗?</translation> <translation id="862875433388403934">其他应用中下载的内容(例如电影、音乐等)将无法再播放,除非这些应用根据新的设备凭据重新获得许可。
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb index 5e4d319..ee93ee0 100644 --- a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb +++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -533,10 +533,8 @@ <translation id="5809361687334836369">{HOURS,plural, =1{# 小時前}other{# 小時前}}</translation> <translation id="5817918615728894473">配對</translation> <translation id="583281660410589416">未知</translation> -<translation id="5832934273103296195">已展開 - 按一下即可收合</translation> <translation id="5833984609253377421">分享連結</translation> <translation id="583891442612896534">Chrome 無法連上 Google 的伺服器進行資料壓縮,這可能會導致您無法節省某些數據流量。</translation> -<translation id="584615158992327102">存取下載內容、書籤和歷史紀錄。</translation> <translation id="5854790677617711513">超過 30 天前</translation> <translation id="5858741533101922242">Chrome 無法開啟藍牙轉接器</translation> <translation id="5860033963881614850">關閉</translation> @@ -554,7 +552,6 @@ <translation id="5962718611393537961">輕觸即可收合</translation> <translation id="5974562976030145789">[下載] 的位置即將變更,下次直接從網址列往上拉即可。</translation> <translation id="6000066717592683814">繼續使用 Google</translation> -<translation id="6031101910111098835">已收合 - 按一下即可展開</translation> <translation id="6039379616847168523">跳至下一個分頁</translation> <translation id="6040143037577758943">關閉</translation> <translation id="6042308850641462728">更多</translation> @@ -600,7 +597,6 @@ <translation id="6404511346730675251">編輯書籤</translation> <translation id="6406506848690869874">同步</translation> <translation id="6409731863280057959">彈出式視窗</translation> -<translation id="6411957228448379013">網址列。往上滑動即可查看下載內容、書籤和歷史紀錄。</translation> <translation id="641643625718530986">列印…</translation> <translation id="6416782512398055893">已下載 <ph name="MBS" /> MB</translation> <translation id="6433501201775827830">選擇搜尋引擎</translation> @@ -641,6 +637,7 @@ <translation id="6701279291835318271">安全性報告</translation> <translation id="6710213216561001401">返回</translation> <translation id="6738867403308150051">下載中…</translation> +<translation id="6746124502594467657">下移</translation> <translation id="6762156594045689028">如要變更這項設定,請<ph name="BEGIN_LINK" />重設同步功能<ph name="END_LINK" /></translation> <translation id="6770414673596662518">Chrome 的安全瀏覽系統也會用於偵測惡意網頁,保護您不受網路釣魚、惡意軟體和有害下載內容的攻擊。</translation> <translation id="6776813977906306442">使用 [下載] 按鈕可下載影片以供日後觀看</translation> @@ -833,6 +830,7 @@ <translation id="857509777403223202">系統即將顯示更多文章供你閱覽,陪你度過美好的夜晚!</translation> <translation id="857943718398505171">已允許 (建議)</translation> <translation id="8583805026567836021">正在清除帳戶資料</translation> +<translation id="8609465669617005112">上移</translation> <translation id="8616006591992756292">你的 Google 帳戶可能會儲存其他形式的瀏覽紀錄,請參閱 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />。</translation> <translation id="8617240290563765734">開啟這項下載內容中指定的建議網址?</translation> <translation id="862875433388403934">其他應用程式必須以新的裝置憑證重新取得授權,才能順利播放已下載的內容 (例如電影、音樂等)。
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni index f7e7675a..3760ce3 100644 --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni
@@ -140,7 +140,6 @@ "java/src/org/chromium/chrome/browser/browserservices/BrowserSessionContentUtils.java", "java/src/org/chromium/chrome/browser/browserservices/BrowserSessionDataProvider.java", "java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java", - "java/src/org/chromium/chrome/browser/browserservices/Origin.java", "java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java", "java/src/org/chromium/chrome/browser/browsing_data/UrlFilters.java", "java/src/org/chromium/chrome/browser/childaccounts/ChildAccountFeedbackReporter.java", @@ -1520,7 +1519,6 @@ "javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java", "javatests/src/org/chromium/chrome/browser/browseractions/BrowserActionActivityTest.java", "javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java", - "javatests/src/org/chromium/chrome/browser/browserservices/OriginTest.java", "javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataRemoverIntegrationTest.java", "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelBaseTest.java", "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginTest.java deleted file mode 100644 index 6fdaf073..0000000 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginTest.java +++ /dev/null
@@ -1,71 +0,0 @@ -// Copyright 2015 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.browserservices; - -import android.net.Uri; -import android.support.test.filters.SmallTest; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.chromium.base.test.BaseJUnit4ClassRunner; -import org.chromium.content.browser.test.NativeLibraryTestRule; - -/** - * Tests for org.chromium.net.Origin. - */ -@RunWith(BaseJUnit4ClassRunner.class) -public class OriginTest { - @Rule - public NativeLibraryTestRule mNativeLibraryTestRule = new NativeLibraryTestRule(); - - @Before - public void setUp() { - mNativeLibraryTestRule.loadNativeLibraryNoBrowserProcess(); - } - - /** - * The actual conversion from a free form URL to an Origin is done in native and that is - * thoroughly tested there. Here we only check that the transformation is performed, not that - * it is complete and correct. - */ - @Test - @SmallTest - public void testConstruction() { - Origin origin = new Origin("http://www.example.com/path/to/page.html"); - Assert.assertEquals("http://www.example.com/", origin.toString()); - } - - @Test - @SmallTest - public void testEquality() { - Origin origin1 = new Origin("http://www.example.com/page1.html"); - Origin origin2 = new Origin("http://www.example.com/page2.html"); - Assert.assertEquals(origin1, origin2); - Assert.assertEquals(origin1.hashCode(), origin2.hashCode()); - - // Note http*s*. - Origin origin3 = new Origin("https://www.example.com/page3.html"); - Assert.assertNotEquals(origin1, origin3); - } - - @Test - @SmallTest - public void testToUri() { - Origin origin = new Origin(Uri.parse("http://www.example.com/page.html")); - Uri uri = Uri.parse("http://www.example.com/"); - Assert.assertEquals(uri, origin.uri()); - } - - @Test - @SmallTest - public void testToString() { - Origin origin = new Origin("http://www.example.com/page.html"); - Assert.assertEquals("http://www.example.com/", origin.toString()); - } -}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java index a461b5f6..9c7abcc 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java
@@ -40,13 +40,13 @@ private static final String SHA_256_FINGERPRINT = ChromeVersionInfo.isOfficialBuild() ? SHA_256_FINGERPRINT_OFFICIAL : SHA_256_FINGERPRINT_PUBLIC; - private static final Origin TEST_HTTPS_ORIGIN_1 = new Origin("https://www.example.com"); - private static final Origin TEST_HTTPS_ORIGIN_2 = new Origin("https://www.android.com"); - private static final Origin TEST_HTTP_ORIGIN = new Origin("http://www.android.com"); + private static final Uri TEST_HTTPS_ORIGIN_1 = Uri.parse("https://www.example.com"); + private static final Uri TEST_HTTPS_ORIGIN_2 = Uri.parse("https://www.android.com"); + private static final Uri TEST_HTTP_ORIGIN = Uri.parse("http://www.android.com"); private class TestOriginVerificationListener implements OriginVerificationListener { @Override - public void onOriginVerified(String packageName, Origin origin, boolean verified) { + public void onOriginVerified(String packageName, Uri origin, boolean verified) { mLastPackageName = packageName; mLastOrigin = origin; mLastVerified = verified; @@ -58,7 +58,7 @@ private OriginVerifier mUseAsOriginVerifier; private OriginVerifier mHandleAllUrlsVerifier; private volatile String mLastPackageName; - private volatile Origin mLastOrigin; + private volatile Uri mLastOrigin; private volatile boolean mLastVerified; @Before @@ -81,8 +81,7 @@ @Test @SmallTest public void testOnlyHttpsAllowed() throws InterruptedException { - ThreadUtils.postOnUiThread(() - -> mHandleAllUrlsVerifier.start(new Origin(Uri.parse("LOL")))); + ThreadUtils.postOnUiThread(() -> mHandleAllUrlsVerifier.start(Uri.parse("LOL"))); Assert.assertTrue( mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS)); Assert.assertFalse(mLastVerified); @@ -118,6 +117,8 @@ } })); Assert.assertEquals(mLastPackageName, PACKAGE_NAME); - Assert.assertEquals(mLastOrigin, TEST_HTTPS_ORIGIN_1); + Assert.assertEquals(mLastOrigin, + OriginVerifier.getPostMessageOriginFromVerifiedOrigin( + PACKAGE_NAME, TEST_HTTPS_ORIGIN_1)); } }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java index f87baa1..6d4b5e7 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
@@ -24,7 +24,6 @@ import org.chromium.base.test.util.MetricsUtils; import org.chromium.base.test.util.RetryOnFailure; import org.chromium.chrome.browser.IntentHandler; -import org.chromium.chrome.browser.browserservices.Origin; import org.chromium.chrome.browser.browserservices.OriginVerifier; import org.chromium.chrome.browser.browserservices.PostMessageHandler; import org.chromium.content.browser.test.NativeLibraryTestRule; @@ -186,7 +185,7 @@ // If there is a prepopulated origin, we should get a synchronous verification. OriginVerifier.addVerifiedOriginForPackage( - ContextUtils.getApplicationContext().getPackageName(), new Origin(URL), + ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL), CustomTabsService.RELATION_USE_AS_ORIGIN); cm.verifyAndInitializeWithPostMessageOriginForSession( mSession, Uri.parse(URL), CustomTabsService.RELATION_USE_AS_ORIGIN); @@ -230,7 +229,7 @@ ThreadUtils.runOnUiThreadBlocking(() -> { // Prepopulated origins should depend on the relation used. OriginVerifier.addVerifiedOriginForPackage( - ContextUtils.getApplicationContext().getPackageName(), new Origin(URL), + ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL), CustomTabsService.RELATION_HANDLE_ALL_URLS); // This uses CustomTabsService.RELATION_USE_AS_ORIGIN by default. Assert.assertFalse(cm.isFirstPartyOriginForSession(mSession, Uri.parse(URL))); @@ -270,7 +269,7 @@ // Even if there is a prepopulated origin, non-https origins should get an early // return with false. OriginVerifier.addVerifiedOriginForPackage( - ContextUtils.getApplicationContext().getPackageName(), new Origin(uri), + ContextUtils.getApplicationContext().getPackageName(), uri, CustomTabsService.RELATION_USE_AS_ORIGIN); cm.verifyAndInitializeWithPostMessageOriginForSession( mSession, uri, CustomTabsService.RELATION_USE_AS_ORIGIN);
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 323d0cb..f7e15067 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
@@ -87,7 +87,6 @@ import org.chromium.chrome.browser.WarmupManager; import org.chromium.chrome.browser.appmenu.AppMenuHandler; import org.chromium.chrome.browser.browserservices.BrowserSessionContentUtils; -import org.chromium.chrome.browser.browserservices.Origin; import org.chromium.chrome.browser.browserservices.OriginVerifier; import org.chromium.chrome.browser.document.ChromeLauncherActivity; import org.chromium.chrome.browser.firstrun.FirstRunStatus; @@ -1177,7 +1176,7 @@ connection.newSession(token); connection.overridePackageNameForSessionForTesting(token, "app1"); ThreadUtils.runOnUiThreadBlocking( - () -> OriginVerifier.addVerifiedOriginForPackage("app1", new Origin(referrer), + () -> OriginVerifier.addVerifiedOriginForPackage("app1", Uri.parse(referrer), CustomTabsService.RELATION_USE_AS_ORIGIN)); final CustomTabsSessionToken session = warmUpAndLaunchUrlWithSession(intent);
diff --git a/chrome/app/main_dll_loader_win.cc b/chrome/app/main_dll_loader_win.cc index 92fc597..dd026800 100644 --- a/chrome/app/main_dll_loader_win.cc +++ b/chrome/app/main_dll_loader_win.cc
@@ -29,7 +29,6 @@ #include "base/trace_event/trace_event.h" #include "base/win/scoped_handle.h" #include "base/win/windows_version.h" -#include "chrome/app/chrome_crash_reporter_client_win.h" #include "chrome/app/chrome_watcher_client_win.h" #include "chrome/app/chrome_watcher_command_line_win.h" #include "chrome/app/file_pre_reader_win.h"
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb index 94cde616..ad4f3cd 100644 --- a/chrome/app/resources/chromium_strings_am.xtb +++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">በChromium የመነጨ ጠንካራ የይለፍ ቃል ይጠቀሙ</translation> <translation id="85843667276690461">Chromiumን መጠቀም ላይ እገዛ ያግኙ</translation> <translation id="8586442755830160949">የቅጂ መብት <ph name="YEAR" /> የChromium ደራሲያን። ሁሉም መብቶች የተጠበቁ ናቸው።</translation> -<translation id="8590769996813453836">Chromium በእርስዎ ኮምፒውተር ላይ ጎጂ ሶፍትዌር አግኝቷል። የእርስዎን አሳሽ እንደገና በጤናማ ሁኔታ እንዲሠራ ለማድረግ Chromium ጎጂ ሶፍትዌሩን ሊያስወግደውና ቅንብሮችዎን ወደነበሩበት ሊመልሳቸው ይችላል።</translation> <translation id="8621669128220841554">ተለይቶ ባልታወቀ ስህተት ምክንያት ጭነት ከሽፏል። እባክዎ Chromiumን እንደገና ያውርዱ።</translation> <translation id="8628626585870903697">Chromium የህትመት ቅድመ እይታ እንዲሰራ የሚያስፈልገው የፒ ዲ ኤፍ ማያውን አያካትትም።</translation> <translation id="8667808506758191620">የእርስዎ <ph name="DEVICE_TYPE" /> የተዘመነ ነው።</translation>
diff --git a/chrome/app/resources/chromium_strings_ar.xtb b/chrome/app/resources/chromium_strings_ar.xtb index 6a32d9ed..ddb762f2 100644 --- a/chrome/app/resources/chromium_strings_ar.xtb +++ b/chrome/app/resources/chromium_strings_ar.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">استخدام كلمة مرور قوية تم إنشاؤها بواسطة Chromium</translation> <translation id="85843667276690461">الحصول على مساعدة بشأن استخدام Chromium</translation> <translation id="8586442755830160949">حقوق الطبع والنشر لعام <ph name="YEAR" /> لصالح The Chromium Authors. جميع الحقوق محفوظة.</translation> -<translation id="8590769996813453836">عثر Chromium على برنامج ضار على الكمبيوتر. يمكن لمتصفح Chromium إزالته، واستعادة إعداداتك لجعل متصفحك يعمل بشكلٍ طبيعي مرة أخرى.</translation> <translation id="8621669128220841554">تعذّر التثبيت نظرًا لحدوث خطأ غير محدد. يُرجى إعادة تنزيل Chromium.</translation> <translation id="8628626585870903697">لا يتضمن Chromium عارض PDF المطلوب لإجراء معاينة الطباعة.</translation> <translation id="8667808506758191620">جهاز <ph name="DEVICE_TYPE" /> مُحدّث.</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb index 597e6ce..22ab3b5 100644 --- a/chrome/app/resources/chromium_strings_bg.xtb +++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -218,7 +218,6 @@ <translation id="8563206822260884157">Използвайте надеждна парола, генерирана от Chromium</translation> <translation id="85843667276690461">Получаване на помощ за използването на Chromium</translation> <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> Авторите на Chromium. Всички права запазени.</translation> -<translation id="8590769996813453836">Chromium откри опасен софтуер на компютъра ви. Браузърът може да го премахне и да възстанови настройките ви, така че отново да заработи нормално.</translation> <translation id="8621669128220841554">Инсталирането не бе успешно поради неизвестна грешка. Моля, изтеглете отново Chromium.</translation> <translation id="8628626585870903697">Chromium не включва визуализатора на PDF, който се изисква, за да функционира визуализацията за печат.</translation> <translation id="8667808506758191620">Устройството ви <ph name="DEVICE_TYPE" /> е актуално.</translation>
diff --git a/chrome/app/resources/chromium_strings_bn.xtb b/chrome/app/resources/chromium_strings_bn.xtb index 2f56207..e0ee370 100644 --- a/chrome/app/resources/chromium_strings_bn.xtb +++ b/chrome/app/resources/chromium_strings_bn.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">Chromium এর তৈরি করা কঠিন পাসওয়ার্ড ব্যবহার করুন</translation> <translation id="85843667276690461">Chromium ব্যবহারে সাহায্য পেতে</translation> <translation id="8586442755830160949">কপিরাইট <ph name="YEAR" /> Chromium রচয়িতা৷ সর্বস্বত্ত্ব সংরক্ষিত৷</translation> -<translation id="8590769996813453836">Chromium আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার খুঁজে পেয়েছে। Chromium এটিকে সরিয়ে দিতে ও আপনার সেটিংস রিস্টোর করতে পারে যাতে আপনার ব্রাউজার আবার স্বাভাবিকভাবে কাজ করে।</translation> <translation id="8621669128220841554">অনির্দিষ্ট ত্রুটির কারণে ইনস্টলেশন ব্যর্থ৷ দয়া করে Chromium পুনরায় ডাউনলোড করুন৷</translation> <translation id="8628626585870903697">Chromium PDF দর্শক যা ফাংশানে প্রিন্ট প্রিভিউ জন্য আবশ্যক, তা অন্তর্ভূক্ত করেনি৷</translation> <translation id="8667808506758191620">আপনার <ph name="DEVICE_TYPE" /> আপ টু ডেট রয়েছে।</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb index 2bd68b3..7e615c02 100644 --- a/chrome/app/resources/chromium_strings_ca.xtb +++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Utilitza una contrasenya segura generada per Chromium</translation> <translation id="85843667276690461">Obtén ajuda per a l'ús de Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Els autors de Chromium. Tots els drets reservats.</translation> -<translation id="8590769996813453836">Chromium ha trobat programari maliciós al teu ordinador. Chromium el pot suprimir i restaurar la teva configuració perquè el navegador torni a funcionar amb normalitat.</translation> <translation id="8621669128220841554">La instal·lació ha fallat a causa d'un error no especificat. Torneu a baixar Chromium.</translation> <translation id="8628626585870903697">Chromium no inclou el lector de PDF que és necessari perquè la previsualització funcioni.</translation> <translation id="8667808506758191620">El dispositiu <ph name="DEVICE_TYPE" /> està actualitzat.</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb index 920a752..c2c11f8 100644 --- a/chrome/app/resources/chromium_strings_cs.xtb +++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Použijte heslo vygenerované prohlížečem Chromium</translation> <translation id="85843667276690461">Pomoc s používáním prohlížeče Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autoři prohlížeče Chromium. Všechna práva vyhrazena.</translation> -<translation id="8590769996813453836">Chromium ve vašem počítači našel škodlivý software. Chromium ho může odstranit a obnovit vaše nastavení, aby prohlížeč opět fungoval jako obvykle.</translation> <translation id="8621669128220841554">Instalace se z neznámého důvodu nezdařila. Stáhněte prosím Chromium znovu.</translation> <translation id="8628626585870903697">Chromium neobsahuje prohlížeč PDF, který je požadován ke správnému fungování Náhledu tisku.</translation> <translation id="8667808506758191620">Vaše zařízení <ph name="DEVICE_TYPE" /> je aktuální.</translation>
diff --git a/chrome/app/resources/chromium_strings_da.xtb b/chrome/app/resources/chromium_strings_da.xtb index 90c3f18..b58395a 100644 --- a/chrome/app/resources/chromium_strings_da.xtb +++ b/chrome/app/resources/chromium_strings_da.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Brug en stærk adgangskode, der er genereret af Chromium</translation> <translation id="85843667276690461">Få hjælp til at bruge Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Forfatterne bag Chromium. Alle rettigheder forbeholdes.</translation> -<translation id="8590769996813453836">Chromium fandt skadelig software på din computer. Chromium kan slette den og gendanne dine indstillinger, så din browser fungerer normalt igen.</translation> <translation id="8621669128220841554">Installationen mislykkedes på grund af en uspecificeret fejl. Download Chromium igen.</translation> <translation id="8628626585870903697">Chromium inkluderer ikke PDF-fremviseren, som er påkrævet, for at Vis udskrift kan fungere.</translation> <translation id="8667808506758191620">Din <ph name="DEVICE_TYPE" /> er opdateret.</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb index 20d2fcc..48a97683 100644 --- a/chrome/app/resources/chromium_strings_de.xtb +++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Starkes, von Chromium generiertes Passwort verwenden</translation> <translation id="85843667276690461">Hilfe für Chromium aufrufen</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Die Chromium-Autoren. Alle Rechte vorbehalten.</translation> -<translation id="8590769996813453836">Chromium hat schädliche Software auf Ihrem Computer gefunden, die entfernt werden kann. Ihre Einstellungen werden dann wiederhergestellt, sodass Ihr Browser wieder wie gewohnt funktioniert.</translation> <translation id="8621669128220841554">Die Installation konnte aufgrund eines undefinierten Fehlers nicht abgeschlossen werden. Bitte laden Sie Chromium erneut herunter.</translation> <translation id="8628626585870903697">Chromium verfügt nicht über den PDF-Viewer, der für die Druckvorschau erforderlich ist.</translation> <translation id="8667808506758191620">Ihr <ph name="DEVICE_TYPE" /> ist auf dem neuesten Stand.</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb index 56fe64f..6fe3eca 100644 --- a/chrome/app/resources/chromium_strings_el.xtb +++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Χρησιμοποιήστε έναν δυνατό κωδικό πρόσβασης που έχει δημιουργηθεί από το Chromium</translation> <translation id="85843667276690461">Λήψη βοήθειας σχετικά με τη χρήση του Chromium</translation> <translation id="8586442755830160949">Πνευματικά δικαιώματα <ph name="YEAR" /> Οι συντάκτες του Chromium. Με επιφύλαξη παντός δικαιώματος.</translation> -<translation id="8590769996813453836">Το Chromium εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας. Το Chromium μπορεί να το καταργήσει και να επαναφέρει τις ρυθμίσεις σας ώστε το πρόγραμμα περιήγησης να λειτουργεί και πάλι κανονικά.</translation> <translation id="8621669128220841554">Η εγκατάσταση απέτυχε λόγω μη καθορισμένου σφάλματος. Κατεβάστε το Chromium ξανά.</translation> <translation id="8628626585870903697">Το Chromium δεν περιλαμβάνει το πρόγραμμα προβολής αρχείων PDF το οποίο είναι απαραίτητο για τη λειτουργία της Προεπισκόπησης εκτύπωσης.</translation> <translation id="8667808506758191620">Το <ph name="DEVICE_TYPE" /> είναι ενημερωμένο.</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb index 3ff621a..71d130e8c 100644 --- a/chrome/app/resources/chromium_strings_en-GB.xtb +++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Use a strong password generated by Chromium</translation> <translation id="85843667276690461">Get help with using Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation> -<translation id="8590769996813453836">Chromium found harmful software on your computer. Chromium can remove it and restore your settings to make your browser work normally again.</translation> <translation id="8621669128220841554">Installation failed due to unspecified error. Please download Chromium again.</translation> <translation id="8628626585870903697">Chromium does not include the PDF viewer which is required for Print Preview to function.</translation> <translation id="8667808506758191620">Your <ph name="DEVICE_TYPE" /> is up to date.</translation>
diff --git a/chrome/app/resources/chromium_strings_es-419.xtb b/chrome/app/resources/chromium_strings_es-419.xtb index f71f30f..37cd10b 100644 --- a/chrome/app/resources/chromium_strings_es-419.xtb +++ b/chrome/app/resources/chromium_strings_es-419.xtb
@@ -218,7 +218,6 @@ <translation id="8563206822260884157">Usar una contraseña segura generada por Chromium</translation> <translation id="85843667276690461">Obtener ayuda para usar Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Los autores de Chromium. Todos los derechos reservados.</translation> -<translation id="8590769996813453836">Se encontró software dañino en tu computadora. Chromium puede quitarlo y restablecer la configuración para que el navegador vuelva a funcionar correctamente.</translation> <translation id="8621669128220841554">La instalación falló debido a un error no especificado. Descarga Chromium otra vez.</translation> <translation id="8628626585870903697">Chromium no incluye el visor de PDF que se requiere para la vista previa de impresión.</translation> <translation id="8667808506758191620">Tu <ph name="DEVICE_TYPE" /> está actualizado.</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb index 40dda94..2757e8f0 100644 --- a/chrome/app/resources/chromium_strings_es.xtb +++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -227,7 +227,6 @@ <translation id="8563206822260884157">Utiliza una contraseña segura generada por Chromium</translation> <translation id="85843667276690461">Obtener ayuda de Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Los creadores de Chromium. Todos los derechos reservados.</translation> -<translation id="8590769996813453836">Chromium ha encontrado software dañino en tu ordenador. Chromium puede eliminarlo y restaurar tu configuración para que el navegador vuelva a funcionar con normalidad.</translation> <translation id="8621669128220841554">La instalación ha fallado debido a un error no especificado. Vuelve a descargar Chromium.</translation> <translation id="8628626585870903697">Chromium no incluye el visor de PDF que se necesita para que la vista previa de impresión funcione.</translation> <translation id="8667808506758191620">El dispositivo <ph name="DEVICE_TYPE" /> está actualizado.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb index 2f3ee89..1421238 100644 --- a/chrome/app/resources/chromium_strings_et.xtb +++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Kasutage Chromiumi loodud tugevat parooli</translation> <translation id="85843667276690461">Hangi abi Chromiumi kasutamise kohta</translation> <translation id="8586442755830160949">Autoriõigus <ph name="YEAR" /> The Chromium Authors. Kõik õigused on kaitstud.</translation> -<translation id="8590769996813453836">Chromium leidis teie arvutist kahjulikku tarkvara. Chromium saab selle eemaldada ja teie seaded taastada, et brauser töötaks jälle normaalselt.</translation> <translation id="8621669128220841554">Installimine ebaõnnestus tundmatu vea tõttu. Laadige Chromium uuesti alla.</translation> <translation id="8628626585870903697">Chromium ei sisalda PDF-vaaturit, mida on printimise eelvaate jaoks vaja.</translation> <translation id="8667808506758191620">Teie <ph name="DEVICE_TYPE" /> on ajakohane.</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb index debdb4a..42547046 100644 --- a/chrome/app/resources/chromium_strings_fa.xtb +++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">استفاده از گذرواژه قوی ایجاد شده توسط Chromium</translation> <translation id="85843667276690461">دریافت راهنمایی برای استفاده از Chromium </translation> <translation id="8586442755830160949">حق نسخهبرداری <ph name="YEAR" /> نویسندگان Chromium. کلیه حقوق محفوظ است.</translation> -<translation id="8590769996813453836">Chromium نرمافزار مضری را در رایانهتان پیدا کرد. Chromium میتواند آن را پاک و تنظیماتتان را بازیابی کند تا عملکرد مرورگرتان دوباره عادی شود.</translation> <translation id="8621669128220841554">به دلیل خطای نامشخص، نصب ناموفق بود. لطفاً دوباره Chromium را بارگیری کنید.</translation> <translation id="8628626585870903697">Chromium فاقد نمایشگر PDF است که برای عملکرد پیشنمایش چاپ لازم است.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> شما به روز است.</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb index 9823bf07..9de455d 100644 --- a/chrome/app/resources/chromium_strings_fi.xtb +++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Käytä Chromiumin luomaa vahvaa salasanaa.</translation> <translation id="85843667276690461">Apua Chromiumin käytössä</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Kaikki oikeudet pidätetään.</translation> -<translation id="8590769996813453836">Chromium löysi haitallisia ohjelmia tietokoneestasi. Chromium voi poistaa ne ja palauttaa asetukset ennalleen, jotta selain toimii taas normaalisti.</translation> <translation id="8621669128220841554">Asennus epäonnistui määrittelemättömän virheen vuoksi. Lataa Chromium uudelleen.</translation> <translation id="8628626585870903697">Chromium ei sisällä PDF-katseluohjelmaa, joka tarvitaan tulostuksen esikatseluun.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> on ajan tasalla.</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb index d9eaa5e..1706672 100644 --- a/chrome/app/resources/chromium_strings_fil.xtb +++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Gumamit ng malakas na password na binuo ng Chromium</translation> <translation id="85843667276690461">Kumuha ng tulong sa paggamit ng Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ang Mga May-akda ng Chromium. Nakalaan ang lahat ng karapatan.</translation> -<translation id="8590769996813453836">May nakitang mapaminsalang software ang Chromium sa iyong computer. Maaari itong alisin ng Chromium at i-restore ang mga setting mo upang mapaganang muli nang normal ang iyong browser.</translation> <translation id="8621669128220841554">Nabigo ang pag-install dahil sa hindi natukoy na error. Mangyaring i-download muli ang Chromium.</translation> <translation id="8628626585870903697">Hindi isinasama ng Chromium ang PDF viewer na kinakailangan upang gumana ang Preview ng Pag-print.</translation> <translation id="8667808506758191620">Napapanahon ang iyong <ph name="DEVICE_TYPE" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb index b0475f2..4e01c96 100644 --- a/chrome/app/resources/chromium_strings_fr.xtb +++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -225,7 +225,6 @@ <translation id="8563206822260884157">Utiliser un mot de passe sécurisé, généré par Chromium</translation> <translation id="85843667276690461">Obtenir de l'aide sur l'utilisation de Chromium</translation> <translation id="8586442755830160949">Copyright Auteurs de Chromium <ph name="YEAR" />. Tous droits réservés.</translation> -<translation id="8590769996813453836">Chromium a détecté un logiciel malveillant sur votre ordinateur. Il peut supprimer ce logiciel et restaurer vos paramètres pour que votre navigateur fonctionne à nouveau normalement.</translation> <translation id="8621669128220841554">Échec de l'installation en raison d'une erreur non spécifiée. Veuillez télécharger Chromium à nouveau.</translation> <translation id="8628626585870903697">Chromium ne comprend pas le lecteur de PDF qui est nécessaire au fonctionnement de l'aperçu avant impression.</translation> <translation id="8667808506758191620">Votre <ph name="DEVICE_TYPE" /> est à jour.</translation>
diff --git a/chrome/app/resources/chromium_strings_gu.xtb b/chrome/app/resources/chromium_strings_gu.xtb index ad3b09f..53941c5 100644 --- a/chrome/app/resources/chromium_strings_gu.xtb +++ b/chrome/app/resources/chromium_strings_gu.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Chromium દ્વારા બનાવેલ સશક્ત પાસવર્ડનો ઉપયોગ કરો</translation> <translation id="85843667276690461">Chromium નો ઉપયોગ કરવા સહાય મેળવો</translation> <translation id="8586442755830160949">કોપિરાઇટ <ph name="YEAR" /> The Chromium Authors. સર્વાધિકાર સુરક્ષિત.</translation> -<translation id="8590769996813453836">Chromiumને તમારા કમ્પ્યુટરમાં નુકસાનકારક સૉફ્ટવેર જોવા મળ્યું છે. તમારું બ્રાઉઝર ફરીથી સામાન્ય રીતે કાર્ય કરે તે માટે Chromium તેને દૂર કરીને તમારી સેટિંગ્સ પુનઃસ્થાપિત કરી શકે છે.</translation> <translation id="8621669128220841554">અનુલ્લેખિત ભૂલને કારણે ઇન્સ્ટોલેશન નિષ્ફળ રહ્યું. કૃપા કરીને Chromium ફરીથી ડાઉનલોડ કરો.</translation> <translation id="8628626585870903697">Chromium માં PDF વ્યૂઅર સામેલ કરતું નથી, જે પ્રિંટ પૂર્વાવલોકનને કાર્ય કરવા માટે જરૂરી છે.</translation> <translation id="8667808506758191620">તમારું <ph name="DEVICE_TYPE" /> અપ ટૂ ડેટ છે.</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb index 708227f..336bab5 100644 --- a/chrome/app/resources/chromium_strings_hi.xtb +++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">क्रोमियम की ओर से जनरेट किए गए सशक्त पासवर्ड का उपयोग करें</translation> <translation id="85843667276690461">क्रोमियम उपयोग करने के साथ सहायता प्राप्त करें</translation> <translation id="8586442755830160949">कॉपीराइट <ph name="YEAR" /> The Chromium Authors. सर्वाधिकार सुरक्षित.</translation> -<translation id="8590769996813453836">क्रोमियम को आपके कंप्यूटर पर नुकसान पहुंचाने वाला सॉफ़्टवेयर मिला है. क्रोमियम उसे निकाल सकता है और आपकी सेटिंग बहाल कर सकता है ताकि आपका ब्राउज़र फिर से सामान्य रूप से काम करने लगे.</translation> <translation id="8621669128220841554">अनिर्दिष्ट कारणों से इंस्टॉलेशन विफल हुआ. कृपया क्रोमियम पुन: डाउनलोड करें.</translation> <translation id="8628626585870903697">क्रोमियम PDF व्यूअर को शामिल नहीं करता है जो कि प्रिंट पूर्वावलोकन को कार्य करने के लिए आवश्यक है.</translation> <translation id="8667808506758191620">आपका <ph name="DEVICE_TYPE" /> अद्यतित है.</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb index 1f86e05c..21892ce9 100644 --- a/chrome/app/resources/chromium_strings_hr.xtb +++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Upotrijebite snažnu zaporku koju generira Chromium</translation> <translation id="85843667276690461">Pomoć za upotrebu Chromiuma</translation> <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromiuma. Sva prava pridržana.</translation> -<translation id="8590769996813453836">Chromium je pronašao štetni softver na računalu. Može ga ukloniti i vratiti vaše postavke kako bi vaš preglednik ponovno funkcionirao normalno.</translation> <translation id="8621669128220841554">Instalacija nije uspjela zbog nepoznate pogreške. Ponovo preuzmite Chromium.</translation> <translation id="8628626585870903697">Chromium ne uključuje pregledač PDF-a koji je potreban da bi pregled ispisa funkcionirao.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> je ažuriran.</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb index 3cd10f8..cf0cff2 100644 --- a/chrome/app/resources/chromium_strings_hu.xtb +++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">A Chromium által generált erős jelszó használata</translation> <translation id="85843667276690461">Segítséget kaphat a Chromium használatával kapcsolatban</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – A Chromium szerzői. Minden jog fenntartva.</translation> -<translation id="8590769996813453836">A Chromium kártékony szoftvert talált a számítógépen. A Chromium képes a szoftver eltávolítására, és arra, hogy visszaállítsa a beállításokat, így a böngésző újra a megszokott módon működhet.</translation> <translation id="8621669128220841554">A telepítés egy meg nem határozott hiba miatt nem sikerült. Kérjük, töltse le újra a Chromiumot.</translation> <translation id="8628626585870903697">A Chromium nem tartalmazza a PDF Viewer alkalmazást, amely a Nyomtatási előnézet működéséhez szükséges.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> eszköze naprakész.</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb index 55b29d3..cd2fcdb 100644 --- a/chrome/app/resources/chromium_strings_id.xtb +++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Gunakan sandi kuat yang dibuat oleh Chromium</translation> <translation id="85843667276690461">Dapatkan bantuan tentang penggunaan Chromium</translation> <translation id="8586442755830160949">Hak Cipta <ph name="YEAR" /> Pengarang Chromium. Semua hak dilindungi undang-undang.</translation> -<translation id="8590769996813453836">Chromium menemukan software berbahaya di komputer. Chromium dapat menghapusnya dan memulihkan setelan agar browser Anda dapat berfungsi kembali secara normal.</translation> <translation id="8621669128220841554">Pemasangan gagal karena kesalahan yang tidak ditentukan. Download Chromium lagi.</translation> <translation id="8628626585870903697">Chromium tidak menyertakan penampil PDF yang dibutuhkan agar Pratinjau Cetak berfungsi.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> Anda sudah diperbarui.</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb index b421590..7c7b722d 100644 --- a/chrome/app/resources/chromium_strings_it.xtb +++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Usa una password sicura generata da Chromium</translation> <translation id="85843667276690461">Ricevi assistenza per l'utilizzo di Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Tutti i diritti riservati.</translation> -<translation id="8590769996813453836">Chromium ha trovato software dannoso sul computer. Può rimuoverlo e ripristinare le tue impostazioni per ristabilire il normale funzionamento del browser.</translation> <translation id="8621669128220841554">Installazione non riuscita a causa di un errore imprecisato. Scarica di nuovo Chromium.</translation> <translation id="8628626585870903697">Chromium non include il visualizzatore PDF necessario per la funzione Anteprima di stampa.</translation> <translation id="8667808506758191620">Il dispositivo <ph name="DEVICE_TYPE" /> è aggiornato.</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb index 90e2de3..c941b80 100644 --- a/chrome/app/resources/chromium_strings_iw.xtb +++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">השתמש בסיסמה חזקה שנוצרה על-ידי Chromium</translation> <translation id="85843667276690461">עזרה באמצעות Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. כל הזכויות שמורות.</translation> -<translation id="8590769996813453836">Chromium גילה תוכנה מזיקה במחשב. כדי להחזיר את הדפדפן לפעילות רגילה, Chromium יכול להסיר את התוכנה ולשחזר את ההגדרות שלך.</translation> <translation id="8621669128220841554">ההתקנה נכשלה בשל שגיאה לא מזוהה. הורד שוב את Chromium.</translation> <translation id="8628626585870903697">Chromium אינו כולל מציג PDF, הנדרש להפעלת תצוגה מקדימה של הדפסה.</translation> <translation id="8667808506758191620">ה-<ph name="DEVICE_TYPE" /> שלך מעודכן.</translation>
diff --git a/chrome/app/resources/chromium_strings_ja.xtb b/chrome/app/resources/chromium_strings_ja.xtb index 9348203c..7fb5edd 100644 --- a/chrome/app/resources/chromium_strings_ja.xtb +++ b/chrome/app/resources/chromium_strings_ja.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Chromium で生成された安全なパスワードの使用をおすすめします</translation> <translation id="85843667276690461">Chromium の使用に関するアドバイス</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation> -<translation id="8590769996813453836">お使いのパソコン上に有害なソフトウェアが見つかりました。Chromium ではこのソフトウェアを削除し、設定を復元して、ブラウザを正常な動作に戻すことができます。</translation> <translation id="8621669128220841554">原因不明のエラーによりインストールに失敗しました。Chromium をもう一度ダウンロードしてください。</translation> <translation id="8628626585870903697">印刷プレビューの表示に必要な PDF ビューアが Chromium にインストールされていません。</translation> <translation id="8667808506758191620">お使いの <ph name="DEVICE_TYPE" /> は最新です。</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb index 153b50b..c9d38d4 100644 --- a/chrome/app/resources/chromium_strings_kn.xtb +++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -218,7 +218,6 @@ <translation id="8563206822260884157">Chromium ಸೃಷ್ಟಿಸಿರುವ ಬಲಿಷ್ಠ ಪಾಸ್ವರ್ಡ್ ಬಳಸಿ</translation> <translation id="85843667276690461">Chromium ಅನ್ನು ಬಳಸುತ್ತಿರುವುದರ ಜೊತೆಗೆ ಸಹಾಯವನ್ನು ಪಡೆಯಿರಿ</translation> <translation id="8586442755830160949">ಹಕ್ಕುಸ್ವಾಮ್ಯ <ph name="YEAR" /> Chromium ಲೇಖಕರು. ಎಲ್ಲಾ ಹಕ್ಕುಗಳನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ.</translation> -<translation id="8590769996813453836">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್ವೇರ್ಗಳನ್ನು Chromium ಕಂಡುಹಿಡಿದಿದೆ. ನಿಮ್ಮ ಬ್ರೌಸರ್ ಪುನಃ ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು Chromium ಅದನ್ನು ತೆಗೆದುಹಾಕಬಹುದು ಅಥವಾ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬಹುದು.</translation> <translation id="8621669128220841554">ಅನಿರ್ದಿಷ್ಟ ದೋಷದಿಂದಾಗಿ ಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೊಮ್ಮೆ Chromium ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ.</translation> <translation id="8628626585870903697">ಕಾರ್ಯಾಚರಣೆ ನಡೆಸಲು ಮುದ್ರಣ ಪೂರ್ವವೀಕ್ಷಣೆಗೆ ಅಗತ್ಯವಿರುವಂತಹ PDF ವೀಕ್ಷಕರನ್ನು Chromium ಒಳಗೊಂಡಿಲ್ಲ.</translation> <translation id="8667808506758191620">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ನವೀಕೃತವಾಗಿದೆ.</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb index 7900f5a5..3ef064d 100644 --- a/chrome/app/resources/chromium_strings_ko.xtb +++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Chromium에서 생성한 안전한 비밀번호를 사용하세요.</translation> <translation id="85843667276690461">Chromium 사용에 대한 도움말</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation> -<translation id="8590769996813453836">Chromium이 컴퓨터에서 유해한 소프트웨어를 찾았습니다. Chromium에서 해당 소프트웨어를 삭제하고 설정을 복원하여 브라우저가 다시 정상적으로 작동하도록 할 수 있습니다.</translation> <translation id="8621669128220841554">알 수 없는 오류로 인해 설치에 실패했습니다. Chromium을 다시 다운로드하세요.</translation> <translation id="8628626585870903697">Chromium은 인쇄 미리보기에 필요한 PDF 뷰어가 포함되어 있지 않습니다.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" />이(가) 최신 버전입니다.</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb index ed2a833..f40bdd4 100644 --- a/chrome/app/resources/chromium_strings_lt.xtb +++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Naudokite „Chromium“ sugeneruotą sudėtingą slaptažodį</translation> <translation id="85843667276690461">Gauti su „Chromium“ naudojimu susijusios pagalbos</translation> <translation id="8586442755830160949">Autorių teisės priklauso „Chromium“ autoriams, <ph name="YEAR" /> m. Visos teisės saugomos.</translation> -<translation id="8590769996813453836">„Chromium“ rado žalingos programinės įrangos jūsų kompiuteryje. „Chromium“ gali ją pašalinti ir atkurti nustatymus, kad naršyklė vėl veiktų įprastai.</translation> <translation id="8621669128220841554">Nepavyko įdiegti dėl nenurodytos klaidos. Atsisiųskite „Chromium“ dar kartą.</translation> <translation id="8628626585870903697">„Chromium“ neįtraukta PDF žiūryklė, reikalinga, kad veiktų „Spaudinio peržiūra“.</translation> <translation id="8667808506758191620">Jūsų „<ph name="DEVICE_TYPE" />“ atnaujintas.</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb index 4dc8057..f1551e5 100644 --- a/chrome/app/resources/chromium_strings_lv.xtb +++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">Izmantot Chromium ģenerētu drošu paroli</translation> <translation id="85843667276690461">Saņemt palīdzību par Chromium izmantošanu</translation> <translation id="8586442755830160949">Autortiesības <ph name="YEAR" /> Chromium autori. Visas tiesības paturētas.</translation> -<translation id="8590769996813453836">Chromium atrada kaitīgu programmatūru jūsu datorā. Chromium var to noņemt un atjaunot jūsu iestatījumus, lai pārlūks atkal darbotos, kā paredzēts.</translation> <translation id="8621669128220841554">Instalēšana neizdevās nenoteiktas kļūdas dēļ. Lejupielādējiet pārlūku Chromium vēlreiz.</translation> <translation id="8628626585870903697">Pārlūka Chromium komplektācijā nav PDF skatītāja, kas nepieciešams funkcijas Drukas priekšskatījums darbībai.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> ierīce ir atjaunināta.</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb index be039b9..fa301e29 100644 --- a/chrome/app/resources/chromium_strings_ml.xtb +++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Chromium സൃഷ്ടിച്ച ശക്തമായ പാസ്വേഡ് ഉപയോഗിക്കുക</translation> <translation id="85843667276690461">Chromium ഉപയോഗിക്കുന്നതിനുള്ള സഹായം നേടുക</translation> <translation id="8586442755830160949">പകർപ്പവകാശം <ph name="YEAR" /> Chromium രചയിതാക്കൾ. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തം.</translation> -<translation id="8590769996813453836">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ Chromium ദോഷകരമായ സോഫ്റ്റ്വെയർ കണ്ടെത്തി. നിങ്ങളുടെ ബ്രൗസറിനെ വീണ്ടും സാധാരണഗതിയിൽ പ്രവർത്തിപ്പിക്കുന്നതിന് Chromium-ത്തിന് അത് നീക്കംചെയ്യാനും ക്രമീകരണം പുനഃസ്ഥാപിക്കാനും കഴിയും.</translation> <translation id="8621669128220841554">അവ്യക്തമായ പിശകിനാൽ ഇൻസ്റ്റാളുചെയ്യൽ പരാജയപ്പെട്ടു. Chromium വീണ്ടും ഡൗൺലോഡുചെയ്യുക.</translation> <translation id="8628626585870903697">Chromium-ത്തിൽ പ്രിന്റ് പ്രിവ്യൂവിന് പ്രവർത്തിക്കുന്നതിന് ആവശ്യമായ PDF വ്യൂവർ ഉൾപ്പെടുന്നില്ല.</translation> <translation id="8667808506758191620">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> അപ് ടു ഡേറ്റാണ്.</translation>
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb index 178a447..2e96c69b 100644 --- a/chrome/app/resources/chromium_strings_mr.xtb +++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Chromium द्वारे व्युत्पन्न केलेला सशक्त पासवर्ड वापरा</translation> <translation id="85843667276690461">Chromium वापरून मदत मिळवा</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium लेखक. सर्व हक्क राखीव.</translation> -<translation id="8590769996813453836">Chromium ला तुमच्या काँप्युटरवर धोकादायक सॉफ्टवेअर आढळले आहे. Chromium ते काढून टाकू आणि तुमचा ब्राउझर पुन्हा नीट चालावा यासाठी तुमच्या सेटिंग्ज रीस्टोअर करू शकते.</translation> <translation id="8621669128220841554">अनिर्दिष्ट त्रुटीमुळे स्थापना अयशस्वी झाली. कृपया Chromium पुन्हा डाउनलोड करा.</translation> <translation id="8628626585870903697">Chromium कार्य करण्यासाठी प्रिंट पूर्वावलोकनास आवश्यक असलेले PDF viewer समाविष्ट करीत नाही.</translation> <translation id="8667808506758191620">आपले <ph name="DEVICE_TYPE" /> अद्ययावत आहे.</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb index 65bffff..1562f4d 100644 --- a/chrome/app/resources/chromium_strings_ms.xtb +++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Gunakan kata laluan kukuh yang dijana oleh Chromium</translation> <translation id="85843667276690461">Dapatkan bantuan untuk menggunakan Chromium</translation> <translation id="8586442755830160949">Hak Cipta <ph name="YEAR" /> Pengarang Chromium. Hak cipta terpelihara.</translation> -<translation id="8590769996813453836">Chromium menemui perisian yang berbahaya pada komputer anda. Chromium boleh mengalih keluar perisian tersebut dan memulihkan tetapan anda supaya penyemak imbas anda berfungsi seperti biasa semula.</translation> <translation id="8621669128220841554">Pemasangan gagal disebabkan ralat yang tidak dinyatakan. Sila muat turun semula Chromium.</translation> <translation id="8628626585870903697">Chromium tidak menyertakan pemapar PDF yang diperlukan oleh Pratonton Cetakan untuk berfungsi.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> anda sudah dikemas kini.</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb index c3d2e55..0d66ed14 100644 --- a/chrome/app/resources/chromium_strings_nl.xtb +++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Een sterk wachtwoord gebruiken dat is gegenereerd door Chromium</translation> <translation id="85843667276690461">Hulp bij het gebruik van Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> De auteurs van Chromium. Alle rechten voorbehouden.</translation> -<translation id="8590769996813453836">Chromium heeft schadelijke software gevonden op je computer. Chromium kan deze software verwijderen en je instellingen herstellen zodat je browser weer normaal werkt.</translation> <translation id="8621669128220841554">De installatie is mislukt wegens een onbekende fout. Download Chromium opnieuw.</translation> <translation id="8628626585870903697">Chromium bevat niet de pdf-viewer die nodig is om de functie 'Afdrukvoorbeeld' te laten werken.</translation> <translation id="8667808506758191620">Je <ph name="DEVICE_TYPE" /> is up-to-date.</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb index bcb3ad2..c3d09ee 100644 --- a/chrome/app/resources/chromium_strings_no.xtb +++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Bruk et sterkt passord som genereres av Chromium</translation> <translation id="85843667276690461">Få hjelp med å bruke Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – The Chromium Authors. Med enerett.</translation> -<translation id="8590769996813453836">Chromium fant skadelig programvare på datamaskinen du bruker. Chromium kan fjerne den og gjenopprette innstillingene dine, sånn at nettleseren fungerer normalt igjen.</translation> <translation id="8621669128220841554">Installeringen mislyktes på grunn av en uspesifisert feil. Last ned Chromium på nytt.</translation> <translation id="8628626585870903697">Chromium omfatter ikke PDF-visningsprogrammet som er nødvendig for at «Forhåndsvisning av utskrift» skal fungere.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" />-enheten er oppdatert.</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb index 31e5daee..9f3da36d 100644 --- a/chrome/app/resources/chromium_strings_pl.xtb +++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">Użyj silnego hasła wygenerowanego przez Chromium</translation> <translation id="85843667276690461">Pomoc do Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autorzy Chromium. Wszelkie prawa zastrzeżone.</translation> -<translation id="8590769996813453836">Przeglądarka Chromium znalazła na Twoim komputerze szkodliwe oprogramowanie. Może je usunąć i przywrócić ustawienia, by znów mogła działać normalnie.</translation> <translation id="8621669128220841554">Instalacja nie powiodła się z powodu nieokreślonego błędu. Pobierz Chromium ponownie.</translation> <translation id="8628626585870903697">Chromium nie zawiera przeglądarki PDF wymaganej przez podgląd wydruku.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> używa aktualnej wersji oprogramowania.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb index 4831ec8..a773b050 100644 --- a/chrome/app/resources/chromium_strings_pt-BR.xtb +++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -219,7 +219,6 @@ <translation id="8563206822260884157">Use uma senha forte gerada pelo Chromium</translation> <translation id="85843667276690461">Obter ajuda para usar o Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autores do Chromium. Todos os direitos reservados.</translation> -<translation id="8590769996813453836">O Chromium encontrou software perigoso no seu computador. O Chromium pode removê-lo e restaurar as configurações para que o navegador volte a funcionar normalmente.</translation> <translation id="8621669128220841554">Falha na instalação devido a um erro não especificado. Faça o download do Chromium novamente.</translation> <translation id="8628626585870903697">O Chromium não inclui o visualizador de PDF que é necessário para que a visualização de impressão funcione.</translation> <translation id="8667808506758191620">Seu dispositivo <ph name="DEVICE_TYPE" /> está atualizado.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-PT.xtb b/chrome/app/resources/chromium_strings_pt-PT.xtb index 8899e800..9e8425c 100644 --- a/chrome/app/resources/chromium_strings_pt-PT.xtb +++ b/chrome/app/resources/chromium_strings_pt-PT.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Utilize uma palavra-passe forte gerada pelo Chromium</translation> <translation id="85843667276690461">Obter ajuda para utilizar o Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Os autores do Chromium. Todos os direitos reservados.</translation> -<translation id="8590769996813453836">O Chromium encontrou software prejudicial no seu computador. O Chromium pode removê-lo e restaurar as suas definições para que o navegador volte a funcionar normalmente.</translation> <translation id="8621669128220841554">A instalação falhou devido a um erro não especificado. Transfira novamente o Chromium .</translation> <translation id="8628626585870903697">O Chromium não inclui o visualizador de PDF que é necessário para que a Pré-visualização da Impressão funcione.</translation> <translation id="8667808506758191620">O seu <ph name="DEVICE_TYPE" /> está atualizado.</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb index 8239d68..9daa3f2 100644 --- a/chrome/app/resources/chromium_strings_ro.xtb +++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Folosește o parolă puternică generată de Chromium</translation> <translation id="85843667276690461">Obțineți ajutor în legătură cu utilizarea Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Toate drepturile rezervate.</translation> -<translation id="8590769996813453836">Chromium a găsit software dăunător pe computer. Chromium poate să-l elimine și să restabilească setările pentru ca browserul să funcționeze normal din nou.</translation> <translation id="8621669128220841554">Instalarea nu a reușit din cauza unei erori neprecizate. Descărcați Chromium din nou.</translation> <translation id="8628626585870903697">Chromium nu include vizualizatorul PDF care este necesar pentru funcționarea Previzualizării înainte de printare.</translation> <translation id="8667808506758191620">Dispozitivul <ph name="DEVICE_TYPE" /> este actualizat.</translation>
diff --git a/chrome/app/resources/chromium_strings_ru.xtb b/chrome/app/resources/chromium_strings_ru.xtb index 65c8abd..61a192e 100644 --- a/chrome/app/resources/chromium_strings_ru.xtb +++ b/chrome/app/resources/chromium_strings_ru.xtb
@@ -220,7 +220,6 @@ <translation id="8563206822260884157">Используйте надежный пароль, сгенерированный Chromium.</translation> <translation id="85843667276690461">Помощь по использованию Chromium</translation> <translation id="8586442755830160949">© The Chromium Authors, <ph name="YEAR" /> . Все права защищены.</translation> -<translation id="8590769996813453836">На вашем компьютере обнаружено вредоносное ПО. Chromium может удалить его и восстановить настройки, чтобы вернуть браузер в обычное состояние.</translation> <translation id="8621669128220841554">В процессе установки произошла неизвестная ошибка. Скачайте Chromium ещё раз.</translation> <translation id="8628626585870903697">В Chromium нет функции просмотра PDF-файлов, которая нужна для предварительного просмотра при печати.</translation> <translation id="8667808506758191620">На устройстве <ph name="DEVICE_TYPE" /> используется последняя версия Chromium OS.</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb index 4adc557..4c877ad 100644 --- a/chrome/app/resources/chromium_strings_sk.xtb +++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Použite silné heslo vygenerované prehliadačom Chromium</translation> <translation id="85843667276690461">Získajte pomoc pri používaní prehliadača Chromium</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autori Chromium. Všetky práva vyhradené.</translation> -<translation id="8590769996813453836">Chromium našiel vo vašom počítači škodlivý softvér. Môže ho odstrániť a uložiť vaše nastavenia, aby prehliadač znova normálne fungoval.</translation> <translation id="8621669128220841554">Inštalácia zlyhala kvôli neznámej chybe. Skúste prehliadač Chromium stiahnuť znova.</translation> <translation id="8628626585870903697">Prehliadač Chromium neobsahuje nástroj na zobrazovanie súborov PDF, ktorý je potrebný pre funkciu Ukážka pred tlačou.</translation> <translation id="8667808506758191620">Vaše zariadenie <ph name="DEVICE_TYPE" /> je aktuálne.</translation>
diff --git a/chrome/app/resources/chromium_strings_sl.xtb b/chrome/app/resources/chromium_strings_sl.xtb index 162f73c..379f1bc 100644 --- a/chrome/app/resources/chromium_strings_sl.xtb +++ b/chrome/app/resources/chromium_strings_sl.xtb
@@ -227,7 +227,6 @@ <translation id="8563206822260884157">Uporabite zapleteno geslo, ki ga ustvari Chromium</translation> <translation id="85843667276690461">Pomoč pri uporabi Chromiuma</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ustvarjalci Chromiuma. Vse pravice pridržane.</translation> -<translation id="8590769996813453836">Chromium je v računalniku našel škodljivo programsko opremo. Chromium jo lahko odstrani in obnovi nastavitve, da bo brskalnik znova deloval kot običajno.</translation> <translation id="8621669128220841554">Namestitev ni uspela zaradi nenavedene napake. Znova prenesite Chromium.</translation> <translation id="8628626585870903697">Chromium nima pregledovalnika datotek PDF, ki je potreben za predogled tiskanja.</translation> <translation id="8667808506758191620">Naprava <ph name="DEVICE_TYPE" /> je posodobljena.</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb index 7d99131..87547e2b 100644 --- a/chrome/app/resources/chromium_strings_sr.xtb +++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Користите јаку лозинку коју је Chromium генерисао</translation> <translation id="85843667276690461">Пронађи помоћ за коришћење Chromium-а</translation> <translation id="8586442755830160949">Ауторска права <ph name="YEAR" />. Аутори Chromium-а. Сва права задржана.</translation> -<translation id="8590769996813453836">Chromium је пронашао штетан софтвер на рачунару. Chromium може да га уклони и да врати подешавања да би прегледач поново функционисао као и обично.</translation> <translation id="8621669128220841554">Инсталација није успела због неодређене грешке. Преузмите Chromium поново.</translation> <translation id="8628626585870903697">Chromium не садржи PDF приказивач који је потребан да би Приказ пре штампања функционисао.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> је ажуриран.</translation>
diff --git a/chrome/app/resources/chromium_strings_sv.xtb b/chrome/app/resources/chromium_strings_sv.xtb index 919cfe4..9e7314a0 100644 --- a/chrome/app/resources/chromium_strings_sv.xtb +++ b/chrome/app/resources/chromium_strings_sv.xtb
@@ -226,7 +226,6 @@ <translation id="8563206822260884157">Använd ett starkt lösenord som genererats av Chromium</translation> <translation id="85843667276690461">Få hjälp med att använda Chromium</translation> <translation id="8586442755830160949">Upphovsrätt <ph name="YEAR" /> The Chromium Authors. Med ensamrätt.</translation> -<translation id="8590769996813453836">Chromium har upptäckt skadlig programvara på datorn. Du kan låta Chromium ta bort den och återställa inställningarna så att webbläsaren fungerar som den ska igen.</translation> <translation id="8621669128220841554">Installationen misslyckades på grund av ett okänt fel. Ladda ned Chromium igen.</translation> <translation id="8628626585870903697">Chromium har inte det PDF-visningsprogram som krävs för att förhandsgranskning ska fungera.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> är uppdaterad.</translation>
diff --git a/chrome/app/resources/chromium_strings_sw.xtb b/chrome/app/resources/chromium_strings_sw.xtb index 4207164..a4446c2 100644 --- a/chrome/app/resources/chromium_strings_sw.xtb +++ b/chrome/app/resources/chromium_strings_sw.xtb
@@ -225,7 +225,6 @@ <translation id="8563206822260884157">Tumia nenosiri thabiti lililozalishwa na Chromium</translation> <translation id="85843667276690461">Pata msaada kwa kutumia Chromium</translation> <translation id="8586442755830160949">Hakimiliki <ph name="YEAR" /> Wasanidi wa Chromium. Haki zote zimehifadhiwa.</translation> -<translation id="8590769996813453836">Chromium imegundua programu hatari kwenye kompyuta yako. Chromium inaweza kuiondoa na kurejesha mipangilio yako ili kuwezesha kivinjari chako kufanya kazi tena kama kawaida.</translation> <translation id="8621669128220841554">Usakinishaji ulishindwa kwa sababu ya hitilafu isiyobainika. Tafadhali pakua Chromium tena.</translation> <translation id="8628626585870903697">Chromium haijumuishi kitazamaji cha PDF kinachohitajika ili Uhakiki wa Uchapishaji ufanye kazi.</translation> <translation id="8667808506758191620">Kifaa chako cha <ph name="DEVICE_TYPE" /> kimesasishwa.</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb index c09bfc1..ea9778fa 100644 --- a/chrome/app/resources/chromium_strings_ta.xtb +++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Chromium உருவாக்கிய வலிமையான கடவுச்சொல்லைப் பயன்படுத்தவும்</translation> <translation id="85843667276690461">Chromium ஐப் பயன்படுத்தி உதவி பெறுக</translation> <translation id="8586442755830160949">பதிப்புரிமை <ph name="YEAR" /> Chromium உருவாக்குநர்கள். அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை.</translation> -<translation id="8590769996813453836">உங்கள் கணினியில் தீங்கிழைக்கும் மென்பொருளை Chromium கண்டறிந்துள்ளது. உங்கள் உலாவியை வழக்கம் போல் மீண்டும் செயல்படுத்துவதற்கு, Chromium அதை அகற்றி, உங்கள் அமைப்புகளை மீட்டமைக்கும்.</translation> <translation id="8621669128220841554">குறிப்பிடப்படாத பிழை காரணமாக நிறுவல் தோல்வியடைந்தது. Chromium ஐ மீண்டும் பதிவிறக்கம் செய்க.</translation> <translation id="8628626585870903697">அச்சிடல் முன்னோட்டத்தைச் செயல்படுத்த தேவைப்படும் PDF வியூவர், Chromium இல் சேர்க்கப்படவில்லை.</translation> <translation id="8667808506758191620">உங்கள் <ph name="DEVICE_TYPE" /> புதுப்பித்த நிலையில் உள்ளது.</translation>
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb index cc2ea41..c11a59d 100644 --- a/chrome/app/resources/chromium_strings_te.xtb +++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -220,7 +220,6 @@ <translation id="8563206822260884157">Chromium ద్వారా రూపొందించబడిన శక్తివంతమైన పాస్వర్డ్ని ఉపయోగించండి</translation> <translation id="85843667276690461">Chromiumని ఉపయోగించి సహాయాన్ని పొందండి</translation> <translation id="8586442755830160949">కాపీరైట్ <ph name="YEAR" /> Chromium రచయితలు. సర్వ హక్కులు ప్రత్యేకించబడ్డాయి.</translation> -<translation id="8590769996813453836">Chromium మీ కంప్యూటర్లో హానికరమైన సాఫ్ట్వేర్ని కనుగొంది. Chromium దీనిని తీసివేయగలదు మరియు మీ బ్రౌజర్ సాధారణంగా పని చేసేలా చేయడం కోసం మీ సెట్టింగ్లను పునరుద్ధరించగలదు.</translation> <translation id="8621669128220841554">పేర్కొనబడలేని లోపం కారణంగా ఇన్స్టాలేషన్ విఫలమైంది. దయచేసి Chromiumని మళ్లీ డౌన్లోడ్ చేయండి.</translation> <translation id="8628626585870903697">ముద్రణా పరిదృశ్యం పని చేయడానికి అవసరమైన PDF వ్యూయర్ని Chromium చేర్చలేదు.</translation> <translation id="8667808506758191620">మీ <ph name="DEVICE_TYPE" /> ఆధునికంగా ఉంది.</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb index fe7777d..159d874 100644 --- a/chrome/app/resources/chromium_strings_th.xtb +++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">ใช้รหัสผ่านที่รัดกุมที่ Chromium สร้างขึ้น</translation> <translation id="85843667276690461">รับความช่วยเหลือเกี่ยวกับการใช้ Chromium</translation> <translation id="8586442755830160949">ลิขสิทธิ์ <ph name="YEAR" /> The Chromium Authors สงวนลิขสิทธิ์</translation> -<translation id="8590769996813453836">Chromium พบซอฟต์แวร์อันตรายในคอมพิวเตอร์ของคุณ Chromium สามารถนำซอฟต์แวร์ดังกล่าวออกและคืนการตั้งค่าเดิมเพื่อให้เบราว์เซอร์ทำงานเป็นปกติอีกครั้ง</translation> <translation id="8621669128220841554">การติดตั้งล้มเหลวเนื่องจากเกิดข้อผิดพลาดที่ไม่ระบุ โปรดดาวน์โหลด Chromium อีกครั้ง</translation> <translation id="8628626585870903697">Chromium ไม่มีโปรแกรมดู PDF ที่ต้องใช้ในการทำงานของหน้าตัวอย่างก่อนพิมพ์</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> ของคุณเป็นเวอร์ชันล่าสุดแล้ว</translation>
diff --git a/chrome/app/resources/chromium_strings_tr.xtb b/chrome/app/resources/chromium_strings_tr.xtb index cfeaa0d..2173b81 100644 --- a/chrome/app/resources/chromium_strings_tr.xtb +++ b/chrome/app/resources/chromium_strings_tr.xtb
@@ -222,7 +222,6 @@ <translation id="8563206822260884157">Chromium tarafından oluşturulan güçlü bir şifre kullanın</translation> <translation id="85843667276690461">Chromium'u kullanma konusunda yardım alın</translation> <translation id="8586442755830160949">Telif Hakkı <ph name="YEAR" /> The Chromium Authors. Tüm hakları saklıdır.</translation> -<translation id="8590769996813453836">Chromium, bilgisayarınızda zararlı yazılım buldu. Chromium bu yazılımı kaldırabilir ve tarayıcınızın tekrar normal şekilde çalışması için ayarlarınızı geri yükleyebilir.</translation> <translation id="8621669128220841554">Yükleme belirtilmeyen bir hata nedeniyle başarısız oldu. Lütfen Chromium'u tekrar indirin.</translation> <translation id="8628626585870903697">Chromium, Baskı Önizleme için gerekli olan PDF görüntüleyiciyi içermez.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> cihazınız güncel.</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb index 35ffb408e..25bc6a4 100644 --- a/chrome/app/resources/chromium_strings_uk.xtb +++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Використовуйте надійний пароль, згенерований Chromium</translation> <translation id="85843667276690461">Отримати довідку щодо користування Chromium</translation> <translation id="8586442755830160949">Авторське право <ph name="YEAR" /> Автори Chromium. Усі права захищено.</translation> -<translation id="8590769996813453836">Chromium виявив зловмисне програмне забезпечення на вашому комп’ютері. Chromium може вилучити його та відновити налаштування для роботи веб-переглядача у звичайному режимі.</translation> <translation id="8621669128220841554">Не вдалося встановити через невизначену помилку. Завантажте Chromium ще раз.</translation> <translation id="8628626585870903697">У Chromium немає засобу перегляду файлів PDF, який потрібен для перегляду версії для друку.</translation> <translation id="8667808506758191620">Ваш пристрій <ph name="DEVICE_TYPE" /> оновлено.</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb index 8bd304b6..8a506a99 100644 --- a/chrome/app/resources/chromium_strings_vi.xtb +++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">Sử dụng mật khẩu mạnh do Chromium tạo</translation> <translation id="85843667276690461">Nhận trợ giúp về cách sử dụng Chromium</translation> <translation id="8586442755830160949">Bản quyền <ph name="YEAR" /> Tác giả Chromium. Mọi quyền được bảo lưu.</translation> -<translation id="8590769996813453836">Chromium đã tìm thấy phần mềm độc hại trên máy tính của bạn. Chromium có thể xóa phần mềm này và khôi phục cài đặt của bạn để làm cho trình duyệt hoạt động bình thường trở lại.</translation> <translation id="8621669128220841554">Không thể cài đặt do xảy ra lỗi không xác định. Hãy tải xuống Chromium lại lần nữa.</translation> <translation id="8628626585870903697">Chromium không bao gồm trình xem PDF được yêu cầu để tính năng xem trước bản in hoạt động.</translation> <translation id="8667808506758191620"><ph name="DEVICE_TYPE" /> của bạn đã cập nhật.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb index 0804a4d..9d01a389 100644 --- a/chrome/app/resources/chromium_strings_zh-CN.xtb +++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">使用由 Chromium 生成的安全系数高的密码</translation> <translation id="85843667276690461">获取 Chromium 使用帮助</translation> <translation id="8586442755830160949">版权所有<ph name="YEAR" /> The Chromium Authors。保留所有权利。</translation> -<translation id="8590769996813453836">Chromium 在您的计算机上发现了有害软件。Chromium 可移除该软件并恢复您的设置,以确保您的浏览器重新正常运行。</translation> <translation id="8621669128220841554">未指定的错误导致安装失败。请重新下载 Chromium。</translation> <translation id="8628626585870903697">Chromium 未包含运行打印预览所需的 PDF 查看器。</translation> <translation id="8667808506758191620">您的 <ph name="DEVICE_TYPE" /> 是最新版本。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb index f798ff32..b8332eea 100644 --- a/chrome/app/resources/chromium_strings_zh-TW.xtb +++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -224,7 +224,6 @@ <translation id="8563206822260884157">使用 Chromium 產生的高強度密碼</translation> <translation id="85843667276690461">前往 Chromium 說明頁面</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. 版權所有。</translation> -<translation id="8590769996813453836">Chromium 在你的電腦上找到有害軟體,並可將它移除及還原相關設定,讓你的瀏覽器恢復正常運作。</translation> <translation id="8621669128220841554">不明錯誤導致安裝失敗,請重新下載 Chromium。</translation> <translation id="8628626585870903697">Chromium 不含 PDF 檢視器,因此無法執行預覽列印功能。</translation> <translation id="8667808506758191620">您的 <ph name="DEVICE_TYPE" /> 已搭載最新版作業系統。</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb index 1299466..75a0cea 100644 --- a/chrome/app/resources/generated_resources_am.xtb +++ b/chrome/app/resources/generated_resources_am.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">ምንም አውታረ መረቦች የሉም</translation> <translation id="1056898198331236512">ማስጠንቀቂያ</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">ጎጂ ሶፍትዌርን ማስወገድ አልተቻለም</translation> <translation id="1062407476771304334">ተካ</translation> <translation id="1062866675591297858">በክትትል ስር ያሉ ተጠቃሚዎችዎን በ<ph name="BEGIN_LINK" />በክትትል ስር ያሉ ተጠቃሚዎች ዳሽቦርድ<ph name="END_LINK" /> በኩል ያስተዳድሩ።</translation> <translation id="1064835277883315402">የግል አውታረ መረብን ይቀላቀሉ</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">ፋይል ይምረጡ</translation> <translation id="136802136832547685">ወደዚህ መሣሪያ የሚታከሉ ምንም ክትትል የሚደረግባቸው ተጠቃሚዎች የሉም።</translation> <translation id="1368265273904755308">ችግር ሪፖርት ያድርጉ</translation> -<translation id="1368832886055348810">ከግራ ወደ ቀኝ</translation> <translation id="1370646789215800222">ሰው ይወገድ?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 የሚወገድ ንጥል}one{# የሚወገዱ ንጥሎች}other{# የሚወገዱ ንጥሎች}}</translation> <translation id="1372841398847029212">ከመለያዎ ጋር ያስምሩ</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">ይህን ተጠቃሚ አስወግድ</translation> <translation id="1609170755653088773">ይህን የይለፍ ቃል ከእርስዎ iPhone ያስምሩ</translation> <translation id="1609862759711084604">ቀዳሚ ተጠቃሚ</translation> -<translation id="1611557582955786626">ግላዊነት የተላበሰ የአሰሳ ተሞክሮን ለማግኘት በመላው መሣሪያዎችዎ ላይ ያስምሩ</translation> <translation id="1611584202130317952">የማቅረቢያ ፍሰቱ ተቋርጧል። እባክዎ እንደገና ይሞክሩ ወይም የመሣሪያዎን ባለቤት ወይም አስተዳዳሪ ያነጋግሩ።</translation> <translation id="1611649489706141841">ወደ ፊት</translation> <translation id="1611704746353331382">ዕልባቶችን ወደ ኤች ቲ ኤም ኤል ፋይል ላክ...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">አካባቢ አክል...</translation> <translation id="1856813161013948396">የጣት አሻራ ዳሳሹን መታ በማድረግ ብቻ የማያ ገጽ ቁልፉን ይዝለሉት። ለማዋቀር ጠቅ ያድርጉ።</translation> <translation id="1858585891038687145">የሶፍትዌር ሠሪዎችን ለመለየት ይህን የዕውቅና ማረጋገጫ እመን</translation> -<translation id="1859234291848436338">የአፃፃፍ አቅጣጫ</translation> <translation id="1861262398884155592">ይህ አቃፊ ባዶ ነው</translation> <translation id="1864111464094315414">ግባ</translation> <translation id="1864400682872660285">ማቀዥቀዣ</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">ሰብስብ...</translation> <translation id="2737492745329609575">ማዋቀር ጀምር</translation> <translation id="2738771556149464852">ከኋላ ያለሆነ</translation> -<translation id="2739046699559178272">አስቀምጥ እና ቀጥል</translation> <translation id="2739191690716947896">አርም</translation> <translation id="2739240477418971307">የተደራሽነት ቅንብሮችዎን ይቀይራል</translation> <translation id="2740393541869613458">ክትትል የሚደረግበት ተጠቃሚ የጎበኛቸውን ድር ጣቢያዎች ይከልሱ እና</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">ወርዷል</translation> <translation id="2783661497142353826">የኪዮስክ መተግበሪያዎችን ያቀናብሩ</translation> <translation id="2784407158394623927">የተንቀሳቃሽ ስልክ ውሂብ አገልግሎትዎን በማግበር ላይ</translation> -<translation id="2785530881066938471">ፋይል «<ph name="RELATIVE_PATH" />»ን ለይዘት ስክሪፕት መጫን አልተቻለም። በUTF-8 ኮድ የተቀመጠ አይደለም።</translation> <translation id="2785873697295365461">የፋይል ገላጮች</translation> <translation id="2787047795752739979">የመጀመሪያውን ተካ</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">በማጠሪያ ያልተቀመጡ ተሰኪዎችን ማገዱን ቀጥል</translation> <translation id="2890678560483811744">ከወሰን ውጭ የሆነ የገጽ ማጣቀሻ</translation> <translation id="2893168226686371498">ነባሪ አሳሽ</translation> -<translation id="2893453364759632532">መስኮት ወደ ታች</translation> <translation id="289644616180464099">ሲም ካርድ ተዘግቷል</translation> <translation id="289695669188700754">ቁልፍ መታወቂያ፦ <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">እርግጠኛ ነዎት <ph name="TAB_COUNT" /> ትሮችን መክፈት ይፈልጋሉ?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">ማያ ገጽ ማጋራት</translation> <translation id="3046910703532196514">ድረ-ገጽ፣ ሙሉ</translation> <translation id="304826556400666995">የትሮች ድምጸ-ከል አንሳ</translation> -<translation id="3051523411789012618">መስኮት ወደ ላይ</translation> <translation id="3053013834507634016">የሰርቲፊኬት ቁልፍ ጠቀሜታ</translation> <translation id="3057861065630527966">የእርስዎን ፎቶዎች እና ቪዲዮዎች በምትኬ ያስቀምጡ</translation> <translation id="3060379269883947824">ለመናገር-ይምረጡን ያንቁ</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">የኦዲዮ እና የቪዲዮ ግብዓትን በመድረስ ላይ</translation> <translation id="3090819949319990166">ውጫዊ የcrx ፋይል ወደ <ph name="TEMP_CRX_FILE" /> መቅዳት አልተቻለም።</translation> <translation id="3090871774332213558">«<ph name="DEVICE_NAME" />» ተጣምሯል</translation> -<translation id="3097628171361913691">የዚፕ ፋይል ጫኝ</translation> <translation id="3100609564180505575">ሞዱሎች (<ph name="TOTAL_COUNT" />) - የታወቁ ግጭቶች፦ <ph name="BAD_COUNT" />፣ የተጠረጠሩ፦ <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">ቀን እና ሰዓት</translation> <translation id="3108967419958202225">ይምረጡ...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">የተፈረመው</translation> <translation id="33022249435934718">የGDI መያዣዎች</translation> <translation id="3302340765592941254">የውርድ መጠናቀቅ ማሳወቂያ</translation> -<translation id="3302709122321372472">ለይዘት ስክሪፕት ሲ ኤስ ኤስ «<ph name="RELATIVE_PATH" />» መጫን አልተቻለም።</translation> <translation id="3303260552072730022">አንድ ቅጥያ ሙሉ ማያ ገጽን አስነስቷል።</translation> <translation id="3303818374450886607">ቅጂዎች</translation> <translation id="3303855915957856445">ምንም የፍለጋ ውጤቶች አልተገኙም</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">የሰዓት ሰቅ ይምረጡ</translation> <translation id="3856921555429624101">የውሂብ አጠቃቀምን መለካት ተጠናቅቋል</translation> <translation id="3857228364945137633">የእርስዎ ስልክ በአቅራቢያ በሚሆንበት ጊዜ የእርስዎን <ph name="DEVICE_TYPE" /> ያለ ይለፍ ቃል ለመክፈት Smart Lockን ይሞክሩት።</translation> -<translation id="3857732810083914482">ግላዊነት ማላበስ ጠፍቷል። ይህን myaccount.google.com ላይ መቀየር ይችላሉ።</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">እንኳን ወደ Hangouts Meet በደህና መጡ</translation> <translation id="3862134173397075045">እንኳን ወደ በChrome ውስጥ የCast ተሞክሮ በደህና መጡ!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">ከውጭ የመጣ</translation> <translation id="3994374631886003300">የእርስዎን <ph name="DEVICE_TYPE" /> ለመክፈት የእርስዎን ስልክ ይክፈቱና ያስጠጉት።</translation> <translation id="3994878504415702912">&ማጉሊያ</translation> -<translation id="39964277676607559">ለይዘት ስክሪፕት ጃቫስክሪፕት «<ph name="RELATIVE_PATH" />»ን መጫን አልተቻለም።</translation> <translation id="4002066346123236978">ርዕስ</translation> <translation id="40027638859996362">የቃል መውሰድ</translation> <translation id="4005817994523282006">የሰዓት ሰቅ ማወቂያ ዘዴ</translation> @@ -2159,7 +2147,6 @@ <translation id="4336032328163998280">የመገልበጥ ክወና አልተሳካም። <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">የአውታረ መረብ ምዝግብ ማስታወሻዎችን ለማግኘት ይህንን ይመልከቱ፦ <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">የAndroid መተግበሪያዎችን ለማውረድ እና ለመጠቀም መጀመሪያ ዝማኔ መጫን አለብዎት። መሣሪያዎ እየተዘመነ ሳለ ሊጠቀሙበት አይችሉም። ጭነቱ ከተጠናቀቀ በኋላ የእርስዎ <ph name="DEVICE_TYPE" /> ዳግም ይጀምራል።</translation> -<translation id="4338683191474220626">መስኮት ወደ ግራ</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ከ«<ph name="EXTENSION_NAME" />» መተግበሪያ ጋር መገናኘት ይፈልጋል</translation> <translation id="4342311272543222243">ውይ፣ የTPM ስህተት</translation> <translation id="4345587454538109430">አዋቅር...</translation> @@ -2311,7 +2298,6 @@ <translation id="4615586811063744755">ምንም ኩኪ አልተመረጠም</translation> <translation id="4617270414136722281">የቅጥያ አማራጮች</translation> <translation id="4619615317237390068">ከሌሎች መሣሪያዎች የመጡ ትሮች</translation> -<translation id="4620809267248568679">ይህ ቅንብር በአንድ ቅጥያ ነው የሚፈጸመው።</translation> <translation id="4624768044135598934">ተሳክቷል!</translation> <translation id="4625078469366263107">መተግበሪያን አንቃ</translation> <translation id="4627427111733173920">ኩኪዎች ታግደዋል</translation> @@ -2532,7 +2518,6 @@ <translation id="496226124210045887">የመረጡት አቃፊ ሊጎዱ የሚችሉ ፋይሎች አሉት። እርግጠኛ ነዎት ዘላቂ የዚህ አቃፊ የንባብ መዳረሻ ለ«$1» መስጠት ይፈልጋሉ?</translation> <translation id="4964455510556214366">አደራደር</translation> <translation id="4964673849688379040">በመፈተሽ ላይ...</translation> -<translation id="4965682129423310439">Chrome በእርስዎ ኮምፒውተር ላይ ጎጂ ሶፍትዌር አግኝቷል። የእርስዎን አሳሽ እንደገና በጤናማ ሁኔታ እንዲሠራ ለማድረግ Chrome ጎጂ ሶፍትዌሩን ሊያስወግደውና ቅንብሮችዎን ወደነበሩበት ሊመልሳቸው ይችላል።</translation> <translation id="4965808351167763748">እርግጠኛ ነዎት ይህን መሣሪያ Hangouts Meetን እንዲያሄድ ማዋቀር ይፈልጋሉ?</translation> <translation id="4967749818080339523">አንድ መለያ ይምረጡ</translation> <translation id="496888482094675990">የፋይሎች መተግበሪያው በGoogle Drive፣ ውጫዊ ማከማቻ ወይም በእርስዎ የChrome OS መሣሪያ ላይ ያስቀመጧቸውን ፋይሎች ፈጣን መዳረሻ ይሰጠዎታል።</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">ዴስክቶፕን cast ማድረግ አልተቻለም።</translation> <translation id="6171948306033499786">ማተምን ባለበት አቁም</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">ገቢር መስኮት ከታች ወዳለው ማሳያ ተወስዷል</translation> <translation id="6178664161104547336">የዕውቅና ማረጋገጫ ምረጥ/ሰርቲፊኬት</translation> <translation id="6181431612547969857">ማውረድ ታግዷል</translation> -<translation id="6181803575025675566">ይሄ እንዴት እንደሚሰራ በ<ph name="LINK_START" />ቅንብሮች<ph name="LINK_END" /> ውስጥ ይከታተሉ።</translation> <translation id="6185132558746749656">የመሣሪያ አካባቢ</translation> <translation id="6185696379715117369">ገጽ ወደላይ</translation> <translation id="6189412234224385711">በ<ph name="EXTENSION_NAME" /> ክፈት</translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">ውይ ውይ፣ የይለፍ ቃላቱ አይዛመዱም!</translation> <translation id="6736243959894955139">አድራሻ</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">ምንም እንኳ ከእንግዲህ የድሮ መገለጫዎን መድረስ የማይችሉ ቢሆኑም እንኳ ሊያስወግዱት ይችላሉ።</translation> <translation id="6739923123728562974">የዴስክቶፕ አቋራጭን አሳይ</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> ለአፍታ ቆሟል</translation> <translation id="6742339027238151589">ለስክሪፕቱ ተደራሽ</translation> -<translation id="6743841972744298686">ቅንብሮችን ያስምሩ</translation> <translation id="6745592621698551453">አሁን አዘምን</translation> <translation id="6746124502594467657">ወደታች አውርድ</translation> <translation id="674632704103926902">መታ አድርጎ መጎተትን አንቃ</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">የተወሰኑ ገጾችን አትም</translation> <translation id="6972180789171089114">ኦዲዮ/ቪዲዮ</translation> <translation id="6973630695168034713">አቃፊዎች</translation> -<translation id="6974053822202609517">ከቀኝ ወደ ግራ</translation> <translation id="6976108581241006975">የጃቫስክሪፕት ኮንሶል</translation> <translation id="6977381486153291903">የጽኑ ትዕዛዝ ክለሳ</translation> <translation id="6978121630131642226">የፍለጋ ፕሮግራሞች</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">ደብቅ</translation> <translation id="7108634116785509031"><ph name="HOST" /> ካሜራዎን መጠቀም ይፈልጋል</translation> <translation id="7108668606237948702">ያስገቡ</translation> -<translation id="7112978678959880812">ግላዊነት ማላበስ በርቷል። ይህን በmyaccount.google.com ውስጥ መቀየር ይችላሉ።</translation> <translation id="7113502843173351041">የኢሜይል አድራሻዎን ያውቃል</translation> <translation id="7114054701490058191">የይለፍ ቃላት አይዛመዱም</translation> <translation id="7117228822971127758">እባክዎ ቆይተው እንደገና ይሞክሩ</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">ይህን ገጽ ዳግም ጫን</translation> <translation id="7222232353993864120">ኢሜይል አድራሻ</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">የማያ ገጽ ማጉያን ያንቁ</translation> <translation id="7223775956298141902">አቦ ባክዎ... ምንም ቅጥያዎች የለዎትም :-(</translation> <translation id="7225179976675429563">የአውታረ መረብ አይነት ይጎድላል</translation> <translation id="7228479291753472782">ድር ጣቢያዎች እንደ ጂዮአካባቢ፣ ማይክሮፎን፣ ካሜራ፣ ወዘተ. ያሉ ባህሪያትን መጠቀም ይችሉ እንደሆነ የሚገልጹ ቅንብሮችን ይቆጣጠራል።</translation> @@ -4210,7 +4188,6 @@ <translation id="7639178625568735185">ገባኝ!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> እርስዎን ባስቀመጧቸው ይለፍ ቃላት ወደ ብቁ ጣቢያዎች ያስገባዎታል።</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (ባለቤት)</translation> -<translation id="7647231681210854996">ገቢር መስኮት ወደ የቀኝ ማሳያ ተወስዷል</translation> <translation id="7648992873808071793">በዚህ መሣሪያ ላይ ፋይሎችን አከማች</translation> <translation id="7649070708921625228">እገዛ</translation> <translation id="7650511557061837441">«<ph name="TRIGGERING_EXTENSION_NAME" />» «<ph name="EXTENSION_NAME" />»ን ማስወግድ ይፈልጋል።</translation> @@ -4675,7 +4652,6 @@ <translation id="8371695176452482769">አሁን ይናገሩ</translation> <translation id="8372369524088641025">መጥፎ የWEP ቁልፍ</translation> <translation id="8373553483208508744">ትሮች ላይ ድምጸ-ከል ያድርጉ</translation> -<translation id="8377870760189106701">መስኮት በስተቀኝ</translation> <translation id="8378285435971754261">የGoogle አካባቢ አገልግሎት መተግበሪያዎች የእርስዎን አካባቢ በበለጠ ፍጥነት እና ትክክለኝነት እንዲያገኙት ያግዛቸዋል፣ ይህም የባትሪ ፍጆታን ሊቀንስ ይችላል። ስም-አልባ የአካባቢ ውሂብ ለGoogle ይላካል፣ ምንም እያሄዱ ያሉ መተግበሪያዎች ባይኖሩም እንኳ። <ph name="BEGIN_LINK1" />የበለጠ ለመረዳት<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">የካሜራ ቅንብሮችን አቀናብር...</translation> <translation id="8382913212082956454">&ኢሜይል አድራሻ ቅዳ</translation> @@ -4795,7 +4771,6 @@ <translation id="8581809080475256101">ወደፊት ለመሄድ ይጫኑ፣ ታሪክን ለማየት የአውድ ምናሌ</translation> <translation id="8584280235376696778">&ቪዲዮ በአዲስ ትር ክፈት</translation> <translation id="8588866096426746242">የመገለጫ ስታቲስቲክስ</translation> -<translation id="8589652987924574405">የእርስዎን ዕልባቶች፣ ታሪክ፣ የይለፍ ቃላት እና ሌሎች ቅንብሮች በሁሉም መሣሪያዎችዎ ላይ እንዲጠቀሙባቸው ከGoogle መለያዎ ጋር ይሰምራሉ። ይህንን በኋላ ላይ በቅንብሮች መቀየር ይችላሉ።</translation> <translation id="8590375307970699841">አውቶማቲክ ዝምኖችን አዋቅር</translation> <translation id="8594908476761052472">ቪድዮ ቅረጽ</translation> <translation id="8596540852772265699">ብጁ ፋይሎች</translation> @@ -4811,7 +4786,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />፦ <ph name="ERROR" /></translation> <translation id="8620617069779373398">የውሂብ ዝውውር ሁኔታ</translation> <translation id="8620765578342452535">የአውታረ መረብ ግንኙነቶችን ያዋቅራል</translation> -<translation id="8620790565535071193">መቃኘት አልተሳካም</translation> <translation id="8624205858755890468">ረዳቱ ተዛማጅነት ያላቸውን መረጃዎች፣ መተግበሪያዎች እና እርምጃዎች ለእርስዎ እንዲያሳይ ያስችለዋል።</translation> <translation id="862542460444371744">&ቅጥያዎች</translation> <translation id="8627151598708688654">ምንጭ ይምረጡ</translation> @@ -4889,7 +4863,6 @@ <translation id="871476437400413057">Google ያስቀመጣቸው የይለፍ ቃሎች</translation> <translation id="8714838604780058252">የጀርባ ግራፊክስ</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" />ን ማውረድ አልተሳካም</translation> -<translation id="8721669057562068233">ገቢር መስኮት ከላይ ወዳለው ማሳያ ተወስዷል</translation> <translation id="8723829621484579639">ማንነት የማያሳውቁ ንዑስ ክፈፎች ለ፦ <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&በአቃፊ ውስጥ አሳይ</translation> <translation id="8725066075913043281">እንደገና ይሞክሩ</translation> @@ -4933,7 +4906,6 @@ <translation id="8785622406424941542">ስቲለስ</translation> <translation id="8787254343425541995">ለተጋሩ አውታረ መረቦች ተኪዎችን ይፍቀዱ</translation> <translation id="8791534160414513928">ከአሰሳ ትራፊክዎ ጋር የ«አትከታተል» ጥያቄ ይላኩ</translation> -<translation id="8792609692701651064">ገቢር መስኮት ወደ የግራ ማሳያ ተወስዷል</translation> <translation id="8794025342371547160">የተገደበ አይፒ</translation> <translation id="879413103056696865">የመገናኛ ነጥቡ በርቶ ሳለ የእርስዎ <ph name="PHONE_NAME" /> ይህን ያደርጋል፦</translation> <translation id="8795916974678578410">አዲስ መስኮት</translation> @@ -5070,7 +5042,6 @@ <translation id="9024127637873500333">&በአዲስ ትር ውስጥ ክፈት</translation> <translation id="9024331582947483881">ሙሉ ገጽ ማያ</translation> <translation id="9025098623496448965">እሺ፣ ነገር ግን ተመልሰህ ወደ መግቢያ ገጹ ውሰደኝ</translation> -<translation id="902659348151742535">Google ፍለጋን፣ ማስታወቂያዎችን እና ሌሎች የGoogle አገልግሎቶችን ግላዊነት ለማላበስ ሲል የአሰሳ ታሪክዎን ሊጠቀም ይችላል።</translation> <translation id="9026731007018893674">የወረደ</translation> <translation id="9027146684281895941">እነኚህ ሰው የሚጎበኙትን ድር ጣቢያዎች ለመቆጣጠር እና ለመመልከት ከእርስዎ Google መለያ ሲጎበኙ ክትትል ያድርጉባቸው።</translation> <translation id="9027459031423301635">አገናኙን በአዲስ &ትር ክፈት</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb index 7ae1f044..b3e06941 100644 --- a/chrome/app/resources/generated_resources_ar.xtb +++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">لم يتم العثور على أي شبكات.</translation> <translation id="1056898198331236512">تحذير</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">تتعذر إزالة البرامج الضارة</translation> <translation id="1062407476771304334">استبدال</translation> <translation id="1062866675591297858">يمكنك إدارة المستخدمين الخاضعين للإشراف عبر <ph name="BEGIN_LINK" />لوحة التحكم في المستخدمين الخاضعين للإشراف<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">الانضمام إلى شبكة خاصة</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">اختيار ملف</translation> <translation id="136802136832547685">ليس هناك مستخدمون تحت الإشراف لإضافتهم لهذا الجهاز.</translation> <translation id="1368265273904755308">الإبلاغ عن مشكلة</translation> -<translation id="1368832886055348810">من اليسار لليمين</translation> <translation id="1370646789215800222">هل تريد إزالة شخص؟</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{ستتم إزالة عنصر واحد}zero{ستتم إزالة # عنصر}two{ستتم إزالة عنصرين (#)}few{ستتم إزالة # عناصر}many{ستتم إزالة # عنصرًا}other{ستتم إزالة # عنصر}}</translation> <translation id="1372841398847029212">المزامنة مع حسابك</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">إزالة هذا المستخدم</translation> <translation id="1609170755653088773">مزامنة كلمة المرور هذه على جهاز iPhone</translation> <translation id="1609862759711084604">المستخدم السابق</translation> -<translation id="1611557582955786626">تسجيل الدخول للتمتع بتجربة تصفُّح مُخصَّصة، ومتزامنة عبر أجهزتك</translation> <translation id="1611584202130317952">تمت مقاطعة سير إدارة الحسابات. يُرجى المحاولة مرة أخرى أو الاتصال بمالك أو مشرف الجهاز.</translation> <translation id="1611649489706141841">للأمام</translation> <translation id="1611704746353331382">تصدير الإشارات المرجعية إلى ملف HTML...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">إضافة موقع...</translation> <translation id="1856813161013948396">يمكنك تخطي شاشة التأمين بمجرد النقر على مستشعر بصمات الإصبع. انقر للتهيئة.</translation> <translation id="1858585891038687145">الوثوق بهذه الشهادة لتحديد هوية مصممي البرامج</translation> -<translation id="1859234291848436338">اتجاه الكتابة</translation> <translation id="1861262398884155592">هذا المجلد فارغ</translation> <translation id="1864111464094315414">تسجيل الدخول</translation> <translation id="1864400682872660285">أكثر برودة</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">تصغير...</translation> <translation id="2737492745329609575">بدء الإعداد</translation> <translation id="2738771556149464852">آخر يوم للصلاحية</translation> -<translation id="2739046699559178272">حفظ ومتابعة</translation> <translation id="2739191690716947896">تصحيح الأخطاء</translation> <translation id="2739240477418971307">تغيير إعدادات إمكانية الوصول</translation> <translation id="2740393541869613458">مراجعة مواقع الويب التي انتقل إليها المستخدم الذي يخضع للإشراف، و</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">تم التنزيل</translation> <translation id="2783661497142353826">إدارة تطبيقات الكشك</translation> <translation id="2784407158394623927">جارٍ تنشيط خدمة بيانات الجوال.</translation> -<translation id="2785530881066938471">تعذر تحميل الملف '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى. لأنه ليس بتشفير UTF-8.</translation> <translation id="2785873697295365461">أدوات وصف الملفات</translation> <translation id="2787047795752739979">استبدال الملف الأصلي</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">متابعة حظر المكونات الإضافية غير المحمية</translation> <translation id="2890678560483811744">مرجع صفحة خارج الحدود المفروضة</translation> <translation id="2893168226686371498">المتصفح الافتراضي</translation> -<translation id="2893453364759632532">نقل النافذة لأسفل</translation> <translation id="289644616180464099">تم قفل شريحة SIM</translation> <translation id="289695669188700754">معرّف المفتاح: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">هل تريد فعلًا فتح هذا العدد من علامات التبويب<ph name="TAB_COUNT" />؟</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">مشاركة الشاشة</translation> <translation id="3046910703532196514">صفحة الويب، كاملة</translation> <translation id="304826556400666995">إلغاء تجاهل علامات التبويب</translation> -<translation id="3051523411789012618">نقل النافذة لأعلى</translation> <translation id="3053013834507634016">استخدام مفتاح الشهادة</translation> <translation id="3057861065630527966">نسخ الصور ومقاطع الفيديو احتياطيًا</translation> <translation id="3060379269883947824">تمكين سماع الاختيار</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">جارٍ الوصول إلى إدخال الصوت والفيديو</translation> <translation id="3090819949319990166">لا يمكن نسخ ملف CRX الخارجي إلى <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">تم إقران "<ph name="DEVICE_NAME" />"</translation> -<translation id="3097628171361913691">مُثبت ملف Zip</translation> <translation id="3100609564180505575">الوحدات (<ph name="TOTAL_COUNT" />) - عدد التعارضات المعروفة: <ph name="BAD_COUNT" />، المشتبه بها: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">التاريخ والوقت</translation> <translation id="3108967419958202225">اختيار...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">توقيع</translation> <translation id="33022249435934718">معالجات واجهة الجهاز الرسومية</translation> <translation id="3302340765592941254">إشعار اكتمال التنزيل</translation> -<translation id="3302709122321372472">تعذر تحميل ملف css (أوراق الأنماط المتتالية) '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى.</translation> <translation id="3303260552072730022">تم تبديل إضافة إلى ملء الشاشة.</translation> <translation id="3303818374450886607">النسخ</translation> <translation id="3303855915957856445">لم يتم العثور على أي نتائج بحث</translation> @@ -1890,7 +1880,6 @@ <translation id="3856800405688283469">تحديد منطقة زمنية</translation> <translation id="3856921555429624101">انتهى قياس استخدام البيانات</translation> <translation id="3857228364945137633">يمكنك تجربة Smart Lock لإلغاء قفل جهاز <ph name="DEVICE_TYPE" /> من دون كلمة المرور عندما يكون هاتفك قريبًا.</translation> -<translation id="3857732810083914482">تم إيقاف التخصيص. يمكنك تغيير ذلك على myaccount.google.com.</translation> <translation id="3857773447683694438">أبجد هوز حطي كلمن سعفص قرشت</translation> <translation id="3860381078714302691">مرحبًا بك في Hangouts Meet</translation> <translation id="3862134173397075045">مرحبًا بكم في تجربة الإرسال في Chrome!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">المستوردة</translation> <translation id="3994374631886003300">ألغِ قفل هاتفك وقرِّبه لإلغاء قفل جهاز <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&تكبير/تصغير</translation> -<translation id="39964277676607559">تعذر تحميل جافا سكريبت '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى.</translation> <translation id="4002066346123236978">العنوان</translation> <translation id="40027638859996362">نقل كلمة</translation> <translation id="4005817994523282006">طريقة رصد المنطقة الزمنية</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">تعذّر إتمام عملية النسخ. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">لسجلات الشبكة، راجع: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">لتنزيل تطبيقات Android واستخدامها، تحتاج أولاً إلى تثبت التحديث. وأثناء تحديث الجهاز، لا يمكنك استخدامه. ستتم إعادة تشغيل جهاز <ph name="DEVICE_TYPE" /> بعد إكمال التحديث.</translation> -<translation id="4338683191474220626">نقل النافذة جهة اليسار</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> يريد التواصل مع التطبيق "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">عفوا، حدث خطأ TPM.</translation> <translation id="4345587454538109430">تهيئة...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">لم يتم تحديد أي ملفات تعريف ارتباط.</translation> <translation id="4617270414136722281">خيارات الإضافات</translation> <translation id="4619615317237390068">علامات التبويب من الأجهزة الأخرى</translation> -<translation id="4620809267248568679">يتم فرض هذا الإعداد بواسطة إحدى الإضافات.</translation> <translation id="4624768044135598934">نجحت العملية!</translation> <translation id="4625078469366263107">تمكين التطبيق</translation> <translation id="4627427111733173920">تم حظر ملفات تعريف الارتباط</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">المجلد الذي حددته يشتمل على ملفات حساسة. فهل تريد بالتأكيد منح "$1" حق الدخول الدائم للقراءة في هذا المجلد؟</translation> <translation id="4964455510556214366">الترتيب</translation> <translation id="4964673849688379040">جارٍ التحقق...</translation> -<translation id="4965682129423310439">عثر Chrome على برنامج ضار على الكمبيوتر. يمكن لمتصفح Chrome إزالته، واستعادة إعداداتك لجعل متصفحك يعمل بشكلٍ طبيعي مرة أخرى.</translation> <translation id="4965808351167763748">هل تريد بالتأكيد إعداد هذا الجهاز لتشغيل Hangouts Meet؟</translation> <translation id="4967749818080339523">تحديد حساب</translation> <translation id="496888482094675990">يوفر تطبيق الملفات وصولاً سريعًا إلى الملفات التي حفظتها على Google Drive، أو سعة التخزين الخارجي، أو جهاز نظام التشغيل Chrome.</translation> @@ -3304,10 +3289,8 @@ <translation id="6169666352732958425">تعذر إرسال سطح المكتب.</translation> <translation id="6171948306033499786">إيقاف الطباعة مؤقتًا</translation> <translation id="6175314957787328458">المعرّف الفريد العمومي لنطاق Microsoft</translation> -<translation id="6176032031541598434">تم نقل نافذة نشطة إلى شاشة العرض أدناه</translation> <translation id="6178664161104547336">تحديد شهادة</translation> <translation id="6181431612547969857">تم حظر التنزيل</translation> -<translation id="6181803575025675566">يمكنك التحكم في كيفية عمل ذلك في <ph name="LINK_START" />الإعدادات<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">موقع الجهاز</translation> <translation id="6185696379715117369">صفحة لأعلى</translation> <translation id="6189412234224385711">فتح باستخدام <ph name="EXTENSION_NAME" /></translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">عفوًا، كلمتا المرور غير متطابقتين!</translation> <translation id="6736243959894955139">العنوان</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">يمكنك إزالة ملفك الشخصي حتى لو لم يعد بإمكانك الوصول إليه.</translation> <translation id="6739923123728562974">عرض اختصار على سطح المكتب</translation> <translation id="6740234557573873150">إيقاف <ph name="FILE_NAME" /> مؤقتًا</translation> <translation id="6742339027238151589">يمكن الدخول إليه بواسطة النص البرمجي</translation> -<translation id="6743841972744298686">إعدادات المزامنة</translation> <translation id="6745592621698551453">التحديث الآن</translation> <translation id="6746124502594467657">الانتقال إلى أسفل</translation> <translation id="674632704103926902">تمكين السحب بعد النقر</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">طباعة صفحات محددة</translation> <translation id="6972180789171089114">صوت/فيديو</translation> <translation id="6973630695168034713">المجلدات</translation> -<translation id="6974053822202609517">من اليمين لليسار</translation> <translation id="6976108581241006975">وحدة تحكم جافا سكريبت</translation> <translation id="6977381486153291903">مراجعة البرامج الثابتة</translation> <translation id="6978121630131642226">محرّكات البحث</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">إخفاء</translation> <translation id="7108634116785509031">يريد <ph name="HOST" /> استخدام الكاميرا.</translation> <translation id="7108668606237948702">إدخال</translation> -<translation id="7112978678959880812">التخصيص قيد التفعيل. يمكنك تغيير هذا الإعداد على myaccount.google.com.</translation> <translation id="7113502843173351041">معرفة عنوان بريدك الإلكتروني</translation> <translation id="7114054701490058191">كلمات المرور غير متطابقة</translation> <translation id="7117228822971127758">يُرجى إعادة المحاولة لاحقًا</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">إعادة تحميل هذه الصفحة</translation> <translation id="7222232353993864120">عنوان البريد الإلكتروني</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">تمكين مكبّر الشاشة</translation> <translation id="7223775956298141902">عفوًا... ليست لديك أي إضافات :-(</translation> <translation id="7225179976675429563">نوع الشبكة مفقود</translation> <translation id="7228479291753472782">معالجة الإعدادات التي تحدد ما إذا كان بإمكان مواقع الويب استخدام ميزات مثل المواقع الجغرافية والميكروفون والكاميرا، وغيرها</translation> @@ -4209,7 +4187,6 @@ <translation id="7639178625568735185">تم إنشاء الحساب!</translation> <translation id="764017888128728">يعمل <ph name="PASSWORD_MANAGER_BRAND" /> على تسجيل دخولك تلقائيًا إلى المواقع المؤهلة باستخدام كلمات المرور التي حفظتها.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (المالك)</translation> -<translation id="7647231681210854996">تم نقل نافذة نشطة إلى شاشة العرض اليمنى</translation> <translation id="7648992873808071793">تخزين الملفات على هذا الجهاز</translation> <translation id="7649070708921625228">مساعدة</translation> <translation id="7650511557061837441">تريد الإضافة "<ph name="TRIGGERING_EXTENSION_NAME" />" إزالة "<ph name="EXTENSION_NAME" />".</translation> @@ -4669,7 +4646,6 @@ <translation id="8371695176452482769">تحدث الآن</translation> <translation id="8372369524088641025">مفتاح WEP غير صالح</translation> <translation id="8373553483208508744">تجاهل علامات التبويب</translation> -<translation id="8377870760189106701">نقل النافذة لليمين</translation> <translation id="8378285435971754261">السماح لخدمة الموقع من Google بمساعدة التطبيقات في العثور على موقعك بسرعة وبدقة، الأمر الذي يمكن أن يحد من استهلاك البطارية. وسيتم إرسال بيانات الموقع المجهولة الهوية إلى Google، حتى في حالة عدم تشغيل أي تطبيقات. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">إدارة إعدادات الكاميرا...</translation> <translation id="8382913212082956454">نسخ عنوان البريد الإل&كتروني</translation> @@ -4789,7 +4765,6 @@ <translation id="8581809080475256101">اضغط للانتقال للأمام، وقائمة السياق لمشاهدة السجلّ</translation> <translation id="8584280235376696778">&فتح مقطع الفيديو في علامة تبويب جديدة</translation> <translation id="8588866096426746242">عرض إحصاءات الملف الشخصي</translation> -<translation id="8589652987924574405">ستتم مزامنة الإشارات المرجعية والسجل وكلمات المرور والإعدادات الأخرى مع حسابك على Google حتى يتسنَّى لك استخدامها على جميع أجهزتك. يمكنك تغيير هذا الإعداد متى شئت في الإعدادات.</translation> <translation id="8590375307970699841">إعداد التحديثات التلقائية</translation> <translation id="8594908476761052472">تصوير فيديو</translation> <translation id="8596540852772265699">ملفات مخصصة</translation> @@ -4805,7 +4780,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">حالة التجوال</translation> <translation id="8620765578342452535">تهيئة اتصالات الشبكة</translation> -<translation id="8620790565535071193">تعذّر الفحص</translation> <translation id="8624205858755890468">يعمل على تفعيل "المساعد" لعرض الإجراءات والتطبيقات والمعلومات ذات الصلة.</translation> <translation id="862542460444371744">&الإضافات</translation> <translation id="8627151598708688654">تحديد مصدر</translation> @@ -4883,7 +4857,6 @@ <translation id="871476437400413057">كلمات مرور Google التي تم حفظها</translation> <translation id="8714838604780058252">رسومات الخلفية</translation> <translation id="8719653885894320876">تعذّر تنزيل <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">تم نقل نافذة نشطة إلى شاشة العرض أعلاه</translation> <translation id="8723829621484579639">التصفح المتخفي للإطارات الفرعية لـ: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&عرض في المجلد</translation> <translation id="8725066075913043281">أعد المحاولة</translation> @@ -4927,7 +4900,6 @@ <translation id="8785622406424941542">قلم الشاشة</translation> <translation id="8787254343425541995">السماح بالخوادم الوكيلة للشبكات المشتركة</translation> <translation id="8791534160414513928">إرسال طلب "عدم التعقب" مع زيارات التصفح</translation> -<translation id="8792609692701651064">تم نقل نافذة نشطة إلى شاشة العرض اليسرى</translation> <translation id="8794025342371547160">عنوان IP مقيد</translation> <translation id="879413103056696865">أثناء تشغيل نقطة الاتصال، سينفّذ جهاز <ph name="PHONE_NAME" /> ما يلي:</translation> <translation id="8795916974678578410">نافذة جديدة</translation> @@ -5064,7 +5036,6 @@ <translation id="9024127637873500333">&فتح في علامة تبويب جديدة</translation> <translation id="9024331582947483881">ملء الشاشة</translation> <translation id="9025098623496448965">حسنًا، أعدني إلى شاشة تسجيل الدخول</translation> -<translation id="902659348151742535">قد تستخدم Google سجل التصفح لتخصيص البحث، والإعلانات، وخدمات Google الأخرى.</translation> <translation id="9026731007018893674">تنزيل</translation> <translation id="9027146684281895941">يمكنك الإشراف على هذا الشخص للتحكم في مواقع الويب التي يزورها وعرضها من حسابك في Google.</translation> <translation id="9027459031423301635">فتح الرابط في &علامة تبويب جديدة</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb index 12c43df7..ccd4dee3 100644 --- a/chrome/app/resources/generated_resources_bg.xtb +++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Няма мрежи</translation> <translation id="1056898198331236512">Предупреждение</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Опасният софтуер не може да бъде премахнат</translation> <translation id="1062407476771304334">Замяна</translation> <translation id="1062866675591297858">Управлявайте контролираните от вас потребители чрез <ph name="BEGIN_LINK" />съответното табло за управление<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Присъединяване към частна мрежа</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Избор на файл</translation> <translation id="136802136832547685">Няма контролирани потребители, които да добавите към това устройство.</translation> <translation id="1368265273904755308">Подаване на сигнал за проблем</translation> -<translation id="1368832886055348810">Отляво надясно</translation> <translation id="1370646789215800222">Да се премахне ли този човек?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 елемент за премахване}other{# елемента за премахване}}</translation> <translation id="1372841398847029212">Синхронизиране с профила ви</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">Премахване на този потребител</translation> <translation id="1609170755653088773">Синхронизирайте тази парола със своя iPhone</translation> <translation id="1609862759711084604">Предишен потребител</translation> -<translation id="1611557582955786626">Влезте в профила си, за да сърфирате персонализирано и активността ви да се синхронизира на всичките ви устройства</translation> <translation id="1611584202130317952">Процесът на обезпечаване бе прекъснат. Моля, опитайте отново или се обърнете към собственика или администратора на устройството си.</translation> <translation id="1611649489706141841">напред</translation> <translation id="1611704746353331382">Експортиране на отметки в HTML файл...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Добавяне на местоположение...</translation> <translation id="1856813161013948396">Отключвайте екрана с едно докосване на сензора за отпечатъци. Кликнете, за да конфигурирате.</translation> <translation id="1858585891038687145">Да се има доверие на този сертификат за идентифициране на производители на софтуер</translation> -<translation id="1859234291848436338">Посока на писане</translation> <translation id="1861262398884155592">Тази папка е празна</translation> <translation id="1864111464094315414">Вход</translation> <translation id="1864400682872660285">По-студени цветове</translation> @@ -1130,7 +1126,6 @@ <translation id="2737363922397526254">Свиване...</translation> <translation id="2737492745329609575">Стартиране на настройването</translation> <translation id="2738771556149464852">Не след</translation> -<translation id="2739046699559178272">Запазване и продължаване</translation> <translation id="2739191690716947896">Отстраняване на грешки</translation> <translation id="2739240477418971307">Промяна на настройките ви за достъпност</translation> <translation id="2740393541869613458">да преглеждате уебсайтовете, посетени от контролирания потребител;</translation> @@ -1156,7 +1151,6 @@ <translation id="2783298271312924866">Изтеглено</translation> <translation id="2783661497142353826">Управление на павилионните приложения</translation> <translation id="2784407158394623927">Мобилната ви услуга за данни се активира</translation> -<translation id="2785530881066938471">Файлът „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание не можа да бъде зареден. Не е кодиран в UTF-8.</translation> <translation id="2785873697295365461">Файлови описатели</translation> <translation id="2787047795752739979">Презаписване на оригинала</translation> <translation id="2788135150614412178">+</translation> @@ -1242,7 +1236,6 @@ <translation id="2889925978073739256">Блокирането на приставки извън тестова среда да продължи</translation> <translation id="2890678560483811744">Посочената страница е извън обхват</translation> <translation id="2893168226686371498">Браузър по подразбиране</translation> -<translation id="2893453364759632532">Преместване на прозореца надолу</translation> <translation id="289644616180464099">SIM картата е заключена</translation> <translation id="289695669188700754">Идентификатор (ИД) на ключ: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Наистина ли искате да отворите <ph name="TAB_COUNT" /> раздела?</translation> @@ -1355,7 +1348,6 @@ <translation id="304567287000691532">Екранът се споделя</translation> <translation id="3046910703532196514">Уеб страница, цялата</translation> <translation id="304826556400666995">Включване отново на звука на разделите</translation> -<translation id="3051523411789012618">Преместване на прозореца нагоре</translation> <translation id="3053013834507634016">Използване на ключа на сертификата</translation> <translation id="3057861065630527966">Създаване на резервни копия на снимките и видеоклиповете ви</translation> <translation id="3060379269883947824">Активиране на функцията Прочитане на глас</translation> @@ -1385,7 +1377,6 @@ <translation id="3090193911106258841">Осъществява се достъп до аудио- и видеовхода</translation> <translation id="3090819949319990166">Външният crx файл не може да се копира в/ъв „<ph name="TEMP_CRX_FILE" />“.</translation> <translation id="3090871774332213558">Успешно сдвояване на <ph name="DEVICE_NAME" /></translation> -<translation id="3097628171361913691">Инсталиране на компресирани файлове</translation> <translation id="3100609564180505575">Модули (<ph name="TOTAL_COUNT" />) – Известни конфликти: <ph name="BAD_COUNT" />, предполагаеми: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Дата и час</translation> <translation id="3108967419958202225">Изберете...</translation> @@ -1507,7 +1498,6 @@ <translation id="3300394989536077382">Подписано от</translation> <translation id="33022249435934718">Манипулатори за GDI обекти</translation> <translation id="3302340765592941254">Известие за завършено изтегляне</translation> -<translation id="3302709122321372472">Не можа да се зареди css „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание.</translation> <translation id="3303260552072730022">Разширение задейства цял екран.</translation> <translation id="3303818374450886607">Копия</translation> <translation id="3303855915957856445">Няма намерени резултати от търсенето</translation> @@ -1888,7 +1878,6 @@ <translation id="3856800405688283469">Изберете часова зона</translation> <translation id="3856921555429624101">Измерването на преноса на данни приключи</translation> <translation id="3857228364945137633">Изпробвайте Smart Lock, за да отключвате своя <ph name="DEVICE_TYPE" /> без парола, когато телефонът ви е наблизо.</translation> -<translation id="3857732810083914482">Персонализирането е изключено. Можете да промените това на адрес myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Добре дошли в Hangouts Meet</translation> <translation id="3862134173397075045">Представяме ви функцията за предаване в Chrome!</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">Импортирани</translation> <translation id="3994374631886003300">За да отключите своя <ph name="DEVICE_TYPE" />, отключете телефона си и го приближете до него.</translation> <translation id="3994878504415702912">&Мащаб</translation> -<translation id="39964277676607559">Не можа да се зареди javascript „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание.</translation> <translation id="4002066346123236978">Заглавие</translation> <translation id="40027638859996362">Преместване на дума</translation> <translation id="4005817994523282006">Метод за установяване на часовата зона</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">Копирането не бе успешно. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">За регистрационни файлове за мрежата вижте <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">За да изтеглите и използвате приложения за Android, трябва първо да инсталирате актуализация на устройството си. Няма да можете да го ползвате, докато процесът не приключи. <ph name="DEVICE_TYPE" /> ще се рестартира след завършване на инсталирането.</translation> -<translation id="4338683191474220626">Преместване на прозореца наляво</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> иска да комуникира с приложението „<ph name="EXTENSION_NAME" />“</translation> <translation id="4342311272543222243">Ами сега! Грешка в TPM.</translation> <translation id="4345587454538109430">Конфигуриране...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">няма избрана „бисквитка“</translation> <translation id="4617270414136722281">Опции за разширението</translation> <translation id="4619615317237390068">Раздели от други устройства</translation> -<translation id="4620809267248568679">Тази настройка е наложена от разширение.</translation> <translation id="4624768044135598934">Успех!</translation> <translation id="4625078469366263107">Активиране на приложението</translation> <translation id="4627427111733173920">„Бисквитките“ са блокирани</translation> @@ -2531,7 +2517,6 @@ <translation id="496226124210045887">Избраната от вас папка съдържа деликатни файлове. Наистина ли искате да предоставите на „$1“ постоянен достъп за четене от тази папка?</translation> <translation id="4964455510556214366">Подредба</translation> <translation id="4964673849688379040">Проверява се...</translation> -<translation id="4965682129423310439">Chrome откри опасен софтуер на компютъра ви. Браузърът може да го премахне и да възстанови настройките ви, така че отново да заработи нормално.</translation> <translation id="4965808351167763748">Наистина ли искате да настроите това устройство да изпълнява Hangouts Meet?</translation> <translation id="4967749818080339523">Избиране на профил</translation> <translation id="496888482094675990">Приложението Файлове предоставя бърз достъп до файловете, които сте запазили в Google Диск, във външно хранилище или на устройството си с Chrome OS.</translation> @@ -3306,10 +3291,8 @@ <translation id="6169666352732958425">Предаването на работния плот не е възможно.</translation> <translation id="6171948306033499786">Поставяне на отпечатването на пауза</translation> <translation id="6175314957787328458">GUID на домейн от Microsoft</translation> -<translation id="6176032031541598434">Активният прозорец е преместен на долния екран</translation> <translation id="6178664161104547336">Избор на сертификат</translation> <translation id="6181431612547969857">Изтеглянето е блокирано</translation> -<translation id="6181803575025675566">Контролирайте това поведение от <ph name="LINK_START" />Настройки<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Местоположение на устройството</translation> <translation id="6185696379715117369">Страница нагоре</translation> <translation id="6189412234224385711">Отваряне с/ъс <ph name="EXTENSION_NAME" /></translation> @@ -3657,11 +3640,9 @@ <translation id="6736045498964449756">Ами сега! Паролите не съвпадат!</translation> <translation id="6736243959894955139">Адрес</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Можете да премахнете стария си потребителски профил, въпреки че вече нямате достъп до него.</translation> <translation id="6739923123728562974">Показване на прекия път на работния плот</translation> <translation id="6740234557573873150">„<ph name="FILE_NAME" />“ е на пауза</translation> <translation id="6742339027238151589">Достъпно за скрипт</translation> -<translation id="6743841972744298686">Настройки за синхронизиране</translation> <translation id="6745592621698551453">Актуализиране сега</translation> <translation id="6746124502594467657">Придвижване надолу</translation> <translation id="674632704103926902">Да се активира преместването чрез докосване</translation> @@ -3791,7 +3772,6 @@ <translation id="6970856801391541997">Отпечатване на конкретни страници</translation> <translation id="6972180789171089114">Аудио/видео</translation> <translation id="6973630695168034713">Папки</translation> -<translation id="6974053822202609517">Отдясно наляво</translation> <translation id="6976108581241006975">Конзола на JavaScript</translation> <translation id="6977381486153291903">Версия на фърмуера</translation> <translation id="6978121630131642226">Търсещи машини</translation> @@ -3890,7 +3870,6 @@ <translation id="7108338896283013870">Скриване</translation> <translation id="7108634116785509031"><ph name="HOST" /> иска да използва камерата ви</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Персонализирането е включено. Можете да промените това на адрес myaccount.google.com.</translation> <translation id="7113502843173351041">Да осъществява достъп до имейл адреса ви</translation> <translation id="7114054701490058191">Паролите не са идентични</translation> <translation id="7117228822971127758">Моля, опитайте отново по-късно</translation> @@ -3955,7 +3934,6 @@ <translation id="7221869452894271364">Зарежда повторно тази страница</translation> <translation id="7222232353993864120">Имейл адрес</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Да се активира екранната лупа</translation> <translation id="7223775956298141902">Ама че работа! Нямате разширения :-(</translation> <translation id="7225179976675429563">Липсва типът мрежа</translation> <translation id="7228479291753472782">Управление на настройките, които посочват дали уебсайтовете могат да използват функции като геолокация, микрофон, камера и др.</translation> @@ -4211,7 +4189,6 @@ <translation id="7639178625568735185">Разбрах!</translation> <translation id="764017888128728">С помощта на <ph name="PASSWORD_MANAGER_BRAND" /> автоматично влизате в отговарящи на условията сайтове с паролите, които сте запазили.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (собственик)</translation> -<translation id="7647231681210854996">Активният прозорец е преместен на десния екран</translation> <translation id="7648992873808071793">Да съхранява файлове на това устройство.</translation> <translation id="7649070708921625228">Помощ</translation> <translation id="7650511557061837441"><ph name="TRIGGERING_EXTENSION_NAME" /> иска да премахне <ph name="EXTENSION_NAME" />.</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">Говорете сега</translation> <translation id="8372369524088641025">Ключът за WEP е неправилен</translation> <translation id="8373553483208508744">Спиране на звука на разделите</translation> -<translation id="8377870760189106701">Преместване на прозореца надясно</translation> <translation id="8378285435971754261">Позволете на услугата ни за местоположение да помага на приложенията да установяват бързо и точно къде се намирате. Това може да намали използването на батерията. До Google ще се изпращат анонимни данни за местоположението дори когато не се изпълняват приложения. <ph name="BEGIN_LINK1" />Научете повече<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Управление на настройките на камерата...</translation> <translation id="8382913212082956454">Копиране на име&йл адреса</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">Натиснете, за да преминете напред. Използвайте контекстното меню, за да видите историята</translation> <translation id="8584280235376696778">&Отваряне на видеоклипа в нов раздел</translation> <translation id="8588866096426746242">Статистика за потребителския профил</translation> -<translation id="8589652987924574405">Вашите отметки, история, пароли и други настройки ще се синхронизират с профила ви в Google, за да можете да ги използвате на всичките си устройства. Винаги можете да промените това впоследствие в настройките си.</translation> <translation id="8590375307970699841">Настройка за автоматични актуализации</translation> <translation id="8594908476761052472">Заснемане на видеоклип</translation> <translation id="8596540852772265699">Персонализирани файлове</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Състояние на роуминга</translation> <translation id="8620765578342452535">Конфигуриране на мрежовите връзки</translation> -<translation id="8620790565535071193">Сканирането не бе успешно</translation> <translation id="8624205858755890468">Дава възможност на Асистент да ви показва подходящи приложения, информация и действия.</translation> <translation id="862542460444371744">&Разширения</translation> <translation id="8627151598708688654">Избиране на източник</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">запазени в Google пароли</translation> <translation id="8714838604780058252">Фонова графика</translation> <translation id="8719653885894320876">Изтеглянето на <ph name="PLUGIN_NAME" /> не бе успешно</translation> -<translation id="8721669057562068233">Активният прозорец е преместен на горния екран</translation> <translation id="8723829621484579639">Подрамки в режим „инкогнито“ за: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Показване в папката</translation> <translation id="8725066075913043281">Опитайте отново</translation> @@ -4929,7 +4902,6 @@ <translation id="8785622406424941542">Писалка</translation> <translation id="8787254343425541995">Разрешаване на прокси сървъри за споделените мрежи</translation> <translation id="8791534160414513928">Изпращане на заявка „Do Not Track“ с трафика ви на сърфиране</translation> -<translation id="8792609692701651064">Активният прозорец е преместен на левия екран</translation> <translation id="8794025342371547160">Ограничен IP адрес</translation> <translation id="879413103056696865">Докато точката за достъп е включена, устройството ви <ph name="PHONE_NAME" /> ще:</translation> <translation id="8795916974678578410">Нов прозорец</translation> @@ -5066,7 +5038,6 @@ <translation id="9024127637873500333">&Отваряне в нов раздел</translation> <translation id="9024331582947483881">цял екран</translation> <translation id="9025098623496448965">Добре, върнете ме на екрана за вход</translation> -<translation id="902659348151742535">Възможно е да използваме историята ви на сърфиране, за да персонализираме търсенето, рекламите и други услуги на Google.</translation> <translation id="9026731007018893674">изтеглен файл</translation> <translation id="9027146684281895941">Контролиране на този човек с цел управление и преглед на уебсайтовете, които посещава от профила ви в Google.</translation> <translation id="9027459031423301635">Отваряне на връзката в нов &раздел</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb index 7cb7c15d..17d063c 100644 --- a/chrome/app/resources/generated_resources_bn.xtb +++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">কোনও নেটওয়ার্ক নেই</translation> <translation id="1056898198331236512">সতর্কতা</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">ক্ষতিকর সফ্টওয়্যার সরানো যাবে না</translation> <translation id="1062407476771304334">প্রতিস্থাপন করুন</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />তত্ত্বাবধানে থাকা ব্যবহারকারীদের ড্যাশবোর্ড<ph name="END_LINK" /> এর মাধ্যমে আপনার তত্ত্বাবধানে থাকা ব্যবহারকারীদের পরিচালনা করুন৷</translation> <translation id="1064835277883315402">ব্যক্তিগত নেটওয়ার্কে যোগদান করুন</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">একটি ফাইল বেছে নিন</translation> <translation id="136802136832547685">এই ডিভাইসটিতে যোগ করার মতো কোনো তত্ত্বাবধানে থাকা ব্যবহারকারী নেই৷</translation> <translation id="1368265273904755308">সমস্যা অভিযোগ করুন</translation> -<translation id="1368832886055348810">বাঁ থেকে ডান</translation> <translation id="1370646789215800222">ব্যক্তিকে সরাবেন?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{সরানোর মতো ১টি আইটেম আছে}one{সরানোর মতো #টি আইটেম আছে}other{সরানোর মতো #টি আইটেম আছে}}</translation> <translation id="1372841398847029212">আপনার অ্যাকাউন্টে সিঙ্ক করুন</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">এই ব্যবহারকারীকে সরান</translation> <translation id="1609170755653088773">এই পাসওয়ার্ডটি আপনার iPhone এ সিঙ্ক করুন</translation> <translation id="1609862759711084604">পূর্ববর্তী ব্যবহারকারী</translation> -<translation id="1611557582955786626">আপনার সব ডিভাইস জুড়ে সিঙ্ক করা ব্যক্তিগতকৃত ব্রাউজিংয়ের অভিজ্ঞতার জন্য সাইন-ইন করুন</translation> <translation id="1611584202130317952">প্রভিশনিং ফ্লো তে বিঘ্ন ঘটেছে। অনুগ্রহ করে আবার চেষ্টা করুন অথবা আপনার ডিভাইসের মালিক বা প্রশাসকের সাথে যোগাযোগ করুন।</translation> <translation id="1611649489706141841">ফরওয়ার্ড</translation> <translation id="1611704746353331382">বুকমার্কগুলিকে HTML ফাইলে রপ্তানি করুন...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">অবস্থান যোগ করুন...</translation> <translation id="1856813161013948396">আঙ্গুলের ছাপ নেওয়ার সেন্সরে ট্যাপ করে লক স্ক্রিন এড়িয়ে যান। কনফিগার করতে ক্লিক করুন।</translation> <translation id="1858585891038687145">সফ্টওয়্যার প্রস্তুতকারকদের শনাক্তকরণের জন্য এই শংসাপত্রটিকে বিশ্বাস করুন</translation> -<translation id="1859234291848436338">লিখন নির্দেশনা</translation> <translation id="1861262398884155592">ফোল্ডারটি খালি</translation> <translation id="1864111464094315414">লগ-ইন করুন</translation> <translation id="1864400682872660285">কুলার</translation> @@ -1135,7 +1131,6 @@ <translation id="2737363922397526254">সঙ্কুচিত করুন...</translation> <translation id="2737492745329609575">সেটআপ শুরু করুন</translation> <translation id="2738771556149464852">এরপরে নয়</translation> -<translation id="2739046699559178272">সেভ করুন এবং চালিয়ে যান</translation> <translation id="2739191690716947896">ডিবাগ</translation> <translation id="2739240477418971307">আপনার অ্যাক্সেসযোগ্যতার সেটিংস পরিবর্তন করুন</translation> <translation id="2740393541869613458">তত্ত্বাবধানে থাকা ব্যবহারকারীর দ্বারা পরিদর্শিত ওয়েবসাইটগুলি পর্যালোচনা করুন, এবং</translation> @@ -1161,7 +1156,6 @@ <translation id="2783298271312924866">ডাউনলোড হয়েছে</translation> <translation id="2783661497142353826">kiosk অ্যাপ্লিকেশানগুলি পরিচালনা করুন</translation> <translation id="2784407158394623927">আপনার মোবাইল ডেটা পরিষেবাকে সক্রিয় করা হচ্ছে</translation> -<translation id="2785530881066938471">বর্তমান স্ক্রিপ্টটির জন্য <ph name="RELATIVE_PATH" /> ফাইলটি লোড করতে পারা যায়নি৷ এটি UTF-8 এনকোড হওয়া নেই৷</translation> <translation id="2785873697295365461">ফাইল বর্ণনাকারী</translation> <translation id="2787047795752739979">মূল লেখা পুনর্লিখন করুন</translation> <translation id="2788135150614412178">+</translation> @@ -1247,7 +1241,6 @@ <translation id="2889925978073739256">আনস্যান্ডবক্সড প্লাগ ইনগুলি অবরুদ্ধ করা অবিরত রাখুন</translation> <translation id="2890678560483811744">পৃষ্ঠা সীমার বাইরের উল্লেখ</translation> <translation id="2893168226686371498">ডিফল্ট ব্রাউজার</translation> -<translation id="2893453364759632532">উইন্ডোটি নিচে নামিয়ে দিন</translation> <translation id="289644616180464099">সিম কার্ড লক করা আছে</translation> <translation id="289695669188700754">কী ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">আপনি কি <ph name="TAB_COUNT" />টি ট্যাব খোলার ব্যাপারে নিশ্চিত?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">স্ক্রিন শেয়ার করা হচ্ছে</translation> <translation id="3046910703532196514">ওয়েবপৃষ্ঠা, সম্পন্ন</translation> <translation id="304826556400666995">ট্যাবগুলি সশব্দ করুন</translation> -<translation id="3051523411789012618">উইন্ডোটি উপরে তুলে দিন</translation> <translation id="3053013834507634016">শংসাপত্র কী ব্যবহার</translation> <translation id="3057861065630527966">আপনার ফটো ও ভিডিওগুলির ব্যাকআপ নিন</translation> <translation id="3060379269883947824">'বাছুন ও শুনুন' চালু করুন</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">অডিও এবং ভিডিও ইনপুটে অ্যাক্সেস করা হচ্ছে</translation> <translation id="3090819949319990166"><ph name="TEMP_CRX_FILE" /> এ বহিরাগত crx ফাইলটি অনুলিপি করতে পারবেন না৷</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" যুক্ত করা হয়েছে</translation> -<translation id="3097628171361913691">জিপ ফাইল ইনস্টলার</translation> <translation id="3100609564180505575">মডিউল (<ph name="TOTAL_COUNT" />) - জ্ঞাত বিবাদ: <ph name="BAD_COUNT" />, সন্দেহভাজন: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">তারিখ এবং সময়</translation> <translation id="3108967419958202225">বেছে নিন...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">স্বাক্ষর করেছেন</translation> <translation id="33022249435934718">GDI হ্যান্ডলগুলি</translation> <translation id="3302340765592941254">ডাউনলোড সম্পূর্ণ বিজ্ঞপ্তি</translation> -<translation id="3302709122321372472">সামগ্রী স্ক্রিপ্টের জন্য css '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation> <translation id="3303260552072730022">একটি এক্সটেনশন চালিত পূর্ণ স্ক্রীন৷</translation> <translation id="3303818374450886607">প্রতিলিপি</translation> <translation id="3303855915957856445">কোনো অনুসন্ধান ফলাফল পাওয়া যায়নি</translation> @@ -1889,7 +1879,6 @@ <translation id="3856800405688283469">সময় অঞ্চল বেছে নিন</translation> <translation id="3856921555429624101">ডেটা ব্যবহার পরিমাপ শেষ হয়েছে</translation> <translation id="3857228364945137633">আপনার ফোন আশেপাশে থাকলে Smart Lock ব্যবহার করে <ph name="DEVICE_TYPE" /> আনলক করতে পারবেন।</translation> -<translation id="3857732810083914482">ব্যক্তিগতকরণ বন্ধ আছে। আপনি myaccount.google.com এ এটি পরিবর্তন করতে পারেন।</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meet এ স্বাগতম</translation> <translation id="3862134173397075045">Chrome এ কাস্ট অভিজ্ঞতা নিতে স্বাগতম!</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">আমদানিকৃত</translation> <translation id="3994374631886003300">আপনার ফোন আনলক করুন এবং <ph name="DEVICE_TYPE" /> আনলক করতে কাছাকাছি আনুন।</translation> <translation id="3994878504415702912">&জুম</translation> -<translation id="39964277676607559">সামগ্রী স্ক্রিপ্টের জন্য '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation> <translation id="4002066346123236978">শিরোনাম</translation> <translation id="40027638859996362">শব্দ সরানো</translation> <translation id="4005817994523282006">টাইম জোন শনাক্তকরণ পদ্ধতি</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">অনুলিপি ক্রিয়াকলাপ ব্যর্থ হয়েছে৷ <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">নেটওয়ার্ক লগগুলির জন্য: <ph name="DEVICE_LOG_LINK" /> দেখুন</translation> <translation id="4337028641069424358">Android অ্যাপ ডাউনলোড এবং ব্যবহারের জন্য প্রথমে আপনাকে একটি আপডেট ইনস্টল করতে হবে। সেই সময় আপনার ডিভাইসটি ব্যবহার করা যাবে না। আপডেটটি ইনস্টল হয়ে গেলে আপনার <ph name="DEVICE_TYPE" /> আবার চালু হবে।</translation> -<translation id="4338683191474220626">উইন্ডোটি বাঁ দিকে সরিয়ে দিন</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> "<ph name="EXTENSION_NAME" />" অ্যাপ্লিকেশানটির সাথে যোগাযোগ করতে চায়</translation> <translation id="4342311272543222243">ওহো, TPM ত্রুটি৷</translation> <translation id="4345587454538109430">কনফিগার করুন...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">কোনও কুকি বেছে নেওয়া হয়নি</translation> <translation id="4617270414136722281">এক্সটেনশান বিকল্পগুলি</translation> <translation id="4619615317237390068">অন্যান্য ডিভাইসগুলি থেকে ট্যাব</translation> -<translation id="4620809267248568679">একটি এক্সটেনশন দ্বারা এই সেটিংটি প্রয়োগ করা হয়৷</translation> <translation id="4624768044135598934">সফল!</translation> <translation id="4625078469366263107">অ্যাপ্লিকেশান সক্ষম করুন</translation> <translation id="4627427111733173920">কুকিজ ব্লক করা হয়েছে</translation> @@ -2531,7 +2517,6 @@ <translation id="496226124210045887">আপনার নির্বাচিত ফোল্ডারে সংবেদনশীল ফাইল রয়েছে৷ "$1" কে এই ফোল্ডারে স্থায়ী পড়ার অ্যাক্সেস মঞ্জুর করার ব্যাপারে আপনি কি নিশ্চিত?</translation> <translation id="4964455510556214366">সাজানোর ব্যবস্থা</translation> <translation id="4964673849688379040">চেক করা হচ্ছে...</translation> -<translation id="4965682129423310439">Chrome আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার খুঁজে পেয়েছে। Chrome এটিকে সরিয়ে দিতে ও আপনার সেটিংস রিস্টোর করতে পারে যাতে আপনার ব্রাউজার আবার স্বাভাবিকভাবে কাজ করে।</translation> <translation id="4965808351167763748">Hangouts Meet চালাতে আপনি এই ডিভাইস সেট আপ করতে চান?</translation> <translation id="4967749818080339523">একটি অ্যাকাউন্ট বেছে নিন</translation> <translation id="496888482094675990">Google ড্রাইভ, বহিরাগত সঞ্চয়স্থান অথবা আপনার Chrome OS ডিভাইসে আপনি যে ফাইলগুলি সংরক্ষণ করেছেন ফাইল অ্যাপ্লিকেশান সেগুলিতে দ্রুত অ্যাক্সেস প্রদান করে।</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">ডেস্কটপ কাস্ট করতে ব্যর্থ হয়েছে।</translation> <translation id="6171948306033499786">মুদ্রণে বিরাম দিন</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">সক্রিয় উইন্ডো নিচের ডিসপ্লেতে সরিয়ে দেওয়া হয়েছে</translation> <translation id="6178664161104547336">একটি শংসাপত্র বেছে নিন</translation> <translation id="6181431612547969857">ডাউনলোড অবরুদ্ধ রয়েছে</translation> -<translation id="6181803575025675566"><ph name="LINK_START" />সেটিংসে<ph name="LINK_END" /> এটি কিভাবে কাজ করে তা নিয়ন্ত্রণ করুন।</translation> <translation id="6185132558746749656">ডিভাইসের অবস্থান</translation> <translation id="6185696379715117369">পৃষ্ঠায় উপরের দিকে যান</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> এর মাধ্যমে খুলুন</translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">ওহো, পাসওয়ার্ডগুলি মিলছে না!</translation> <translation id="6736243959894955139">ঠিকানা</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">যদিও পুরনো প্রোফাইলটি আপনি আর অ্যাক্সেস করতে পারবেন না, আপনি সেটি সরিয়ে দিতে পারেন।</translation> <translation id="6739923123728562974">ডেস্কটপ শর্টকাট দেখান</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> বিরাম দেওয়া হয়েছে</translation> <translation id="6742339027238151589">স্ক্রিপ্টে অ্যাক্সেসযোগ্য</translation> -<translation id="6743841972744298686">সিঙ্ক সেটিংস করুন</translation> <translation id="6745592621698551453">এখনই আপডেট করুন</translation> <translation id="6746124502594467657">নিচে যান</translation> <translation id="674632704103926902">আলতো চেপে টেনে আনা সক্ষম করুন</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">প্রিন্ট নির্দিষ্ট পৃষ্ঠাসমূহ</translation> <translation id="6972180789171089114">অডিও/ভিডিও</translation> <translation id="6973630695168034713">ফোল্ডারগুলি</translation> -<translation id="6974053822202609517">ডান থেকে বামে</translation> <translation id="6976108581241006975">JavaScript কনসোল</translation> <translation id="6977381486153291903">ফার্মওয়ের পুনর্বিবেচনাগুলি</translation> <translation id="6978121630131642226">সার্চ ইঞ্জিনসমূহ</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">লুকান</translation> <translation id="7108634116785509031"><ph name="HOST" /> আপনার ক্যামেরা ব্যবহার করতে চায়</translation> <translation id="7108668606237948702">লিখুন</translation> -<translation id="7112978678959880812">ব্যক্তিগতকরণ চালু আছে। আপনি myaccount.google.com এ এটি পরিবর্তন করতে পারেন।</translation> <translation id="7113502843173351041">আপনার ইমেল ঠিকানা জানুন</translation> <translation id="7114054701490058191">পাসওয়ার্ডগুলি মিলছে না</translation> <translation id="7117228822971127758">পরে আবার চেষ্টা করুন</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">এই পৃষ্ঠাটি পুনঃ লোড করুন</translation> <translation id="7222232353993864120">ইমেল ঠিকানা</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">স্ক্রীন ম্যাগনিফায়ার সক্ষম করুন</translation> <translation id="7223775956298141902">উু... আপনার কাছে কোনো এক্সটেনশান নেই :-(</translation> <translation id="7225179976675429563">নেটওয়ার্কের প্রকার হারিয়ে গেছে</translation> <translation id="7228479291753472782">ভৌগোলিক অবস্থান, মাইক্রোফোন, ক্যামেরা, ইত্যাদির মতো বৈশিষ্ট্যগুলিকে ওয়েবসাইটগুলি ব্যবহার করতে পারবে কিনা তা নির্দিষ্ট করতে সেটিংস নিয়ন্ত্রণ করে।</translation> @@ -4208,7 +4186,6 @@ <translation id="7639178625568735185">বুঝেছি!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> স্বয়ংক্রিয়ভাবে আপনার সংরক্ষণ করা পাসওয়ার্ড দিয়ে উপযুক্ত সাইটগুলিতে আপনাকে প্রবেশ করায়।</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (মালিক)</translation> -<translation id="7647231681210854996">সক্রিয় উইন্ডো ডান দিকের ডিসপ্লেতে সরিয়ে দেওয়া হয়েছে</translation> <translation id="7648992873808071793">এই ডিভাইসে ফাইলগুলি জমা করুন</translation> <translation id="7649070708921625228">সহায়তা</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" "<ph name="EXTENSION_NAME" />" সরাতে চাইছে।</translation> @@ -4668,7 +4645,6 @@ <translation id="8371695176452482769">এখনই বলুন</translation> <translation id="8372369524088641025">খারাপ WEP কী</translation> <translation id="8373553483208508744">ট্যাবগুলি নিঃশব্দ করুন</translation> -<translation id="8377870760189106701">উইন্ডো ডান দিকে সরানো</translation> <translation id="8378285435971754261">আপনার অবস্থান দ্রুত এবং সঠিকভাবে খুঁজে বের করতে Google এর অবস্থান পরিষেবাকে অ্যাপ্লিকেশানগুলিকে সাহায্য করতে দিন, এর ফলে ব্যাটারির খরচ কমতে পারে। এমনকি যখন কোনো অ্যাপ্লিকেশান চলছে না তখনও বেনামী অবস্থান ডেটা Google এ পাঠানো হবে। <ph name="BEGIN_LINK1" />আরও জানুন<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">ক্যামেরা সেটিংস পরিচালনা করুন...</translation> <translation id="8382913212082956454">&ইমেল ঠিকানা কপি করুন</translation> @@ -4788,7 +4764,6 @@ <translation id="8581809080475256101">ইতিহাস দেখার জন্য সামনে অগ্রসর হয়ে প্রসঙ্গ মেনুতে টিপুন</translation> <translation id="8584280235376696778">ভিডিও নতুন ট্যাবে &খুলুন</translation> <translation id="8588866096426746242">প্রোফাইল পরিসংখ্যান দেখান</translation> -<translation id="8589652987924574405">আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক করা হবে যাতে আপনি আপনার সমস্ত ডিভাইসে সেগুলি ব্যবহার করতে পারেন। পরে আপনি এটি সেটিংসে পরিবর্তন করতে পারেন।</translation> <translation id="8590375307970699841">স্বয়ংক্রিয় আপডেটগুলো সেটআপ করুন</translation> <translation id="8594908476761052472">ভিডিও ক্যাপচার করুন</translation> <translation id="8596540852772265699">নিজের পছন্দমত ফাইলগুলি</translation> @@ -4804,7 +4779,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">রোমিং স্থিতি</translation> <translation id="8620765578342452535">নেটওয়ার্ক সংযোগ কনফিগার করুন</translation> -<translation id="8620790565535071193">স্ক্যান করা যায়নি</translation> <translation id="8624205858755890468">আপনাকে সম্পর্কিত তথ্য, অ্যাপ এবং অ্যাকশন দেখাতে সহায়ককে সক্ষম করে।</translation> <translation id="862542460444371744">&এক্সটেনশনস</translation> <translation id="8627151598708688654">উৎস বেছে নিন</translation> @@ -4882,7 +4856,6 @@ <translation id="871476437400413057">Google এর সংরক্ষিত পাসওয়ার্ডগুলি</translation> <translation id="8714838604780058252">পটভূমির গ্রাফিক্স</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> ডাউনলোড ব্যর্থ হয়েছে</translation> -<translation id="8721669057562068233">সক্রিয় উইন্ডো উপরের ডিসপ্লেতে সরিয়ে দেওয়া হয়েছে</translation> <translation id="8723829621484579639"><ph name="PARENT_SITE" /> এর জন্য ছদ্মবেশী উপফ্রেম</translation> <translation id="8724859055372736596">ফোল্ডারে &দেখান</translation> <translation id="8725066075913043281">আবার চেষ্টা করুন</translation> @@ -4926,7 +4899,6 @@ <translation id="8785622406424941542">লেখনী</translation> <translation id="8787254343425541995">শেয়ার করে নেওয়া নেটওয়ার্কগুলির জন্য প্রক্সিগুলির অনুমতি দিন</translation> <translation id="8791534160414513928">আপনার ব্রাউজিং ট্র্যাফিকের মাধ্যমে একটি 'ট্র্যাক করবেন না' অনুরোধ পাঠান</translation> -<translation id="8792609692701651064">সক্রিয় উইন্ডো বাঁ দিকের ডিসপ্লেতে সরিয়ে দেওয়া হয়েছে</translation> <translation id="8794025342371547160">বিধিনিষেধযুক্ত IP</translation> <translation id="879413103056696865">হটস্পট চালু থাকা অবস্থায়, আপনার <ph name="PHONE_NAME" /> যা করবে:</translation> <translation id="8795916974678578410">নতুন উইন্ডো</translation> @@ -5063,7 +5035,6 @@ <translation id="9024127637873500333">&নতুন ট্যাবে খুলুন</translation> <translation id="9024331582947483881">পূর্ণ স্ক্রীন</translation> <translation id="9025098623496448965">ঠিক আছে, আমাকে সাইন-ইন স্ক্রীনে ফিরিয়ে নিয়ে চলুন</translation> -<translation id="902659348151742535">অনুসন্ধান, বিজ্ঞাপন এবং অন্যান্য Google পরিষেবা ব্যক্তিগতকৃত করতে Google আপনার ব্রাউজিং ইতিহাস ব্যবহার করতে পারে।</translation> <translation id="9026731007018893674">ডাউনলোড</translation> <translation id="9027146684281895941">এই ব্যক্তিকে তত্ত্বাবধান করুন যেন আপনার Google অ্যাকাউন্ট থেকে তার ঘুরে দেখা ওয়েবসাইগুলি নিয়ন্ত্রণ করতে এবং দেখতে পারেন</translation> <translation id="9027459031423301635">নতুন &ট্যাবে লিঙ্ক খুলুন</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb index 01fb5be5..ef0a1fd 100644 --- a/chrome/app/resources/generated_resources_ca.xtb +++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Cap xarxa</translation> <translation id="1056898198331236512">Advertiment</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">No es pot suprimir el programari maliciós</translation> <translation id="1062407476771304334">Substitueix</translation> <translation id="1062866675591297858">Gestiona els usuaris supervisats mitjançant el <ph name="BEGIN_LINK" />tauler d'usuaris supervisats<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Unió a la xarxa privada</translation> @@ -168,7 +167,7 @@ <translation id="1235458158152011030">Xarxes conegudes</translation> <translation id="123578888592755962">El disc és ple</translation> <translation id="1238191093934674082">VPN oberta</translation> -<translation id="1240892293903523606">Inspector DOM</translation> +<translation id="1240892293903523606">Inspector de DOM</translation> <translation id="1241753985463165747">Llegir i modificar totes les teves dades del lloc web que estàs visitant quan s'invoqui</translation> <translation id="1242633766021457174"><ph name="THIRD_PARTY_TOOL_NAME" /> vol restablir la vostra configuració.</translation> <translation id="1243314992276662751">Penja</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Trieu un fitxer</translation> <translation id="136802136832547685">No hi ha cap usuari supervisat per afegir a aquest dispositiu.</translation> <translation id="1368265273904755308">Informeu d'un problema</translation> -<translation id="1368832886055348810">D'esquerra a dreta</translation> <translation id="1370646789215800222">Voleu suprimir la persona?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element que cal suprimir}other{# elements que cal suprimir}}</translation> <translation id="1372841398847029212">Sincronitza amb el meu compte</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Suprimeix aquest usuari</translation> <translation id="1609170755653088773">Sincronitza aquesta contrasenya amb el dispositiu iPhone</translation> <translation id="1609862759711084604">Usuari anterior</translation> -<translation id="1611557582955786626">Inicia la sessió per obtenir una experiència de navegació personalitzada, que se sincronitzi en els teus dispositius</translation> <translation id="1611584202130317952">S'ha interromput el flux d'aprovisionament. Torna-ho a provar o contacta amb el propietari o l'administrador del dispositiu.</translation> <translation id="1611649489706141841">avança</translation> <translation id="1611704746353331382">Exporta les adreces d'interès a un fitxer HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Afegeix una ubicació...</translation> <translation id="1856813161013948396">Omet la pantalla de bloqueig tocant el sensor d'empremtes digitals. Fes clic per configurar aquesta funció.</translation> <translation id="1858585891038687145">Confia en aquest certificat per identificar generadors de programari</translation> -<translation id="1859234291848436338">Direcció de l'escriptura</translation> <translation id="1861262398884155592">Aquesta carpeta és buida</translation> <translation id="1864111464094315414">Inicia la sessió</translation> <translation id="1864400682872660285">Més fred</translation> @@ -1132,7 +1128,6 @@ <translation id="2737363922397526254">Redueix...</translation> <translation id="2737492745329609575">Inicia la configuració</translation> <translation id="2738771556149464852">No després</translation> -<translation id="2739046699559178272">Desa i continua</translation> <translation id="2739191690716947896">Depura</translation> <translation id="2739240477418971307">Canvia la configuració d'accessibilitat</translation> <translation id="2740393541869613458">revisa els llocs web que l'usuari supervisat ha visitat i</translation> @@ -1158,7 +1153,6 @@ <translation id="2783298271312924866">Baixat</translation> <translation id="2783661497142353826">Gestió de les aplicacions de quiosc</translation> <translation id="2784407158394623927">S'està activant el servei de dades mòbils</translation> -<translation id="2785530881066938471">No s'ha pogut carregar el fitxer "<ph name="RELATIVE_PATH" />" per a l'script de contingut. No està codificat com a UTF-8.</translation> <translation id="2785873697295365461">Descriptors dels fitxers</translation> <translation id="2787047795752739979">Sobreescriu l'original</translation> <translation id="2788135150614412178">+</translation> @@ -1244,7 +1238,6 @@ <translation id="2889925978073739256">Continua bloquejant els connectors de fora de la zona de proves</translation> <translation id="2890678560483811744">La pàgina indicada no respecta el límit</translation> <translation id="2893168226686371498">Navegador predeterminat</translation> -<translation id="2893453364759632532">Finestra cap avall</translation> <translation id="289644616180464099">La targeta SIM està bloquejada</translation> <translation id="289695669188700754">Identificador de clau: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Confirmes que vols obrir <ph name="TAB_COUNT" /> pestanyes?</translation> @@ -1357,7 +1350,6 @@ <translation id="304567287000691532">S'està compartint la pantalla</translation> <translation id="3046910703532196514">Pàgina web completa</translation> <translation id="304826556400666995">Activa el so de les pestanyes</translation> -<translation id="3051523411789012618">Finestra cap amunt</translation> <translation id="3053013834507634016">Ús de claus de certificat</translation> <translation id="3057861065630527966">Crea una còpia de seguretat de les fotos i dels vídeos</translation> <translation id="3060379269883947824">Activa Escolta la selecció</translation> @@ -1387,7 +1379,6 @@ <translation id="3090193911106258841">S'està accedint a l'entrada d'àudio i de vídeo</translation> <translation id="3090819949319990166">No es pot copiar el fitxer crx extern a <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" vinculat</translation> -<translation id="3097628171361913691">Instal·lador de fitxers zip</translation> <translation id="3100609564180505575">Mòduls (<ph name="TOTAL_COUNT" />) - Conflictes coneguts: <ph name="BAD_COUNT" />, sospitats: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data i hora</translation> <translation id="3108967419958202225">Trieu...</translation> @@ -1509,7 +1500,6 @@ <translation id="3300394989536077382">Signat per</translation> <translation id="33022249435934718">Controls GDI</translation> <translation id="3302340765592941254">Notificació de baixada completa</translation> -<translation id="3302709122321372472">No s'ha pogut carregar el CSS "<ph name="RELATIVE_PATH" />" per a l'script de contingut.</translation> <translation id="3303260552072730022">Una extensió ha activat la pantalla completa.</translation> <translation id="3303818374450886607">Còpies</translation> <translation id="3303855915957856445">No s'ha trobat cap resultat de la cerca</translation> @@ -1889,7 +1879,6 @@ <translation id="3856800405688283469">Selecciona la zona horària</translation> <translation id="3856921555429624101">El recompte de l'ús de dades ha finalitzat</translation> <translation id="3857228364945137633">Prova Smart Lock per desbloquejar <ph name="DEVICE_TYPE" /> sense contrasenya quan tinguis el telèfon a prop.</translation> -<translation id="3857732810083914482">La personalització està desactivada. Pots activar-la a myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Et donem la benvinguda a Hangouts Meet</translation> <translation id="3862134173397075045">Us donem la benvinguda a l'experiència de Cast a Chrome</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">Importats</translation> <translation id="3994374631886003300">Desbloqueja el telèfon i acosta'l per desbloquejar <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">No s'ha pogut carregar el JavaScript "<ph name="RELATIVE_PATH" />" per a l'script de contingut.</translation> <translation id="4002066346123236978">Títol</translation> <translation id="40027638859996362">Desplaçament de paraules</translation> <translation id="4005817994523282006">Mètode de detecció de la zona horària</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">L'operació de còpia ha fallat. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Si voleu veure els registres de xarxa, consulteu: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Per baixar i utilitzar les aplicacions d'Android, primer has d'instal·lar una actualització. Mentre el dispositiu s'estigui actualitzant, no el podràs utilitzar. El dispositiu <ph name="DEVICE_TYPE" /> es reiniciarà un cop finalitzi la instal·lació.</translation> -<translation id="4338683191474220626">Finestra cap a l'esquerra</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> es vol comunicar amb l'aplicació "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">S'ha produït un error de TPM.</translation> <translation id="4345587454538109430">Configura...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">cap galeta seleccionada</translation> <translation id="4617270414136722281">Opcions d'extensió</translation> <translation id="4619615317237390068">Pestanyes d'altres dispositius</translation> -<translation id="4620809267248568679">Aquesta configuració està gestionada per una extensió.</translation> <translation id="4624768044135598934">Operació reeixida.</translation> <translation id="4625078469366263107">Activa l'aplicació</translation> <translation id="4627427111733173920">S'han bloquejat les galetes</translation> @@ -2532,7 +2518,6 @@ <translation id="496226124210045887">La carpeta que heu seleccionat conté fitxers confidencials. Confirmes que vols concedir a "$1" accés de lectura permanent en aquesta carpeta?</translation> <translation id="4964455510556214366">Disposició</translation> <translation id="4964673849688379040">S'està comprovant…</translation> -<translation id="4965682129423310439">Chrome ha trobat programari maliciós al teu ordinador. Chrome el pot suprimir i restaurar la teva configuració perquè el teu navegador torni a funcionar amb normalitat.</translation> <translation id="4965808351167763748">Confirmes que vols configurar aquest dispositiu perquè executi Hangouts Meet?</translation> <translation id="4967749818080339523">Seleccioneu un compte</translation> <translation id="496888482094675990">L'aplicació Fitxers permet accedir ràpidament als fitxers desats a Google Drive, a l'emmagatzematge extern o al dispositiu Chrome OS.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">L'escriptori no es pot emetre.</translation> <translation id="6171948306033499786">Posa en pausa la impressió</translation> <translation id="6175314957787328458">GUID de domini de Microsoft</translation> -<translation id="6176032031541598434">La finestra activa s'ha mogut a la pantalla inferior</translation> <translation id="6178664161104547336">Seleccioneu un certificat</translation> <translation id="6181431612547969857">S'ha bloquejat la baixada</translation> -<translation id="6181803575025675566">Controla'n el funcionament a <ph name="LINK_START" />Configuració<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Ubicació del dispositiu</translation> <translation id="6185696379715117369">Re Pàg</translation> <translation id="6189412234224385711">Obre amb <ph name="EXTENSION_NAME" /></translation> @@ -3658,11 +3641,9 @@ <translation id="6736045498964449756">Les contrasenyes no coincideixen.</translation> <translation id="6736243959894955139">Adreça</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Tot i que ja no pots accedir al perfil antic, el pots suprimir.</translation> <translation id="6739923123728562974">Mostra la drecera de l'escriptori</translation> <translation id="6740234557573873150">S'ha aturat la baixada del fitxer <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Accessible a l'script</translation> -<translation id="6743841972744298686">Configuració de sincronització</translation> <translation id="6745592621698551453">Actualitza ara</translation> <translation id="6746124502594467657">Mou avall</translation> <translation id="674632704103926902">Activa l'opció tocar i arrossegar</translation> @@ -3792,7 +3773,6 @@ <translation id="6970856801391541997">Imprimeix pàgines específiques</translation> <translation id="6972180789171089114">Àudio/Vídeo</translation> <translation id="6973630695168034713">Carpetes</translation> -<translation id="6974053822202609517">De dreta a esquerra</translation> <translation id="6976108581241006975">Consola JavaScript</translation> <translation id="6977381486153291903">Revisió de microprogramari</translation> <translation id="6978121630131642226">Motors de cerca</translation> @@ -3891,7 +3871,6 @@ <translation id="7108338896283013870">Amaga</translation> <translation id="7108634116785509031"><ph name="HOST" /> vol utilitzar la càmera</translation> <translation id="7108668606237948702">retorn</translation> -<translation id="7112978678959880812">La personalització està activada. Pots desactivar-la a myaccount.google.com.</translation> <translation id="7113502843173351041">Saber l'adreça electrònica</translation> <translation id="7114054701490058191">Les contrasenyes no coincideixen</translation> <translation id="7117228822971127758">Torna-ho a provar més tard</translation> @@ -3956,7 +3935,6 @@ <translation id="7221869452894271364">Torna a carregar aquesta pàgina</translation> <translation id="7222232353993864120">Adreça electrònica</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Activa la lupa</translation> <translation id="7223775956298141902">No teniu cap extensió :-(</translation> <translation id="7225179976675429563">Falta el tipus de xarxa</translation> <translation id="7228479291753472782">Manipula la configuració que determina si els llocs web poden utilitzar funcions com ara la geolocalització, el micròfon, la càmera, etc.</translation> @@ -4204,7 +4182,6 @@ <translation id="7639178625568735185">D'acord</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> us inicia la sessió automàticament als llocs que compleixen els requisits amb les contrasenyes que heu desat.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietari)</translation> -<translation id="7647231681210854996">La finestra activa s'ha mogut a la pantalla dreta</translation> <translation id="7648992873808071793">Emmagatzema fitxers en aquest dispositiu</translation> <translation id="7649070708921625228">Ajuda</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" vol eliminar "<ph name="EXTENSION_NAME" />".</translation> @@ -4664,7 +4641,6 @@ <translation id="8371695176452482769">Parla ara</translation> <translation id="8372369524088641025">Clau WEP no vàlida</translation> <translation id="8373553483208508744">Silencia les pestanyes</translation> -<translation id="8377870760189106701">Finestra a la dreta</translation> <translation id="8378285435971754261">Permet que el servei d'ubicació de Google ajudi les aplicacions a trobar la teva ubicació de manera ràpida i precisa, la qual cosa pot reduir el consum de bateria. A més, s'enviaran dades d'ubicació anònimes a Google, fins i tot quan no s'estigui executant cap aplicació. <ph name="BEGIN_LINK1" />Més informació<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gestioneu la configuració de la càmera…</translation> <translation id="8382913212082956454">Copia l'&adreça electrònica</translation> @@ -4784,7 +4760,6 @@ <translation id="8581809080475256101">Premeu per avançar, menú contextual per veure l'historial</translation> <translation id="8584280235376696778">O&bre el vídeo en una pestanya nova</translation> <translation id="8588866096426746242">Mostra les estadístiques del perfil</translation> -<translation id="8589652987924574405">Les adreces d'interès, l'historial, les contrasenyes i altres opcions de configuració se sincronitzaran amb el teu compte de Google, perquè els puguis utilitzar en tots els dispositius. Pots canviar-ho més tard a la configuració.</translation> <translation id="8590375307970699841">Configurar actualitzacions automàtiques</translation> <translation id="8594908476761052472">Captura un vídeo</translation> <translation id="8596540852772265699">Fitxers personalitzats</translation> @@ -4800,7 +4775,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Estat d'itinerància</translation> <translation id="8620765578342452535">Configurar les connexions de xarxa</translation> -<translation id="8620790565535071193">S'ha produït un error en la cerca</translation> <translation id="8624205858755890468">Permet que l'Assistent et mostri informació, aplicacions i accions relacionades.</translation> <translation id="862542460444371744">&Extensions</translation> <translation id="8627151598708688654">Seleccioneu una font</translation> @@ -4878,7 +4852,6 @@ <translation id="871476437400413057">Contrasenyes desades de Google</translation> <translation id="8714838604780058252">Gràfics de fons</translation> <translation id="8719653885894320876">No s'ha pogut baixar <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">La finestra activa s'ha mogut a la pantalla superior</translation> <translation id="8723829621484579639">Submarcs d'incògnit per a: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Mostra a la carpeta</translation> <translation id="8725066075913043281">Torna-ho a provar</translation> @@ -4922,7 +4895,6 @@ <translation id="8785622406424941542">Llapis òptic</translation> <translation id="8787254343425541995">Permet servidors intermediaris per a xarxes compartides</translation> <translation id="8791534160414513928">Envia una sol·licitud de no seguiment amb el trànsit de navegació</translation> -<translation id="8792609692701651064">La finestra activa s'ha mogut a la pantalla esquerra</translation> <translation id="8794025342371547160">IP restringida</translation> <translation id="879413103056696865">Mentre el punt d'accés Wi-Fi estigui activat, el telèfon <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Finestra nova</translation> @@ -5059,7 +5031,6 @@ <translation id="9024127637873500333">&Obre en una pestanya nova</translation> <translation id="9024331582947483881">pantalla completa</translation> <translation id="9025098623496448965">D'acord, torna a la pantalla d'inici de sessió</translation> -<translation id="902659348151742535">És possible que Google utilitzi el vostre historial de navegació per personalitzar la Cerca, els anuncis i altres serveis de Google.</translation> <translation id="9026731007018893674">baixa</translation> <translation id="9027146684281895941">Supervisa aquesta persona per controlar i consultar els llocs web que visita des del teu compte de Google.</translation> <translation id="9027459031423301635">Obre l'enllaç en una pes&tanya nova</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb index ac35350..73dd427 100644 --- a/chrome/app/resources/generated_resources_cs.xtb +++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Žádné sítě</translation> <translation id="1056898198331236512">Upozornění</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Škodlivý software nelze odstranit</translation> <translation id="1062407476771304334">Nahradit</translation> <translation id="1062866675591297858">Spravujte dozorovaného uživatele prostřednictvím <ph name="BEGIN_LINK" />panelu dozorovaných uživatelů<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Připojit se k privátní síti</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Vybrat soubor</translation> <translation id="136802136832547685">Nejsou k dispozici žádní dozorovaní uživatelé, které by do tohoto zařízení bylo možné přidat.</translation> <translation id="1368265273904755308">Nahlásit problém</translation> -<translation id="1368832886055348810">Zleva doprava</translation> <translation id="1370646789215800222">Odebrat uživatele?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Bude odstraněna 1 položka}few{Budou odstraněny # položky}many{Bude odstraněno # položky}other{Bude odstraněno # položek}}</translation> <translation id="1372841398847029212">Synchronizovat do vašeho účtu</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Odebrat tohoto uživatele</translation> <translation id="1609170755653088773">Synchronizujte toto heslo do svého iPhonu</translation> <translation id="1609862759711084604">Předchozí uživatel</translation> -<translation id="1611557582955786626">Chcete-li získat přizpůsobené prohlížení synchronizované mezi zařízeními, přihlaste se</translation> <translation id="1611584202130317952">Proces správy účtů byl přerušen. Zkuste to znovu nebo kontaktujte vlastníka nebo administrátora zařízení.</translation> <translation id="1611649489706141841">vpřed</translation> <translation id="1611704746353331382">Exportovat záložky do souboru HTML...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Přidat polohu...</translation> <translation id="1856813161013948396">Přeskočit obrazovku uzamčení klepnutím na snímač otisků prstů. Kliknutím tuto funkci nakonfigurujete.</translation> <translation id="1858585891038687145">Důvěřovat tomuto certifikátu při ověřování identity výrobců softwaru</translation> -<translation id="1859234291848436338">Směr textu</translation> <translation id="1861262398884155592">Tato složka je prázdná</translation> <translation id="1864111464094315414">Přihlásit</translation> <translation id="1864400682872660285">Studenější</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Sbalit...</translation> <translation id="2737492745329609575">Zahájit instalaci</translation> <translation id="2738771556149464852">Nikoli po</translation> -<translation id="2739046699559178272">Uložit a pokračovat</translation> <translation id="2739191690716947896">Ladit</translation> <translation id="2739240477418971307">Změnit nastavení přístupnosti</translation> <translation id="2740393541869613458">kontrolovat weby, které dozorovaný uživatel navštívil, a</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Staženo</translation> <translation id="2783661497142353826">Správa aplikací pro režim veřejného terminálu</translation> <translation id="2784407158394623927">Aktivace mobilní datové služby</translation> -<translation id="2785530881066938471">Nelze načíst soubor <ph name="RELATIVE_PATH" /> s obsahovým skriptem. Soubor není kódován ve formátu UTF-8.</translation> <translation id="2785873697295365461">Deskriptory souborů</translation> <translation id="2787047795752739979">Přepsat originál</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Pokračovat v blokování pluginů mimo izolovaný prostor</translation> <translation id="2890678560483811744">Odkaz na stránku mimo rozsah</translation> <translation id="2893168226686371498">Výchozí prohlížeč</translation> -<translation id="2893453364759632532">Okno dolů</translation> <translation id="289644616180464099">SIM karta je uzamčena</translation> <translation id="289695669188700754">ID klíče: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Určitě chcete otevřít <ph name="TAB_COUNT" /> karty (karet)?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Sdílení obrazovky</translation> <translation id="3046910703532196514">Webová stránka, úplná</translation> <translation id="304826556400666995">Zapnout zvuk karet</translation> -<translation id="3051523411789012618">Okno nahoru</translation> <translation id="3053013834507634016">Použití klíče certifikátu</translation> <translation id="3057861065630527966">Zálohovat fotky a videa</translation> <translation id="3060379269883947824">Zapnout poslech vybraného textu</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Přístup ke vstupu zvuku a videa</translation> <translation id="3090819949319990166">Obsah externího souboru CRX nelze zkopírovat do souboru <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Zařízení „<ph name="DEVICE_NAME" />“ bylo spárováno</translation> -<translation id="3097628171361913691">Instalátor souborů ZIP</translation> <translation id="3100609564180505575">Moduly (<ph name="TOTAL_COUNT" />) – Známé konflikty: <ph name="BAD_COUNT" />, předpokládané: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum a čas</translation> <translation id="3108967419958202225">Zvolit...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Podpis:</translation> <translation id="33022249435934718">Popisovače – GDI</translation> <translation id="3302340765592941254">Oznámení o dokončeném stahování</translation> -<translation id="3302709122321372472">Pro skript obsahu nelze načíst soubor CSS „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3303260552072730022">Rozšíření spustilo režim celé obrazovky.</translation> <translation id="3303818374450886607">Kopie</translation> <translation id="3303855915957856445">Nebyly nalezeny žádné výsledky</translation> @@ -1890,7 +1880,6 @@ <translation id="3856800405688283469">Vybrat časové pásmo</translation> <translation id="3856921555429624101">Měření využití dat skončilo</translation> <translation id="3857228364945137633">Zkuste své zařízení <ph name="DEVICE_TYPE" /> odemykat bez hesla pomocí funkce Smart Lock, když je poblíž váš telefon.</translation> -<translation id="3857732810083914482">Personalizace je vypnutá. Můžete to změnit na stránce myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Vítejte ve službě Hangouts Meet</translation> <translation id="3862134173397075045">Vítá vás funkce Cast v prohlížeči Chrome!</translation> @@ -1980,7 +1969,6 @@ <translation id="399179161741278232">Importované</translation> <translation id="3994374631886003300">Chcete-li zařízení <ph name="DEVICE_TYPE" /> odemknout, odemkněte telefon a umístěte jej blíže.</translation> <translation id="3994878504415702912">Velikost písma</translation> -<translation id="39964277676607559">Pro skript obsahu nelze načíst soubor JavaScriptu „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4002066346123236978">Název</translation> <translation id="40027638859996362">Přesunutí slova</translation> <translation id="4005817994523282006">Metoda zjišťování časového pásma</translation> @@ -2159,7 +2147,6 @@ <translation id="4336032328163998280">Kopírování se nezdařilo. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Protokoly sítě naleznete na stránce <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Chcete-li stahovat a používat aplikace pro Android, je třeba nejprve nainstalovat aktualizaci. Zařízení při aktualizaci nelze používat. Po dokončení instalace se <ph name="DEVICE_TYPE" /> restartuje.</translation> -<translation id="4338683191474220626">Okno doleva</translation> <translation id="4340515029017875942">Web <ph name="ORIGIN" /> chce komunikovat s aplikací <ph name="EXTENSION_NAME" /></translation> <translation id="4342311272543222243">Jejda, došlo k chybě TPM.</translation> <translation id="4345587454538109430">Konfigurovat...</translation> @@ -2311,7 +2298,6 @@ <translation id="4615586811063744755">není vybrán žádný soubor cookie</translation> <translation id="4617270414136722281">Možnosti rozšíření</translation> <translation id="4619615317237390068">Karty z ostatních zařízení</translation> -<translation id="4620809267248568679">Toto nastavení bylo vynuceno rozšířením.</translation> <translation id="4624768044135598934">Úspěch!</translation> <translation id="4625078469366263107">Aktivovat aplikaci</translation> <translation id="4627427111733173920">Byly zablokovány soubory cookie</translation> @@ -2532,7 +2518,6 @@ <translation id="496226124210045887">Vybraná složka obsahuje citlivé soubory. Opravdu chcete aplikaci $1 udělit trvalý přístup ke čtení této složky?</translation> <translation id="4964455510556214366">Uspořádání</translation> <translation id="4964673849688379040">Kontrola...</translation> -<translation id="4965682129423310439">Chrome ve vašem počítači našel škodlivý software. Chrome ho může odstranit a obnovit vaše nastavení, aby prohlížeč opět fungoval jako obvykle.</translation> <translation id="4965808351167763748">Opravdu toto zařízení chcete nastavit pro službu Hangouts Meet?</translation> <translation id="4967749818080339523">Vyberte účet</translation> <translation id="496888482094675990">Aplikace Soubory umožňuje rychlý přístup k souborům, které jste uložili na Disk Google, externí úložiště nebo zařízení se systémem Chrome OS.</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">Plochu nelze odeslat.</translation> <translation id="6171948306033499786">Pozastavit tisk</translation> <translation id="6175314957787328458">Identifikátor GUID domény Microsoft</translation> -<translation id="6176032031541598434">Aktivní okno bylo přesunuto na obrazovku dole</translation> <translation id="6178664161104547336">Vyberte certifikát</translation> <translation id="6181431612547969857">Stahování zablokováno</translation> -<translation id="6181803575025675566">Tuto funkci můžete ovládat v <ph name="LINK_START" />Nastavení<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Poloha zařízení</translation> <translation id="6185696379715117369">O stránku nahoru</translation> <translation id="6189412234224385711">Otevřít pomocí rozšíření <ph name="EXTENSION_NAME" /></translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">Hesla nesouhlasí.</translation> <translation id="6736243959894955139">Adresa</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Ačkoliv svůj starý profil již nemůžete používat, můžete jej odstranit.</translation> <translation id="6739923123728562974">Zobrazit zástupce na ploše</translation> <translation id="6740234557573873150">Stahování souboru <ph name="FILE_NAME" /> pozastaveno</translation> <translation id="6742339027238151589">Přístupné skriptu</translation> -<translation id="6743841972744298686">Nastavení synchronizace</translation> <translation id="6745592621698551453">Aktualizovat</translation> <translation id="6746124502594467657">Posunout dolů</translation> <translation id="674632704103926902">Aktivovat přetažení klepnutím</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">Tisknout konkrétní stránky</translation> <translation id="6972180789171089114">Zvuk/video</translation> <translation id="6973630695168034713">Složky</translation> -<translation id="6974053822202609517">Zprava doleva</translation> <translation id="6976108581241006975">Konzole JavaScriptu</translation> <translation id="6977381486153291903">Revize firmwaru</translation> <translation id="6978121630131642226">Vyhledávače</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">Skrýt</translation> <translation id="7108634116785509031">Webová stránka <ph name="HOST" /> chce použít vaši kameru</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Personalizace je zapnutá. Můžete to změnit na stránce myaccount.google.com.</translation> <translation id="7113502843173351041">znalost vaší e-mailové adresy</translation> <translation id="7114054701490058191">Hesla nejsou shodná</translation> <translation id="7117228822971127758">Zkuste to znovu později</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">Načíst tuto stránku znovu</translation> <translation id="7222232353993864120">E-mailová adresa</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Aktivovat lupu obrazovky</translation> <translation id="7223775956298141902">Hrůza... Nemáte žádná rozšíření :-(</translation> <translation id="7225179976675429563">Typ sítě není k dispozici.</translation> <translation id="7228479291753472782">Manipulovat s nastaveními, která udávají, zda weby mohou používat funkce jako jsou geolokace, mikrofon, fotoaparát apod.</translation> @@ -4206,7 +4184,6 @@ <translation id="7639178625568735185">Mám to!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> vás automaticky přihlásí na vhodných webech, ke kterým máte uložená hesla.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlastník)</translation> -<translation id="7647231681210854996">Aktivní okno bylo přesunuto na obrazovku vpravo</translation> <translation id="7648992873808071793">Ukládat soubory v tomto zařízení</translation> <translation id="7649070708921625228">Nápověda</translation> <translation id="7650511557061837441">Rozšíření <ph name="TRIGGERING_EXTENSION_NAME" /> by chtělo odebrat rozšíření <ph name="EXTENSION_NAME" />.</translation> @@ -4666,7 +4643,6 @@ <translation id="8371695176452482769">Mluvte</translation> <translation id="8372369524088641025">Chybný klíč WEP</translation> <translation id="8373553483208508744">Vypnout zvuk karet</translation> -<translation id="8377870760189106701">Okno doprava</translation> <translation id="8378285435971754261">Nechte službu určování polohy Google, aby aplikacím pomohla rychle a přesně najít vaši polohu. Můžete tak snížit spotřebu energie. Do Googlu se budou odesílat anonymní údaje o poloze, a to i když nebudou spuštěny žádné aplikace. <ph name="BEGIN_LINK1" />Další informace<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Spravovat nastavení fotoaparátu…</translation> <translation id="8382913212082956454">Kopírovat &e-mailovou adresu</translation> @@ -4786,7 +4762,6 @@ <translation id="8581809080475256101">Stisknutím přejdete vpřed. V kontextové nabídce můžete zobrazit historii</translation> <translation id="8584280235376696778">&Otevřít video v nové kartě</translation> <translation id="8588866096426746242">Zobrazit statistiky profilu</translation> -<translation id="8589652987924574405">Vaše záložky, historie, hesla a další nastavení budou synchronizovány do účtu Google, abyste je mohli používat na všech svých zařízeních. Svoji volbu můžete později v nastavení kdykoliv změnit.</translation> <translation id="8590375307970699841">Nastavit automatické aktualizace</translation> <translation id="8594908476761052472">Natočit video</translation> <translation id="8596540852772265699">Vlastní soubory</translation> @@ -4802,7 +4777,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stav roamingu</translation> <translation id="8620765578342452535">Konfigurovat síťová připojení</translation> -<translation id="8620790565535071193">Vyhledávání se nezdařilo</translation> <translation id="8624205858755890468">Umožňuje Asistentovi zobrazovat vám související informace, aplikace a akce.</translation> <translation id="862542460444371744">Rozšíř&ení</translation> <translation id="8627151598708688654">Vyberte zdroj</translation> @@ -4880,7 +4854,6 @@ <translation id="871476437400413057">hesla uložená Googlem</translation> <translation id="8714838604780058252">Grafika na pozadí</translation> <translation id="8719653885894320876">Stahování pluginu <ph name="PLUGIN_NAME" /> selhalo</translation> -<translation id="8721669057562068233">Aktivní okno bylo přesunuto na obrazovku nahoře</translation> <translation id="8723829621484579639">Anonymní dílčí rámce pro: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Zobrazit ve &složce</translation> <translation id="8725066075913043281">Zkusit znovu</translation> @@ -4924,7 +4897,6 @@ <translation id="8785622406424941542">Dotykové pero</translation> <translation id="8787254343425541995">Povolit proxy servery u sdílených sítí</translation> <translation id="8791534160414513928">Posílat při procházení webů požadavek Do Not Track</translation> -<translation id="8792609692701651064">Aktivní okno bylo přesunuto na obrazovku vlevo</translation> <translation id="8794025342371547160">Omezená IP adresa</translation> <translation id="879413103056696865">Při zapnutém hotspotu váš telefon <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nové okno</translation> @@ -5061,7 +5033,6 @@ <translation id="9024127637873500333">&Otevřít v nové kartě</translation> <translation id="9024331582947483881">celá obrazovka</translation> <translation id="9025098623496448965">Chci přejít zpět na obrazovku pro přihlášení</translation> -<translation id="902659348151742535">Google vaši historii procházení může používat k personalizaci Vyhledávání, reklam a dalších služeb Google.</translation> <translation id="9026731007018893674">stažený soubor</translation> <translation id="9027146684281895941">Dohlížet nad touto osobou a umožnit z vašeho účtu Google nastavovat a zobrazovat weby, které tato osoba navštěvuje</translation> <translation id="9027459031423301635">Otevří&t odkaz v nové kartě</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb index 7cf18c6..89acc3ca 100644 --- a/chrome/app/resources/generated_resources_da.xtb +++ b/chrome/app/resources/generated_resources_da.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Der er ingen netværk</translation> <translation id="1056898198331236512">Advarsel</translation> <translation id="1058262162121953039">PUK-kode</translation> -<translation id="106001083577824516">Den skadelige software kan ikke fjernes</translation> <translation id="1062407476771304334">Erstat</translation> <translation id="1062866675591297858">Administrer dine brugere via <ph name="BEGIN_LINK" />Betjeningspanelet for administrerede brugere<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Deltag i et privat netværk</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Vælg en fil</translation> <translation id="136802136832547685">Der er ingen administrerede brugere at føje til denne enhed.</translation> <translation id="1368265273904755308">Rapportér problem</translation> -<translation id="1368832886055348810">Venstre til højre</translation> <translation id="1370646789215800222">Vil du fjerne personen?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element fjernes}one{# element fjernes}other{# elementer fjernes}}</translation> <translation id="1372841398847029212">Synkroniser med din konto</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Fjern denne bruger</translation> <translation id="1609170755653088773">Synkroniser denne adgangskode på din iPhone</translation> <translation id="1609862759711084604">Tidligere bruger</translation> -<translation id="1611557582955786626">Log ind for at få en tilpasset browseroplevelse, der er synkroniseret på alle dine enheder</translation> <translation id="1611584202130317952">Leveringsflowet blev afbrudt. Prøv igen, eller kontakt enhedsejeren eller administratoren.</translation> <translation id="1611649489706141841">videresend</translation> <translation id="1611704746353331382">Eksportér bogmærker til HTML-fil...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Tilføj placering...</translation> <translation id="1856813161013948396">Spring låseskærmen over med et tryk på fingeraftrykslæseren. Klik for at konfigurere.</translation> <translation id="1858585891038687145">Hav tillid til dette certifikat i forbindelse med identifikation af softwareproducenter</translation> -<translation id="1859234291848436338">Skriveretning</translation> <translation id="1861262398884155592">Denne mappe er tom</translation> <translation id="1864111464094315414">Login</translation> <translation id="1864400682872660285">Kølig</translation> @@ -1131,7 +1127,6 @@ <translation id="2737363922397526254">Skjul...</translation> <translation id="2737492745329609575">Start konfiguration</translation> <translation id="2738771556149464852">Ikke efter</translation> -<translation id="2739046699559178272">Gem og fortsæt</translation> <translation id="2739191690716947896">Fejlretning</translation> <translation id="2739240477418971307">Skift dine tilgængelighedsindstillinger</translation> <translation id="2740393541869613458">gennemse de websites, som den administrerede bruger har besøgt, og</translation> @@ -1157,7 +1152,6 @@ <translation id="2783298271312924866">Downloadet</translation> <translation id="2783661497142353826">Administrer terminalapplikationer</translation> <translation id="2784407158394623927">Aktiverer din mobildatatjeneste</translation> -<translation id="2785530881066938471">Filen '<ph name="RELATIVE_PATH" />' til indholdsscript kunne ikke indlæses. Det er ikke UTF-8-kodet.</translation> <translation id="2785873697295365461">Filbeskrivelser</translation> <translation id="2787047795752739979">Overskriv originalen</translation> <translation id="2788135150614412178">+</translation> @@ -1243,7 +1237,6 @@ <translation id="2889925978073739256">Fortsæt blokering af plugins, der ikke er gemt i sandbox</translation> <translation id="2890678560483811744">Sidereferencen er ugyldig</translation> <translation id="2893168226686371498">Standardbrowser</translation> -<translation id="2893453364759632532">Flyt vinduet nedad</translation> <translation id="289644616180464099">SIM-kortet er låst.</translation> <translation id="289695669188700754">Nøgle-id: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Er du sikker på, at du vil åbne <ph name="TAB_COUNT" /> faner?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Skærmen deles</translation> <translation id="3046910703532196514">Webside, komplet</translation> <translation id="304826556400666995">Slå fanernes lyd til</translation> -<translation id="3051523411789012618">Flyt vinduet opad</translation> <translation id="3053013834507634016">Brug af certifikatnøgle</translation> <translation id="3057861065630527966">Sikkerhedskopiér dine billeder og videoer</translation> <translation id="3060379269883947824">Aktivér Tekstoplæsning</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Åbner lyd- og videoinput</translation> <translation id="3090819949319990166">Ekstern crx-fil kan ikke kopieres til <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" er parret</translation> -<translation id="3097628171361913691">Installationsprogram til zip-filer</translation> <translation id="3100609564180505575">Moduler (<ph name="TOTAL_COUNT" />) – Kendte konflikter: <ph name="BAD_COUNT" />, under mistanke: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Dato og klokkeslæt</translation> <translation id="3108967419958202225">Vælg...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Underskrevet af</translation> <translation id="33022249435934718">GDI-håndtag</translation> <translation id="3302340765592941254">Underretning om fuldført download</translation> -<translation id="3302709122321372472">Css '<ph name="RELATIVE_PATH" />' for indholdsscript kunne ikke indlæses.</translation> <translation id="3303260552072730022">En udvidelse har aktiveret fuld skærm.</translation> <translation id="3303818374450886607">Kopier</translation> <translation id="3303855915957856445">Der blev ikke fundet nogen søgeresultater</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Vælg tidszone</translation> <translation id="3856921555429624101">Måling af dataforbrug er afsluttet</translation> <translation id="3857228364945137633">Prøv Smart Lock for at låse din <ph name="DEVICE_TYPE" /> op uden en adgangskode, når din telefon er i nærheden.</translation> -<translation id="3857732810083914482">Tilpasning er slået fra. Du kan ændre denne indstilling på myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Velkommen til Hangouts Meet</translation> <translation id="3862134173397075045">Velkommen til Cast-oplevelsen i Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importeret</translation> <translation id="3994374631886003300">Lås din telefon op, og flyt den tættere på din <ph name="DEVICE_TYPE" /> for at låse den op.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Javascriptet '<ph name="RELATIVE_PATH" />' til indholdsscript kunne ikke indlæses.</translation> <translation id="4002066346123236978">Titel</translation> <translation id="40027638859996362">Flytning af ord</translation> <translation id="4005817994523282006">Metode til registrering af tidszone</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopieringen mislykkedes. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">I forbindelse med netværkslogfiler kan du se: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Hvis du vil downloade og bruge Android-apps, skal du først installere en opdatering. Du kan ikke bruge din enhed, mens den opdaterer. Din <ph name="DEVICE_TYPE" /> genstarter, når installationen er gennemført.</translation> -<translation id="4338683191474220626">Flyt vinduet til venstre</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ønsker at kommunikere med appen "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Hov! Der opstod en TPM-fejl.</translation> <translation id="4345587454538109430">Konfigurer...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">der er ikke valgt nogen cookie</translation> <translation id="4617270414136722281">Valgmuligheder for udvidelser</translation> <translation id="4619615317237390068">Faner fra andre enheder</translation> -<translation id="4620809267248568679">Denne indstilling håndhæves af en udvidelse.</translation> <translation id="4624768044135598934">Gennemført!</translation> <translation id="4625078469366263107">Aktivér app</translation> <translation id="4627427111733173920">Cookies er blokeret</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Den mappe, du har valgt, indeholder følsomme filer. Vil du give "$1" permanent læseadgang til denne mappe?</translation> <translation id="4964455510556214366">Opstilling</translation> <translation id="4964673849688379040">Kontrollerer...</translation> -<translation id="4965682129423310439">Chrome fandt skadelig software på din computer. Chrome kan slette den og gendanne dine indstillinger, så din browser fungerer normalt igen.</translation> <translation id="4965808351167763748">Er du sikker på, at du vil konfigurere denne enhed til at køre Hangouts Meet?</translation> <translation id="4967749818080339523">Vælg en konto</translation> <translation id="496888482094675990">Appen Filer giver hurtig adgang til filer, som du har gemt i Google Drev, på et eksternt lager eller på din Chrome OS-enhed.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Skrivebordet kunne ikke castes.</translation> <translation id="6171948306033499786">Sæt udskrivning på pause</translation> <translation id="6175314957787328458">Microsoft-domæne-GUID</translation> -<translation id="6176032031541598434">Det aktive vindue blev flyttet til nederste skærm</translation> <translation id="6178664161104547336">Vælg et certifikat</translation> <translation id="6181431612547969857">Downloaden blev blokeret</translation> -<translation id="6181803575025675566">Bestem, hvordan dette fungerer, i <ph name="LINK_START" />Indstillinger<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Enhedsplacering</translation> <translation id="6185696379715117369">Gå en side op</translation> <translation id="6189412234224385711">Åbn med <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Hov! Adgangskoderne stemmer ikke overens.</translation> <translation id="6736243959894955139">Adresse</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Du kan godt fjerne din gamle profil, selvom du ikke længere har adgang til den.</translation> <translation id="6739923123728562974">Vis genvej på skrivebordet</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> er sat på pause</translation> <translation id="6742339027238151589">Tilgængelig for script</translation> -<translation id="6743841972744298686">Indstillinger for synkronisering</translation> <translation id="6745592621698551453">Opdater nu</translation> <translation id="6746124502594467657">Flyt ned</translation> <translation id="674632704103926902">Aktivér tryk og træk</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Udskriv bestemte sider</translation> <translation id="6972180789171089114">Lyd/video</translation> <translation id="6973630695168034713">Mapper</translation> -<translation id="6974053822202609517">Højre til venstre</translation> <translation id="6976108581241006975">JavaScript-konsol</translation> <translation id="6977381486153291903">Firmwarerevision</translation> <translation id="6978121630131642226">Søgemaskiner</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Skjul</translation> <translation id="7108634116785509031"><ph name="HOST" /> anmoder om at bruge dit kamera</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Tilpasning er slået til. Du kan ændre denne indstilling på myaccount.google.com.</translation> <translation id="7113502843173351041">Kende din mailadresse</translation> <translation id="7114054701490058191">Adgangskoderne matcher ikke</translation> <translation id="7117228822971127758">Prøv igen senere</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Genindlæs denne side</translation> <translation id="7222232353993864120">Mailadresse</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Aktivér skærmforstørrer</translation> <translation id="7223775956298141902">Øv... Du har ingen udvidelser :-(</translation> <translation id="7225179976675429563">Netværkstype mangler</translation> <translation id="7228479291753472782">Manipuler indstillinger, der angiver, om websites må anvende funktioner såsom geoplacering, mikrofon, kamera m.m.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Forstået</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> logger dig automatisk ind på kvalificerede websites med adgangskoder, du har gemt.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (ejer)</translation> -<translation id="7647231681210854996">Det aktive vindue blev flyttet til højre skærm</translation> <translation id="7648992873808071793">Gemme filer på denne enhed</translation> <translation id="7649070708921625228">Hjælp</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" vil gerne fjerne "<ph name="EXTENSION_NAME" />".</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Indtal nu</translation> <translation id="8372369524088641025">Ugyldig WEP-nøgle</translation> <translation id="8373553483208508744">Slå fanernes lyd fra</translation> -<translation id="8377870760189106701">Vindue til højre</translation> <translation id="8378285435971754261">Lad Googles placeringstjeneste hjælpe apps med at finde din placering hurtigt og nøjagtigt, så du sparer på batteriet. Anonyme placeringsdata sendes til Google, selv når der ikke kører nogen apps. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Administrer kameraindstillinger...</translation> <translation id="8382913212082956454">Kopier &e-mailadresse</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Tryk for at gå videre til genvejsmenuen for at se historik</translation> <translation id="8584280235376696778">&Åbn video på ny fane</translation> <translation id="8588866096426746242">Vis profilstatistik</translation> -<translation id="8589652987924574405">Din historik samt dine bogmærker, adgangskoder og andre indstillinger synkroniseres med din Google-konto, så du kan bruge dem på alle dine enheder. Du kan til enhver tid ændre dette i dine indstillinger.</translation> <translation id="8590375307970699841">Konfigurer automatiske opdateringer</translation> <translation id="8594908476761052472">Optag video</translation> <translation id="8596540852772265699">Tilpassede filer</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Roamingstatus</translation> <translation id="8620765578342452535">Konfigurere netværksforbindelser</translation> -<translation id="8620790565535071193">Scanning mislykkedes</translation> <translation id="8624205858755890468">Giver Google Assistent tilladelse til at vise dig relaterede oplysninger, apps og handlinger.</translation> <translation id="862542460444371744">&Udvidelser</translation> <translation id="8627151598708688654">Vælg kilde</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Gemte adgangskoder på Google</translation> <translation id="8714838604780058252">Baggrundsgrafik</translation> <translation id="8719653885894320876">Download af <ph name="PLUGIN_NAME" /> mislykkedes</translation> -<translation id="8721669057562068233">Det aktive vindue blev flyttet til øverste skærm</translation> <translation id="8723829621484579639">Inkognitounderrammer til: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Vis i mappe</translation> <translation id="8725066075913043281">Forsøg igen</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Pen</translation> <translation id="8787254343425541995">Tillad proxyer til delte netværk</translation> <translation id="8791534160414513928">Send en anmodning om "Do Not Track" sammen med din browsertrafik</translation> -<translation id="8792609692701651064">Det aktive vindue blev flyttet til venstre skærm</translation> <translation id="8794025342371547160">Adgangsbeskyttet IP-adresse</translation> <translation id="879413103056696865">Mens hotspottet er aktivt, vil din <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nyt vindue</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Åbn på ny fane</translation> <translation id="9024331582947483881">fuld skærm</translation> <translation id="9025098623496448965">OK. Før mig tilbage til loginskærmen</translation> -<translation id="902659348151742535">Google kan bruge din browserhistorik til at personliggøre Søgning, annoncer og andre Google-tjenester.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Administrer denne person for at kontrollere og få vist de websites, vedkommende besøger via din Google-konto.</translation> <translation id="9027459031423301635">Åbn link på ny &fane</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb index 8a74f48..98ef9a8 100644 --- a/chrome/app/resources/generated_resources_de.xtb +++ b/chrome/app/resources/generated_resources_de.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Keine Netzwerke</translation> <translation id="1056898198331236512">Warnung</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Schädliche Software kann nicht entfernt werden</translation> <translation id="1062407476771304334">Ersetzen</translation> <translation id="1062866675591297858">Ihre betreuten Nutzer mithilfe des <ph name="BEGIN_LINK" />Dashboards für betreute Nutzer<ph name="END_LINK" /> verwalten</translation> <translation id="1064835277883315402">Privatem Netzwerk beitreten</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Datei auswählen</translation> <translation id="136802136832547685">Es gibt keine betreuten Nutzer, die diesem Gerät hinzugefügt werden können.</translation> <translation id="1368265273904755308">Problem melden</translation> -<translation id="1368832886055348810">Rechtsläufig</translation> <translation id="1370646789215800222">Person entfernen?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 zu entfernendes Element}other{# zu entfernende Elemente}}</translation> <translation id="1372841398847029212">Mit meinem Konto synchronisieren</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">Diesen Nutzer entfernen</translation> <translation id="1609170755653088773">Passwort mit meinem iPhone synchronisieren</translation> <translation id="1609862759711084604">Vorheriger Nutzer</translation> -<translation id="1611557582955786626">Melden Sie sich an, um die Browsernutzung zu personalisieren und auf allen Ihren Geräten zu synchronisieren</translation> <translation id="1611584202130317952">Bereitstellungsverfahren unterbrochen. Bitte wenden Sie sich an den Inhaber Ihres Geräts oder an den Administrator oder versuchen Sie es noch einmal.</translation> <translation id="1611649489706141841">Weiter</translation> <translation id="1611704746353331382">Lesezeichen in HTML-Datei exportieren...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Speicherort hinzufügen...</translation> <translation id="1856813161013948396">Um den Sperrbildschirm zu überspringen, tippen Sie auf den Fingerabdrucksensor. Zum Konfigurieren klicken.</translation> <translation id="1858585891038687145">Diesem Zertifikat zur Identifizierung von Softwareherstellern vertrauen</translation> -<translation id="1859234291848436338">Schreibrichtung</translation> <translation id="1861262398884155592">Dieser Ordner ist leer</translation> <translation id="1864111464094315414">Anmeldung</translation> <translation id="1864400682872660285">Kälter</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">Minimieren...</translation> <translation id="2737492745329609575">Einrichtung starten</translation> <translation id="2738771556149464852">Nicht nach</translation> -<translation id="2739046699559178272">Speichern und fortfahren</translation> <translation id="2739191690716947896">Fehlerbehebung</translation> <translation id="2739240477418971307">Einstellungen für Zugänglichkeit ändern</translation> <translation id="2740393541869613458">von dem betreuten Nutzer besuchte Websites überprüfen und</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">Heruntergeladen</translation> <translation id="2783661497142353826">Kioskanwendungen verwalten</translation> <translation id="2784407158394623927">Ihr mobiler Datendienst wird aktiviert.</translation> -<translation id="2785530881066938471">Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden. Sie ist nicht UTF-8-codiert.</translation> <translation id="2785873697295365461">Dateideskriptoren</translation> <translation id="2787047795752739979">Original überschreiben</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">Plug-ins ohne Sandbox weiterhin blockieren</translation> <translation id="2890678560483811744">Seitenbereich ist zu groß</translation> <translation id="2893168226686371498">Standardbrowser</translation> -<translation id="2893453364759632532">Fenster nach unten</translation> <translation id="289644616180464099">SIM-Karte ist gesperrt</translation> <translation id="289695669188700754">Schlüssel-ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Möchten Sie wirklich <ph name="TAB_COUNT" /> Tabs öffnen?</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">Bildschirmfreigabe aktiv</translation> <translation id="3046910703532196514">Webseite, vollständig</translation> <translation id="304826556400666995">Stummschaltung der Tabs aufheben</translation> -<translation id="3051523411789012618">Fenster nach oben</translation> <translation id="3053013834507634016">Zertifikatschlüsselverwendung</translation> <translation id="3057861065630527966">Fotos und Videos sichern</translation> <translation id="3060379269883947824">Vorlesen aktivieren</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">Zugriff auf Audio- und Video-Eingang</translation> <translation id="3090819949319990166">Externe CRX-Datei konnte nicht als <ph name="TEMP_CRX_FILE" /> kopiert werden.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ist gekoppelt</translation> -<translation id="3097628171361913691">ZIP-Datei-Installationsprogramm</translation> <translation id="3100609564180505575">Module (<ph name="TOTAL_COUNT" />) - Bekannte Konflikte: <ph name="BAD_COUNT" />, verdächtig: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum und Uhrzeit</translation> <translation id="3108967419958202225">Auswählen...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">Unterzeichnet von</translation> <translation id="33022249435934718">GDI-Handles</translation> <translation id="3302340765592941254">Download abgeschlossen</translation> -<translation id="3302709122321372472">CSS-Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden.</translation> <translation id="3303260552072730022">Eine Erweiterung hat den Vollbildmodus ausgelöst.</translation> <translation id="3303818374450886607">Kopien</translation> <translation id="3303855915957856445">Keine Suchergebnisse gefunden</translation> @@ -1887,7 +1877,6 @@ <translation id="3856800405688283469">Zeitzone auswählen</translation> <translation id="3856921555429624101">Messung der Datennutzung ist beendet</translation> <translation id="3857228364945137633">Mit Smart Lock können Sie Ihr <ph name="DEVICE_TYPE" /> ohne Passwort entsperren, wenn Ihr Smartphone in der Nähe ist.</translation> -<translation id="3857732810083914482">Die Personalisierung ist deaktiviert. Dies können Sie unter myaccount.google.com ändern.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Willkommen bei Hangouts Meet</translation> <translation id="3862134173397075045">Herzlich willkommen bei Cast in Chrome!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">Importiert</translation> <translation id="3994374631886003300">Entsperren Sie Ihr Smartphone und verringern Sie den Abstand zu Ihrem <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">JavaScript-Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden.</translation> <translation id="4002066346123236978">Titel</translation> <translation id="40027638859996362">Wort verschieben</translation> <translation id="4005817994523282006">Methode zur Zeitzonenerkennung</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">Fehler beim Kopieren. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Netzwerkprotokolle sind hier abrufbar: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Um Android-Apps herunterladen und verwenden zu können, müssen Sie zuerst ein Update installieren. Sie können Ihr Gerät während des Updates nicht nutzen. Ihr <ph name="DEVICE_TYPE" /> wird nach Abschluss der Installation neu gestartet.</translation> -<translation id="4338683191474220626">Fenster nach links</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> möchte mit der App "<ph name="EXTENSION_NAME" />" kommunizieren.</translation> <translation id="4342311272543222243">TPM-Fehler</translation> <translation id="4345587454538109430">Konfigurieren...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">Kein Cookie ausgewählt</translation> <translation id="4617270414136722281">Erweiterungsoptionen</translation> <translation id="4619615317237390068">Tabs von anderen Geräten</translation> -<translation id="4620809267248568679">Diese Einstellung wird durch eine Erweiterung erzwungen.</translation> <translation id="4624768044135598934">Vorgang abgeschlossen!</translation> <translation id="4625078469366263107">App aktivieren</translation> <translation id="4627427111733173920">Cookies blockiert</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">Der ausgewählte Ordner enthält sensible Dateien. Möchten Sie "$1" wirklich dauerhaft Lesezugriff auf diesen Ordner gewähren?</translation> <translation id="4964455510556214366">Anordnung</translation> <translation id="4964673849688379040">Wird überprüft...</translation> -<translation id="4965682129423310439">Chrome hat schädliche Software auf Ihrem Computer gefunden, die entfernt werden kann. Ihre Einstellungen werden dann wiederhergestellt, sodass Ihr Browser wieder wie gewohnt funktioniert.</translation> <translation id="4965808351167763748">Möchten Sie dieses Gerät wirklich für Hangouts Meet einrichten?</translation> <translation id="4967749818080339523">Konto auswählen</translation> <translation id="496888482094675990">Mit der App "Dateien" erhalten Sie schnellen Zugriff auf Dateien, die Sie in Google Drive, auf externen Speichermedien oder auf Ihrem Chrome OS-Gerät gespeichert haben.</translation> @@ -3304,10 +3289,8 @@ <translation id="6169666352732958425">Der Desktop kann nicht übertragen werden</translation> <translation id="6171948306033499786">Druckvorgang pausieren</translation> <translation id="6175314957787328458">Microsoft-Domain-GUID</translation> -<translation id="6176032031541598434">Aktives Fenster in Bildschirm darunter verschoben</translation> <translation id="6178664161104547336">Zertifikat auswählen</translation> <translation id="6181431612547969857">Download blockiert</translation> -<translation id="6181803575025675566">Sie können die Funktionsweise unter <ph name="LINK_START" />Einstellungen<ph name="LINK_END" /> verwalten.</translation> <translation id="6185132558746749656">Gerätestandort</translation> <translation id="6185696379715117369">Bildlauf nach oben</translation> <translation id="6189412234224385711">Öffnen mit <ph name="EXTENSION_NAME" /></translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">Die Passwörter stimmen nicht überein.</translation> <translation id="6736243959894955139">Adresse</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Sie können zwar nicht mehr auf Ihr altes Profil zugreifen, aber Sie können es entfernen.</translation> <translation id="6739923123728562974">Desktopverknüpfung einblenden</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> pausiert</translation> <translation id="6742339027238151589">Zugänglich für Skript</translation> -<translation id="6743841972744298686">Synchronisierungseinstellungen</translation> <translation id="6745592621698551453">Jetzt aktualisieren</translation> <translation id="6746124502594467657">Nach unten</translation> <translation id="674632704103926902">Antippen und Ziehen aktivieren</translation> @@ -3687,7 +3668,7 @@ <translation id="6787839852456839824">Tastenkombinationen</translation> <translation id="6788210894632713004">Entpackte Erweiterung</translation> <translation id="6790428901817661496">Wiedergabe</translation> -<translation id="6790497603648687708"><ph name="EXTENSION_NAME" /> wurde per Remote-Zugriff hinzugefügt</translation> +<translation id="6790497603648687708"><ph name="EXTENSION_NAME" /> wurde per Remotezugriff hinzugefügt</translation> <translation id="6790820461102226165">Person hinzufügen...</translation> <translation id="6792072150955115067"><ph name="APP_NAME" /> möchte die Inhalte Ihres Bildschirms mit <ph name="TARGET_NAME" /> teilen. Wählen Sie aus, was geteilt werden soll.</translation> <translation id="6793604637258913070">Textcursor hervorheben, wenn er erscheint oder sich bewegt</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">Bestimmte Seiten drucken</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Ordner</translation> -<translation id="6974053822202609517">Linksläufig</translation> <translation id="6976108581241006975">JavaScript-Konsole</translation> <translation id="6977381486153291903">Firmware-Version</translation> <translation id="6978121630131642226">Suchmaschinen</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">Ausblenden</translation> <translation id="7108634116785509031"><ph name="HOST" /> möchte Ihre Kamera verwenden</translation> <translation id="7108668606237948702">Eingabe</translation> -<translation id="7112978678959880812">Die Personalisierung ist aktiviert. Dies können Sie unter myaccount.google.com ändern.</translation> <translation id="7113502843173351041">Zugriff auf E-Mail-Adresse zulassen</translation> <translation id="7114054701490058191">Die Passwörter stimmen nicht überein</translation> <translation id="7117228822971127758">Bitte versuchen Sie es später noch einmal</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">Diese Seite neu laden</translation> <translation id="7222232353993864120">E-Mail-Adresse</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Lupe aktivieren</translation> <translation id="7223775956298141902">Es sind keine Erweiterungen vorhanden :-(.</translation> <translation id="7225179976675429563">Netzwerktyp fehlt.</translation> <translation id="7228479291753472782">Einstellungen bearbeiten, die festlegen, ob Websites Funktionen wie die Standortbestimmung, das Mikrofon, die Kamera usw. verwenden dürfen</translation> @@ -4212,7 +4190,6 @@ <translation id="7639178625568735185">Fertig</translation> <translation id="764017888128728">Mit <ph name="PASSWORD_MANAGER_BRAND" /> werden Sie mit Ihren gespeicherten Passwörtern automatisch auf allen entsprechenden Websites angemeldet.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (Eigentümer)</translation> -<translation id="7647231681210854996">Aktives Fenster in rechten Bildschirm verschoben</translation> <translation id="7648992873808071793">Dateien auf diesem Gerät speichern</translation> <translation id="7649070708921625228">Hilfe</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" möchte "<ph name="EXTENSION_NAME" />" entfernen.</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Jetzt sprechen</translation> <translation id="8372369524088641025">Ungültiger WEP-Schlüssel</translation> <translation id="8373553483208508744">Tabs stummschalten</translation> -<translation id="8377870760189106701">Fenster rechts</translation> <translation id="8378285435971754261">Durch den Standortdienst von Google können Apps Ihren Standort schnell und genau erfassen. Dadurch kann der Akkuverbrauch gesenkt werden. Anonyme Standortdaten werden an Google gesendet, auch wenn keine Apps ausgeführt werden. <ph name="BEGIN_LINK1" />Weitere Informationen<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Kameraeinstellungen verwalten...</translation> <translation id="8382913212082956454">E-Mail-Adr&esse kopieren</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Drücken, um weiterzugehen. Kontextmenü, um Verlauf aufzurufen</translation> <translation id="8584280235376696778">&Video in neuem Tab öffnen</translation> <translation id="8588866096426746242">Profilstatistiken anzeigen</translation> -<translation id="8589652987924574405">Lesezeichen, Verlauf, Passwörter und andere Einstellungen werden mit Ihrem Google-Konto synchronisiert, damit Sie sie auf allen Ihren Geräten nutzen können. Sie können dies jederzeit in Ihren Einstellungen ändern.</translation> <translation id="8590375307970699841">Automatische Updates einrichten</translation> <translation id="8594908476761052472">Video aufnehmen</translation> <translation id="8596540852772265699">Benutzerdefinierte Dateien</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Roaming-Status</translation> <translation id="8620765578342452535">Netzwerkverbindungen konfigurieren</translation> -<translation id="8620790565535071193">Fehler beim Scannen</translation> <translation id="8624205858755890468">Ermöglicht Assistant, Ihnen relevante Informationen, Apps und Aktionen anzuzeigen.</translation> <translation id="862542460444371744">&Erweiterungen</translation> <translation id="8627151598708688654">Quelle auswählen</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">In Google gespeicherte Passwörter</translation> <translation id="8714838604780058252">Hintergrundgrafiken</translation> <translation id="8719653885894320876">Fehler beim Download von <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Aktives Fenster in Bildschirm darüber verschoben</translation> <translation id="8723829621484579639">Inkognito-Subframes für: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&In Ordner anzeigen</translation> <translation id="8725066075913043281">Erneut versuchen</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Eingabestift</translation> <translation id="8787254343425541995">Proxys für freigegebene Netzwerke zulassen</translation> <translation id="8791534160414513928">Mit Browserzugriffen eine "Do Not Track"-Anforderung senden</translation> -<translation id="8792609692701651064">Aktives Fenster in linken Bildschirm verschoben</translation> <translation id="8794025342371547160">IP eingeschränkt</translation> <translation id="879413103056696865">Während der Hotspot aktiviert ist, wird Ihr <ph name="PHONE_NAME" /> Folgendes tun:</translation> <translation id="8795916974678578410">Neues Fenster</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">In &neuem Tab öffnen</translation> <translation id="9024331582947483881">Vollbild</translation> <translation id="9025098623496448965">OK, zurück zur Anmeldeseite</translation> -<translation id="902659348151742535">Mithilfe Ihres Browserverlaufs kann Google die Suche, Werbung und andere Google-Dienste personalisieren.</translation> <translation id="9026731007018893674">Download</translation> <translation id="9027146684281895941">Überwachen Sie diesen Nutzer, um von ihm besuchte Websites über Ihr Google-Konto zu verwalten und einzusehen.</translation> <translation id="9027459031423301635">Link in neuem Tab öffnen</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb index 3635701..1a0ce8e 100644 --- a/chrome/app/resources/generated_resources_el.xtb +++ b/chrome/app/resources/generated_resources_el.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Δεν βρέθηκαν δίκτυα</translation> <translation id="1056898198331236512">Προειδοποίηση</translation> <translation id="1058262162121953039">Κωδικός PUK</translation> -<translation id="106001083577824516">Δεν είναι δυνατή η κατάργηση επιβλαβούς λογισμικού</translation> <translation id="1062407476771304334">Αντικατάσταση</translation> <translation id="1062866675591297858">Διαχειριστείτε τους εποπτευόμενους χρήστες σας μέσω του <ph name="BEGIN_LINK" />Πίνακα ελέγχου εποπτευόμενων χρηστών<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Συνδεθείτε σε ιδιωτικό δίκτυο</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Επιλογή αρχείου</translation> <translation id="136802136832547685">Δεν υπάρχουν εποπτευόμενοι χρήστες για προσθήκη σε αυτήν τη συσκευή.</translation> <translation id="1368265273904755308">Αναφορά προβλήματος</translation> -<translation id="1368832886055348810">Από αριστερά προς τα δεξιά</translation> <translation id="1370646789215800222">Κατάργηση ατόμου;</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 στοιχείο για κατάργηση}other{# στοιχεία για κατάργηση}}</translation> <translation id="1372841398847029212">Συγχρονισμός με τον λογαριασμό σας</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Κατάργηση αυτού του χρήστη</translation> <translation id="1609170755653088773">Συγχρονισμός αυτού του κωδικού πρόσβασης με το iPhone σας</translation> <translation id="1609862759711084604">Προηγούμενος χρήστης</translation> -<translation id="1611557582955786626">Συνδεθείτε για να απολαμβάνετε μια εξατομικευμένη εμπειρία περιήγησης, συγχρονισμένη σε όλες τις συσκευές σας</translation> <translation id="1611584202130317952">Η ροή παροχής διακόπηκε. Δοκιμάστε ξανά ή επικοινωνήστε με τον κάτοχο ή τον διαχειριστή της συσκευής σας.</translation> <translation id="1611649489706141841">προώθηση</translation> <translation id="1611704746353331382">Εξαγωγή σελιδοδεικτών σε αρχείο HTML...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Προσθήκη τοποθεσίας…</translation> <translation id="1856813161013948396">Παραλείψτε την οθόνη κλειδώματος, πατώντας απλώς τον αισθητήρα δακτυλικών αποτυπωμάτων. Κάντε κλικ για διαμόρφωση.</translation> <translation id="1858585891038687145">Να θεωρείται αξιόπιστο αυτό το πιστοποιητικό για τον προσδιορισμό κατασκευαστών λογισμικού</translation> -<translation id="1859234291848436338">Κατεύθυνση γραφής</translation> <translation id="1861262398884155592">Αυτός ο φάκελος είναι άδειος</translation> <translation id="1864111464094315414">Σύνδεση</translation> <translation id="1864400682872660285">Ψυχρότερο</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Σύμπτυξη...</translation> <translation id="2737492745329609575">Έναρξη ρύθμισης</translation> <translation id="2738771556149464852">Όχι αργότερα από</translation> -<translation id="2739046699559178272">Αποθήκευση και συνέχεια</translation> <translation id="2739191690716947896">Εντοπισμός σφαλμάτων</translation> <translation id="2739240477418971307">Αλλαγή των ρυθμίσεων προσβασιμότητας</translation> <translation id="2740393541869613458">ελέγξτε τους ιστότοπους που επισκέφτηκε ο εποπτευόμενος χρήστης και</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Η λήψη ολοκληρώθηκε</translation> <translation id="2783661497142353826">Διαχείριση εφαρμογών Kiosk</translation> <translation id="2784407158394623927">Ενεργοποίηση της υπηρεσίας δεδομένων κινητής συσκευής</translation> -<translation id="2785530881066938471">Δεν ήταν δυνατή η φόρτωση του αρχείου "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου. Δεν έχει κωδικοποίηση UTF-8.</translation> <translation id="2785873697295365461">Περιγραφές αρχείων</translation> <translation id="2787047795752739979">Αντικατάσταση αρχικού</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Συνέχιση αποκλεισμού προσθηκών εκτός περιβάλλοντος δοκιμών</translation> <translation id="2890678560483811744">Η αναφορά της σελίδας βρίσκεται εκτός ορίων</translation> <translation id="2893168226686371498">Προεπιλεγμένο πρόγραμμα περιήγησης</translation> -<translation id="2893453364759632532">Παράθυρο κάτω</translation> <translation id="289644616180464099">Η κάρτα SIM είναι κλειδωμένη</translation> <translation id="289695669188700754">Αναγνωριστικό κλειδιού: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Είστε βέβαιοι ότι θέλετε να ανοίξετε <ph name="TAB_COUNT" /> καρτέλες;</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Μοιράζεστε την οθόνη</translation> <translation id="3046910703532196514">Ιστοσελίδα, πλήρης</translation> <translation id="304826556400666995">Κατάργηση σίγασης καρτελών</translation> -<translation id="3051523411789012618">Παράθυρο επάνω</translation> <translation id="3053013834507634016">Χρήση κλειδιού πιστοποιητικού</translation> <translation id="3057861065630527966">Δημιουργία αντιγράφων ασφαλείας για τις φωτογραφίες και τα βίντεό σας</translation> <translation id="3060379269883947824">Ενεργοποίηση λειτουργίας "Επιλέξτε για εκφώνηση"</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Πρόσβαση στην είσοδο ήχου και βίντεο</translation> <translation id="3090819949319990166">Δεν είναι δυνατή η αντιγραφή του εξωτερικού αρχείου crx στο <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Έγινε σύζευξη της συσκευής "<ph name="DEVICE_NAME" />"</translation> -<translation id="3097628171361913691">Εργαλείο εγκατάστασης συμπιεσμένων αρχείων</translation> <translation id="3100609564180505575">Λειτουργικές μονάδες (<ph name="TOTAL_COUNT" />) - Γνωστές διενέξεις: <ph name="BAD_COUNT" />, πιθανές: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Ημερομηνία και ώρα</translation> <translation id="3108967419958202225">Επιλογή...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Υπογραφή από</translation> <translation id="33022249435934718">Χειρισμοί GDI</translation> <translation id="3302340765592941254">Λήψη ολόκληρης ειδοποίησης</translation> -<translation id="3302709122321372472">Δεν ήταν δυνατή η φόρτωση του css "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου.</translation> <translation id="3303260552072730022">Μια επέκταση ενεργοποίησε τη λειτουργία πλήρους οθόνης.</translation> <translation id="3303818374450886607">Αντίγραφα</translation> <translation id="3303855915957856445">Δεν βρέθηκαν αποτελέσματα αναζήτησης</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Επιλογή ζώνης ώρας</translation> <translation id="3856921555429624101">Η μέτρηση της χρήσης δεδομένων έληξε</translation> <translation id="3857228364945137633">Δοκιμάστε το Smart Lock, για να ξεκλειδώσετε το <ph name="DEVICE_TYPE" /> χωρίς κωδικό πρόσβασης, όταν το τηλέφωνό σας είναι κοντά.</translation> -<translation id="3857732810083914482">Η εξατομίκευση είναι απενεργοποιημένη. Μπορείτε να αλλάξετε αυτήν τη ρύθμιση στη διεύθυνση myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Καλώς ήρθατε στο Hangouts Meet</translation> <translation id="3862134173397075045">Καλώς ήρθατε στην εμπειρία Μετάδοσης στο Chrome!</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">Έγινε εισαγωγή</translation> <translation id="3994374631886003300">Ξεκλειδώστε το τηλέφωνό σας και πλησιάστε το, για να ξεκλειδώσετε το <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Εστίαση</translation> -<translation id="39964277676607559">Δεν ήταν δυνατή η φόρτωση του javascript "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου.</translation> <translation id="4002066346123236978">Τίτλος</translation> <translation id="40027638859996362">Μετακίνηση λέξης</translation> <translation id="4005817994523282006">Μέθοδος ανίχνευσης ζώνης ώρας</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">Αποτυχία λειτουργίας αντιγραφής. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Για τα αρχεία καταγραφής δικτύου, δείτε: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Για να κατεβάσετε και να χρησιμοποιήσετε εφαρμογές Android, θα πρέπει πρώτα να εγκαταστήσετε μια ενημέρωση. Δεν είναι δυνατή η χρήση της συσκευής σας όσο η ενημέρωση είναι σε εξέλιξη. Θα γίνει επανεκκίνηση της συσκευής <ph name="DEVICE_TYPE" /> μετά την ολοκλήρωση της εγκατάστασης.</translation> -<translation id="4338683191474220626">Παράθυρο αριστερά</translation> <translation id="4340515029017875942">Το <ph name="ORIGIN" /> θέλει να επικοινωνήσει με την εφαρμογή "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ωχ, παρουσιάστηκε σφάλμα TPM.</translation> <translation id="4345587454538109430">Διαμόρφωση...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">δεν έχουν επιλεγεί cookie</translation> <translation id="4617270414136722281">Επιλογές επεκτάσεων</translation> <translation id="4619615317237390068">Καρτέλες από άλλες συσκευές</translation> -<translation id="4620809267248568679">Αυτή η ρύθμιση εφαρμόζεται από μια επέκταση.</translation> <translation id="4624768044135598934">Ολοκληρώθηκε με επιτυχία!</translation> <translation id="4625078469366263107">Ενεργοποίηση εφαρμογής</translation> <translation id="4627427111733173920">Τα cookie αποκλείστηκαν</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">Ο φάκελος που επιλέξατε περιέχει ευαίσθητα αρχεία. Είστε σίγουροι ότι θέλετε να παραχωρήσετε στο "$1" μόνιμη πρόσβαση ανάγνωσης σε αυτόν το φάκελο;</translation> <translation id="4964455510556214366">Διάταξη</translation> <translation id="4964673849688379040">Γίνεται έλεγχος…</translation> -<translation id="4965682129423310439">Το Chrome εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας. Το Chrome μπορεί να το καταργήσει και να επαναφέρει τις ρυθμίσεις σας ώστε το πρόγραμμα περιήγησης να λειτουργεί και πάλι κανονικά.</translation> <translation id="4965808351167763748">Είστε βέβαιοι ότι θέλετε να ρυθμίσετε αυτήν τη συσκευή για εκτέλεση του Hangouts Meet;</translation> <translation id="4967749818080339523">Επιλέξτε έναν λογαριασμό</translation> <translation id="496888482094675990">Η εφαρμογή "Αρχεία" παρέχει γρήγορη πρόσβαση σε αρχεία που έχετε αποθηκεύσει στο Google Drive, σε εξωτερικό χώρο αποθήκευσης ή στη συσκευή σας Chrome OS.</translation> @@ -3310,10 +3295,8 @@ <translation id="6169666352732958425">Αδυναμία μετάδοσης επιφάνειας εργασίας.</translation> <translation id="6171948306033499786">Παύση εκτύπωσης</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Το ενεργό παράθυρο μετακινήθηκε στην οθόνη από κάτω</translation> <translation id="6178664161104547336">Επιλογή πιστοποιητικού</translation> <translation id="6181431612547969857">Η λήψη αποκλείστηκε</translation> -<translation id="6181803575025675566">Ελέγξτε τον τρόπο λειτουργίας στις <ph name="LINK_START" />Ρυθμίσεις<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Τοποθεσία συσκευής</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711">Άνοιγμα με <ph name="EXTENSION_NAME" /></translation> @@ -3661,11 +3644,9 @@ <translation id="6736045498964449756">Ωχ, οι κωδικοί πρόσβασης δεν ταιριάζουν!</translation> <translation id="6736243959894955139">Διεύθυνση</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Παρόλο που δεν μπορείτε πλέον να αποκτήσετε πρόσβαση στο παλιό σας προφίλ, μπορείτε να το καταργήσετε.</translation> <translation id="6739923123728562974">Εμφάνιση συντόμευσης επιφάνειας εργασίας</translation> <translation id="6740234557573873150">Το αρχείο <ph name="FILE_NAME" /> τέθηκε σε παύση</translation> <translation id="6742339027238151589">Δυνατότητα πρόσβασης από το σενάριο</translation> -<translation id="6743841972744298686">Ρυθμίσεις συγχρονισμού</translation> <translation id="6745592621698551453">Ενημέρωση τώρα</translation> <translation id="6746124502594467657">Μετακίνηση προς τα κάτω</translation> <translation id="674632704103926902">Ενεργοποίηση μεταφοράς με πάτημα</translation> @@ -3795,7 +3776,6 @@ <translation id="6970856801391541997">Εκτύπωση συγκεκριμένων σελίδων</translation> <translation id="6972180789171089114">Ήχος/Βίντεο</translation> <translation id="6973630695168034713">Φάκελοι</translation> -<translation id="6974053822202609517">Από δεξιά προς τα αριστερά</translation> <translation id="6976108581241006975">Κονσόλα JavaScript</translation> <translation id="6977381486153291903">Έκδοση υλικολογισμικού</translation> <translation id="6978121630131642226">Μηχανές αναζήτησης</translation> @@ -3894,7 +3874,6 @@ <translation id="7108338896283013870">Απόκρυψη</translation> <translation id="7108634116785509031">Ο ιστότοπος <ph name="HOST" /> επιθυμεί να χρησιμοποιήσει την κάμερα σας</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Η εξατομίκευση είναι ενεργή. Μπορείτε να αλλάξετε αυτήν τη ρύθμιση στη διεύθυνση myaccount.google.com.</translation> <translation id="7113502843173351041">Κοινοποίηση της διεύθυνσής σας ηλεκτρονικού ταχυδρομείου</translation> <translation id="7114054701490058191">Οι κωδικοί πρόσβασης δεν ταιριάζουν</translation> <translation id="7117228822971127758">Δοκιμάστε ξανά αργότερα</translation> @@ -3959,7 +3938,6 @@ <translation id="7221869452894271364">Επαναφόρτωση αυτής της σελίδας</translation> <translation id="7222232353993864120">Διεύθυνση ηλεκτρονικού ταχυδρομείου</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Ενεργοποίηση μεγέθυνσης οθόνης</translation> <translation id="7223775956298141902">Μπουου... Δεν έχετε επεκτάσεις :-(</translation> <translation id="7225179976675429563">Ο τύπος δικτύου λείπει</translation> <translation id="7228479291753472782">Χειριστείτε ρυθμίσεις οι οποίες καθορίζουν εάν οι ιστότοποι μπορούν να χρησιμοποιούν λειτουργίες, όπως τη γεωτοποθεσία, το μικρόφωνο, την κάμερα, κ.λπ.</translation> @@ -4215,7 +4193,6 @@ <translation id="7639178625568735185">Κατάλαβα!</translation> <translation id="764017888128728">Το <ph name="PASSWORD_MANAGER_BRAND" /> σάς συνδέει αυτόματα σε κατάλληλους ιστότοπους, χρησιμοποιώντας τους κωδικούς πρόσβασης που έχετε αποθηκεύσει.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (κάτοχος)</translation> -<translation id="7647231681210854996">Το ενεργό παράθυρο μετακινήθηκε στη δεξιά οθόνη</translation> <translation id="7648992873808071793">Αποθήκευση αρχείων σε αυτήν τη συσκευή</translation> <translation id="7649070708921625228">Βοήθεια</translation> <translation id="7650511557061837441">Η επέκταση "<ph name="TRIGGERING_EXTENSION_NAME" />" θέλει να καταργήσει την επέκταση "<ph name="EXTENSION_NAME" />".</translation> @@ -4675,7 +4652,6 @@ <translation id="8371695176452482769">Μιλήστε τώρα</translation> <translation id="8372369524088641025">Εσφαλμένο κλειδί WEP</translation> <translation id="8373553483208508744">Σίγαση καρτελών</translation> -<translation id="8377870760189106701">Παράθυρο δεξιά</translation> <translation id="8378285435971754261">Επιτρέψτε στην υπηρεσία τοποθεσίας της Google να βοηθά τις εφαρμογές να εντοπίζουν γρήγορα και με ακρίβεια την τοποθεσία σας, περιορίζοντας έτσι την κατανάλωση μπαταρίας. Τα ανώνυμα δεδομένα τοποθεσίας θα αποστέλλονται στην Google, ακόμη κι όταν δεν εκτελούνται εφαρμογές. <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Διαχείριση ρυθμίσεων κάμερας…</translation> <translation id="8382913212082956454">Αντιγραφή διεύθυνσης &ηλεκτρονικού ταχυδρομείου</translation> @@ -4795,7 +4771,6 @@ <translation id="8581809080475256101">Πατήστε για να μεταβείτε προς τα εμπρός στο μενού περιβάλλοντος για να δείτε το ιστορικό</translation> <translation id="8584280235376696778">&Άνοιγμα βίντεο σε νέα καρτέλα</translation> <translation id="8588866096426746242">Εμφάνιση στατιστικών στοιχείων προφίλ</translation> -<translation id="8589652987924574405">Οι σελιδοδείκτες, το ιστορικό, οι κωδικοί πρόσβασης και άλλες ρυθμίσεις σας θα συγχρονιστούν με τον Λογαριασμό σας Google ώστε η χρήση τους να είναι δυνατή σε όλες τις συσκευές σας. Μπορείτε να αλλάξετε αυτήν τη ρύθμιση από τις Ρυθμίσεις.</translation> <translation id="8590375307970699841">Ρύθμιση αυτόματων ενημερώσεων</translation> <translation id="8594908476761052472">Λήψη βίντεο</translation> <translation id="8596540852772265699">Προσαρμοσμένα αρχεία</translation> @@ -4811,7 +4786,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Κατάσταση περιαγωγής</translation> <translation id="8620765578342452535">Διαμόρφωση συνδέσεων δικτύου</translation> -<translation id="8620790565535071193">Αποτυχία σάρωσης</translation> <translation id="8624205858755890468">Επιτρέπει στον Βοηθό να σας εμφανίζει σχετικές πληροφορίες, εφαρμογές και ενέργειες.</translation> <translation id="862542460444371744">&Επεκτάσεις</translation> <translation id="8627151598708688654">Επιλογή πηγής</translation> @@ -4889,7 +4863,6 @@ <translation id="871476437400413057">Κωδικοί πρόσβασης που έχουν αποθηκευτεί από το Google</translation> <translation id="8714838604780058252">Γραφικά φόντου</translation> <translation id="8719653885894320876">Η λήψη της προσθήκης <ph name="PLUGIN_NAME" /> απέτυχε</translation> -<translation id="8721669057562068233">Το ενεργό παράθυρο μετακινήθηκε στην επάνω οθόνη</translation> <translation id="8723829621484579639">Υποπλαίσια ανώνυμης περιήγησης για: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Εμφάνιση στο φάκελο</translation> <translation id="8725066075913043281">Προσπαθήστε ξανά</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Γραφίδα</translation> <translation id="8787254343425541995">Να επιτρέπονται οι διακομιστές μεσολάβησης για κοινόχρηστα δίκτυα</translation> <translation id="8791534160414513928">Να αποστέλλεται ένα αίτημα "Να μην γίνεται εντοπισμός" με την επισκεψιμότητα της περιήγησής σας</translation> -<translation id="8792609692701651064">Το ενεργό παράθυρο μετακινήθηκε στην αριστερή οθόνη</translation> <translation id="8794025342371547160">Περιορισμένο IP</translation> <translation id="879413103056696865">Ενώ το σημείο πρόσβασης Wi-Fi είναι ενεργό, το τηλέφωνο <ph name="PHONE_NAME" /> θα:</translation> <translation id="8795916974678578410">Νέο Παράθυρο</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">Άνοιγμα σε &Νέα Καρτέλα</translation> <translation id="9024331582947483881">πλήρης οθόνη</translation> <translation id="9025098623496448965">Εντάξει, θέλω να επιστρέψω στην οθόνη σύνδεσης</translation> -<translation id="902659348151742535">Η Google μπορεί να χρησιμοποιεί το ιστορικό περιήγησής σας για την εξατομίκευση της Αναζήτησης, των διαφημίσεων και άλλων υπηρεσιών Google.</translation> <translation id="9026731007018893674">αρχείο λήψης</translation> <translation id="9027146684281895941">Επιβλέψτε αυτό το άτομο για να ελέγξετε και να προβάλετε τους ιστότοπους που επισκέπτεται από το Λογαριασμό σας Google.</translation> <translation id="9027459031423301635">Άνοιγμα Συνδέσμου σε Νέα Καρτέ&λα</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb index 04fdb81c..ae0424e 100644 --- a/chrome/app/resources/generated_resources_en-GB.xtb +++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">No networks</translation> <translation id="1056898198331236512">Warning</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Can't remove harmful software</translation> <translation id="1062407476771304334">Replace</translation> <translation id="1062866675591297858">Manage your supervised users via the <ph name="BEGIN_LINK" />Supervised Users Dashboard<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Join private network</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Choose a file</translation> <translation id="136802136832547685">There are no supervised users to add to this device.</translation> <translation id="1368265273904755308">Report issue</translation> -<translation id="1368832886055348810">Left to Right</translation> <translation id="1370646789215800222">Remove person?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{One item to be removed}other{# items to be removed}}</translation> <translation id="1372841398847029212">Sync to your account</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Remove this user</translation> <translation id="1609170755653088773">Sync this password to your iPhone</translation> <translation id="1609862759711084604">Previous user</translation> -<translation id="1611557582955786626">Sign in for a personalised browsing experience, synced across your devices</translation> <translation id="1611584202130317952">Provisioning flow was interrupted. Please try again or contact your device owner or administrator.</translation> <translation id="1611649489706141841">forward</translation> <translation id="1611704746353331382">Export Bookmarks to HTML File...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Add location...</translation> <translation id="1856813161013948396">Skip the lock screen by just tapping the fingerprint sensor. Click to configure.</translation> <translation id="1858585891038687145">Trust this certificate for identifying software makers</translation> -<translation id="1859234291848436338">Writing Direction</translation> <translation id="1861262398884155592">This folder is empty</translation> <translation id="1864111464094315414">Login</translation> <translation id="1864400682872660285">Cooler</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Collapse...</translation> <translation id="2737492745329609575">Start setup</translation> <translation id="2738771556149464852">Not After</translation> -<translation id="2739046699559178272">Save and continue</translation> <translation id="2739191690716947896">Debug</translation> <translation id="2739240477418971307">Change your accessibility settings</translation> <translation id="2740393541869613458">review websites the supervised user has visited, and</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Downloaded</translation> <translation id="2783661497142353826">Manage Kiosk Applications</translation> <translation id="2784407158394623927">Activating your mobile data service</translation> -<translation id="2785530881066938471">Could not load file '<ph name="RELATIVE_PATH" />' for content script. It isn't UTF-8 encoded.</translation> <translation id="2785873697295365461">File descriptors</translation> <translation id="2787047795752739979">Overwrite original</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Continue blocking unsandboxed plug-ins</translation> <translation id="2890678560483811744">Out of bounds page reference</translation> <translation id="2893168226686371498">Default browser</translation> -<translation id="2893453364759632532">Window down</translation> <translation id="289644616180464099">SIM Card is locked</translation> <translation id="289695669188700754">Key ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Are you sure that you want to open <ph name="TAB_COUNT" /> tabs?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Sharing screen</translation> <translation id="3046910703532196514">Web Page, Complete</translation> <translation id="304826556400666995">Unmute Tabs</translation> -<translation id="3051523411789012618">Window up</translation> <translation id="3053013834507634016">Certificate Key Usage</translation> <translation id="3057861065630527966">Backup your photos and videos</translation> <translation id="3060379269883947824">Enable Select to Speak</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Accessing audio and video input</translation> <translation id="3090819949319990166">Can't copy external crx file to <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" paired</translation> -<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3100609564180505575">Modules (<ph name="TOTAL_COUNT" />) - Known conflicts: <ph name="BAD_COUNT" />, suspected: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Date and time</translation> <translation id="3108967419958202225">Choose...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Signed by</translation> <translation id="33022249435934718">GDI Handles</translation> <translation id="3302340765592941254">Download complete notification</translation> -<translation id="3302709122321372472">Could not load css '<ph name="RELATIVE_PATH" />' for content script.</translation> <translation id="3303260552072730022">An extension triggered full screen.</translation> <translation id="3303818374450886607">Copies</translation> <translation id="3303855915957856445">No search results found</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Select Time Zone</translation> <translation id="3856921555429624101">Data use measuring has ended</translation> <translation id="3857228364945137633">Try Smart Lock to unlock your <ph name="DEVICE_TYPE" /> without a password when your phone is nearby.</translation> -<translation id="3857732810083914482">Personalisation is off. You can change this at myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Welcome to Hangouts Meet</translation> <translation id="3862134173397075045">Welcome to the Cast experience in Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Imported</translation> <translation id="3994374631886003300">Unlock your phone and bring it closer to unlock your <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Could not load JavaScript '<ph name="RELATIVE_PATH" />' for content script.</translation> <translation id="4002066346123236978">Title</translation> <translation id="40027638859996362">Word move</translation> <translation id="4005817994523282006">Time zone detection method</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Copy operation failed. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">For network logs, see: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">To download and use Android apps, first you need to install an update. While your device is updating, you can’t use it. Your <ph name="DEVICE_TYPE" /> will restart after installation completes.</translation> -<translation id="4338683191474220626">Window left</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> wants to communicate with the app "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Oops, TPM error.</translation> <translation id="4345587454538109430">Configure...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">no cookie selected</translation> <translation id="4617270414136722281">Extension options</translation> <translation id="4619615317237390068">Tabs from other devices</translation> -<translation id="4620809267248568679">This setting is enforced by an extension.</translation> <translation id="4624768044135598934">Success!</translation> <translation id="4625078469366263107">Enable App</translation> <translation id="4627427111733173920">Cookies blocked</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">The folder that you selected contains sensitive files. Are you sure that you want to grant "$1" permanent read access to this folder?</translation> <translation id="4964455510556214366">Arrangement</translation> <translation id="4964673849688379040">Checking...</translation> -<translation id="4965682129423310439">Chrome found harmful software on your computer. Chrome can remove it and restore your settings to make your browser work normally again.</translation> <translation id="4965808351167763748">Are you sure that you want to set up this device to run Hangouts Meet?</translation> <translation id="4967749818080339523">Select an account</translation> <translation id="496888482094675990">The Files app provides quick access to files that you've saved on Google Drive, external storage or your Chrome OS device.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Unable to cast desktop.</translation> <translation id="6171948306033499786">Pause printing</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Active window moved to below display</translation> <translation id="6178664161104547336">Select a certificate</translation> <translation id="6181431612547969857">Download blocked</translation> -<translation id="6181803575025675566">Control how this works in <ph name="LINK_START" />Settings<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Device Location</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711">Open with <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Whoops, passwords do not match!</translation> <translation id="6736243959894955139">Address</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Although you can no longer access your old profile, you can remove it.</translation> <translation id="6739923123728562974">Show desktop shortcut</translation> <translation id="6740234557573873150">Paused <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Accessible to script</translation> -<translation id="6743841972744298686">Sync settings</translation> <translation id="6745592621698551453">Update now</translation> <translation id="6746124502594467657">Move down</translation> <translation id="674632704103926902">Enable tap dragging</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Print Specific Pages</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Folders</translation> -<translation id="6974053822202609517">Right to Left</translation> <translation id="6976108581241006975">JavaScript console</translation> <translation id="6977381486153291903">Firmware revision</translation> <translation id="6978121630131642226">Search Engines</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Hide</translation> <translation id="7108634116785509031"><ph name="HOST" /> wants to use your camera</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Personalisation is on. You can change this at myaccount.google.com.</translation> <translation id="7113502843173351041">Know your email address</translation> <translation id="7114054701490058191">Passwords don't match</translation> <translation id="7117228822971127758">Please try again later</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Reload this page</translation> <translation id="7222232353993864120">Email Address</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Enable screen magnifier</translation> <translation id="7223775956298141902">Oh dear... You have no extensions :-(</translation> <translation id="7225179976675429563">Network type missing</translation> <translation id="7228479291753472782">Manipulate settings that specify whether websites can use features such as geo-location, microphone, camera, etc.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Got it!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> automatically signs you in to eligible sites with passwords that you saved.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (owner)</translation> -<translation id="7647231681210854996">Active window moved to right display</translation> <translation id="7648992873808071793">Store files on this device</translation> <translation id="7649070708921625228">Help</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" would like to remove "<ph name="EXTENSION_NAME" />".</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Speak now</translation> <translation id="8372369524088641025">Bad WEP key</translation> <translation id="8373553483208508744">Mute tabs</translation> -<translation id="8377870760189106701">Window right</translation> <translation id="8378285435971754261">Let Google’s location service help apps find your location quickly and accurately, which can reduce battery consumption. Anonymous location data will be sent to Google, even when no apps are running. <ph name="BEGIN_LINK1" />Learn More<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Manage camera settings...</translation> <translation id="8382913212082956454">Copy &email address</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Press to go forward, context menu to see history</translation> <translation id="8584280235376696778">&Open video in new tab</translation> <translation id="8588866096426746242">Show profile stats</translation> -<translation id="8589652987924574405">Your bookmarks, history, passwords and other settings will be synced to your Google Account so that you can use them on all your devices. You can always change this later in your settings.</translation> <translation id="8590375307970699841">Set up automatic updates</translation> <translation id="8594908476761052472">Capture video</translation> <translation id="8596540852772265699">Customised Files</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Roaming status</translation> <translation id="8620765578342452535">Configure network connections</translation> -<translation id="8620790565535071193">Scanning failed</translation> <translation id="8624205858755890468">Enables the Assistant to show you related info, apps and actions.</translation> <translation id="862542460444371744">&Extensions</translation> <translation id="8627151598708688654">Select source</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Google saved passwords</translation> <translation id="8714838604780058252">Background graphics</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> download failed</translation> -<translation id="8721669057562068233">Active window moved to above display</translation> <translation id="8723829621484579639">Incognito subframes for: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Show in Folder</translation> <translation id="8725066075913043281">Try again</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Stylus</translation> <translation id="8787254343425541995">Allow proxies for shared networks</translation> <translation id="8791534160414513928">Send a "Do Not Track" request with your browsing traffic</translation> -<translation id="8792609692701651064">Active window moved to left display</translation> <translation id="8794025342371547160">Restricted IP</translation> <translation id="879413103056696865">While the hotspot is on, your <ph name="PHONE_NAME" /> will:</translation> <translation id="8795916974678578410">New Window</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Open in New Tab</translation> <translation id="9024331582947483881">full screen</translation> <translation id="9025098623496448965">OK, Take me back to sign-in screen</translation> -<translation id="902659348151742535">Google may use your browsing history to personalise Search, ads and other Google services.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Supervise this person to control and view the websites they visit from your Google Account.</translation> <translation id="9027459031423301635">Open Link in New &Tab</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb index 2011e66..d61a49a 100644 --- a/chrome/app/resources/generated_resources_es-419.xtb +++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">No hay redes</translation> <translation id="1056898198331236512">Advertencia</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">No se pudo quitar el software dañino</translation> <translation id="1062407476771304334">Reemplazar</translation> <translation id="1062866675591297858">Administra los usuarios supervisados mediante el <ph name="BEGIN_LINK" />panel de control de usuarios supervisados<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Conectarse a una red privada</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Selecciona un archivo</translation> <translation id="136802136832547685">No hay usuarios supervisados para agregar a este dispositivo.</translation> <translation id="1368265273904755308">Informar un problema</translation> -<translation id="1368832886055348810">De izquierda a derecha</translation> <translation id="1370646789215800222">¿Eliminar persona?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Se quitará 1 elemento}other{Se quitarán # elementos}}</translation> <translation id="1372841398847029212">Sincronizar con tu cuenta</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">Eliminar este usuario</translation> <translation id="1609170755653088773">Sincronizar esta contraseña con tu iPhone</translation> <translation id="1609862759711084604">Usuario anterior</translation> -<translation id="1611557582955786626">Accede para obtener una experiencia de navegación personalizada y sincronizada en todos tus dispositivos</translation> <translation id="1611584202130317952">Se interrumpió el flujo de aprovisionamiento. Vuelve a intentarlo o comunícate con el administrador o propietario de tu dispositivo.</translation> <translation id="1611649489706141841">adelante</translation> <translation id="1611704746353331382">Exportar favoritos a un archivo HTML...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Agregar ubicación...</translation> <translation id="1856813161013948396">Para omitir la pantalla bloqueada, presiona el sensor de huellas digitales. Haz clic para configurar esta función.</translation> <translation id="1858585891038687145">Confiar en este certificado para identificar fabricantes de software</translation> -<translation id="1859234291848436338">Sentido de la escritura</translation> <translation id="1861262398884155592">Esta carpeta está vacía</translation> <translation id="1864111464094315414">Acceder</translation> <translation id="1864400682872660285">Frío</translation> @@ -1130,7 +1126,6 @@ <translation id="2737363922397526254">Contraer...</translation> <translation id="2737492745329609575">Iniciar configuración</translation> <translation id="2738771556149464852">No después</translation> -<translation id="2739046699559178272">Guardar y continuar</translation> <translation id="2739191690716947896">Depurar</translation> <translation id="2739240477418971307">Cambiar la configuración de accesibilidad</translation> <translation id="2740393541869613458">revisar sitios web que visitó el usuario supervisado; y</translation> @@ -1156,7 +1151,6 @@ <translation id="2783298271312924866">Descargado</translation> <translation id="2783661497142353826">Administrar las aplicaciones de kiosco</translation> <translation id="2784407158394623927">Activando el servicio de datos para celulares</translation> -<translation id="2785530881066938471">No se pudo cargar el archivo "<ph name="RELATIVE_PATH" />" para la secuencia de comandos del contenido. No está codificado en UTF-8.</translation> <translation id="2785873697295365461">Descriptores de archivo</translation> <translation id="2787047795752739979">Sobrescribir en el original</translation> <translation id="2788135150614412178">+</translation> @@ -1242,7 +1236,6 @@ <translation id="2889925978073739256">Seguir bloqueando los complementos no incluidos en la zona de pruebas</translation> <translation id="2890678560483811744">Referencia de página fuera de los límites</translation> <translation id="2893168226686371498">Navegador predeterminado</translation> -<translation id="2893453364759632532">Ventana hacia abajo</translation> <translation id="289644616180464099">La tarjeta SIM está bloqueada</translation> <translation id="289695669188700754">ID de clave: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">¿Estás seguro de que deseas abrir <ph name="TAB_COUNT" /> pestañas?</translation> @@ -1355,7 +1348,6 @@ <translation id="304567287000691532">Compartiendo pantalla</translation> <translation id="3046910703532196514">Página web, completa</translation> <translation id="304826556400666995">Activar sonido de las pestañas</translation> -<translation id="3051523411789012618">Ventana hacia arriba</translation> <translation id="3053013834507634016">Uso de la clave del certificado</translation> <translation id="3057861065630527966">Crea una copia de seguridad de tus fotos y videos.</translation> <translation id="3060379269883947824">Habilitar Seleccionar para pronunciar</translation> @@ -1385,7 +1377,6 @@ <translation id="3090193911106258841">Accediendo a la entrada de video y de audio</translation> <translation id="3090819949319990166">No se puede copiar el archivo crx externo a <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" sincronizado</translation> -<translation id="3097628171361913691">Instalador de archivos comprimidos</translation> <translation id="3100609564180505575">Módulos (<ph name="TOTAL_COUNT" />) - conflictos conocidos: <ph name="BAD_COUNT" />, supuestos: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Fecha y hora</translation> <translation id="3108967419958202225">Elige...</translation> @@ -1507,7 +1498,6 @@ <translation id="3300394989536077382">Firmado por</translation> <translation id="33022249435934718">A cargo de GDI</translation> <translation id="3302340765592941254">Notificación de descarga completa</translation> -<translation id="3302709122321372472">No se pudo cargar <ph name="RELATIVE_PATH" /> css para la secuencia de comandos del contenido.</translation> <translation id="3303260552072730022">Una extensión activó la pantalla completa.</translation> <translation id="3303818374450886607">Copias</translation> <translation id="3303855915957856445">No se encontraron resultados en la búsqueda</translation> @@ -1888,7 +1878,6 @@ <translation id="3856800405688283469">Seleccionar zona horaria</translation> <translation id="3856921555429624101">Se terminó de medir el uso de datos</translation> <translation id="3857228364945137633">Prueba Smart Lock para desbloquear tu <ph name="DEVICE_TYPE" /> sin necesidad de una contraseña cuando el teléfono está cerca.</translation> -<translation id="3857732810083914482">La personalización está desactivada. Puedes activarla en myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Bienvenido a Meet de Hangouts</translation> <translation id="3862134173397075045">¡Bienvenido a la experiencia de transmisión en Chrome!</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">Importado</translation> <translation id="3994374631886003300">Desbloquea tu teléfono y acércalo para desbloquear tu <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Tamaño</translation> -<translation id="39964277676607559">No se pudo cargar JavaScript <ph name="RELATIVE_PATH" /> css para la secuencia de comandos del contenido.</translation> <translation id="4002066346123236978">Título</translation> <translation id="40027638859996362">Movimiento de palabra</translation> <translation id="4005817994523282006">Método de detección de la zona horaria</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">Se produjo un error al realizar la operación de copia (<ph name="ERROR_MESSAGE" />).</translation> <translation id="4336979451636460645">Para ver los registros de red, consulta: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Para descargar y usar apps de Android, primero debes instalar una actualización. No puedes usar tu dispositivo durante el proceso de actualización. El dispositivo <ph name="DEVICE_TYPE" /> se reiniciará cuando haya finalizado la instalación.</translation> -<translation id="4338683191474220626">Ventana hacia la izquierda</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> quiere comunicarse con la aplicación "<ph name="EXTENSION_NAME" />".</translation> <translation id="4342311272543222243">Se produjo un error de TPM.</translation> <translation id="4345587454538109430">Configurar...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">no se seleccionaron cookies</translation> <translation id="4617270414136722281">Opciones de las extensiones</translation> <translation id="4619615317237390068">Pestañas de otros dispositivos</translation> -<translation id="4620809267248568679">Una extensión administra esta configuración.</translation> <translation id="4624768044135598934">¡Exitoso!</translation> <translation id="4625078469366263107">Habilitar app</translation> <translation id="4627427111733173920">Se bloquearon cookies</translation> @@ -2531,7 +2517,6 @@ <translation id="496226124210045887">La carpeta seleccionada contiene archivos confidenciales. ¿Confirmas que deseas otorgar a "$1" acceso de lectura permanente a esta carpeta?</translation> <translation id="4964455510556214366">Disposición</translation> <translation id="4964673849688379040">Verificando…</translation> -<translation id="4965682129423310439">Se encontró software dañino en tu computadora. Chrome puede quitarlo y restablecer la configuración para que el navegador vuelva a funcionar correctamente.</translation> <translation id="4965808351167763748">¿Seguro que deseas configurar este dispositivo para ejecutar Meet de Hangouts?</translation> <translation id="4967749818080339523">Seleccionar una cuenta</translation> <translation id="496888482094675990">La aplicación Archivos brinda acceso rápido a los archivos que hayas guardado en Google Drive, el almacenamiento externo o el dispositivo del Sistema operativo Chrome.</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">No se puede transmitir el escritorio</translation> <translation id="6171948306033499786">Pausar impresión</translation> <translation id="6175314957787328458">GUID de dominio de Microsoft</translation> -<translation id="6176032031541598434">La ventana activa se movió a la pantalla inferior</translation> <translation id="6178664161104547336">Seleccionar un certificado</translation> <translation id="6181431612547969857">Descarga bloqueada</translation> -<translation id="6181803575025675566">Controla el funcionamiento en <ph name="LINK_START" />Configuración<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Ubicación del dispositivo</translation> <translation id="6185696379715117369">Retroceder página</translation> <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">Las contraseñas no coinciden.</translation> <translation id="6736243959894955139">Dirección</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Si bien ya no puedes acceder a tu perfil anterior, puedes quitarlo.</translation> <translation id="6739923123728562974">Mostrar acceso directo de escritorio</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> en pausa</translation> <translation id="6742339027238151589">Accesible para secuencia de comandos</translation> -<translation id="6743841972744298686">Configuración de sincronización</translation> <translation id="6745592621698551453">Actualizar ahora</translation> <translation id="6746124502594467657">Mover hacia abajo</translation> <translation id="674632704103926902">Habilitar la función tocar y arrastrar</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">Imprimir páginas específicas</translation> <translation id="6972180789171089114">Audio/video</translation> <translation id="6973630695168034713">Carpetas</translation> -<translation id="6974053822202609517">De derecha a izquierda</translation> <translation id="6976108581241006975">Consola de JavaScript</translation> <translation id="6977381486153291903">Revisión de firmware</translation> <translation id="6978121630131642226">Motores de búsqueda</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">Ocultar</translation> <translation id="7108634116785509031"><ph name="HOST" /> desea usar tu cámara</translation> <translation id="7108668606237948702">ingresar</translation> -<translation id="7112978678959880812">La personalización está activada. Puedes desactivarla en myaccount.google.com.</translation> <translation id="7113502843173351041">Conocer tu dirección de correo electrónico</translation> <translation id="7114054701490058191">Las contraseñas no coinciden</translation> <translation id="7117228822971127758">Vuelve a intentarlo más tarde</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">Cargar esta página de nuevo</translation> <translation id="7222232353993864120">Dirección de correo electrónico</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Habilitar la lupa</translation> <translation id="7223775956298141902">Vaya, no tienes ninguna extensión. :-(</translation> <translation id="7225179976675429563">Falta el tipo de red.</translation> <translation id="7228479291753472782">Se manipularán las opciones de configuración que especifican si los sitios web pueden usar funciones, como la ubicación geográfica, el micrófono, la cámara, etc.</translation> @@ -4210,7 +4188,6 @@ <translation id="7639178625568735185">Entendido</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> te permite acceder automáticamente a los sitios aptos con las contraseñas que guardaste.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietario/a)</translation> -<translation id="7647231681210854996">La ventana activa se movió a la pantalla derecha</translation> <translation id="7648992873808071793">Almacenar archivos en el dispositivo</translation> <translation id="7649070708921625228">Ayuda</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" quiere eliminar "<ph name="EXTENSION_NAME" />".</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">Hablar ahora</translation> <translation id="8372369524088641025">Clave de WEP no válida</translation> <translation id="8373553483208508744">Silenciar pestañas</translation> -<translation id="8377870760189106701">Ventana a la derecha</translation> <translation id="8378285435971754261">Permite que el servicio de ubicación de Google ayude a las apps a encontrar tu ubicación de forma rápida y precisa, lo que permite reducir el consumo de la batería. Se enviarán datos de ubicación anónimos a Google, incluso cuando no se ejecute ninguna app. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Administrar la configuración de la cámara…</translation> <translation id="8382913212082956454">Copiar dir&ección de correo electrónico</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">Presiona para avanzar; usa el menú contextual para consultar el historial</translation> <translation id="8584280235376696778">Abrir video en una nueva pestaña</translation> <translation id="8588866096426746242">Mostrar estadísticas del perfil</translation> -<translation id="8589652987924574405">Tus favoritos, historial, contraseñas y otras opciones de configuración se sincronizarán con tu cuenta de Google para que puedas usarlos en todos tus dispositivos. Puedes cambiar esta opción más tarde en la configuración.</translation> <translation id="8590375307970699841">Configurar actualizaciones automáticas</translation> <translation id="8594908476761052472">Capturar video</translation> <translation id="8596540852772265699">Archivos personalizados</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Estado de roaming</translation> <translation id="8620765578342452535">Configurar las conexiones de red</translation> -<translation id="8620790565535071193">Se produjo un error durante el escaneo</translation> <translation id="8624205858755890468">Permite que el Asistente te muestre información relacionada, apps y acciones.</translation> <translation id="862542460444371744">&Extensiones</translation> <translation id="8627151598708688654">Seleccionar la fuente</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">Contraseñas guardadas por Google</translation> <translation id="8714838604780058252">Gráficos en segundo plano</translation> <translation id="8719653885894320876">Se produjo un error al descargar <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">La ventana activa se movió a la pantalla superior</translation> <translation id="8723829621484579639">Submarcos incógnito para: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Mo&strar en carpeta</translation> <translation id="8725066075913043281">Intentar nuevamente</translation> @@ -4929,7 +4902,6 @@ <translation id="8785622406424941542">Pluma stylus</translation> <translation id="8787254343425541995">Permitir proxies para redes compartidas</translation> <translation id="8791534160414513928">Enviar solicitud de "No realizar seguimiento" con el tráfico de navegación</translation> -<translation id="8792609692701651064">La ventana activa se movió a la pantalla izquierda</translation> <translation id="8794025342371547160">IP restringido</translation> <translation id="879413103056696865">Mientras el hotspot esté activado, tu número <ph name="PHONE_NAME" /> podrá:</translation> <translation id="8795916974678578410">Nueva ventana</translation> @@ -5066,7 +5038,6 @@ <translation id="9024127637873500333">&Abrir en una nueva pestaña</translation> <translation id="9024331582947483881">pantalla completa</translation> <translation id="9025098623496448965">De acuerdo, volver a la pantalla de acceso</translation> -<translation id="902659348151742535">Es posible que Google use tu historial de navegación para personalizar Búsqueda, Ads y otros servicios de Google.</translation> <translation id="9026731007018893674">descarga</translation> <translation id="9027146684281895941">Supervisa esta persona para controlar y ver los sitios web que visita desde tu cuenta de Google.</translation> <translation id="9027459031423301635">Abrir vínculo en la pes&taña nueva</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb index f195171..dd8bfa6 100644 --- a/chrome/app/resources/generated_resources_es.xtb +++ b/chrome/app/resources/generated_resources_es.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">No hay redes</translation> <translation id="1056898198331236512">Advertencia</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">No se ha podido eliminar el software dañino</translation> <translation id="1062407476771304334">Sustituir</translation> <translation id="1062866675591297858">Administra los usuarios supervisados mediante el <ph name="BEGIN_LINK" />panel de control de usuarios supervisados<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Conectarse a una red privada</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Selecciona un archivo</translation> <translation id="136802136832547685">No hay ningún usuario supervisado para añadirlo a este dispositivo.</translation> <translation id="1368265273904755308">Notificar error</translation> -<translation id="1368832886055348810">De izquierda a derecha</translation> <translation id="1370646789215800222">¿Eliminar a esta persona?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Se va a quitar 1 elemento}other{Se van a quitar # elementos}}</translation> <translation id="1372841398847029212">Sincronizar con tu cuenta</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Eliminar este usuario</translation> <translation id="1609170755653088773">Sincronizar esta contraseña con tu iPhone</translation> <translation id="1609862759711084604">Usuario anterior</translation> -<translation id="1611557582955786626">Inicia sesión para disfrutar de una experiencia de navegación personalizada y sincronizada en todos tus dispositivos</translation> <translation id="1611584202130317952">Se ha interrumpido el flujo de aprovisionamiento. Vuelve a intentarlo más tarde o ponte en contacto con el propietario o el administrador del dispositivo.</translation> <translation id="1611649489706141841">adelante</translation> <translation id="1611704746353331382">Exportar marcadores a archivo HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Añadir ubicación...</translation> <translation id="1856813161013948396">Sáltate la pantalla de bloqueo con solo tocar el sensor de huellas digitales. Haz clic para configurar esta función.</translation> <translation id="1858585891038687145">Confiar en este certificado para identificar a los fabricantes de software</translation> -<translation id="1859234291848436338">Sentido de la escritura</translation> <translation id="1861262398884155592">Esta carpeta está vacía</translation> <translation id="1864111464094315414">Acceder</translation> <translation id="1864400682872660285">Más frío</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Ocultar...</translation> <translation id="2737492745329609575">Iniciar configuración</translation> <translation id="2738771556149464852">Anterior a</translation> -<translation id="2739046699559178272">Guardar y continuar</translation> <translation id="2739191690716947896">Depurar</translation> <translation id="2739240477418971307">Cambiar tu configuración de accesibilidad</translation> <translation id="2740393541869613458">revisar sitios web que ha visitado el usuario supervisado,</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Descargado</translation> <translation id="2783661497142353826">Administrar aplicaciones de kiosco</translation> <translation id="2784407158394623927">Activando el servicio de datos móviles</translation> -<translation id="2785530881066938471">No se ha podido cargar el archivo "<ph name="RELATIVE_PATH" />" para el script de contenido. No está codificado con UTF-8.</translation> <translation id="2785873697295365461">Descriptores de archivo</translation> <translation id="2787047795752739979">Sobrescribir original</translation> <translation id="2788135150614412178">+</translation> @@ -1247,7 +1241,6 @@ <translation id="2889925978073739256">Seguir bloqueando complementos no incluidos en la zona de pruebas</translation> <translation id="2890678560483811744">La referencia de página está fuera de los límites admitidos</translation> <translation id="2893168226686371498">Navegador predeterminado</translation> -<translation id="2893453364759632532">Mover ventana hacia abajo</translation> <translation id="289644616180464099">La tarjeta SIM está bloqueada</translation> <translation id="289695669188700754">ID de clave: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">¿Seguro que quieres abrir <ph name="TAB_COUNT" /> pestañas?</translation> @@ -1360,7 +1353,6 @@ <translation id="304567287000691532">Compartiendo pantalla</translation> <translation id="3046910703532196514">Página web (completa)</translation> <translation id="304826556400666995">Activar sonido de pestañas</translation> -<translation id="3051523411789012618">Mover ventana hacia arriba</translation> <translation id="3053013834507634016">Uso de claves de certificado</translation> <translation id="3057861065630527966">Realiza copias de seguridad de tus fotos y vídeos</translation> <translation id="3060379269883947824">Habilitar Escuchar Selección</translation> @@ -1390,7 +1382,6 @@ <translation id="3090193911106258841">Accediendo a la entrada de vídeo y audio</translation> <translation id="3090819949319990166">No se puede copiar el archivo crx externo en <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558"><ph name="DEVICE_NAME" /> vinculado</translation> -<translation id="3097628171361913691">Instalador de archivos .zip</translation> <translation id="3100609564180505575">Módulos (<ph name="TOTAL_COUNT" />) - conflictos conocidos: <ph name="BAD_COUNT" />; conflictos sospechosos: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Fecha y hora</translation> <translation id="3108967419958202225">Seleccionar...</translation> @@ -1512,7 +1503,6 @@ <translation id="3300394989536077382">Firmado por</translation> <translation id="33022249435934718">GDI administra</translation> <translation id="3302340765592941254">Notificación de descarga completada</translation> -<translation id="3302709122321372472">No se ha podido cargar el archivo CSS "<ph name="RELATIVE_PATH" />" para el script de contenido.</translation> <translation id="3303260552072730022">Una extensión ha activado el modo de pantalla completa.</translation> <translation id="3303818374450886607">Copias</translation> <translation id="3303855915957856445">No se han encontrado resultados de búsqueda</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Seleccionar zona horaria</translation> <translation id="3856921555429624101">La medición del uso de datos ha finalizado</translation> <translation id="3857228364945137633">Prueba Smart Lock para desbloquear tu <ph name="DEVICE_TYPE" /> sin una contraseña cuando tu teléfono esté cerca.</translation> -<translation id="3857732810083914482">La personalización está desactivada. Puedes cambiar esta opción en myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Te damos la bienvenida a Hangouts Meet</translation> <translation id="3862134173397075045">Te damos la bienvenida a la experiencia Cast en Chrome</translation> @@ -1981,7 +1970,6 @@ <translation id="399179161741278232">Importados</translation> <translation id="3994374631886003300">Desbloquea el teléfono y acércalo para desbloquear tu <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Tamaño</translation> -<translation id="39964277676607559">No se ha podido cargar la ruta "<ph name="RELATIVE_PATH" />" de JavaScript para el script de contenido.</translation> <translation id="4002066346123236978">Título</translation> <translation id="40027638859996362">Movimiento de palabras</translation> <translation id="4005817994523282006">Método de detección de zona horaria</translation> @@ -2160,7 +2148,6 @@ <translation id="4336032328163998280">No se ha podido realizar la operación de copia (<ph name="ERROR_MESSAGE" />).</translation> <translation id="4336979451636460645">Puedes consultar los registros de red en la página <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Para descargar y utilizar aplicaciones de Android, debes instalar una actualización. No puedes utilizar el dispositivo mientras se actualiza. Tu <ph name="DEVICE_TYPE" /> se reiniciará cuando se complete la instalación.</translation> -<translation id="4338683191474220626">Mover ventana a la izquierda</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> quiere comunicarse con la aplicación <ph name="EXTENSION_NAME" /></translation> <translation id="4342311272543222243">¡Vaya! Se ha producido un error de TPM</translation> <translation id="4345587454538109430">Configurar...</translation> @@ -2312,7 +2299,6 @@ <translation id="4615586811063744755">no se ha seleccionado ninguna cookie</translation> <translation id="4617270414136722281">Opciones de extensión</translation> <translation id="4619615317237390068">Pestañas de otros dispositivos</translation> -<translation id="4620809267248568679">Una extensión aplica esta opción.</translation> <translation id="4624768044135598934">La operación se ha realizado correctamente.</translation> <translation id="4625078469366263107">Habilitar aplicación</translation> <translation id="4627427111733173920">Cookies bloqueadas</translation> @@ -2533,7 +2519,6 @@ <translation id="496226124210045887">La carpeta que has seleccionado contiene archivos confidenciales. ¿Seguro que quieres conceder a "$1" acceso de lectura permanente a esta carpeta?</translation> <translation id="4964455510556214366">Disposición</translation> <translation id="4964673849688379040">Comprobando...</translation> -<translation id="4965682129423310439">Chrome ha encontrado software dañino en tu ordenador. Chrome puede eliminarlo y restaurar tu configuración para que el navegador vuelva a funcionar con normalidad.</translation> <translation id="4965808351167763748">¿Seguro que quieres configurar este dispositivo para que utilice Hangouts Meet?</translation> <translation id="4967749818080339523">Seleccionar una cuenta</translation> <translation id="496888482094675990">La aplicación Archivos permite acceder rápidamente a los archivos que has guardado en Google Drive, en un almacenamiento externo o en tu dispositivo Chrome OS.</translation> @@ -3306,10 +3291,8 @@ <translation id="6169666352732958425">No se ha podido enviar el escritorio.</translation> <translation id="6171948306033499786">Poner en pausa la impresión</translation> <translation id="6175314957787328458">GUID de dominio de Microsoft</translation> -<translation id="6176032031541598434">La ventana activa se ha movido a la pantalla de abajo</translation> <translation id="6178664161104547336">Seleccionar un certificado</translation> <translation id="6181431612547969857">Descarga bloqueada</translation> -<translation id="6181803575025675566">Puedes gestionar estas opciones en <ph name="LINK_START" />Configuración<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Ubicación del dispositivo</translation> <translation id="6185696379715117369">Retroceder página</translation> <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">¡Vaya! Las contraseñas no coinciden.</translation> <translation id="6736243959894955139">Dirección</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Aunque ya no puedas acceder a tu antiguo perfil, puedes eliminarlo.</translation> <translation id="6739923123728562974">Mostrar acceso directo del escritorio</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> en pausa</translation> <translation id="6742339027238151589">Accesible para secuencia de comandos</translation> -<translation id="6743841972744298686">Ajustes de sincronización</translation> <translation id="6745592621698551453">Actualizar ahora</translation> <translation id="6746124502594467657">Bajar</translation> <translation id="674632704103926902">Habilitar la función tocar y arrastrar</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">Imprimir páginas específicas</translation> <translation id="6972180789171089114">Audio/Vídeo</translation> <translation id="6973630695168034713">Carpetas</translation> -<translation id="6974053822202609517">De derecha a izquierda</translation> <translation id="6976108581241006975">Consola JavaScript</translation> <translation id="6977381486153291903">Revisión del firmware</translation> <translation id="6978121630131642226">Motores de búsqueda</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">Ocultar</translation> <translation id="7108634116785509031"><ph name="HOST" /> quiere utilizar la cámara</translation> <translation id="7108668606237948702">intro</translation> -<translation id="7112978678959880812">La personalización está activada. Puedes cambiar esta opción en myaccount.google.com.</translation> <translation id="7113502843173351041">Conocer tu dirección de correo electrónico</translation> <translation id="7114054701490058191">Las contraseñas no coinciden</translation> <translation id="7117228822971127758">Inténtalo de nuevo más tarde</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">Cargar página de nuevo</translation> <translation id="7222232353993864120">Dirección de correo electrónico</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Habilitar lupa</translation> <translation id="7223775956298141902">Vaya, no tienes ninguna extensión :-(</translation> <translation id="7225179976675429563">Falta el tipo de red.</translation> <translation id="7228479291753472782">Manipula la configuración que especifica si los sitios web pueden usar funciones como la geolocalización, el micrófono, la cámara, etc.</translation> @@ -4209,7 +4187,6 @@ <translation id="7639178625568735185">¡Listo!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> inicia sesión automáticamente en los sitios web en los que se pueda iniciar sesión con las contraseñas que hayas guardado.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietario)</translation> -<translation id="7647231681210854996">La ventana activa se ha movido a la pantalla de la derecha</translation> <translation id="7648992873808071793">Almacenar archivos en este dispositivo</translation> <translation id="7649070708921625228">Ayuda</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" quiere eliminar "<ph name="EXTENSION_NAME" />".</translation> @@ -4669,7 +4646,6 @@ <translation id="8371695176452482769">Habla ahora</translation> <translation id="8372369524088641025">Clave WEP incorrecta</translation> <translation id="8373553483208508744">Silenciar pestañas</translation> -<translation id="8377870760189106701">Ventana a la derecha</translation> <translation id="8378285435971754261">Permite que los servicios de ubicación de Google ayuden a las aplicaciones a encontrar tu ubicación de forma rápida y precisa, lo que puede reducir el consumo de la batería. Se enviarán datos de ubicación anónimos a Google aunque no se estén utilizando aplicaciones. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Administrar configuración de la cámara...</translation> <translation id="8382913212082956454">Copiar dir&ección de correo electrónico</translation> @@ -4789,7 +4765,6 @@ <translation id="8581809080475256101">Pulsa para avanzar y acceder al menú contextual para ver el historial</translation> <translation id="8584280235376696778">&Abrir vídeo en una pestaña nueva</translation> <translation id="8588866096426746242">Mostrar estadísticas del perfil</translation> -<translation id="8589652987924574405">Los marcadores, el historial, las contraseñas y otras opciones se sincronizarán con tu cuenta de Google para que puedas utilizarlos en todos tus dispositivos. Puedes cambiar esta opción en los ajustes.</translation> <translation id="8590375307970699841">Configurar actualizaciones automáticas</translation> <translation id="8594908476761052472">Grabar vídeo</translation> <translation id="8596540852772265699">Archivos personalizados</translation> @@ -4805,7 +4780,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Estado de itinerancia</translation> <translation id="8620765578342452535">Configurar conexiones de red</translation> -<translation id="8620790565535071193">No se ha podido realizar la búsqueda</translation> <translation id="8624205858755890468">Permite que el Asistente te muestre acciones, aplicaciones e información relacionadas.</translation> <translation id="862542460444371744">&Extensiones</translation> <translation id="8627151598708688654">Seleccionar fuente</translation> @@ -4883,7 +4857,6 @@ <translation id="871476437400413057">Contraseñas guardadas de Google</translation> <translation id="8714838604780058252">Gráficos de fondo</translation> <translation id="8719653885894320876">No se ha podido descargar <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">La ventana activa se ha movido a la pantalla de arriba</translation> <translation id="8723829621484579639">Submarcos de incógnito de: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Mostrar en carpeta</translation> <translation id="8725066075913043281">Volver a intentarlo</translation> @@ -4927,7 +4900,6 @@ <translation id="8785622406424941542">Lápiz óptico</translation> <translation id="8787254343425541995">Permitir servidores proxy en redes compartidas</translation> <translation id="8791534160414513928">Enviar una solicitud de no seguimiento con tu tráfico de navegación</translation> -<translation id="8792609692701651064">La ventana activa se ha movido a la pantalla de la izquierda</translation> <translation id="8794025342371547160">IP restringida</translation> <translation id="879413103056696865">Mientras el punto de acceso esté activo, tu <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nueva ventana</translation> @@ -5064,7 +5036,6 @@ <translation id="9024127637873500333">&Abrir en una pestaña nueva</translation> <translation id="9024331582947483881">pantalla completa</translation> <translation id="9025098623496448965">De acuerdo, volver a la pantalla de inicio de sesión</translation> -<translation id="902659348151742535">Google puede utilizar tu historial de navegación para personalizar la Búsqueda y otros servicios de Google.</translation> <translation id="9026731007018893674">descarga</translation> <translation id="9027146684281895941">Supervisa a este usuario para controlar y ver los sitios web a los que accede desde tu cuenta de Google.</translation> <translation id="9027459031423301635">Abrir enlace en una &pestaña nueva</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb index 68d344f..c227756 100644 --- a/chrome/app/resources/generated_resources_et.xtb +++ b/chrome/app/resources/generated_resources_et.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Võrke ei ole</translation> <translation id="1056898198331236512">Hoiatus</translation> <translation id="1058262162121953039">PUK-kood</translation> -<translation id="106001083577824516">Kahjulikku tarkvara ei õnnestu eemaldada</translation> <translation id="1062407476771304334">Asenda</translation> <translation id="1062866675591297858">Hallake jälgitavaid kasutajaid <ph name="BEGIN_LINK" />jälgitavate kasutajate juhtpaneelil<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Privaatse võrguga liitumine</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Vali fail</translation> <translation id="136802136832547685">Pole jälgitavaid kasutajaid, keda sellesse seadmesse lisada.</translation> <translation id="1368265273904755308">Teata probleemist</translation> -<translation id="1368832886055348810">Left to Right (Vasakult paremale)</translation> <translation id="1370646789215800222">Kas eemaldada isik?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Eemaldatakse 1 üksus}other{Eemaldatakse # üksust}}</translation> <translation id="1372841398847029212">Sünkrooni minu kontoga</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Eemalda see kasutaja</translation> <translation id="1609170755653088773">Sünkroonige see parool oma iPhone'iga</translation> <translation id="1609862759711084604">Eelmine kasutaja</translation> -<translation id="1611557582955786626">Kõikides seadmetes sünkroonitud isikupärastatud sirvimiskogemuse saamiseks logige sisse</translation> <translation id="1611584202130317952">Ettevalmistusvoog katkestati. Proovige uuesti või võtke ühendust oma seadme omaniku või administraatoriga.</translation> <translation id="1611649489706141841">edasi</translation> <translation id="1611704746353331382">Ekspordi järjehoidjad HTML-faili ...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Lisa asukoht ...</translation> <translation id="1856813161013948396">Jätke lukustuskuva vahele, puudutades sõrmejäljeandurit. Klõpsake seadistamiseks.</translation> <translation id="1858585891038687145">Usalda seda sertifikaati tarkvaraloojate tuvastamiseks</translation> -<translation id="1859234291848436338">Writing Direction (Kirjutamise suund)</translation> <translation id="1861262398884155592">See kaust on tühi</translation> <translation id="1864111464094315414">Sisselogimine</translation> <translation id="1864400682872660285">Külmem</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Ahenda ...</translation> <translation id="2737492745329609575">Alusta seadistamist</translation> <translation id="2738771556149464852">Mitte pärast</translation> -<translation id="2739046699559178272">Salvesta ja jätka</translation> <translation id="2739191690716947896">Silu</translation> <translation id="2739240477418971307">Juurdepääsetavuse seadete muutmine</translation> <translation id="2740393541869613458">üle vaadata valvatava kasutaja külastatud veebisaite ja</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Allalaaditud</translation> <translation id="2783661497142353826">Kioski rakenduste haldamine</translation> <translation id="2784407158394623927">Mobiilse andmesideteenuse aktiveerimine</translation> -<translation id="2785530881066938471">Sisuskripti jaoks ei õnnestunud laadida faili <ph name="RELATIVE_PATH" />, kuna sellel ei ole UTF-8 kodeeringut.</translation> <translation id="2785873697295365461">Faili deskriptorid</translation> <translation id="2787047795752739979">Kirjuta algne fail üle</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Blokeeri ka edaspidi liivakastist eemaldatud pistikprogrammid</translation> <translation id="2890678560483811744">Piiridest väljas olev leht</translation> <translation id="2893168226686371498">Vaikebrauser</translation> -<translation id="2893453364759632532">Aken alla</translation> <translation id="289644616180464099">SIM-kaart on lukustatud</translation> <translation id="289695669188700754">Võtme ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Kas te soovite kindlasti avada <ph name="TAB_COUNT" /> vahekaarti?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Ekraani jagamine</translation> <translation id="3046910703532196514">Veebileht, valmis</translation> <translation id="304826556400666995">Vahekaartide summutuse tühistamine</translation> -<translation id="3051523411789012618">Aken üles</translation> <translation id="3053013834507634016">Sertifikaadi võtme kasutus</translation> <translation id="3057861065630527966">Fotode ja videote varundamine</translation> <translation id="3060379269883947824">Luba funktsioon Vali ja kuula</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Juurdepääs heli- ja videosisendile</translation> <translation id="3090819949319990166">Välist crx-faili ei saa faili <ph name="TEMP_CRX_FILE" /> kopeerida.</translation> <translation id="3090871774332213558">Seade „<ph name="DEVICE_NAME" />” on seotud</translation> -<translation id="3097628171361913691">ZIP-faili installija</translation> <translation id="3100609564180505575">Moodulid (<ph name="TOTAL_COUNT" />) – teadaolevad vastuolud: <ph name="BAD_COUNT" />, oletatavad: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Kuupäev ja kellaaeg</translation> <translation id="3108967419958202225">Valige ...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Autor:</translation> <translation id="33022249435934718">GDI pidemed</translation> <translation id="3302340765592941254">Allalaadimise lõpetamise teatis</translation> -<translation id="3302709122321372472">Sisuskripti jaoks ei õnnestunud laadida üksust css <ph name="RELATIVE_PATH" />.</translation> <translation id="3303260552072730022">Laiendus aktiveeris täisekraanrežiimi.</translation> <translation id="3303818374450886607">Koopiad</translation> <translation id="3303855915957856445">Otsingutulemusi ei leitud</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Ajavööndi valimine</translation> <translation id="3856921555429624101">Andmemahu kasutuse mõõtmine on lõppenud</translation> <translation id="3857228364945137633">Proovige funktsiooni Smart Lock, et avada oma seade <ph name="DEVICE_TYPE" /> paroolita, kui teie telefon on läheduses.</translation> -<translation id="3857732810083914482">Isikupärastamine on välja lülitatud. Seda saab muuta saidil myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Tere tulemast teenusesse Hangouts Meet!</translation> <translation id="3862134173397075045">Tere tulemast Chrome'is Cast'i avastama!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Imporditud</translation> <translation id="3994374631886003300">Seadme <ph name="DEVICE_TYPE" /> avamiseks avage oma telefon ja tooge see lähemale.</translation> <translation id="3994878504415702912">&Suumi</translation> -<translation id="39964277676607559">Sisuskripti jaoks ei õnnestunud laadida JavaScripti <ph name="RELATIVE_PATH" />.</translation> <translation id="4002066346123236978">Pealkiri</translation> <translation id="40027638859996362">Sõna liigutamine</translation> <translation id="4005817994523282006">Ajavööndi tuvastamismeetod</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopeerimine ebaõnnestus. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Võrgulogisid vaadake: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Androidi rakenduste allalaadimiseks ja kasutamiseks peate esmalt installima värskenduse. Seadme värskendamise ajal ei saa te seda kasutada. Seade <ph name="DEVICE_TYPE" /> taaskäivitatakse pärast installimise lõpetamist.</translation> -<translation id="4338683191474220626">Aken vasakule</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> tahab suhelda rakendusega „<ph name="EXTENSION_NAME" />”</translation> <translation id="4342311272543222243">Vabandust! Ilmnes TPM-i viga.</translation> <translation id="4345587454538109430">Konfigureeri...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">ühtki küpsisefaili ei ole valitud</translation> <translation id="4617270414136722281">Laienduse valikud</translation> <translation id="4619615317237390068">Muudest seadmetest pärinevad vahelehed</translation> -<translation id="4620809267248568679">Selle seade jõustas laiendus.</translation> <translation id="4624768044135598934">Õnnestus!</translation> <translation id="4625078469366263107">Luba rakendus</translation> <translation id="4627427111733173920">Küpsisefailid on blokeeritud</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Valitud kaust sisaldab tundlikke faile. Kas soovite kindlasti anda kasutajale „$1” püsiva juurdepääsu selle kausta lugemiseks?</translation> <translation id="4964455510556214366">Asetus</translation> <translation id="4964673849688379040">Kontrollimine ...</translation> -<translation id="4965682129423310439">Chrome leidis teie arvutist kahjulikku tarkvara. Chrome saab selle eemaldada ja teie seaded taastada, et brauser töötaks jälle normaalselt.</translation> <translation id="4965808351167763748">Kas soovite kindlasti selle seadme seadistada, et rakendust Hangouts Meet käitada?</translation> <translation id="4967749818080339523">Valige konto</translation> <translation id="496888482094675990">Rakendusega Failid saate kiiresti juurdepääsu Google Drive'i, välisesse talletusseadmesse või Chrome OS-i seadmesse salvestatud failidele.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Töölauda ei saa üle kanda.</translation> <translation id="6171948306033499786">Peata printimine</translation> <translation id="6175314957787328458">Microsofti domeeni GUID</translation> -<translation id="6176032031541598434">Aktiivne aken teisaldati alumisele ekraanikuvale</translation> <translation id="6178664161104547336">Sertifikaadi valimine</translation> <translation id="6181431612547969857">Allalaadimine on blokeeritud</translation> -<translation id="6181803575025675566">Juhtige seda jaotises <ph name="LINK_START" />Seaded<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Seadme asukoht</translation> <translation id="6185696379715117369">Lehel üles</translation> <translation id="6189412234224385711">Ava laiendusega <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Paroolid ei kattu.</translation> <translation id="6736243959894955139">Aadress</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Kuigi te ei pääse enam oma vanale profiilile juurde, on teil võimalik see eemaldada.</translation> <translation id="6739923123728562974">Kuva töölaua otsetee</translation> <translation id="6740234557573873150">Peatati fail <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Kättesaadav skripti jaoks</translation> -<translation id="6743841972744298686">Sünkroonimisseaded</translation> <translation id="6745592621698551453">Värskenda kohe</translation> <translation id="6746124502594467657">Liiguta alla</translation> <translation id="674632704103926902">Luba puutega lohistamine</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Prindi valitud leheküljed</translation> <translation id="6972180789171089114">Heli/video</translation> <translation id="6973630695168034713">Kaustad</translation> -<translation id="6974053822202609517">Right to Left (Paremalt vasakule)</translation> <translation id="6976108581241006975">JavaScripti konsool</translation> <translation id="6977381486153291903">Püsivara redaktsioon</translation> <translation id="6978121630131642226">Otsingumootorid</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Peida</translation> <translation id="7108634116785509031"><ph name="HOST" /> soovib kasutada teie kaamerat</translation> <translation id="7108668606237948702">sisestusklahv</translation> -<translation id="7112978678959880812">Isikupärastamine on sisse lülitatud. Seda saab muuta saidil myaccount.google.com.</translation> <translation id="7113502843173351041">Teave teie e-posti aadressi kohta</translation> <translation id="7114054701490058191">Paroolid ei ühti</translation> <translation id="7117228822971127758">Proovige hiljem uuesti</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Laadi see lehekülg uuesti</translation> <translation id="7222232353993864120">E-posti aadress</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Luba ekraanisuurendaja</translation> <translation id="7223775956298141902">Teil ei ole kahjuks ühtki laiendust :-(</translation> <translation id="7225179976675429563">Võrgu tüüp puudub</translation> <translation id="7228479291753472782">Muutke seadeid, mis määravad, kas veebisaidid saavad kasutada selliseid funktsioone nagu asukoha määramine, mikrofon, kaamera jne.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Selge.</translation> <translation id="764017888128728">Teenus <ph name="PASSWORD_MANAGER_BRAND" /> logib teid salvestatud paroolidega automaatselt sisse sobilikele saitidele.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (omanik)</translation> -<translation id="7647231681210854996">Aktiivne aken teisaldati parempoolsele ekraanikuvale</translation> <translation id="7648992873808071793">Salvestada failid sellesse seadmesse</translation> <translation id="7649070708921625228">Abi</translation> <translation id="7650511557061837441">„<ph name="TRIGGERING_EXTENSION_NAME" />” soovib eemaldada laienduse „<ph name="EXTENSION_NAME" />”.</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Alustage rääkimist</translation> <translation id="8372369524088641025">Halb WEP-võti</translation> <translation id="8373553483208508744">Summuta vahekaardid</translation> -<translation id="8377870760189106701">Aken paremale</translation> <translation id="8378285435971754261">Lubage Google'i asukohateenusel aidata rakendustel kiirelt ja täpselt leida teie asukoht. See võib vähendada akukasutust. Anonüümseid asukohaandmeid saadetakse Google'ile ka siis, kui ükski rakendus ei tööta. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Kaameraseadete haldamine ...</translation> <translation id="8382913212082956454">Kopeeri &e-posti aadress</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Vajutage edasiliikumiseks, kontekstimenüüd ajaloo nägemiseks</translation> <translation id="8584280235376696778">&Ava video uuel vahelehel</translation> <translation id="8588866096426746242">Kuva profiili statistika</translation> -<translation id="8589652987924574405">Teie järjehoidjad, ajalugu, paroolid ja muud seaded sünkroonitakse teie Google'i kontoga, et saaksite neid kasutada kõigis oma seadmetes. Seda saab hiljem seadetes alati muuta.</translation> <translation id="8590375307970699841">Automaatsete värskenduste seadistamine</translation> <translation id="8594908476761052472">Jäädvusta video</translation> <translation id="8596540852772265699">Kohandatud failid</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Rändluse olek</translation> <translation id="8620765578342452535">Võrguühenduste seadistamine</translation> -<translation id="8620790565535071193">Skannimine ebaõnnestus</translation> <translation id="8624205858755890468">Lubab assistendil esitada teile seotud teavet, rakendusi ja toiminguid.</translation> <translation id="862542460444371744">&Laiendused</translation> <translation id="8627151598708688654">Allika valimine</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Google'i salvestatud paroolid</translation> <translation id="8714838604780058252">Taustagraafika</translation> <translation id="8719653885894320876">Pistikprogrammi <ph name="PLUGIN_NAME" /> allalaadimine ebaõnnestus</translation> -<translation id="8721669057562068233">Aktiivne aken teisaldati ülemisele ekraanikuvale</translation> <translation id="8723829621484579639">Inkognito alamraamid: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Kuva kaustas</translation> <translation id="8725066075913043281">Proovi uuesti</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Elektronpliiats</translation> <translation id="8787254343425541995">Lubage puhverserverid jagatud võrkudes</translation> <translation id="8791534160414513928">Saada sirvimisliiklusega taotlus „Ära jälgi”</translation> -<translation id="8792609692701651064">Aktiivne aken teisaldati vasakpoolsele ekraanikuvale</translation> <translation id="8794025342371547160">Piirangutega IP</translation> <translation id="879413103056696865">Kui leviala on sisse lülitatud, teeb teie telefon <ph name="PHONE_NAME" /> järgmist.</translation> <translation id="8795916974678578410">Uus aken</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Ava uuel vahelehel</translation> <translation id="9024331582947483881">täisekraan</translation> <translation id="9025098623496448965">Olgu, vii mind tagasi sisselogimisekraanile</translation> -<translation id="902659348151742535">Google võib kasutada teie sirvimisajalugu otsingu, reklaamide ja muude Google'i teenuste isikupärastamiseks.</translation> <translation id="9026731007018893674">Allalaaditud fail</translation> <translation id="9027146684281895941">Jälgige seda isikut, et saaksite oma Google'i kontol juhtida ja vaadata tema külastatavaid veebisaite.</translation> <translation id="9027459031423301635">Ava &link uuel vahelehel</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb index 09bada8..505db819 100644 --- a/chrome/app/resources/generated_resources_fa.xtb +++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">شبکهای وجود ندارد</translation> <translation id="1056898198331236512">اخطار</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">نرمافزار مضر پاک شد</translation> <translation id="1062407476771304334">جایگزینی</translation> <translation id="1062866675591297858">کاربران نظارتشدهتان را از طریق <ph name="BEGIN_LINK" />داشبورد کاربران نظارتشده<ph name="END_LINK" /> مدیریت کنید.</translation> <translation id="1064835277883315402">پیوستن به شبکه خصوصی</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">انتخاب یک فایل</translation> <translation id="136802136832547685">کاربر تحتنظارتی برای افزودن به این دستگاه وجود ندارد.</translation> <translation id="1368265273904755308">گزارش مشکل</translation> -<translation id="1368832886055348810">چپ به راست</translation> <translation id="1370646789215800222">شخص حذف شود؟</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{۱ مورد برای برداشتن}one{# مورد برای برداشتن}other{# مورد برای برداشتن}}</translation> <translation id="1372841398847029212">همگامسازی با حسابتان</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">حذف این کاربر</translation> <translation id="1609170755653088773">همگامسازی گذرواژه با iPhone</translation> <translation id="1609862759711084604">کاربر قبلی</translation> -<translation id="1611557582955786626">برای تجربه مرور شخصیسازیشده و همگامسازیشده در تمام دستگاههایتان، به سیستم وارد شوید</translation> <translation id="1611584202130317952">جریان ارائه مجوز قطع شد. لطفاً دوباره امتحان کنید یا با مالک یا سرپرست دستگاه تماس بگیرید.</translation> <translation id="1611649489706141841">هدایت</translation> <translation id="1611704746353331382">صادر کردن نشانکها به فایل HTML...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">افزودن موقعیت مکانی...</translation> <translation id="1856813161013948396">بهسادگی با ضربه زدن روی حسگر اثر انگشت، از صفحه در حالت قفل رد شوید. برای پیکربندی کلیک کنید.</translation> <translation id="1858585891038687145">برای شناسایی سازندگان نرمافزار، به این گواهی اطمینان شود</translation> -<translation id="1859234291848436338">جهت نوشتن</translation> <translation id="1861262398884155592">این پوشه خالی است</translation> <translation id="1864111464094315414">ورود به سیستم</translation> <translation id="1864400682872660285">سردتر</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">کوچک کردن...</translation> <translation id="2737492745329609575">شروع تنظیم</translation> <translation id="2738771556149464852">نه بعد از</translation> -<translation id="2739046699559178272">ذخیره و ادامه</translation> <translation id="2739191690716947896">رفع اشکال</translation> <translation id="2739240477418971307">تغییر تنظیمات دسترسپذیریتان</translation> <translation id="2740393541869613458">وبسایتهای بازدیدشده توسط کاربر نظارتشده را بررسی کنید و</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">بارگیری شد</translation> <translation id="2783661497142353826">مدیریت برنامههای کیوسک</translation> <translation id="2784407158394623927">فعال کردن خدمات دادههای تلفن همراه</translation> -<translation id="2785530881066938471">بارگیری فایل "<ph name="RELATIVE_PATH" />" برای اسکریپت محتوا ممکن نیست. رمزگذاری آن UTF-8 نیست.</translation> <translation id="2785873697295365461">توصیفگرهای فایل</translation> <translation id="2787047795752739979">رونویسی نسخهٔ اصلی</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">افزایههایی که در محیط آزمایشی نبودهاند همچنان مسدود بمانند</translation> <translation id="2890678560483811744">ارجاع صفحه بیش از حد مجاز</translation> <translation id="2893168226686371498">مرورگر پیشفرض</translation> -<translation id="2893453364759632532">پایین بردن پنجره</translation> <translation id="289644616180464099">سیمکارت قفل است</translation> <translation id="289695669188700754">شناسه کلید: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">آیا میخواهید برگههای <ph name="TAB_COUNT" /> باز شوند؟</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">درحال اشتراکگذاری صفحه</translation> <translation id="3046910703532196514">صفحهٔ وب، کامل</translation> <translation id="304826556400666995">وصل کردن صدای برگهها</translation> -<translation id="3051523411789012618">بالا آوردن پنجره</translation> <translation id="3053013834507634016">کاربرد کلید گواهی</translation> <translation id="3057861065630527966">از عکسها و ویدئوهایتان پشتیبان بگیرید</translation> <translation id="3060379269883947824">فعال کردن «انتخاب کنید تا بتوانید صحبت کنید»</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">در حال دسترسی به ورودی صوتی و ویدئویی</translation> <translation id="3090819949319990166">فایل خارجی crx در <ph name="TEMP_CRX_FILE" /> کپی نمیشود.</translation> <translation id="3090871774332213558">«<ph name="DEVICE_NAME" />» مرتبط شد</translation> -<translation id="3097628171361913691">نصبکننده فایل زیپ</translation> <translation id="3100609564180505575">مدول ها (<ph name="TOTAL_COUNT" />) - تداخل های شناخته شده: <ph name="BAD_COUNT" />، مشکوک: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">تاریخ و ساعت</translation> <translation id="3108967419958202225">انتخاب...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">امضا شده توسط</translation> <translation id="33022249435934718">کنترلکنندههای GDI</translation> <translation id="3302340765592941254">اعلان تکمیل بارگیری</translation> -<translation id="3302709122321372472">بارگیری "<ph name="RELATIVE_PATH" />" css برای اسکریپت محتوا ممکن نیست.</translation> <translation id="3303260552072730022">یک برنامهٔ افزودنی حالت تمام صفحه را فعال کرد.</translation> <translation id="3303818374450886607">کپی ها</translation> <translation id="3303855915957856445">هیچ نتیجهای برای جستجو یافت نشد</translation> @@ -1887,7 +1877,6 @@ <translation id="3856800405688283469">انتخاب منطقه زمانی</translation> <translation id="3856921555429624101">اندازهگیری مصرف داده به پایان رسیده است</translation> <translation id="3857228364945137633">وقتی تلفنتان در اطرافتان است، برای باز کردن قفل <ph name="DEVICE_TYPE" /> بدون استفاده از گذرواژه، Smart Lock را امتحان کنید.</translation> -<translation id="3857732810083914482">شخصیسازی خاموش است. این تنظیم را میتوانید در myaccount.google.com تغییر دهید.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">به Hangouts Meet خوش آمدید</translation> <translation id="3862134173397075045">به تجربه ارسال محتوا در Chrome خوش آمدید!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">وارد شده</translation> <translation id="3994374631886003300">برای باز کردن قفل <ph name="DEVICE_TYPE" />، قفل تلفنتان را باز کنید و آن را نزدیکتر بیاورید.</translation> <translation id="3994878504415702912">&بزرگنمایی</translation> -<translation id="39964277676607559">بارگیری جاوا اسکریپت "<ph name="RELATIVE_PATH" />" برای اسکریپت محتوا ممکن نیست.</translation> <translation id="4002066346123236978">عنوان</translation> <translation id="40027638859996362">انتقال کلمه</translation> <translation id="4005817994523282006">روش تشخیص منطقه زمانی</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">فرایند رونوشتبرداری انجام نشد. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">برای گزارشهای شبکه، به این قسمت رجوع کنید: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">برای بارگیری و استفاده از برنامههای Android، ابتدا باید بهروزرسانی نصب کنید. وقتی دستگاهتان درحال بهروزرسانی است، نمیتوانید از آن استفاده کنید. <ph name="DEVICE_TYPE" /> شما پس از تکمیل نصب، راهاندازی مجدد میشود.</translation> -<translation id="4338683191474220626">به چپ بردن پنجره</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> میخواهد با برنامه «<ph name="EXTENSION_NAME" />» ارتباط برقرار کند</translation> <translation id="4342311272543222243">متأسفانه خطای TPM رخ داد.</translation> <translation id="4345587454538109430">پیکربندی...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">کوکیای انتخاب نشده است</translation> <translation id="4617270414136722281">گزینههای افزونه</translation> <translation id="4619615317237390068">برگهها از دستگاههای دیگر</translation> -<translation id="4620809267248568679">این تنظیم توسط یک برنامهٔ افزودنی به اجرا گذاشته میشود.</translation> <translation id="4624768044135598934">موفق شدید!</translation> <translation id="4625078469366263107">فعال کردن برنامه</translation> <translation id="4627427111733173920">کوکیها مسدود شدند</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">پوشهای که انتخاب کردهاید حاوی فایلهای حساسی است. آیا مطمئنید که میخواهید به «$1» دسترسی دائم خواندن این پوشه را اعطا کنید؟</translation> <translation id="4964455510556214366">ترتیب</translation> <translation id="4964673849688379040">درحال بررسی...</translation> -<translation id="4965682129423310439">Chrome نرمافزار مضری را در رایانهتان پیدا کرد. Chrome میتواند آن را پاک و تنظیماتتان را بازیابی کند تا عملکرد مرورگرتان دوباره عادی شود.</translation> <translation id="4965808351167763748">مطمئن هستید میخواهید این دستگاه را برای اجرای Hangouts Meet راهاندازی کنید؟</translation> <translation id="4967749818080339523">انتخاب حساب</translation> <translation id="496888482094675990">برنامه Files دسترسی سریع به فایلهایی را فراهم میکند که در Google Drive، فضای ذخیره خارجی یا دستگاه Chrome OS خودتان ذخیره کردهاید.</translation> @@ -3304,10 +3289,8 @@ <translation id="6169666352732958425">ارسال محتوای میز کار امکانپذیر نیست.</translation> <translation id="6171948306033499786">توقف موقت چاپ</translation> <translation id="6175314957787328458">GUID دامنه Microsoft</translation> -<translation id="6176032031541598434">پنجره فعال به نمایشگر زیر منتقل شد</translation> <translation id="6178664161104547336">انتخاب گواهی</translation> <translation id="6181431612547969857">بارگیری مسدود شد</translation> -<translation id="6181803575025675566">نحوه عملکرد آن را در <ph name="LINK_START" />تنظیمات<ph name="LINK_END" /> کنترل کنید.</translation> <translation id="6185132558746749656">مکان دستگاه</translation> <translation id="6185696379715117369">صفحه بالا</translation> <translation id="6189412234224385711">بازکردن با <ph name="EXTENSION_NAME" /></translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">اوه، گذرواژهها مطابقت ندارند.</translation> <translation id="6736243959894955139">آدرس</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">هرچند دیگر نمیتوانید به نمایه قدیمیتان دسترسی داشته باشید اما میتوانید آن را حذف کنید.</translation> <translation id="6739923123728562974">نمایش میانبر میز کار</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> موقتاً متوقف شد</translation> <translation id="6742339027238151589">قابل دسترسی به اسکریپت</translation> -<translation id="6743841972744298686">تنظیمات همگامسازی</translation> <translation id="6745592621698551453">اکنون بهروز شود</translation> <translation id="6746124502594467657">انتقال به پایین</translation> <translation id="674632704103926902">فعال کردن کشیدن برگه</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">صفحات خاص چاپ</translation> <translation id="6972180789171089114">صوتی/تصویری</translation> <translation id="6973630695168034713">پوشهها</translation> -<translation id="6974053822202609517">راست به چپ</translation> <translation id="6976108581241006975">کنسول جاوا اسکریپت</translation> <translation id="6977381486153291903">بازبینی میانافزار</translation> <translation id="6978121630131642226">موتورهای جستجو</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">عدم نمایش</translation> <translation id="7108634116785509031"><ph name="HOST" /> میخواهد از دوربین شما استفاده کند</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">شخصیسازی روشن است. این تنظیم را میتوانید در myaccount.google.com تغییر دهید.</translation> <translation id="7113502843173351041">دیدن نشانی رایانامه شما</translation> <translation id="7114054701490058191">گذرواژهها مطابقت ندارند</translation> <translation id="7117228822971127758">لطفاً بعداً دوباره امتحان کنید</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">تازهسازی این صفحه</translation> <translation id="7222232353993864120">نشانی رایانامه</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">فعال کردن بزرگکننده صفحه</translation> <translation id="7223775956298141902">اوه... برنامهٔ افزودنی ندارید :-(</translation> <translation id="7225179976675429563">نوع شبکه موجود نیست</translation> <translation id="7228479291753472782">دستکاری در تنظیماتی که مشخص میکند آیا وبسایتها میتوانند از قابلیتهایی مثل موقعیت جغرافیایی، میکروفون، دوربین و غیره استفاده کنند.</translation> @@ -4211,7 +4189,6 @@ <translation id="7639178625568735185">متوجه شدم.</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> شما را بهصورت خودکار در سایتهای واجد شرایط با گذرواژههایی که ذخیره کردهاید ثبت ورود میکند.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (مالک)</translation> -<translation id="7647231681210854996">پنجره فعال به نمایشگر سمت راست منتقل شد</translation> <translation id="7648992873808071793">ذخیره کردن فایل در این دستگاه</translation> <translation id="7649070708921625228">راهنما</translation> <translation id="7650511557061837441">«<ph name="TRIGGERING_EXTENSION_NAME" />» میخواهد «<ph name="EXTENSION_NAME" />» را حذف کند.</translation> @@ -4670,7 +4647,6 @@ <translation id="8371695176452482769">اکنون صحبت کنید</translation> <translation id="8372369524088641025">کلید WEP نادرست</translation> <translation id="8373553483208508744">بیصدا کردن برگهها</translation> -<translation id="8377870760189106701">پنجره سمت راست</translation> <translation id="8378285435971754261">به سرویس مکان Google اجازه دهید به برنامهها در یافتن سریع و دقیق مکان شما کمک کند و بدینترتیب به کاهش مصرف باتری کمک کنید. حتی زمانی که هیچ برنامهای درحال اجرا نیست، دادههای مکان بهصورت بینام به Google ارسال میشوند. <ph name="BEGIN_LINK1" />بیشتر بدانید<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">مدیریت تنظیمات دوربین...</translation> <translation id="8382913212082956454">کپی آدرس &ایمیل</translation> @@ -4790,7 +4766,6 @@ <translation id="8581809080475256101">برای دیدن سابقه، دکمه را فشار دهید تا به جلو و به منوی بافت بروید</translation> <translation id="8584280235376696778">&باز کردن فایل ویدئویی در برگهٔ جدید</translation> <translation id="8588866096426746242">نمایش آمار نمایه</translation> -<translation id="8589652987924574405">نشانکها، سابقه، گذرواژه و سایر تنظیماتتان در حساب Google شما همگامسازی میشود، بنابراین میتوانید در همه دستگاههایتان از آنها استفاده کنید. این تنظیم را همیشه میتوانید در فرصتی دیگر در تنظیماتتان تغییر دهید.</translation> <translation id="8590375307970699841">راهاندازی بهروزرسانیهای خودکار</translation> <translation id="8594908476761052472">فیلمبرداری</translation> <translation id="8596540852772265699">فایلهای سفارشی</translation> @@ -4806,7 +4781,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">وضعیت رومینگ</translation> <translation id="8620765578342452535">پیکربندی اتصالات شبکه</translation> -<translation id="8620790565535071193">اسکن نشد</translation> <translation id="8624205858755890468">«دستیار» را برای نمایش اطلاعات، برنامهها و کنشهای مرتبط فعال میکند.</translation> <translation id="862542460444371744">&برنامه های افزودنی</translation> <translation id="8627151598708688654">انتخاب منبع</translation> @@ -4884,7 +4858,6 @@ <translation id="871476437400413057">گذرواژههای ذخیرهشده Google</translation> <translation id="8714838604780058252">گرافیکهای پسزمینه</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> بارگیری نشد</translation> -<translation id="8721669057562068233">پنجره فعال به نمایشگر بالا منتقل شد</translation> <translation id="8723829621484579639">قابهای فرعی ناشناس برای: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&نمایش در پوشه</translation> <translation id="8725066075913043281">سعی مجدد</translation> @@ -4928,7 +4901,6 @@ <translation id="8785622406424941542">قلم</translation> <translation id="8787254343425541995">پراکسیهای شبکههای مشترک مجاز باشند</translation> <translation id="8791534160414513928">ارسال درخواست «ردیابی نشود» با ترافیک مرور</translation> -<translation id="8792609692701651064">پنجره فعال به نمایشگر سمت چپ منتقل شد</translation> <translation id="8794025342371547160">IP محدود</translation> <translation id="879413103056696865">وقتی نقطه اتصال روشن است، <ph name="PHONE_NAME" /> شما:</translation> <translation id="8795916974678578410">پنجرهٔ جدید</translation> @@ -5065,7 +5037,6 @@ <translation id="9024127637873500333">باز کردن در &برگه جدید</translation> <translation id="9024331582947483881">تمامصفحه</translation> <translation id="9025098623496448965">بسیار خوب، به صفحه ورود به سیستم بازگردانده شوم</translation> -<translation id="902659348151742535">Google ممکن است از سابقه مرور شما برای شخصیسازی جستجو، آگهیها و سایر سرویسهای Google استفاده کند.</translation> <translation id="9026731007018893674">بارگیری</translation> <translation id="9027146684281895941">با نظارت بر این شخص، وبسایتهایی را که از حساب Google شما بازدید میکند، کنترل و مشاهده کنید.</translation> <translation id="9027459031423301635">باز کردن پیوند در &برگه جدید</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb index 99eac2e..e6ee840 100644 --- a/chrome/app/resources/generated_resources_fi.xtb +++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Ei verkkoja</translation> <translation id="1056898198331236512">Varoitus</translation> <translation id="1058262162121953039">PUK-koodi</translation> -<translation id="106001083577824516">Haittaohjelmien poistaminen epäonnistui.</translation> <translation id="1062407476771304334">Korvaa</translation> <translation id="1062866675591297858">Hallinnoi valvottuja käyttäjiäsi <ph name="BEGIN_LINK" />valvottujen käyttäjien hallintapaneelin<ph name="END_LINK" /> kautta.</translation> <translation id="1064835277883315402">Liity VPN-verkkoon</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Valitse tiedosto</translation> <translation id="136802136832547685">Tälle laitteelle lisättäviä valvottuja käyttäjiä ei ole.</translation> <translation id="1368265273904755308">Ilmoita ongelmasta</translation> -<translation id="1368832886055348810">Vasemmalta oikealle</translation> <translation id="1370646789215800222">Poistetaanko tämä henkilö?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 poistettava kohde}other{# poistettavaa kohdetta}}</translation> <translation id="1372841398847029212">Synkronoi tilillesi</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Poista tämä käyttäjä</translation> <translation id="1609170755653088773">Synkronoi tämä salasana iPhoneesi</translation> <translation id="1609862759711084604">Edellinen käyttäjä</translation> -<translation id="1611557582955786626">Kirjautumalla saat yksilöllisemmän selauskokemuksen, joka synkronoidaan kaikkien laitteidesi välillä.</translation> <translation id="1611584202130317952">Käyttäjien hallinnan kulku keskeytettiin. Yritä uudelleen tai ota yhteyttä laitteen omistajaan tai järjestelmänvalvojaan.</translation> <translation id="1611649489706141841">seuraava</translation> <translation id="1611704746353331382">Vie kirjanmerkit HTML-tiedostoon...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Lisää sijainti…</translation> <translation id="1856813161013948396">Ohita lukitusnäyttö koskettamalla sormenjälkitunnistinta. Määritä napauttamalla.</translation> <translation id="1858585891038687145">Luota tähän varmenteeseen ohjelmiston tekijöitä tunnistettaessa.</translation> -<translation id="1859234291848436338">Kirjoitussuunta</translation> <translation id="1861262398884155592">Tämä kansio on tyhjä</translation> <translation id="1864111464094315414">Kirjaudu</translation> <translation id="1864400682872660285">Viileä</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Tiivistä...</translation> <translation id="2737492745329609575">Aloita asennus</translation> <translation id="2738771556149464852">Ei tämän jälkeen</translation> -<translation id="2739046699559178272">Tallenna ja jatka</translation> <translation id="2739191690716947896">Vianetsintä</translation> <translation id="2739240477418971307">Muokata esteettömyysasetuksia</translation> <translation id="2740393541869613458">tarkastaa verkkosivustot, joilla valvottu käyttäjä on käynyt, ja</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Ladatut</translation> <translation id="2783661497142353826">Hallinnoi kioskisovelluksia</translation> <translation id="2784407158394623927">Aktivoidaan mobiilitiedonsiirtopalvelua</translation> -<translation id="2785530881066938471">Sisältökomentosarjan tiedoston <ph name="RELATIVE_PATH" /> lataus epäonnistui, sillä tiedoston merkistökoodaus ei ole UTF-8.</translation> <translation id="2785873697295365461">Tiedostokuvaajat</translation> <translation id="2787047795752739979">Korvaa alkuperäinen</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Estä hiekkalaatikossa toimimattomat laajennukset edelleen</translation> <translation id="2890678560483811744">Sivuviittaus on rajojen ulkopuolella.</translation> <translation id="2893168226686371498">Oletusselain</translation> -<translation id="2893453364759632532">Ikkuna alas</translation> <translation id="289644616180464099">SIM-kortti on lukittu</translation> <translation id="289695669188700754">Avaimen tunnus: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Haluatko varmasti avata <ph name="TAB_COUNT" /> välilehteä?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Näyttöä jaetaan</translation> <translation id="3046910703532196514">Verkkosivu, täydellinen</translation> <translation id="304826556400666995">Poista välilehtien mykistys</translation> -<translation id="3051523411789012618">Ikkuna ylös</translation> <translation id="3053013834507634016">Varmenteen avaimen käyttö</translation> <translation id="3057861065630527966">Varmuuskopioi valokuvasi ja videosi.</translation> <translation id="3060379269883947824">Ota käyttöön Teksti puhuttuna</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Ääni- ja videotuloa käytetään</translation> <translation id="3090819949319990166">Ulkoista crx-tiedostoa ei voi kopioida kohteeseen <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Laitepari muodostettu laitteen <ph name="DEVICE_NAME" /> kanssa</translation> -<translation id="3097628171361913691">Zip-tiedostojen purkaja</translation> <translation id="3100609564180505575">Moduulit (<ph name="TOTAL_COUNT" />) - Tunnettuja ristiriitoja: <ph name="BAD_COUNT" />, epäiltyjä: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Aika ja päivämäärä</translation> <translation id="3108967419958202225">Valitse...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Allekirjoittanut</translation> <translation id="33022249435934718">GDI-kahvat</translation> <translation id="3302340765592941254">Lataus valmis</translation> -<translation id="3302709122321372472">css-tiedoston <ph name="RELATIVE_PATH" /> lataaminen sisältöohjelmalle epäonnistui.</translation> <translation id="3303260552072730022">Laajennus käynnisti koko ruudun tilan.</translation> <translation id="3303818374450886607">Kopiot</translation> <translation id="3303855915957856445">Ei hakutuloksia</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Valitse aikavyöhyke</translation> <translation id="3856921555429624101">Datankäytön mittaaminen päättyi.</translation> <translation id="3857228364945137633">Kokeile Smart Lockia laitteen <ph name="DEVICE_TYPE" /> lukituksen avaamiseen ilman salasanaa, kun puhelimesi on lähellä.</translation> -<translation id="3857732810083914482">Räätälöinti on poistettu käytöstä. Voit muuttaa tämän asetuksen osoitteessa myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Tervetuloa Hangouts Meetiin</translation> <translation id="3862134173397075045">Tervetuloa käyttämään Cast-ominaisuuksia Chromessa!</translation> @@ -1980,7 +1969,6 @@ <translation id="399179161741278232">Tuotu</translation> <translation id="3994374631886003300">Avaa laitteen <ph name="DEVICE_TYPE" /> lukitus avaamalla ensin puhelimesi ja tuomalla se lähelle laitetta.</translation> <translation id="3994878504415702912">&Koko</translation> -<translation id="39964277676607559">JavaScript-tiedoston <ph name="RELATIVE_PATH" /> lataaminen sisältöohjelmalle epäonnistui.</translation> <translation id="4002066346123236978">Nimi</translation> <translation id="40027638859996362">Sanan siirto</translation> <translation id="4005817994523282006">Aikavyöhykkeen tunnistusmenetelmä</translation> @@ -2159,7 +2147,6 @@ <translation id="4336032328163998280">Kopiointi epäonnistui. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Verkkolokit ovat täällä: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Jotta voit ladata ja käyttää Android-sovelluksia, sinun on ensin asennettava päivitys. Et voi käyttää laitetta sen päivityksen aikana. <ph name="DEVICE_TYPE" /> käynnistyy uudelleen, kun asennus on valmis.</translation> -<translation id="4338683191474220626">Ikkuna vasemmalle</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> haluaa viestiä sovelluksen <ph name="EXTENSION_NAME" /> kanssa.</translation> <translation id="4342311272543222243">Hups, tapahtui TPM-virhe.</translation> <translation id="4345587454538109430">Määritä...</translation> @@ -2311,7 +2298,6 @@ <translation id="4615586811063744755">ei evästeitä valittuna</translation> <translation id="4617270414136722281">Laajennusasetukset</translation> <translation id="4619615317237390068">Välilehdet muista laitteista</translation> -<translation id="4620809267248568679">Laajennus on ottanut käyttöön tämän asetuksen.</translation> <translation id="4624768044135598934">Onnistui!</translation> <translation id="4625078469366263107">Ota sovellus käyttöön</translation> <translation id="4627427111733173920">Evästeet estetty</translation> @@ -2532,7 +2518,6 @@ <translation id="496226124210045887">Valitsemasi kansio sisältää arkaluonteisia tiedostoja. Haluatko varmasti myöntää käyttäjälle "$1" pysyvän käyttöoikeuden tähän kansioon?</translation> <translation id="4964455510556214366">Asettelu</translation> <translation id="4964673849688379040">Tarkistetaan…</translation> -<translation id="4965682129423310439">Chrome löysi haitallisia ohjelmia tietokoneestasi. Chrome voi poistaa ne ja palauttaa asetukset ennalleen, jotta selain toimii taas normaalisti.</translation> <translation id="4965808351167763748">Haluatko varmasti määrittää tämän laitteen käyttämään Hangouts Meetiä?</translation> <translation id="4967749818080339523">Valitse tili.</translation> <translation id="496888482094675990">Tiedostot-sovelluksen kautta pääset käyttämään nopeasti Google Driveen, ulkoiseen tallennustilaan tai Chrome-käyttöjärjestelmälaitteellesi tallennettuja tiedostoja.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Työpöydän suoratoisto ei onnistu.</translation> <translation id="6171948306033499786">Keskeytä tulostus</translation> <translation id="6175314957787328458">Microsoftin toimialueen GUID-tunnus</translation> -<translation id="6176032031541598434">Aktiivinen ikkuna siirretty alapuolella olevalle näytölle</translation> <translation id="6178664161104547336">Valitse varmenne</translation> <translation id="6181431612547969857">Lataus estettiin</translation> -<translation id="6181803575025675566">Säädä tämän toimintaa <ph name="LINK_START" />asetuksissa<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Laitteen sijainti</translation> <translation id="6185696379715117369">Sivu ylös</translation> <translation id="6189412234224385711">Avaa laajennuksella <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Hups, salasanat eivät täsmää!</translation> <translation id="6736243959894955139">Osoite</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Et voi enää käyttää vanhaa profiilia, mutta voit poistaa sen.</translation> <translation id="6739923123728562974">Näytä työpöydän pikakuvake</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> keskeytetty</translation> <translation id="6742339027238151589">Ohjelman käytettävissä</translation> -<translation id="6743841972744298686">Synkronointiasetukset</translation> <translation id="6745592621698551453">Päivitä nyt</translation> <translation id="6746124502594467657">Siirrä alas</translation> <translation id="674632704103926902">Ota käyttöön napauttamalla vetäminen</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Tulosta tietyt sivut</translation> <translation id="6972180789171089114">Ääni- ja videotiedostot</translation> <translation id="6973630695168034713">Kansiot</translation> -<translation id="6974053822202609517">Oikealta vasemmalle</translation> <translation id="6976108581241006975">JavaScript-konsoli</translation> <translation id="6977381486153291903">Laiteohjelmiston versio</translation> <translation id="6978121630131642226">Hakukoneet</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Piilota</translation> <translation id="7108634116785509031"><ph name="HOST" /> haluaa käyttää kameraasi.</translation> <translation id="7108668606237948702">kirjoita</translation> -<translation id="7112978678959880812">Räätälöinti on käytössä. Voit muuttaa tämän asetuksen osoitteessa myaccount.google.com.</translation> <translation id="7113502843173351041">Saada selville sähköpostiosoitteesi</translation> <translation id="7114054701490058191">Salasanat eivät täsmää</translation> <translation id="7117228822971127758">Yritä myöhemmin uudelleen.</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Lataa tämä sivu uudelleen</translation> <translation id="7222232353993864120">Sähköpostiosoite</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Ota kuvaruudun suurentaminen käyttöön</translation> <translation id="7223775956298141902">Höh, sinulla ei ole laajennuksia :-(</translation> <translation id="7225179976675429563">Verkon tyyppi puuttuu</translation> <translation id="7228479291753472782">Muuta asetuksia, jotka määrittävät, voivatko sivustot käyttää tiettyjä ominaisuuksia, esimerkiksi maantieteellistä sijaintia, mikrofonia, kameraa jne.</translation> @@ -4212,7 +4190,6 @@ <translation id="7639178625568735185">Ymmärretty!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> kirjaa sinut automaattisesti kelvollisille sivustoille, joiden salasanat olet tallentanut.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (omistaja)</translation> -<translation id="7647231681210854996">Aktiivinen ikkuna siirretty oikeanpuoleiselle näytölle</translation> <translation id="7648992873808071793">Tallentaa tiedostoja tälle laitteelle.</translation> <translation id="7649070708921625228">Ohje</translation> <translation id="7650511557061837441"><ph name="TRIGGERING_EXTENSION_NAME" /> haluaa poistaa laajennuksen <ph name="EXTENSION_NAME" />.</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">Puhu nyt</translation> <translation id="8372369524088641025">Väärä WEP-avain</translation> <translation id="8373553483208508744">Mykistä välilehdet</translation> -<translation id="8377870760189106701">Ikkuna oikealle</translation> <translation id="8378285435971754261">Kun annat Googlen sijaintipalveluiden auttaa sovelluksia paikantamaan sijaintisi nopeasti ja tarkasti, voit vähentää akun kulutusta. Palvelut lähettävät Googlelle anonyymejä sijaintitietoja myös silloin, kun sovelluksia ei ole käynnissä. <ph name="BEGIN_LINK1" />Lisätietoja<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Hallinnoi kamera-asetuksia…</translation> <translation id="8382913212082956454">Kopioi s&ähköpostiosoite</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">Siirry eteenpäin painamalla tai avaa historia kontekstivalikon kautta.</translation> <translation id="8584280235376696778">Avaa vide&o uudessa välilehdessä</translation> <translation id="8588866096426746242">Näytä profiilitiedot</translation> -<translation id="8589652987924574405">Kirjanmerkkisi, historiasi, salasanasi ja muut asetuksesi synkronoidaan Google-tilillesi, joten voit käyttää niitä kaikilla laitteillasi. Voit muuttaa tätä asetusta myöhemmin asetuksissa.</translation> <translation id="8590375307970699841">Ota käyttöön automaattiset päivitykset</translation> <translation id="8594908476761052472">Tallenna video</translation> <translation id="8596540852772265699">Muokatut tiedostot</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Roaming-tila</translation> <translation id="8620765578342452535">Määrittää verkkoyhteydet</translation> -<translation id="8620790565535071193">Haku epäonnistui</translation> <translation id="8624205858755890468">Sallii Assistantin näyttää kohteisiin liittyviä tietoja, sovelluksia ja toimintoja.</translation> <translation id="862542460444371744">Laaj&ennukset</translation> <translation id="8627151598708688654">Valitse lähde</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">Googlen tallentamia salasanoja</translation> <translation id="8714838604780058252">Taustagrafiikka</translation> <translation id="8719653885894320876">Laajennuksen <ph name="PLUGIN_NAME" /> lataus epäonnistui.</translation> -<translation id="8721669057562068233">Aktiivinen ikkuna siirretty yläpuolella olevalle näytölle</translation> <translation id="8723829621484579639">Incognito-alakehykset sivustolle <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Näytä ka&nsiossa</translation> <translation id="8725066075913043281">Yritä uudelleen</translation> @@ -4929,7 +4902,6 @@ <translation id="8785622406424941542">Näyttökynä</translation> <translation id="8787254343425541995">Salli välityspalvelimet jaetuilla verkoilla</translation> <translation id="8791534160414513928">Lähetä selaustietojesi mukana Do Not Track -pyyntö</translation> -<translation id="8792609692701651064">Aktiivinen ikkuna siirretty vasemmanpuoleiselle näytölle</translation> <translation id="8794025342371547160">Rajoitettu IP</translation> <translation id="879413103056696865">Kun hotspot on käytössä, <ph name="PHONE_NAME" /> tekee seuraavaa:</translation> <translation id="8795916974678578410">Uusi ikkuna</translation> @@ -5066,7 +5038,6 @@ <translation id="9024127637873500333">Avaa uudessa välilehdessä</translation> <translation id="9024331582947483881">koko näyttö</translation> <translation id="9025098623496448965">OK, palaa takaisin kirjautumissivulle</translation> -<translation id="902659348151742535">Google voi muokata hakua, mainoksia ja muita Googlen palveluita selaushistoriasi perusteella.</translation> <translation id="9026731007018893674">lataus</translation> <translation id="9027146684281895941">Kun valvot käyttäjää, voit hallita ja tarkastella tämän verkkosivustovierailuja Google-tililläsi.</translation> <translation id="9027459031423301635">Avaa linkki uudessa &välilehdessä</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb index 75d8420df..8051b008 100644 --- a/chrome/app/resources/generated_resources_fil.xtb +++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Walang network</translation> <translation id="1056898198331236512">Babala</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Hindi maalis ang mapaminsalang software</translation> <translation id="1062407476771304334">Palitan</translation> <translation id="1062866675591297858">Pamahalaan ang iyong mga pinangangasiwaang user sa pamamagitan ng <ph name="BEGIN_LINK" />Dashboard ng Mga Pinangangasiwaang User<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Sumali sa pribadong network</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Pumili ng isang file</translation> <translation id="136802136832547685">Walang mga pinangangasiwaang user na idaragdag sa device na ito.</translation> <translation id="1368265273904755308">Mag-ulat ng isyu</translation> -<translation id="1368832886055348810">Kaliwa papuntang Kanan</translation> <translation id="1370646789215800222">Alisin ang tao?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Aalisin ang 1 item}one{Aalisin ang # item}other{Aalisin ang # na item}}</translation> <translation id="1372841398847029212">I-sync sa iyong account</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Alisin ang user na ito</translation> <translation id="1609170755653088773">I-sync ang password na ito sa iyong iPhone</translation> <translation id="1609862759711084604">Nakaraang user</translation> -<translation id="1611557582955786626">Mag-sign in para sa naka-personalize na karanasan sa pag-browse, na naka-sync sa iyong mga device</translation> <translation id="1611584202130317952">Nagambala ang daloy ng provisioning. Pakisubukang muli o makipag-ugnayan sa may-ari o administrator ng iyong device.</translation> <translation id="1611649489706141841">susunod</translation> <translation id="1611704746353331382">Mag-export ng Mga Bookmark sa HTML File...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Magdagdag ng lokasyon...</translation> <translation id="1856813161013948396">Laktawan ang lock screen sa pamamagitan lang ng pag-tap sa sensor para sa fingerprint. I-click upang i-configure.</translation> <translation id="1858585891038687145">Pagkatiwalaan ang certificate na ito para sa pagtukoy sa mga gumawa ng software</translation> -<translation id="1859234291848436338">Pagsulat ng Direksyon</translation> <translation id="1861262398884155592">Walang laman ang folder na ito</translation> <translation id="1864111464094315414">Mag-login</translation> <translation id="1864400682872660285">Cooler</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Tiklupin...</translation> <translation id="2737492745329609575">Simulan ang setup</translation> <translation id="2738771556149464852">Hindi Pagkatapos</translation> -<translation id="2739046699559178272">I-save at magpatuloy</translation> <translation id="2739191690716947896">I-debug</translation> <translation id="2739240477418971307">Baguhin ang iyong mga setting ng accessibility</translation> <translation id="2740393541869613458">i-review ang mga website na binisita ng pinangangasiwaang user, at</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Na-download</translation> <translation id="2783661497142353826">Pamahalaan ang Mga Kiosk Application</translation> <translation id="2784407158394623927">Pag-activate ng iyong serbisyo ng data ng mobile</translation> -<translation id="2785530881066938471">Hindi ma-load ang file na '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman. Hindi ito naka-encode bilang UTF-8.</translation> <translation id="2785873697295365461">Mga descriptor ng file</translation> <translation id="2787047795752739979">Patungan ang orihinal</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Patuloy na i-block ang mga hindi naka-sandbox na plugin</translation> <translation id="2890678560483811744">Lampas sa hangganan ang tinukoy na page</translation> <translation id="2893168226686371498">Default na browser</translation> -<translation id="2893453364759632532">Ibaba ang window</translation> <translation id="289644616180464099">Naka-lock ang SIM Card</translation> <translation id="289695669188700754">Key ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Sigurado ka bang gusto mong buksan ang <ph name="TAB_COUNT" /> tab?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Ibinabahagi ang screen</translation> <translation id="3046910703532196514">Webpage, Kumpleto</translation> <translation id="304826556400666995">Mag-unmute ng Mga Tab</translation> -<translation id="3051523411789012618">Itaas ang window</translation> <translation id="3053013834507634016">Paggamit ng Certificate Key </translation> <translation id="3057861065630527966">I-back up ang iyong mga larawan at video</translation> <translation id="3060379269883947824">I-enable ang Select to Speak</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Ina-access ang input ng audio at video</translation> <translation id="3090819949319990166">Hindi makopya ang external na crx file sa <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Napares na ang "<ph name="DEVICE_NAME" />"</translation> -<translation id="3097628171361913691">Pang-install ng Zip File</translation> <translation id="3100609564180505575">Mga module (<ph name="TOTAL_COUNT" />) - Mga kilalang salungatan: <ph name="BAD_COUNT" />, pinaghihinalaan: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Petsa at oras</translation> <translation id="3108967419958202225">Pumili...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Nilagdaan ni</translation> <translation id="33022249435934718">Mga GDI Handle</translation> <translation id="3302340765592941254">I-download ang kumpletong notification</translation> -<translation id="3302709122321372472">Hindi ma-load ang css '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman.</translation> <translation id="3303260552072730022">Na-trigger ng isang extension ang buong screen.</translation> <translation id="3303818374450886607">Mga kopya</translation> <translation id="3303855915957856445">Walang nakitang resulta ng paghahanap</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Pumili ng timezone</translation> <translation id="3856921555429624101">Natapos na ang pagsusukat sa paggamit ng data</translation> <translation id="3857228364945137633">Subukan ang Smart Lock upang i-unlock ang iyong <ph name="DEVICE_TYPE" /> nang walang password kapag nasa malapit ang telepono mo.</translation> -<translation id="3857732810083914482">Naka-off ang pag-personalize. Mababago mo ito sa myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Welcome sa Hangouts Meet</translation> <translation id="3862134173397075045">Welcome sa karanasan sa Cast sa Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Na-import</translation> <translation id="3994374631886003300">I-unlock ang iyong telepono at ilapit pa ito upang ma-unlock ang <ph name="DEVICE_TYPE" /> mo.</translation> <translation id="3994878504415702912">&I-zoom</translation> -<translation id="39964277676607559">Maaaring hindi mai-load ang javascript '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman.</translation> <translation id="4002066346123236978">Pamagat</translation> <translation id="40027638859996362">Ilipat ang salita</translation> <translation id="4005817994523282006">Paraan ng pagtukoy ng time zone</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Nabigo ang pagkopya. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Para sa mga log ng network, tingnan ang: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Upang i-download at gamitin ang mga Android app, kailangan mo munang mag-install ng update. Habang nag-a-update ang iyong device, hindi mo ito magagamit. Magre-restart ang iyong <ph name="DEVICE_TYPE" /> pagkatapos ng pag-install.</translation> -<translation id="4338683191474220626">Ilagay sa kaliwa ang window</translation> <translation id="4340515029017875942">Gustong makipag-ugnayan ng <ph name="ORIGIN" /> sa app na "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Oops, nagkaroon ng TPM error.</translation> <translation id="4345587454538109430">I-configure...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">walang piniling cookie</translation> <translation id="4617270414136722281">Mga opsyon ng extension</translation> <translation id="4619615317237390068">Mga tab mula sa iba pang mga device</translation> -<translation id="4620809267248568679">Ipinapatupad ng isang extension ang setting na ito.</translation> <translation id="4624768044135598934">Tagumpay!</translation> <translation id="4625078469366263107">I-enable ang App</translation> <translation id="4627427111733173920">Na-block ang cookies</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Naglalaman ng mga sensitibong file ang folder na iyong pinili. Sigurado ka bang gusto mong magbigay ng "PhP50" na permanenteng read access sa folder na ito?</translation> <translation id="4964455510556214366">Kaayusan</translation> <translation id="4964673849688379040">Sinusuri...</translation> -<translation id="4965682129423310439">May nakitang mapaminsalang software ang Chrome sa iyong computer. Maaari itong alisin ng Chrome at i-restore ang mga setting mo upang mapaganang muli nang normal ang iyong browser.</translation> <translation id="4965808351167763748">Sigurado ka bang gusto mong i-set up ang device na ito upang patakbuhin ang Hangouts Meet?</translation> <translation id="4967749818080339523">Pumili ng isang account</translation> <translation id="496888482094675990">Nagbibigay ang Files app ng mabilisang access sa mga file na nai-save mo sa Google Drive, external na storage o sa iyong Chrome OS device.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Hindi ma-cast ang desktop.</translation> <translation id="6171948306033499786">I-pause ang pag-print</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Inilipat ang aktibong window sa display sa ibaba</translation> <translation id="6178664161104547336">Pumili ng certificate</translation> <translation id="6181431612547969857">Na-block ang pagda-download</translation> -<translation id="6181803575025675566">Kontrolin kung paano ito gumagana sa <ph name="LINK_START" />Mga Setting<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokasyon ng Device</translation> <translation id="6185696379715117369">Pataas sa pahina</translation> <translation id="6189412234224385711">Buksan gamit ang <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Whoops, hindi tumutugma ang mga password!</translation> <translation id="6736243959894955139">Address</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Bagama't hindi mo na maa-access ang iyong lumang profile, maaalis mo ito.</translation> <translation id="6739923123728562974">Ipakita ang desktop shortcut</translation> <translation id="6740234557573873150">Na-pause ang <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Naa-access sa script</translation> -<translation id="6743841972744298686">Mga setting ng pag-sync</translation> <translation id="6745592621698551453">Mag-update ngayon</translation> <translation id="6746124502594467657">Ibaba</translation> <translation id="674632704103926902">Paganahin ang pag-tap upang mag-drag</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">I-print ang Mga Tiyak na Pahina</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Mga Folder</translation> -<translation id="6974053822202609517">Kanan papuntang Kaliwa</translation> <translation id="6976108581241006975">&JavaScript console</translation> <translation id="6977381486153291903">Rebisyon ng firmware</translation> <translation id="6978121630131642226">Mga Search Engine</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Itago</translation> <translation id="7108634116785509031">Gustong gamitin ng <ph name="HOST" /> ang iyong camera</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Naka-on ang pag-personalize. Mababago mo ito sa myaccount.google.com.</translation> <translation id="7113502843173351041">Alamin ang iyong email address</translation> <translation id="7114054701490058191">Hindi magkatugma ang mga password</translation> <translation id="7117228822971127758">Pakisubukang muli sa ibang pagkakataon</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">I-reload ang page na ito</translation> <translation id="7222232353993864120">Email Address</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Paganahin ang screen magnifier</translation> <translation id="7223775956298141902">Boo... Wala kang mga extension :-(</translation> <translation id="7225179976675429563">Nawawala ang uri ng network</translation> <translation id="7228479291753472782">Manipulahin ang mga setting na tumutukoy kung makakagamit ang mga website ng mga feature gaya ng geolocation, mikropono, camera, atbp.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Nakuha ko!</translation> <translation id="764017888128728">Awtomatiko kang sina-sign in ng <ph name="PASSWORD_MANAGER_BRAND" /> sa mga kwalipikadong site gamit ang mga password na na-save mo.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (may-ari)</translation> -<translation id="7647231681210854996">Inilipat ang aktibong window sa display sa kanan</translation> <translation id="7648992873808071793">Mag-imbak ng mga file sa device na ito</translation> <translation id="7649070708921625228">Tulong</translation> <translation id="7650511557061837441">Gustong alisin ng "<ph name="TRIGGERING_EXTENSION_NAME" />" ang "<ph name="EXTENSION_NAME" />".</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Magsalita ngayon</translation> <translation id="8372369524088641025">Mahinang WEP key</translation> <translation id="8373553483208508744">Mag-mute ng mga tab</translation> -<translation id="8377870760189106701">Ilipat ang window sa kanan</translation> <translation id="8378285435971754261">Payagan ang serbisyo ng lokasyon ng Google na tumulong sa mga app na mabilis at tumpak na mahanap ang iyong lokasyon, na maaaring makabawas sa pagkonsumo ng baterya. Magpapadala ng anonymous na data ng lokasyon sa Google, kahit walang mga gumaganang app. <ph name="BEGIN_LINK1" />Matuto nang Higit Pa<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Pamahalaan ang mga setting ng camera...</translation> <translation id="8382913212082956454">Kopyahin ang &email address</translation> @@ -4795,7 +4771,6 @@ <translation id="8581809080475256101">Pindutin upang makapunta sa susunod, gamitin ang menu ng konteksto upang makita ang history</translation> <translation id="8584280235376696778">&Buksan ang video sa bagong tab</translation> <translation id="8588866096426746242">Ipakita ang mga istatistika ng profile</translation> -<translation id="8589652987924574405">Isi-sync ang iyong mga bookmark, history, password, at iba pang setting sa iyong Google Account upang magamit mo ang mga ito sa lahat ng iyong device. Mababago mo ito anumang oras sa iyong mga setting.</translation> <translation id="8590375307970699841">Mag-set up ng mga awtomatikong update</translation> <translation id="8594908476761052472">Kumuha ng video</translation> <translation id="8596540852772265699">Mga Custom na File</translation> @@ -4811,7 +4786,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status ng roaming</translation> <translation id="8620765578342452535">I-configure ang mga koneksyon sa network</translation> -<translation id="8620790565535071193">Hindi na-scan</translation> <translation id="8624205858755890468">Binibigyang-daan ang Assistant na magpakita sa iyo ng mga kaugnay na impormasyon, app, at pagkilos.</translation> <translation id="862542460444371744">&Mga Extension</translation> <translation id="8627151598708688654">Pumili ng pinagmulan</translation> @@ -4889,7 +4863,6 @@ <translation id="871476437400413057">Mga password na naka-save sa Google</translation> <translation id="8714838604780058252">Graphics sa background</translation> <translation id="8719653885894320876">Hindi na-download ang <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Inilipat ang aktibong window sa display sa itaas</translation> <translation id="8723829621484579639">Mga incognito subframe para sa: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Ipakita sa Folder</translation> <translation id="8725066075913043281">Muling subukan</translation> @@ -4933,7 +4906,6 @@ <translation id="8785622406424941542">Stylus</translation> <translation id="8787254343425541995">Payagan ang mga proxy para sa mga nakabahaging network</translation> <translation id="8791534160414513928">Magpadala ng kahilingang ‘Huwag Subaybayan’ kasama ng iyong trapiko ng pagba-browse</translation> -<translation id="8792609692701651064">Inilipat ang aktibong window sa display sa kaliwa</translation> <translation id="8794025342371547160">Pinaghihigpitang IP</translation> <translation id="879413103056696865">Habang naka-on ang hotspot, gagawin ng iyong <ph name="PHONE_NAME" /> ang mga sumusunod:</translation> <translation id="8795916974678578410">New Window</translation> @@ -5071,7 +5043,6 @@ <translation id="9024127637873500333">&Buksan sa Bagong Tab</translation> <translation id="9024331582947483881">buong screen</translation> <translation id="9025098623496448965">OK, Dalhin ako pabalik sa screen sa pag-sign-in</translation> -<translation id="902659348151742535">Maaaring gamitin ng Google ang iyong history ng pagba-browse upang i-personalize ang Search, mga ad at iba pang mga serbisyo ng Google.</translation> <translation id="9026731007018893674">i-download</translation> <translation id="9027146684281895941">Pangasiwaan ang taong ito mula sa iyong Google Account upang makontrol at makita ang mga website na binibisita niya.</translation> <translation id="9027459031423301635">Buksan ang Link sa Bagong &Tab</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb index 921d54a..a5acc1a 100644 --- a/chrome/app/resources/generated_resources_fr.xtb +++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Aucun réseau</translation> <translation id="1056898198331236512">Avertissement</translation> <translation id="1058262162121953039">Clé PUK</translation> -<translation id="106001083577824516">Impossible de supprimer le logiciel malveillant</translation> <translation id="1062407476771304334">Remplacer</translation> <translation id="1062866675591297858">Superviser les utilisateurs gérés via le <ph name="BEGIN_LINK" />tableau de bord des utilisateurs gérés<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Rejoindre un réseau privé</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Choisir un fichier</translation> <translation id="136802136832547685">Aucun utilisateur supervisé à ajouter à cet appareil.</translation> <translation id="1368265273904755308">Signaler un problème</translation> -<translation id="1368832886055348810">De gauche à droite</translation> <translation id="1370646789215800222">Supprimer le profil utilisateur ?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 élément à supprimer}one{# élément à supprimer}other{# éléments à supprimer}}</translation> <translation id="1372841398847029212">Synchroniser avec votre compte</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Supprimer cet utilisateur</translation> <translation id="1609170755653088773">Synchroniser ce mot de passe avec votre iPhone</translation> <translation id="1609862759711084604">Utilisateur précédent</translation> -<translation id="1611557582955786626">Connectez-vous pour profiter d'une expérience de navigation personnalisée et synchroniser vos données sur plusieurs appareils</translation> <translation id="1611584202130317952">Flux d'accès interrompu. Veuillez réessayer ou contacter le propriétaire/l'administrateur de l'appareil.</translation> <translation id="1611649489706141841">suivant</translation> <translation id="1611704746353331382">Exporter les favoris vers un fichier HTML…</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Ajouter un emplacement…</translation> <translation id="1856813161013948396">Désactivez l'écran de verrouillage en appuyant sur le lecteur d'empreinte digitale. Cliquez pour configurer.</translation> <translation id="1858585891038687145">Considérer ce certificat comme fiable pour identifier les développeurs de logiciels</translation> -<translation id="1859234291848436338">Sens de l'écriture</translation> <translation id="1861262398884155592">Ce dossier est vide</translation> <translation id="1864111464094315414">Connexion</translation> <translation id="1864400682872660285">Plus froid</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Réduire...</translation> <translation id="2737492745329609575">Démarrer la configuration</translation> <translation id="2738771556149464852">Pas après le</translation> -<translation id="2739046699559178272">Enregistrer et continuer</translation> <translation id="2739191690716947896">Déboguer</translation> <translation id="2739240477418971307">Modifier vos paramètres d'accessibilité</translation> <translation id="2740393541869613458">examiner les sites Web que l'utilisateur supervisé a consultés ;</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Téléchargé</translation> <translation id="2783661497142353826">Gérer les applications kiosque</translation> <translation id="2784407158394623927">Activation de votre service Internet mobile</translation> -<translation id="2785530881066938471">Impossible de charger le fichier "<ph name="RELATIVE_PATH" />" pour le script de contenu, car ce fichier n'est pas codé en UTF-8.</translation> <translation id="2785873697295365461">Descripteurs de fichiers</translation> <translation id="2787047795752739979">Écraser l'original</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Continuer à bloquer l'exécution hors bac à sable des plug-ins</translation> <translation id="2890678560483811744">Plage de pages hors limite</translation> <translation id="2893168226686371498">Navigateur par défaut</translation> -<translation id="2893453364759632532">Fenêtre vers le bas</translation> <translation id="289644616180464099">La carte SIM est verrouillée</translation> <translation id="289695669188700754">ID de clé : <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Voulez-vous vraiment ouvrir <ph name="TAB_COUNT" /> onglets ?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Partage d'écran</translation> <translation id="3046910703532196514">Page Web, complète</translation> <translation id="304826556400666995">Réactiver le son des onglets</translation> -<translation id="3051523411789012618">Fenêtre vers le haut</translation> <translation id="3053013834507634016">Utilisation de la clé du certificat</translation> <translation id="3057861065630527966">Sauvegarder vos photos et vos vidéos</translation> <translation id="3060379269883947824">Activer "Sélectionner pour prononcer"</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Accès à l'entrée audio et vidéo en cours…</translation> <translation id="3090819949319990166">Impossible de copier le fichier crx externe dans <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" associé.</translation> -<translation id="3097628171361913691">Décompression de fichiers .zip</translation> <translation id="3100609564180505575">Modules (<ph name="TOTAL_COUNT" />). Conflits connus : <ph name="BAD_COUNT" />, conflits probables : <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Date et heure</translation> <translation id="3108967419958202225">Sélectionner...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Signé par :</translation> <translation id="33022249435934718">Handles GDI</translation> <translation id="3302340765592941254">Notification de fin de téléchargement</translation> -<translation id="3302709122321372472">Impossible de charger le fichier css "<ph name="RELATIVE_PATH" />" du script de contenu.</translation> <translation id="3303260552072730022">Une extension a déclenché le mode plein écran.</translation> <translation id="3303818374450886607">Copies</translation> <translation id="3303855915957856445">Aucun résultat de recherche n'a été trouvé.</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Sélectionner un fuseau horaire</translation> <translation id="3856921555429624101">La mesure de l'utilisation des données a pris fin.</translation> <translation id="3857228364945137633">Testez Smart Lock pour déverrouiller votre <ph name="DEVICE_TYPE" /> sans mot de passe lorsque votre téléphone est à proximité.</translation> -<translation id="3857732810083914482">La personnalisation est désactivée. Vous pouvez modifier ce paramètre sur myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Bienvenue dans Hangouts Meet</translation> <translation id="3862134173397075045">Bienvenue dans l'expérience Cast sur Chrome</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importés</translation> <translation id="3994374631886003300">Déverrouillez votre téléphone et rapprochez-le de votre <ph name="DEVICE_TYPE" /> pour le déverrouiller.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Impossible de charger le JavaScript "<ph name="RELATIVE_PATH" />" du script de contenu.</translation> <translation id="4002066346123236978">Titre</translation> <translation id="40027638859996362">Déplacer un mot</translation> <translation id="4005817994523282006">Méthode de détection du fuseau horaire</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Échec de l'opération de copie. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Pour les journaux réseau, consultez la page suivante : <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Pour télécharger et utiliser des applications Android, vous devez d'abord installer une mise à jour. Vous ne pouvez pas utiliser votre appareil pendant la mise à jour. Votre <ph name="DEVICE_TYPE" /> redémarrera une fois l'installation terminée.</translation> -<translation id="4338683191474220626">Fenêtre vers la gauche</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> souhaite communiquer avec l'application "<ph name="EXTENSION_NAME" />".</translation> <translation id="4342311272543222243">Une erreur liée au module de plate-forme sécurisée s'est produite</translation> <translation id="4345587454538109430">Configurer...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">aucun cookie sélectionné</translation> <translation id="4617270414136722281">Options d'extension</translation> <translation id="4619615317237390068">Onglets d'autres appareils</translation> -<translation id="4620809267248568679">Ce paramètre est appliqué par une extension.</translation> <translation id="4624768044135598934">Opération réussie !</translation> <translation id="4625078469366263107">Activer l'application</translation> <translation id="4627427111733173920">Cookies bloqués</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Le dossier que vous avez sélectionné contient des fichiers sensibles. Voulez-vous vraiment accorder à "$1" un accès en lecture permanent à ce dossier ?</translation> <translation id="4964455510556214366">Organisation</translation> <translation id="4964673849688379040">Vérification en cours…</translation> -<translation id="4965682129423310439">Chrome a détecté un logiciel malveillant sur votre ordinateur. Il peut supprimer ce logiciel et restaurer vos paramètres pour que votre navigateur fonctionne à nouveau normalement.</translation> <translation id="4965808351167763748">Voulez-vous vraiment configurer cet appareil pour exécuter Hangouts Meet ?</translation> <translation id="4967749818080339523">Sélectionner un compte</translation> <translation id="496888482094675990">L'application Fichiers vous permet d'accéder rapidement aux fichiers que vous avez enregistrés dans Google Drive, sur un périphérique de stockage externe ou sur votre appareil Chrome OS.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Impossible de caster le bureau</translation> <translation id="6171948306033499786">Suspendre l'impression</translation> <translation id="6175314957787328458">GUID de domaine Microsoft</translation> -<translation id="6176032031541598434">Fenêtre active transférée vers l'écran du bas</translation> <translation id="6178664161104547336">Sélectionner un certificat</translation> <translation id="6181431612547969857">Téléchargement bloqué</translation> -<translation id="6181803575025675566">Contrôlez comment cela fonctionne dans <ph name="LINK_START" />Paramètres<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Position de l'appareil</translation> <translation id="6185696379715117369">Accéder à la page précédente</translation> <translation id="6189412234224385711">Ouvrir avec <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Petit problème… Les mots de passe ne correspondent pas.</translation> <translation id="6736243959894955139">Adresse</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Bien que vous ne puissiez plus accéder à votre ancien profil, vous pouvez le supprimer.</translation> <translation id="6739923123728562974">Afficher le raccourci sur le Bureau</translation> <translation id="6740234557573873150">Fichier <ph name="FILE_NAME" /> suspendu</translation> <translation id="6742339027238151589">Accessible aux scripts</translation> -<translation id="6743841972744298686">Paramètres de synchronisation</translation> <translation id="6745592621698551453">Mettre à jour</translation> <translation id="6746124502594467657">Descendre</translation> <translation id="674632704103926902">Activer le déplacement tactile</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Imprimer des pages spécifiques</translation> <translation id="6972180789171089114">Audio/Vidéo</translation> <translation id="6973630695168034713">Dossiers</translation> -<translation id="6974053822202609517">De droite à gauche</translation> <translation id="6976108581241006975">Console JavaScript</translation> <translation id="6977381486153291903">Version du micrologiciel</translation> <translation id="6978121630131642226">Moteurs de recherche</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Masquer</translation> <translation id="7108634116785509031"><ph name="HOST" /> souhaite utiliser votre appareil photo</translation> <translation id="7108668606237948702">saisir la clé</translation> -<translation id="7112978678959880812">La personnalisation est activée. Vous pouvez modifier ce paramètre sur myaccount.google.com.</translation> <translation id="7113502843173351041">Accéder à votre adresse e-mail</translation> <translation id="7114054701490058191">Les mots de passe ne correspondent pas.</translation> <translation id="7117228822971127758">Veuillez réessayer plus tard</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Actualiser cette page</translation> <translation id="7222232353993864120">Adresse e-mail</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Activer la loupe</translation> <translation id="7223775956298141902">Aucune extension n'est installée.</translation> <translation id="7225179976675429563">Type de réseau manquant.</translation> <translation id="7228479291753472782">Manipule des paramètres qui déterminent si les sites Web peuvent utiliser des fonctionnalités telles que la géolocalisation, le microphone, l'appareil photo, etc.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">OK</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> vous connecte automatiquement aux sites éligibles avec les mots de passe que vous avez enregistrés.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (propriétaire)</translation> -<translation id="7647231681210854996">Fenêtre active transférée vers l'écran de droite</translation> <translation id="7648992873808071793">Stocker les fichiers sur cet appareil</translation> <translation id="7649070708921625228">Aide</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" souhaite supprimer "<ph name="EXTENSION_NAME" />".</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Parlez maintenant.</translation> <translation id="8372369524088641025">Clé WEP incorrecte</translation> <translation id="8373553483208508744">Couper le son des onglets</translation> -<translation id="8377870760189106701">Fenêtre vers la droite</translation> <translation id="8378285435971754261">Activez les services de localisation de Google afin de permettre aux applications de déterminer rapidement et précisément votre position, et ainsi d'économiser la batterie. Des données de localisation anonymes sont envoyées à Google, même quand aucune application n'est exécutée. <ph name="BEGIN_LINK1" />En savoir plus<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gérer les paramètres de l'appareil photo…</translation> <translation id="8382913212082956454">Copi&er l'adresse e-mail</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Appuyer pour avancer, menu contextuel pour afficher l'historique</translation> <translation id="8584280235376696778">Ou&vrir la vidéo dans un nouvel onglet</translation> <translation id="8588866096426746242">Afficher les statistiques du profil</translation> -<translation id="8589652987924574405">Vos favoris, votre historique, vos mots de passe et d'autres paramètres seront synchronisés avec votre compte Google afin que vous puissiez les utiliser sur tous vos appareils. Vous pouvez modifier cette option à tout moment dans vos paramètres.</translation> <translation id="8590375307970699841">Configurer les mises à jour automatiques</translation> <translation id="8594908476761052472">Enregistrer une vidéo</translation> <translation id="8596540852772265699">Fichiers personnalisés</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" /> : <ph name="ERROR" /></translation> <translation id="8620617069779373398">État d'itinérance</translation> <translation id="8620765578342452535">Configurer les connexions réseau</translation> -<translation id="8620790565535071193">Échec de l'analyse</translation> <translation id="8624205858755890468">Active l'Assistant pour vous proposer des informations, des applications et des actions similaires.</translation> <translation id="862542460444371744">&Extensions</translation> <translation id="8627151598708688654">Sélectionner la source</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Mots de passe Google enregistrés</translation> <translation id="8714838604780058252">Graphiques d'arrière-plan</translation> <translation id="8719653885894320876">Échec du téléchargement de <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Fenêtre active transférée vers l'écran du haut</translation> <translation id="8723829621484579639">Sous-cadres de navigation privée pour : <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Afficher dans le dossier</translation> <translation id="8725066075913043281">Réessayer</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Stylet</translation> <translation id="8787254343425541995">Autoriser les proxys pour les réseaux partagés</translation> <translation id="8791534160414513928">Envoyer une demande "Interdire le suivi" pendant la navigation</translation> -<translation id="8792609692701651064">Fenêtre active transférée vers l'écran de gauche</translation> <translation id="8794025342371547160">IP limitée</translation> <translation id="879413103056696865">Lors de l'utilisation du point d'accès, votre <ph name="PHONE_NAME" /> :</translation> <translation id="8795916974678578410">Nouvelle fenêtre</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Ouvrir dans un nouvel onglet</translation> <translation id="9024331582947483881">plein écran</translation> <translation id="9025098623496448965">OK, revenir à l'écran de connexion</translation> -<translation id="902659348151742535">Google peut utiliser votre historique de navigation pour personnaliser la recherche, les annonces et d'autres services Google.</translation> <translation id="9026731007018893674">téléchargement</translation> <translation id="9027146684281895941">Superviser cette personne pour contrôler et afficher les sites Web qu'elle visite depuis votre compte Google</translation> <translation id="9027459031423301635">Ouvrir le lien dans un nouvel ongle&t</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb index 05e58d7..8a9db5b1 100644 --- a/chrome/app/resources/generated_resources_gu.xtb +++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">કોઈ નેટવર્ક નથી</translation> <translation id="1056898198331236512">ચેતવણી</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">નુકસાનકારક સૉફ્ટવેર દૂર કરી શકાતું નથી</translation> <translation id="1062407476771304334">બદલો</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />નિરીક્ષિત વપરાશકર્તાઓ ડેશબોર્ડ<ph name="END_LINK" /> મારફતે તમારા નિરીક્ષિત વપરાશકર્તાઓનું સંચાલન કરો.</translation> <translation id="1064835277883315402">ખાનગી નેટવર્કથી જોડાઓ</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">એક ફાઇલ પસંદ કરો</translation> <translation id="136802136832547685">આ ઉપકરણ પર ઉમેરવા માટે કોઇ નિરીક્ષિત વપરાશકર્તાઓ નથી.</translation> <translation id="1368265273904755308">સમસ્યાની જાણ કરો</translation> -<translation id="1368832886055348810">ડાબેથી જમણે</translation> <translation id="1370646789215800222">વ્યક્તિને દૂર કરીએ?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 આઇટમ કાઢી નાખવામાં આવશે}one{# આઇટમ કાઢી નાખવામાં આવશે}other{# આઇટમ કાઢી નાખવામાં આવશે}}</translation> <translation id="1372841398847029212">તમારા એકાઉન્ટ સાથે સિંક કરો</translation> @@ -399,7 +397,6 @@ <translation id="1608626060424371292">આ વપરાશકર્તાને દૂર કરો</translation> <translation id="1609170755653088773">તમારા iPhone પર આ પાસવર્ડ સમન્વયિત કરો</translation> <translation id="1609862759711084604">પહેલાંના વપરાશકર્તા</translation> -<translation id="1611557582955786626">તમારા બધા ઉપકરણો પર સિંક કરેલ વ્યક્તિગત બ્રાઉઝિંગ અનુભવ મેળવવા માટે સાઇન ઇન કરો</translation> <translation id="1611584202130317952">જોગવાઈકારી પ્રવાહ અવરોધાયો. કૃપા કરીને ફરી પ્રયાસ કરો અથવા તમારા ઉપકરણના માલિક અથવા વ્યવસ્થાપકનો સંપર્ક કરો.</translation> <translation id="1611649489706141841">ફોરવર્ડ કરો</translation> <translation id="1611704746353331382">HTML ફાઇલમાં બુકમાર્ક્સ નિકાસ કરો...</translation> @@ -562,12 +559,11 @@ <translation id="184823282865851239">જો સાઇટ ખલેલ પાડતી જાહેરાતો બતાવવાનું વલણ ધરાવતી હોય તેને અવરોધિત કરો</translation> <translation id="1849186935225320012">આ પૃષ્ઠ પાસે MIDI ઉપકરણોનું સંપૂર્ણ નિયંત્રણ છે.</translation> <translation id="1850508293116537636">&ઘડિયાળની દિશામાં ફેરવો</translation> -<translation id="1851361118452499663">મારા ફોટો</translation> +<translation id="1851361118452499663">મારા ફોટા</translation> <translation id="1852799913675865625">ફાઇલ વાંચવાનો પ્રયાસ કરતી વખતે ભૂલ આવી હતી: <ph name="ERROR_TEXT" />.</translation> <translation id="1856715684130786728">સ્થાન ઉમેરો...</translation> <translation id="1856813161013948396">ફક્ત ફિંગરપ્રિન્ટ સેન્સર ટૅપ કરીને લૉક સ્ક્રીન છોડો. ગોઠવવા માટે ક્લિક કરો.</translation> <translation id="1858585891038687145">સૉફ્ટવેર માર્કર્સને ઓળખવા માટે આ પ્રમાણપત્ર પર વિશ્વાસ કરો</translation> -<translation id="1859234291848436338">લેખનના દિશાનિર્દેશ</translation> <translation id="1861262398884155592">આ ફોલ્ડર ખાલી છે</translation> <translation id="1864111464094315414">લૉગિન</translation> <translation id="1864400682872660285">કૂલર</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">સંકુચિત કરો...</translation> <translation id="2737492745329609575">સેટઅપ શરૂ કરો</translation> <translation id="2738771556149464852">આના પછી નહીં</translation> -<translation id="2739046699559178272">સાચવો અને આગળ વધો</translation> <translation id="2739191690716947896">ડીબગ કરો</translation> <translation id="2739240477418971307">તમારી ઍક્સેસિબિલિટી સેટિંગ્સ બદલો</translation> <translation id="2740393541869613458">નિરીક્ષણ કરેલ વપરાશકર્તાએ મુલાકાત લીધેલી વેબસાઇટ્સની સમીક્ષા કરો, અને</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">ડાઉનલોડ કરેલ</translation> <translation id="2783661497142353826">કિઓસ્ક એપ્લિકેશન્સનું સંચાલન કરો</translation> <translation id="2784407158394623927">તમારી મોબાઇલ ડેટા સેવાને સક્રિય કરી રહ્યા છીએ</translation> -<translation id="2785530881066938471">સામગ્રી સ્ક્રિપ્ટ માટે '<ph name="RELATIVE_PATH" />' ફાઇલ લોડ કરી શકાઈ નથી. તે UTF-8 એન્કોડેડ નથી.</translation> <translation id="2785873697295365461">ફાઇલ વર્ણનકર્તા</translation> <translation id="2787047795752739979">મૂળ પર ઓવરરાઇટ કરો</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">અનસેન્ડબૉક્સ્ડ પ્લગિન્સ અવરોધિત કરવાનું ચાલુ રાખો</translation> <translation id="2890678560483811744">વધુ પડતો મોટો પૃષ્ઠ સંદર્ભ</translation> <translation id="2893168226686371498">ડિફૉલ્ટ બ્રાઉઝર</translation> -<translation id="2893453364759632532">Window ડાઉન</translation> <translation id="289644616180464099">SIM કાર્ડ લૉક કરેલ છે</translation> <translation id="289695669188700754">કી ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">શું તમે ખરેખર <ph name="TAB_COUNT" /> ટૅબ્સ ખોલવા માંગો છો?</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">સ્ક્રીન શેર કરી રહ્યાં છીએ</translation> <translation id="3046910703532196514">વેબપૃષ્ઠ, પૂર્ણ</translation> <translation id="304826556400666995">ટૅબ્સને અનમ્યૂટ કરો</translation> -<translation id="3051523411789012618">Window અપ</translation> <translation id="3053013834507634016">પ્રમાણપત્ર કી ઉપયોગ</translation> <translation id="3057861065630527966">તમારા ફોટો અને વિડિઓઝનો બેકઅપ લો</translation> <translation id="3060379269883947824">સાંભળવા માટે પસંદ કરોને ચાલુ કરો</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">ઑડિઓ અને વિડિઓ ઇનપુટને ઍક્સેસ કરી રહ્યું છે</translation> <translation id="3090819949319990166">બાહ્ય crx ફાઇલને <ph name="TEMP_CRX_FILE" /> પર કૉપિ કરી શકતાં નથી.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />"થી જોડી બનાવી</translation> -<translation id="3097628171361913691">ઝિપ ફાઇલ ઇન્સ્ટોલર</translation> <translation id="3100609564180505575">મોડ્યુલ્સ(<ph name="TOTAL_COUNT" />) - જાણીતા વિરોધાભાસો: <ph name="BAD_COUNT" />, શંકાસ્પદ: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">તારીખ અને સમય</translation> <translation id="3108967419958202225">પસંદ કરો...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">આમના દ્વારા હસ્તાક્ષરિત</translation> <translation id="33022249435934718">GDI હેન્ડલ્સ</translation> <translation id="3302340765592941254">ડાઉનલોડ પૂર્ણ થયાની સૂચના</translation> -<translation id="3302709122321372472">સામગ્રી સ્ક્રિપ્ટ માટે css '<ph name="RELATIVE_PATH" />' લોડ કરી શકાયું નથી.</translation> <translation id="3303260552072730022">એક્સટેંશને પૂર્ણ સ્ક્રીન ટ્રિગર કરેલી છે.</translation> <translation id="3303818374450886607">કોપિસ</translation> <translation id="3303855915957856445">કોઈ શોધ પરિણામો મળ્યાં નથી</translation> @@ -1887,7 +1877,6 @@ <translation id="3856800405688283469">સમયઝોન પસંદ કરો</translation> <translation id="3856921555429624101">ડેટા વપરાશ માપન સમાપ્ત થયું છે</translation> <translation id="3857228364945137633">જ્યારે તમારો ફોન નજીકમાં હોય, ત્યારે તમારા <ph name="DEVICE_TYPE" />ને પાસવર્ડ વિના અનલૉક કરવાનો પ્રયાસ કરો.</translation> -<translation id="3857732810083914482">મનપસંદ બનાવવાનું બંધ છે. તમે આને myaccount.google.com પર બદલી શકો છો.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meet પર સ્વાગત છે</translation> <translation id="3862134173397075045">Chrome માં કાસ્ટ અનુભવ પર સ્વાગત છે!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">આયાત કરેલા</translation> <translation id="3994374631886003300">તમારો ફોન અનલૉક કરો અને તમારા <ph name="DEVICE_TYPE" />ને અનલૉક કરવા માટે તેને વધુ નજીક લાવો.</translation> <translation id="3994878504415702912">&ઝૂમ કરો</translation> -<translation id="39964277676607559">સામગ્રી સ્ક્રિપ્ટ માટે JavaScript '<ph name="RELATIVE_PATH" />' લોડ કરી શકાયું નથી.</translation> <translation id="4002066346123236978">શીર્ષક</translation> <translation id="40027638859996362">શબ્દ ખસેડો</translation> <translation id="4005817994523282006">સમય ઝોન ઓળખ પદ્ધતિ</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">કૉપિ ઑપરેશન નિષ્ફળ થયું. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">નેટવર્ક લૉગ્સ માટે, જુઓ: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android ઍપ્લિકેશનો ડાઉનલોડ કરીને તેનો ઉપયોગ કરવા, તમારે પહેલા એક અપડેટ ઇન્સ્ટૉલ કરવું જરૂરી છે. તમારું ઉપકરણ અપડેટ થઈ રહ્યું હોય, ત્યારે તમે તેનો ઉપયોગ કરી શકતા નથી. ઇન્ટૉલેશન પૂર્ણ થાય પછી તમારું <ph name="DEVICE_TYPE" /> ફરી શરૂ થશે.</translation> -<translation id="4338683191474220626">Window ડાબે</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> આ "<ph name="EXTENSION_NAME" />" ઍપ્લિકેશન સાથે સંચાર કરવા માગે છે</translation> <translation id="4342311272543222243">અરેરે, TPM ભૂલ.</translation> <translation id="4345587454538109430">ગોઠવો...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">કોઈ કુકી પસંદ કરી નથી</translation> <translation id="4617270414136722281">એક્સ્ટેન્શન વિકલ્પો</translation> <translation id="4619615317237390068">અન્ય ઉપકરણોમાંથી ટૅબ્સ</translation> -<translation id="4620809267248568679">આ સેટિંગ એક એક્સ્ટેંશન દ્વારા લાગુ કરાઈ છે.</translation> <translation id="4624768044135598934">સફળતા!</translation> <translation id="4625078469366263107">ઍપ્લિકેશન સક્ષમ કરો</translation> <translation id="4627427111733173920">કુકી અવરોધિત</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">તમે પસંદ કરેલું ફોલ્ડર સંવેદનશીલ ફાઇલો ધરાવે છે. શું તમે ખરેખર "$1" ને આ ફોલ્ડરની કાયમી વાંચવાની ઍક્સેસ આપવા માંગો છો?</translation> <translation id="4964455510556214366">ગોઠવણી</translation> <translation id="4964673849688379040">તપાસી રહ્યું છે...</translation> -<translation id="4965682129423310439">Chromeને તમારા કમ્પ્યુટરમાં નુકસાનકારક સૉફ્ટવેર મળ્યું છે. તમારું બ્રાઉઝર ફરીથી સામાન્ય રીતે કાર્ય કરે તે માટે Chrome તેને દૂર કરીને તમારી સેટિંગ્સ પુનઃસ્થાપિત કરી શકે છે.</translation> <translation id="4965808351167763748">શું તમે ખરેખર આ ઉપકરણને Hangouts Meet ચલાવવા માટે સેટ કરવા માગો છો?</translation> <translation id="4967749818080339523">એકાઉન્ટ પસંદ કરો</translation> <translation id="496888482094675990">ફાઇલ્સ ઍપ્લિકેશન તમે Google ડ્રાઇવ, બાહ્ય સ્ટોરેજ અથવા તમારા Chrome OS ઉપકરણ પર સાચવી છે તે ફાઇલોની ઝડપી ઍક્સેસ પ્રદાન કરે છે.</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">ડેસ્કટૉપને કાસ્ટ કરવામાં અસમર્થ.</translation> <translation id="6171948306033499786">છાપવાનું થોભાવો</translation> <translation id="6175314957787328458">Microsoft ડોમેન GUID</translation> -<translation id="6176032031541598434">સક્રિય વિંડો નીચે ડિસ્પ્લેમાં ખસેડી છે</translation> <translation id="6178664161104547336">એક પ્રમાણપત્ર પસંદ કરો</translation> <translation id="6181431612547969857">ડાઉનલોડ અવરોધિત કર્યું</translation> -<translation id="6181803575025675566">આની કાર્ય કરવાની રીતને <ph name="LINK_START" />સેટિંગ<ph name="LINK_END" />માં નિયંત્રિત કરો.</translation> <translation id="6185132558746749656">ઉપકરણનું સ્થાન</translation> <translation id="6185696379715117369">પૃષ્ઠ ઉપર</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> સાથે ખોલો</translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">ઊફ્ફ, પાસવર્ડ્સ મેળ ખાતા નથી!</translation> <translation id="6736243959894955139">સરનામું</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">જો કે તમે હવે તમારી જૂની પ્રોફાઇલ ઍક્સેસ કરી શકતાં નથી, તમે તેને કાઢી નાખી શકો છો.</translation> <translation id="6739923123728562974">ડેસ્કટૉપ શૉર્ટકટ બતાવો</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> થોભાવી</translation> <translation id="6742339027238151589">સ્ક્રિપ્ટ માટે ઍક્સેસિબલ</translation> -<translation id="6743841972744298686">સિંક સેટિંગ</translation> <translation id="6745592621698551453">હવે અપડેટ કરો</translation> <translation id="6746124502594467657">નીચે ખસેડો</translation> <translation id="674632704103926902">ટેપ ખેંચવાનું સક્ષમ કરો</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">વિશિષ્ટ પૃષ્ઠો છાપો</translation> <translation id="6972180789171089114">ઑડિઓ/વીડિઓ</translation> <translation id="6973630695168034713">ફોલ્ડર્સ</translation> -<translation id="6974053822202609517">જમણેથી ડાબે</translation> <translation id="6976108581241006975">JavaScript કન્સોલ</translation> <translation id="6977381486153291903">ફર્મવેયર પુનરાવર્તન</translation> <translation id="6978121630131642226">શોધ એંજીન્સ</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">છુપાવો</translation> <translation id="7108634116785509031"><ph name="HOST" /> તમારા કૅમેરાનો ઉપયોગ કરવા માગે છે</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">મનપસંદ બનાવવાનું ચાલુ છે. તમે તેને myaccount.google.com પર બદલી શકો છો.</translation> <translation id="7113502843173351041">તમારું ઇમેઇલ સરનામું જાણો</translation> <translation id="7114054701490058191">પાસવર્ડ્સ મેળ ખાતા નથી</translation> <translation id="7117228822971127758">કૃપા કરીને થોડા સમય પછી ફરી પ્રયાસ કરો</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">આ પૃષ્ઠને ફરિથી લોડ કરો</translation> <translation id="7222232353993864120">ઇમેઇલ સરનામું</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">સ્ક્રીન આવર્ધકને સક્ષમ કરો</translation> <translation id="7223775956298141902">અરેરે.... તમારી પાસે કોઈ એક્સ્ટેંશન્સ નથી :-(</translation> <translation id="7225179976675429563">નેટવર્ક પ્રકાર ખૂટે છે</translation> <translation id="7228479291753472782">વેબસાઇટ્સ ભૌગોલિક સ્થાન, માઇક્રોફોન, કૅમેરા, વગેરે જેવી સુવિધાઓને ઉપયોગમાં લઈ શકે છે કે કેમ તેનો ઉલ્લેખ કરતી સેટિંગ્સમાં ફેરફારો કરો.</translation> @@ -4210,7 +4188,6 @@ <translation id="7639178625568735185">સમજાઈ ગયું!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" />, તમને તમે સાચવેલા પાસવર્ડ્સ વડે યોગ્ય હોય તેવી સાઇટ્સમાં આપમેળે સાઇન ઇન કરે છે.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (માલિક)</translation> -<translation id="7647231681210854996">સક્રિય વિંડો જમણા ડિસ્પ્લેમાં ખસેડી છે</translation> <translation id="7648992873808071793">આ ઉપકરણ પર ફાઇલો સાચવો</translation> <translation id="7649070708921625228">સહાય</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />", "<ph name="EXTENSION_NAME" />" ને દૂર કરવા માગે છે.</translation> @@ -4664,7 +4641,6 @@ <translation id="8371695176452482769">હવે બોલો</translation> <translation id="8372369524088641025">ખરાબ WEP કી</translation> <translation id="8373553483208508744">ટૅબ્સને મ્યૂટ કરો</translation> -<translation id="8377870760189106701">જમણી વિંડો</translation> <translation id="8378285435971754261">Google ની સ્થાન સેવાને તમારું સ્થાન ઝડપથી અને સચોટ રીતે શોધવામાં તમારી ઍપ્લિકેશનોની સહાય કરવા દો, જે બૅટરીનો વપરાશ ઘટાડી શકે છે. કોઇ ઍપ્લિકેશનો ચાલી ન રહી હોય ત્યારે પણ, Google ને અનામિક સ્થાન ડેટા મોકલવામાં આવશે. <ph name="BEGIN_LINK1" />વધુ જાણો<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">કૅમેરા સેટિંગ્સ સંચાલિત કરો...</translation> <translation id="8382913212082956454">&ઇમેઇલ સરનામું કૉપિ કરો</translation> @@ -4784,7 +4760,6 @@ <translation id="8581809080475256101">આગળ જવા માટે દબાવો, ઇતિહાસ જોવા માટે સંદર્ભ મેનૂ પર જાઓ</translation> <translation id="8584280235376696778">નવા ટૅબમાં વિડિઓ &ખોલો</translation> <translation id="8588866096426746242">પ્રોફાઇલના આંકડા બતાવો</translation> -<translation id="8589652987924574405">તમારા બુકમાર્ક, ઇતિહાસ, પાસવર્ડ અને અન્ય સેટિંગને તમારા Google એકાઉન્ટ સાથે સિંક કરવામાં આવશે જેથી તમે તમારા બધા ઉપકરણોમાં તેનો ઉપયોગ કરી શકશો. પછીથી તમે તમારી સેટિંગમાં જઈને આને હંમેશાં બદલી શકો છો.</translation> <translation id="8590375307970699841">સ્વચાલિત અપડેટ્સ સેટ કરો</translation> <translation id="8594908476761052472">વીડિઓ કૅપ્ચર કરો</translation> <translation id="8596540852772265699">કસ્ટમ ફાઇલો</translation> @@ -4800,7 +4775,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">રોમિંગ સ્થિતિ</translation> <translation id="8620765578342452535">નેટવર્ક કનેક્શન્સ ગોઠવો</translation> -<translation id="8620790565535071193">સ્કૅન નિષ્ફળ થયું</translation> <translation id="8624205858755890468">સહાયક તમને સંબંધિત માહિતી, ઍપ અને ક્રિયાઓ બતાવે તે ચાલુ કરે છે.</translation> <translation id="862542460444371744">&એક્સ્ટેન્શન્સ</translation> <translation id="8627151598708688654">સ્રોત પસંદ કરો</translation> @@ -4878,7 +4852,6 @@ <translation id="871476437400413057">Google સાચવેલ પાસવર્ડ્સ</translation> <translation id="8714838604780058252">પૃષ્ઠભૂમિ ગ્રાફિક્સ</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> ડાઉનલોડ નિષ્ફળ થયું</translation> -<translation id="8721669057562068233">સક્રિય વિંડો ઉપરનાં ડિસ્પ્લેમાં ખસેડી છે</translation> <translation id="8723829621484579639">આ માટે છુપી સબફ્રેમ્સ: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">ફોલ્ડરમાં બતાવો</translation> <translation id="8725066075913043281">ફરી પ્રયાસ કરો</translation> @@ -4922,7 +4895,6 @@ <translation id="8785622406424941542">કલમ</translation> <translation id="8787254343425541995">શેર કરેલા નેટવર્ક્સ માટે પ્રોક્સીસને મંજૂરી આપો</translation> <translation id="8791534160414513928">તમારા બ્રાઉઝિંગ ટ્રાફિક સાથે એક ‘ટ્રૅક કરશો નહીં’ વિનંતી મોકલો</translation> -<translation id="8792609692701651064">સક્રિય વિંડો ડાબા ડિસ્પ્લેમાં ખસેડી છે</translation> <translation id="8794025342371547160">પ્રતિબંધિત IP</translation> <translation id="879413103056696865">હોટસ્પોટ ચાલુ હોય તે વખતે, તમારો <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">નવી વિંડો</translation> @@ -5059,7 +5031,6 @@ <translation id="9024127637873500333">નવા ટૅબમાં &ખોલો</translation> <translation id="9024331582947483881">પૂર્ણ સ્ક્રીન</translation> <translation id="9025098623496448965">ઓકે, મને પાછા સાઇન-ઇન સ્ક્રીન પર લઈ જાઓ</translation> -<translation id="902659348151742535">શોધ, જાહેરાતો અને અન્ય Google સેવાઓને વ્યક્તિગત કરવા માટે Google, તમારા બ્રાઉઝિંગ ઇતિહાસનો ઉપયોગ કરી શકે છે.</translation> <translation id="9026731007018893674">ડાઉનલોડ કરો</translation> <translation id="9027146684281895941">આ વ્યક્તિ તમારા Google એકાઉન્ટથી મુલાકાત લે છે તે વેબસાઇટ્સ જોવા અને નિયંત્રિત કરવા માટે તેનું નિરીક્ષણ કરો.</translation> <translation id="9027459031423301635">લિંક નવા &ટૅબમાં ખોલો</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb index 5e95948..2b0819a 100644 --- a/chrome/app/resources/generated_resources_hi.xtb +++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">कोई नेटवर्क नहीं</translation> <translation id="1056898198331236512">चेतावनी</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">नुकसान पहुंचाने वाला सॉफ़्टवेयर नहीं निकाला जा सकता</translation> <translation id="1062407476771304334">प्रतिस्थापित करें</translation> <translation id="1062866675591297858">अपने पर्यवेक्षित उपयोगकर्ताओं को <ph name="BEGIN_LINK" />पर्यवेक्षित उपयोगकर्ता डैशबोर्ड<ph name="END_LINK" /> द्वारा प्रबंधित करें.</translation> <translation id="1064835277883315402">निजी नेटवर्क से जुड़ें</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">कोई फ़ाइल चुनें</translation> <translation id="136802136832547685">इस डिवाइस में जोड़ने के लिए कोई पर्यवेक्षित उपयोगकर्ता नहीं है.</translation> <translation id="1368265273904755308">समस्या की रिपोर्ट करें</translation> -<translation id="1368832886055348810">बाएं से दाएं</translation> <translation id="1370646789215800222">व्यक्ति को निकालें?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 आइटम हटाया जाने वाला है}one{# आइटम हटाए जाने वाले हैं}other{# आइटम हटाए जाने वाले हैं}}</translation> <translation id="1372841398847029212">अपने खाते से सिंक करें</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">इस उपयोगकर्ता को निकालें</translation> <translation id="1609170755653088773">इस पासवर्ड को अपने iPhone से सिंक करें</translation> <translation id="1609862759711084604">पिछला उपयोगकर्ता</translation> -<translation id="1611557582955786626">ब्राउज़ करने के मनमुताबिक बनाए गए अनुभव के लिए साइन इन करें, सभी डिवाइस पर सिंक किया जाता है</translation> <translation id="1611584202130317952">प्रावधान प्रवाह में रुकावट आई थी. कृपया फिर से कोशिश करें या अपने डिवाइस मालिक या व्यवस्थापक से संपर्क करें.</translation> <translation id="1611649489706141841">अग्रेषित करें</translation> <translation id="1611704746353331382">HTML फ़ाइल में बुकमार्क निर्यात करें...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">स्थान जोड़ें...</translation> <translation id="1856813161013948396">बस फ़िंगरप्रिंट सेंसर पर टैप करके लॉक स्क्रीन छोड़ें. कॉन्फ़िगर करने के लिए क्लिक करें.</translation> <translation id="1858585891038687145">सॉफ़्टवेयर निर्माताओं की पहचान करने के लिए इस प्रमाणपत्र पर विश्वास करें</translation> -<translation id="1859234291848436338">लिखने के निर्देश</translation> <translation id="1861262398884155592">यह फ़ोल्डर खाली है</translation> <translation id="1864111464094315414">प्रवेश करें</translation> <translation id="1864400682872660285">कूलर</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">संक्षिप्त करें...</translation> <translation id="2737492745329609575">सेटअप शुरू करें</translation> <translation id="2738771556149464852">बाद में नहीं</translation> -<translation id="2739046699559178272">सेव करें और जारी रखें</translation> <translation id="2739191690716947896">डीबग</translation> <translation id="2739240477418971307">अपनी पहुंच-योग्यता सेटिंग बदलें</translation> <translation id="2740393541869613458">निगरानी में रखे गए उपयोगकर्ता द्वारा देखी गई वेबसाइटों की समीक्षा करें, और</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">डाउनलोड किए गए</translation> <translation id="2783661497142353826">कियोस्क ऐप्स प्रबंधित करें</translation> <translation id="2784407158394623927">आपकी मोबाइल डेटा सेवा सक्रिय कर रहा है</translation> -<translation id="2785530881066938471">सामग्री स्क्रिप्ट के लिए '<ph name="RELATIVE_PATH" />' फ़ाइल लोड नहीं कर सका. यह UTF-8 एनकोड नहीं है.</translation> <translation id="2785873697295365461">फ़ाइल वर्णनकर्ता</translation> <translation id="2787047795752739979">मूल को अधिलेखित करें</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">सैंडबॉक्स नहीं किए गए प्लग इन अवरोधित करते रहें</translation> <translation id="2890678560483811744">सीमा से बाहर के पेज का संदर्भ</translation> <translation id="2893168226686371498">सामान्य ब्राउज़र</translation> -<translation id="2893453364759632532">विंडो नीचे ले जाएं</translation> <translation id="289644616180464099">सिम कार्ड लॉक है</translation> <translation id="289695669188700754">कुंजी ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">क्या आप वाकई <ph name="TAB_COUNT" /> टैब खोलना चाहते हैं?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">स्क्रीन साझा की जा रही है</translation> <translation id="3046910703532196514">वेबपेज, पूर्ण</translation> <translation id="304826556400666995">टैब अनम्यूट करें</translation> -<translation id="3051523411789012618">विंडो ऊपर ले जाएं</translation> <translation id="3053013834507634016">प्रमाणपत्र कुंजी उपयोग</translation> <translation id="3057861065630527966">अपनी फ़ोटो और वीडियो का बैक अप लें</translation> <translation id="3060379269883947824">चुनें और सुनें सुविधा चालू करें</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">ऑडियो और वीडियो इनपुट ऐक्सेस हो रहा है</translation> <translation id="3090819949319990166">बाहरी crx फ़ाइल की <ph name="TEMP_CRX_FILE" /> में कॉपी नहीं बनाई जा सकती.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" युग्मित किया गया</translation> -<translation id="3097628171361913691">ज़िप फ़ाइल इंस्टॉलर</translation> <translation id="3100609564180505575">मॉड्यूल (<ph name="TOTAL_COUNT" />) - ज्ञात विरोध: <ph name="BAD_COUNT" />, संदिग्ध: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">दिनांक और समय</translation> <translation id="3108967419958202225">चुनें...</translation> @@ -1435,7 +1426,7 @@ <translation id="316307797510303346">इस व्यक्ति द्वारा <ph name="CUSTODIAN_EMAIL" /> से देखी जाने वाली वेबसाइटों को नियंत्रित करें और देखें. आपके खाता प्रवेश विवरण पुराने हो चुके हैं.</translation> <translation id="3165390001037658081">कुछ वाहक इस सुविधा को बंद कर सकते हैं.</translation> -<translation id="316854673539778496">अपने सभी डिवाइस पर अपने एक्सटेंशन पाने के लिए, साइन इन करें और सिंक चालू करें.</translation> +<translation id="316854673539778496">अपने सभी डिवाइस पर अपने सारे एक्सटेंशन पाने के लिए, साइन इन करें और सिंक चालू करें.</translation> <translation id="3170072451822350649">आप प्रवेश करना छोड़ भी सकते हैं और <ph name="LINK_START" />अतिथि के रूप में ब्राउज़<ph name="LINK_END" /> कर सकते हैं.</translation> <translation id="3177048931975664371">पासवर्ड छुपाने के लिए क्लिक करें</translation> <translation id="3177857336576585529"><ph name="SITE_NAME" /> ने अनुमति मांगी है.</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">हस्ताक्षरकर्ता</translation> <translation id="33022249435934718">GDI हैंडल</translation> <translation id="3302340765592941254">डाउनलोड पूर्णता सूचना</translation> -<translation id="3302709122321372472">सामग्री स्क्रिप्ट के लिए css '<ph name="RELATIVE_PATH" />' लोड नहीं कर सका.</translation> <translation id="3303260552072730022">किसी एक्सटेंशन ने पूर्ण स्क्रीन ट्रिगर किया है.</translation> <translation id="3303818374450886607">प्रतियां</translation> <translation id="3303855915957856445">कोई खोज परिणाम नहीं मिला</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">समय क्षेत्र चुनें</translation> <translation id="3856921555429624101">डेटा उपयोग मापन पूरा हो गया है</translation> <translation id="3857228364945137633">अपना फ़ोन आस-पास होने पर अपने <ph name="DEVICE_TYPE" /> को पासवर्ड के बिना अनलॉक करने के लिए Smart Lock का उपयोग करें.</translation> -<translation id="3857732810083914482">मनमुताबिक बनाना बंद है. आप myaccount.google.com पर इसे बदल सकते हैं.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meet में आपका स्वागत है</translation> <translation id="3862134173397075045">Chrome के कास्ट अनुभव में आपका स्वागत है!</translation> @@ -1981,7 +1970,6 @@ <translation id="399179161741278232">आयातित</translation> <translation id="3994374631886003300">अपना फ़ोन अनलॉक करें और उसे पास लाकर अपने <ph name="DEVICE_TYPE" /> को अनलॉक करें.</translation> <translation id="3994878504415702912">&ज़ूम</translation> -<translation id="39964277676607559">सामग्री स्क्रिप्ट के लिए javascript '<ph name="RELATIVE_PATH" />' लोड नहीं कर सका.</translation> <translation id="4002066346123236978">शीर्षक</translation> <translation id="40027638859996362">शब्द स्थानांतरण</translation> <translation id="4005817994523282006">समय क्षेत्र की पहचान विधि</translation> @@ -2160,7 +2148,6 @@ <translation id="4336032328163998280">कॉपी बनाने का कार्य विफल रहा. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">नेटवर्क लॉग के लिए, देखें: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android ऐप्लिकेशन डाउनलोड करने और उनका उपयोग करने के लिए, आपको सबसे पहले एक अपडेट इंस्टॉल करना होगा. जब आपका डिवाइस अपडेट हो रहा हो, तब आप उसका उपयोग नहीं कर सकते हैं. इंस्टॉलेशन पूरा हो जाने के बाद आपका <ph name="DEVICE_TYPE" /> फिर से चालू होगा.</translation> -<translation id="4338683191474220626">विंडो बाईं ओर ले जाएं</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> "<ph name="EXTENSION_NAME" />" से संचार करना चाहती है</translation> <translation id="4342311272543222243">ओह, TPM गड़बड़ी.</translation> <translation id="4345587454538109430">कॉन्फ़िगर करें...</translation> @@ -2312,7 +2299,6 @@ <translation id="4615586811063744755">कोई कुकी नहीं चुनी गई है</translation> <translation id="4617270414136722281">एक्सटेंशन के विकल्प</translation> <translation id="4619615317237390068">अन्य डिवाइस के टैब</translation> -<translation id="4620809267248568679">यह सेटिंग किसी एक्सटेंशन द्वारा लागू की गई है.</translation> <translation id="4624768044135598934">सफल!</translation> <translation id="4625078469366263107">ऐप सक्षम करें</translation> <translation id="4627427111733173920">कुकी ब्लॉक की गईं</translation> @@ -2533,7 +2519,6 @@ <translation id="496226124210045887">आपके द्वारा चुने गए फ़ोल्डर में संवेदनशील फ़ाइलें हैं. क्या आप वाकई इस फ़ोल्डर को "$1" स्थायी पढ़ने की एक्सेस देना चाहते हैं?</translation> <translation id="4964455510556214366">व्यवस्था</translation> <translation id="4964673849688379040">जाँच कर रहा है...</translation> -<translation id="4965682129423310439">Chrome को आपके कंप्यूटर पर नुकसान पहुंचाने वाला सॉफ़्टवेयर मिला है. Chrome उसे निकाल सकता है और आपकी सेटिंग बहाल कर सकता है ताकि आपका ब्राउज़र फिर से सामान्य रूप से काम करने लगे.</translation> <translation id="4965808351167763748">क्या आप वाकई Hangouts Meet चलाने के लिए इस डिवाइस को सेट अप करना चाहते हैं?</translation> <translation id="4967749818080339523">कोई खाता चुनें</translation> <translation id="496888482094675990">फ़ाइलें ऐप्स उन फ़ाइलों की त्वरित एक्सेस प्रदान करता है जिन्हें आपने Google डिस्क पर, बाहरी मेमोरी पर या अपने Chrome OS डिवाइस पर सहेजा है.</translation> @@ -3307,10 +3292,8 @@ <translation id="6169666352732958425">डेस्कटॉप कास्ट करने में असमर्थ.</translation> <translation id="6171948306033499786">प्रिंटिंग रोकें</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">चालू विंडो को नीचे के डिसप्ले में ले जाया गया</translation> <translation id="6178664161104547336">किसी प्रमाणपत्र को चुनें</translation> <translation id="6181431612547969857">डाउनलोड अवरोधित किया गया</translation> -<translation id="6181803575025675566">इसके काम करने का तरीका <ph name="LINK_START" />सेटिंग<ph name="LINK_END" /> में नियंत्रित करें.</translation> <translation id="6185132558746749656">डिवाइस स्थान</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> से खोलें</translation> @@ -3658,11 +3641,9 @@ <translation id="6736045498964449756">ओह, पासवर्ड मेल नहीं खाते!</translation> <translation id="6736243959894955139">पता</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">हालांकि अब आप अपनी पुरानी प्रोफ़ाइल एक्सेस नहीं कर सकते हैं, लेकिन आप उसे हटा सकते हैं.</translation> <translation id="6739923123728562974">डेस्कटॉप शॉर्टकट दिखाएं</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> को रोका गया</translation> <translation id="6742339027238151589">स्क्रिप्ट पर एक्सेस करने योग्य</translation> -<translation id="6743841972744298686">सिंक सेटिंग</translation> <translation id="6745592621698551453">अभी अपडेट करें</translation> <translation id="6746124502594467657">नीचे जाएं</translation> <translation id="674632704103926902">टैप करके खींचना सक्षम करें</translation> @@ -3792,7 +3773,6 @@ <translation id="6970856801391541997">विशेष पेज प्रिंट करें</translation> <translation id="6972180789171089114">ऑडियो/वीडियो</translation> <translation id="6973630695168034713">फ़ोल्डर</translation> -<translation id="6974053822202609517">दाएं से बाएं</translation> <translation id="6976108581241006975">JavaScript पैनल</translation> <translation id="6977381486153291903">फ़र्मवेयर पुनरीक्षण</translation> <translation id="6978121630131642226">खोज इंजन</translation> @@ -3891,7 +3871,6 @@ <translation id="7108338896283013870">छुपाएं</translation> <translation id="7108634116785509031"><ph name="HOST" /> आपके कैमरे का उपयोग करना चाहता है</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">मनमुताबिक बनाना चालू है. आप myaccount.google.com पर इसे बदल सकते हैं.</translation> <translation id="7113502843173351041">अपना ईमेल पता जानें</translation> <translation id="7114054701490058191">पासवर्ड मेल नहीं खाते</translation> <translation id="7117228822971127758">कृपया बाद में फिर से कोशिश करें</translation> @@ -3936,7 +3915,7 @@ <translation id="7180865173735832675">कस्टमाइज़ करें</translation> <translation id="7186088072322679094">टूलबार में रखें</translation> <translation id="7187428571767585875">ऐसी रजिस्ट्री प्रविष्टियां जिन्हें हटाया या बदला जाना है:</translation> -<translation id="7189234443051076392">पक्का करें कि आपके डिवाइस पर ज़रूरी जगह उपलब्ध है</translation> +<translation id="7189234443051076392">पक्का करें कि आपके डिवाइस पर ज़रूरी जगह मौजूद हो</translation> <translation id="7191159667348037">अज्ञात प्रिंटर (USB)</translation> <translation id="7191454237977785534">फ़ाइल इस रूप में सहेजें</translation> <translation id="7193374945610105795"><ph name="ORIGIN" /> के लिए कोई पासवर्ड सेव नहीं किया गया है</translation> @@ -3956,7 +3935,6 @@ <translation id="7221869452894271364">यह पेज फिर से लोड करें</translation> <translation id="7222232353993864120">ईमेल पता</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">स्क्रीन आवर्धक सक्षम करें</translation> <translation id="7223775956298141902">धत्... आपके पास कोई एक्सटेंशन नहीं है :-(</translation> <translation id="7225179976675429563">नेटवर्क प्रकार गुम</translation> <translation id="7228479291753472782">सेटिंग में यह निर्दिष्ट करने वाली हेरफेर करें कि क्या वेबसाइट भौगोलिक स्थान, माइक्रोफ़ोन, कैमरा आदि जैसी सुविधाओं का उपयोग कर सकती हैं.</translation> @@ -4212,7 +4190,6 @@ <translation id="7639178625568735185">समझ लिया!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> आपके द्वारा सहेजे गए पासवर्ड से आपको योग्य साइट में अपने आप प्रवेश करा देता है.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (मालिक)</translation> -<translation id="7647231681210854996">चालू विंडो को दाएं डिसप्ले में ले जाया गया</translation> <translation id="7648992873808071793">फ़ाइलों को इस डिवाइस पर संग्रहित करें</translation> <translation id="7649070708921625228">सहायता</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" "<ph name="EXTENSION_NAME" />" को निकालना चाहता है.</translation> @@ -4672,7 +4649,6 @@ <translation id="8371695176452482769">अब बोलें</translation> <translation id="8372369524088641025">ख़राब WEP कुंजी</translation> <translation id="8373553483208508744">टैब की आवाज़ बंद करें</translation> -<translation id="8377870760189106701">विंडो दाईं ओर</translation> <translation id="8378285435971754261">Google की स्थान सेवा को आपका स्थान, तेज़ी से और सटीकता से ढूंढने में ऐप्लिकेशन की सहायता करने दें, जिससे बैटरी की खपत कम हो सकती है. अनाम स्थान डेटा Google को भेजा जाएगा, भले ही कोई भी ऐप्लिकेशन नहीं चल रहा हो. <ph name="BEGIN_LINK1" />अधिक जानें<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">कैमरा सेटिंग प्रबंधित करें...</translation> <translation id="8382913212082956454">ईमेल पते की कॉपी बनाएं</translation> @@ -4792,7 +4768,6 @@ <translation id="8581809080475256101">आगे जाने के लिए इसे दबाएं, इतिहास देखने के लिए प्रसंग मेनू पर जाएं</translation> <translation id="8584280235376696778">वीडियो नए टैब में &खोलें</translation> <translation id="8588866096426746242">प्रोफ़ाइल आंकड़े दिखाएं</translation> -<translation id="8589652987924574405">आपके बुकमार्क, इतिहास, पासवर्ड और अन्य सेटिंग आपके Google खाते में सिंक की जाएंगी ताकि आप अपने सभी डिवाइस पर उनका इस्तेमाल कर सकें. आप बाद में कभी भी इसे अपनी सेटिंग में बदल सकते हैं.</translation> <translation id="8590375307970699841">स्वचालित अपडेट सेट अप करें</translation> <translation id="8594908476761052472">वीडियो कैप्चर करें</translation> <translation id="8596540852772265699">अनुकूलित फ़ाइलें</translation> @@ -4808,7 +4783,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">रोमिंग की स्थिति</translation> <translation id="8620765578342452535">नेटवर्क कनेक्शन कॉन्फ़िगर करें</translation> -<translation id="8620790565535071193">स्कैन नहीं किया जा सका</translation> <translation id="8624205858755890468">आपको संबंधित जानकारी, ऐप और कार्रवाइयां दिखाने के लिए Assistant को चालू करता है.</translation> <translation id="862542460444371744">&एक्सटेंशन</translation> <translation id="8627151598708688654">स्रोत चुनें</translation> @@ -4886,7 +4860,6 @@ <translation id="871476437400413057">Google द्वारा सहेजे गए पासवर्ड</translation> <translation id="8714838604780058252">पृष्ठभूमि ग्राफ़िक</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> डाउनलोड विफल रहा</translation> -<translation id="8721669057562068233">चालू विंडो को ऊपर के डिसप्ले में ले जाया गया</translation> <translation id="8723829621484579639">इनके लिए गुप्त सबफ़्रेम: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">खोजकर्ता में &दिखाएं</translation> <translation id="8725066075913043281">पुन: प्रयास करें</translation> @@ -4930,7 +4903,6 @@ <translation id="8785622406424941542">स्टाइलस</translation> <translation id="8787254343425541995">साझा किए गए नेटवर्क के लिए प्रॉक्सी की अनुमति दें</translation> <translation id="8791534160414513928">अपने ब्राउज़िंग ट्रैफ़िक के साथ "ट्रैक न करें" अनुरोध भेजें</translation> -<translation id="8792609692701651064">चालू विंडो को बाएं डिसप्ले में ले जाया गया</translation> <translation id="8794025342371547160">प्रतिबंधित IP</translation> <translation id="879413103056696865">हॉटस्पॉट चालू होने पर, आपका <ph name="PHONE_NAME" /> यह काम करेगा:</translation> <translation id="8795916974678578410">नई विंडो</translation> @@ -5067,7 +5039,6 @@ <translation id="9024127637873500333">नए टैब में &खोलें</translation> <translation id="9024331582947483881">पूर्ण स्क्रीन</translation> <translation id="9025098623496448965">ठीक है, मुझे साइन-इन स्क्रीन पर वापस ले जाएं</translation> -<translation id="902659348151742535">खोज, विज्ञापन और अन्य Google सेवाओं को वैयक्तिकृत करने के लिए Google आपके ब्राउज़िंग इतिहास का उपयोग कर सकता है.</translation> <translation id="9026731007018893674">डाउनलोड करें</translation> <translation id="9027146684281895941">यह व्यक्ति आपके Google खाते से जिन वेबसाइट पर जाता है, उन्हें नियंत्रित करने और देखने के लिए इस व्यक्ति का निरीक्षण करें.</translation> <translation id="9027459031423301635">नए &टैब में लिंक खोलें</translation> @@ -5185,7 +5156,7 @@ <translation id="932327136139879170">मुख्यपृष्ठ</translation> <translation id="932508678520956232">प्रिंटिंग आरंभ नहीं कर सका.</translation> <translation id="93393615658292258">केवल पासवर्ड</translation> -<translation id="934503638756687833">ऐसे आइटम जिनके नाम यहां शामिल नहीं हैं, ज़रूरत पड़ने पर उन्हें हटाया भी जा सकता है. Chrome निजता श्वेत पत्र में <a href="<ph name="URL" />">अनचाहे सॉफ़्टवेयर से सुरक्षा</a> के बारे में अधिक जानें.</translation> +<translation id="934503638756687833">ऐसे आइटम जिनके नाम यहां शामिल नहीं हैं, ज़रूरत पड़ने पर उन्हें भी हटाया जा सकता है. Chrome निजता श्वेत पत्र में <a href="<ph name="URL" />">अनचाहे सॉफ़्टवेयर से सुरक्षा</a> के बारे में अधिक जानें.</translation> <translation id="935490618240037774">आपके बुकमार्क, इतिहास, पासवर्ड और अन्य सेटिंग को आपके Google खाते में समन्वयित किया जाएगा ताकि आप उनका उपयोग अपने सभी डिवाइस पर कर सकें.</translation> <translation id="936801553271523408">सिस्टम का गड़बड़ी संबंधी डेटा</translation> <translation id="93766956588638423">एक्सटेंशन को ठीक करें</translation> @@ -5199,7 +5170,7 @@ <translation id="942954117721265519">इस निर्देशिका में कोई चित्र नहीं है.</translation> <translation id="945522503751344254">सुझाव भेजें</translation> <translation id="952992212772159698">सक्रिय नहीं किया गया</translation> -<translation id="957960681186851048">इस साइट ने कई फ़ाइलें अपने आप डाउनलोड करने की कोशिश की है</translation> +<translation id="957960681186851048">इस साइट ने अपने आप कई फ़ाइलें डाउनलोड करने की कोशिश की है</translation> <translation id="9580706199804957">Google सेवाओं से कनेक्ट नहीं हो सका</translation> <translation id="958515377357646513">आगे जाने के लिए स्पर्श करें.</translation> <translation id="960719561871045870">ऑपरेटर कोड</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb index 35f12c67..5d97f2a3 100644 --- a/chrome/app/resources/generated_resources_hr.xtb +++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nema mreža</translation> <translation id="1056898198331236512">Upozorenje</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Nije moguće ukloniti štetni softver</translation> <translation id="1062407476771304334">Zamijeni</translation> <translation id="1062866675591297858">Upravljajte svojim nadziranim korisnicima putem <ph name="BEGIN_LINK" />nadzorne ploče nadziranih korisnika<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Pridruži se privatnoj mreži</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Odaberite datoteku</translation> <translation id="136802136832547685">Nema nadziranih korisnika koji se mogu dodati na ovaj uređaj.</translation> <translation id="1368265273904755308">Prijava problema</translation> -<translation id="1368832886055348810">Slijeva udesno</translation> <translation id="1370646789215800222">Ukloniti osobu?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 stavka za uklanjanje}one{# stavka za uklanjanje}few{# stavke za uklanjanje}other{# stavki za uklanjanje}}</translation> <translation id="1372841398847029212">Sinkroniziraj sa svojim računom</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Ukloni tog korisnika</translation> <translation id="1609170755653088773">Sinkronizirajte zaporku s iPhoneom</translation> <translation id="1609862759711084604">Prethodni korisnik</translation> -<translation id="1611557582955786626">Prijavite se da bi pregledavanje bilo prilagođeno vama, sinkronizirano na svim vašim uređajima</translation> <translation id="1611584202130317952">Tijek pružanja niza usluga prekinut je. Pokušajte ponovo ili se obratite vlasniku ili administratoru uređaja.</translation> <translation id="1611649489706141841">prosljeđivanje</translation> <translation id="1611704746353331382">Izvoz oznaka u HTML datoteku...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Dodaj lokaciju...</translation> <translation id="1856813161013948396">Preskočite zaključan zaslon tako što ćete dodirnuti senzor otiska prsta. Kliknite da biste konfigurirali.</translation> <translation id="1858585891038687145">Vjeruj ovom certifikatu za identifikaciju proizvođača softvera</translation> -<translation id="1859234291848436338">Smjer pisanja</translation> <translation id="1861262398884155592">Mapa je prazna</translation> <translation id="1864111464094315414">Prijava</translation> <translation id="1864400682872660285">Hladnije</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Sažmi...</translation> <translation id="2737492745329609575">Pokrenite postavljanje</translation> <translation id="2738771556149464852">Ne nakon</translation> -<translation id="2739046699559178272">Spremi i nastavi</translation> <translation id="2739191690716947896">Otkloni pogrešku</translation> <translation id="2739240477418971307">promijeniti postavke pristupačnosti</translation> <translation id="2740393541869613458">pregledavati web-lokacije koje je nadzirani korisnik posjetio i</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Preuzeto</translation> <translation id="2783661497142353826">Upravljanje aplikacijama kioska</translation> <translation id="2784407158394623927">Aktiviranje vaše mobilne podatkovne usluge</translation> -<translation id="2785530881066938471">Nije bilo moguće učitati datoteku "<ph name="RELATIVE_PATH" />" za skriptu sadržaja. Nema UTF-8 kodiranje.</translation> <translation id="2785873697295365461">Deskriptori datoteke</translation> <translation id="2787047795752739979">Prebriši izvornik</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Nastavi blokirati dodatke izvan testnog okruženja</translation> <translation id="2890678560483811744">Referenca na stranicu izvan je granica</translation> <translation id="2893168226686371498">Zadani preglednik</translation> -<translation id="2893453364759632532">Prozor prema dolje</translation> <translation id="289644616180464099">SIM kartica je zaključana</translation> <translation id="289695669188700754">ID ključa: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Jeste li sigurni da želite otvoriti <ph name="TAB_COUNT" /> kartica?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Dijeljenje zaslona</translation> <translation id="3046910703532196514">Web-stranica, potpuna</translation> <translation id="304826556400666995">Uključi zvuk na karticama</translation> -<translation id="3051523411789012618">Prozor prema gore</translation> <translation id="3053013834507634016">Korištenje ključa certifikata</translation> <translation id="3057861065630527966">Izrada sigurnosnih kopija fotografija i videozapisa</translation> <translation id="3060379269883947824">Omogući Odabir za govor</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Pristupanje audio i videoulazu</translation> <translation id="3090819949319990166">Nije moguće kopiranje crx datoteke u <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Upareno: "<ph name="DEVICE_NAME" />"</translation> -<translation id="3097628171361913691">Program za instaliranje zip datoteka</translation> <translation id="3100609564180505575">Moduli (<ph name="TOTAL_COUNT" />) - Poznatih konflikata: <ph name="BAD_COUNT" />, mogućih: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum i vrijeme</translation> <translation id="3108967419958202225">Odabir...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Potpisuje</translation> <translation id="33022249435934718">Rukuje GDI</translation> <translation id="3302340765592941254">Preuzmite čitavu obavijest</translation> -<translation id="3302709122321372472">Nije uspjelo učitavanje CSS-a "<ph name="RELATIVE_PATH" />" za sadržajnu skriptu.</translation> <translation id="3303260552072730022">Proširenje je pokrenulo prikaz na cijelom zaslonu.</translation> <translation id="3303818374450886607">Kopije</translation> <translation id="3303855915957856445">Nisu pronađeni rezultati pretraživanja</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Odaberite vremensku zonu</translation> <translation id="3856921555429624101">Mjerenje korištenja podataka je završilo</translation> <translation id="3857228364945137633">Isprobajte Smart Lock i otključavajte svoj <ph name="DEVICE_TYPE" /> bez zaporke kada je vaš telefon u blizini.</translation> -<translation id="3857732810083914482">Personalizacija je isključena. To možete promijeniti na adresi myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Dobro došli u Hangouts Meet</translation> <translation id="3862134173397075045">Dobro došli u značajku Cast u Chromeu!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Uvezeno</translation> <translation id="3994374631886003300">Otključajte telefon i približite ga da biste otključali svoj <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zum</translation> -<translation id="39964277676607559">Nije uspjelo učitavanje javascripta "<ph name="RELATIVE_PATH" />" za sadržajnu skriptu.</translation> <translation id="4002066346123236978">Naslov</translation> <translation id="40027638859996362">Pomicanje riječi</translation> <translation id="4005817994523282006">Način otkrivanja vremenske zone</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopiranje nije uspjelo. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Za mrežne zapisnike pogledajte: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Da biste preuzeli i upotrebljavali Androidove aplikacije, najprije morate instalirati ažuriranje. Dok se uređaj ažurira, ne možete ga upotrebljavati. Uređaj <ph name="DEVICE_TYPE" /> ponovo će se pokrenuti kada instaliranje završi.</translation> -<translation id="4338683191474220626">Prozor ulijevo</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> želi komunicirati s aplikacijom "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ups, TPM pogreška.</translation> <translation id="4345587454538109430">Konfiguracija...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nije odabran nijedan kolačić</translation> <translation id="4617270414136722281">Opcije proširenja</translation> <translation id="4619615317237390068">Kartice s drugih uređaja</translation> -<translation id="4620809267248568679">Ovom postavkom upravlja proširenje.</translation> <translation id="4624768044135598934">Uspjeh!</translation> <translation id="4625078469366263107">Omogući aplikaciju</translation> <translation id="4627427111733173920">Kolačići su blokirani</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Mapa koju ste odabrali sadrži osjetljive datoteke. Jeste li sigurni da želite dodijeliti aplikaciji "$1" trajni pristup za čitanje za tu mapu?</translation> <translation id="4964455510556214366">Poredak</translation> <translation id="4964673849688379040">Provjera u tijeku...</translation> -<translation id="4965682129423310439">Chrome je pronašao štetni softver na računalu. Može ga ukloniti i vratiti vaše postavke kako bi vaš preglednik ponovno funkcionirao normalno.</translation> <translation id="4965808351167763748">Jeste li sigurni da želite postaviti ovaj uređaj za pokretanje Hangouts Meeta?</translation> <translation id="4967749818080339523">Odaberite račun</translation> <translation id="496888482094675990">Aplikacija Datoteke pruža brzi pristup datotekama spremljenima na Google disku, u vanjskoj pohrani ili na uređaju s OS-om Chrome.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Emitiranje radne površine nije moguće.</translation> <translation id="6171948306033499786">Pauziraj ispis</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Aktivni prozor pomaknut je ispod zaslona</translation> <translation id="6178664161104547336">Odabir certifikata</translation> <translation id="6181431612547969857">Preuzimanje je blokirano</translation> -<translation id="6181803575025675566">Načinom na koji to funkcionira možete upravljati u <ph name="LINK_START" />Postavkama<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokacija uređaja</translation> <translation id="6185696379715117369">Stranica prema gore</translation> <translation id="6189412234224385711">Otvori proširenjem <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Ups, zaporke se ne podudaraju!</translation> <translation id="6736243959894955139">Adresa</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Iako više ne možete pristupiti svojem starom profilu, možete ga ukloniti.</translation> <translation id="6739923123728562974">Prikaži prečac na radnoj površini</translation> <translation id="6740234557573873150">Dokument <ph name="FILE_NAME" /> pauziran</translation> <translation id="6742339027238151589">Dostupno za skriptu</translation> -<translation id="6743841972744298686">Postavke sinkronizacije</translation> <translation id="6745592621698551453">Ažuriraj sada</translation> <translation id="6746124502594467657">Pomakni dolje</translation> <translation id="674632704103926902">Omogući povlačenje dodirom</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Ispis određenih stranica</translation> <translation id="6972180789171089114">Audiozapisi/videozapisi</translation> <translation id="6973630695168034713">Mape</translation> -<translation id="6974053822202609517">Zdesna ulijevo</translation> <translation id="6976108581241006975">JavaScript konzola</translation> <translation id="6977381486153291903">Revizija opreme</translation> <translation id="6978121630131642226">Tražilice</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Sakrij preglednik</translation> <translation id="7108634116785509031"><ph name="HOST" /> želi upotrijebiti vašu kameru</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Personalizacija je uključena. To možete promijeniti na adresi myaccount.google.com.</translation> <translation id="7113502843173351041">znati vašu e-adrese</translation> <translation id="7114054701490058191">Zaporke se ne podudaraju</translation> <translation id="7117228822971127758">Pokušajte ponovo kasnije</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Ponovno učitaj ovu stranicu</translation> <translation id="7222232353993864120">Adresa e-pošte</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Omogućavanje povećala zaslona</translation> <translation id="7223775956298141902">Nažalost... nemate proširenja :-(</translation> <translation id="7225179976675429563">Nedostaje vrsta mreže</translation> <translation id="7228479291753472782">Upravljajte postavkama koje određuju mogu li web-lokacije upotrebljavati značajke kao što su geolociranje, mikrofon, fotoaparat itd.</translation> @@ -4212,7 +4190,6 @@ <translation id="7639178625568735185">Shvaćam!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> može upotrijebiti spremljene zaporke kako bi vas automatski prijavio na web-lokacije koje ispunjavaju uvjete.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlasnik)</translation> -<translation id="7647231681210854996">Aktivni prozor pomaknut je na desni zaslon</translation> <translation id="7648992873808071793">spremati datoteke na uređaj</translation> <translation id="7649070708921625228">Pomoć</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" želi ukloniti proširenje "<ph name="EXTENSION_NAME" />".</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Govorite sad</translation> <translation id="8372369524088641025">Neispravan WEP ključ</translation> <translation id="8373553483208508744">Isključi zvuk na karticama</translation> -<translation id="8377870760189106701">Prozor desno</translation> <translation id="8378285435971754261">Omogućite Googleovu uslugu lokacije da bi aplikacije pronašle vašu lokaciju brzo i točno, čime se smanjuje potrošnja baterije. Anonimni podaci o lokaciji slat će se Googleu čak i kad se ne izvodi nijedna aplikacija. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Upravljanje postavkama fotoaparata...</translation> <translation id="8382913212082956454">Kopiraj &adresu e-pošte</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Pritisnite da biste išli unaprijed, kontekstni izbornik za prikaz povijesti</translation> <translation id="8584280235376696778">&Otvori video na novoj kartici</translation> <translation id="8588866096426746242">Prikaži statističke podatke o profilu</translation> -<translation id="8589652987924574405">Vaše oznake, povijest, zaporke i ostale postavke sinkronizirat će se s vašim Google računom kako biste ih mogli upotrebljavati na svim svojim uređajima. To uvijek kasnije možete promijeniti u postavkama.</translation> <translation id="8590375307970699841">Postavi automatsko ažuriranje</translation> <translation id="8594908476761052472">Snimi videozapis</translation> <translation id="8596540852772265699">Prilagođene datoteke</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status roaminga</translation> <translation id="8620765578342452535">Konfiguracija mrežnih veza</translation> -<translation id="8620790565535071193">Traženje nije uspjelo</translation> <translation id="8624205858755890468">Omogućuje Asistentu da vam prikazuje povezane informacije, aplikacije i radnje.</translation> <translation id="862542460444371744">&Proširenja</translation> <translation id="8627151598708688654">Odaberite izvor</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Google spremljene zaporke</translation> <translation id="8714838604780058252">Pozadinska grafika</translation> <translation id="8719653885894320876">Preuzimanje dodatka <ph name="PLUGIN_NAME" /> nije uspjelo</translation> -<translation id="8721669057562068233">Aktivni prozor pomaknut je iznad zaslona</translation> <translation id="8723829621484579639">Anonimni podokviri za: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Prikaži u mapi</translation> <translation id="8725066075913043281">Pokušajte ponovo</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Pisaljka</translation> <translation id="8787254343425541995">Dopusti proxyje za dijeljene mreže</translation> <translation id="8791534160414513928">Pošalji zahtjev "Nemoj pratiti" uz promet pregledavanja</translation> -<translation id="8792609692701651064">Aktivni prozor pomaknut je na lijevi zaslon</translation> <translation id="8794025342371547160">Ograničeni IP</translation> <translation id="879413103056696865">Dok je žarišna točka uključena, vaš će <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Novi prozor</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Otvaranje u novoj kartici</translation> <translation id="9024331582947483881">cijeli zaslon</translation> <translation id="9025098623496448965">U redu, vrati me na zaslon za prijavu</translation> -<translation id="902659348151742535">Google može upotrebljavati vašu povijest pregledavanja za prilagodbu Pretraživanja, oglasa i drugih Googleovih usluga.</translation> <translation id="9026731007018893674">preuzmi</translation> <translation id="9027146684281895941">Nadzirite tu osobu kako biste upravljali web-lokacijama koje ta osoba posjeti i prikazali ih putem svojeg Google računa.</translation> <translation id="9027459031423301635">Otvori vezu u novoj &kartici</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb index d5ab288..551a9c3 100644 --- a/chrome/app/resources/generated_resources_hu.xtb +++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nincs hálózat</translation> <translation id="1056898198331236512">Figyelmeztetés</translation> <translation id="1058262162121953039">PUK-kód</translation> -<translation id="106001083577824516">Nem sikerült a kártékony szoftver eltávolítása</translation> <translation id="1062407476771304334">Csere</translation> <translation id="1062866675591297858">A felügyelt felhasználókat a <ph name="BEGIN_LINK" />Felügyelt felhasználók irányítópulton<ph name="END_LINK" /> kezelheti.</translation> <translation id="1064835277883315402">Csatlakozás magánhálózathoz</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Válasszon egy fájlt</translation> <translation id="136802136832547685">Nincs felügyelt felhasználó, akit hozzá lehetne adni ehhez az eszközhöz.</translation> <translation id="1368265273904755308">Probléma bejelentése</translation> -<translation id="1368832886055348810">Balról jobbra</translation> <translation id="1370646789215800222">Eltávolítja a felhasználót?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 elem vár eltávolításra}other{# elem vár eltávolításra}}</translation> <translation id="1372841398847029212">Szinkronizálás saját fiókkal</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Felhasználó eltávolítása</translation> <translation id="1609170755653088773">Szinkronizálja jelszavát iPhone-jával</translation> <translation id="1609862759711084604">Előző felhasználó</translation> -<translation id="1611557582955786626">A bejelentkezés után személyre szabott, minden eszközén szinkronizált böngészési élmény várja</translation> <translation id="1611584202130317952">Megszakadt a hozzáférés-kezelési folyamat. Próbálja újra, vagy vegye fel a kapcsolatot az eszköz tulajdonosával, illetve rendszergazdájával.</translation> <translation id="1611649489706141841">következő</translation> <translation id="1611704746353331382">Könyvjelzők exportálása HTML-fájlba...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Hely hozzáadása...</translation> <translation id="1856813161013948396">Egyetlen koppintás az ujjlenyomat-érzékelőre, és kihagyhatja a lezárási képernyőt. Kattintson a beállításhoz.</translation> <translation id="1858585891038687145">Bízzon meg ebben a tanúsítványban a szoftvergyártók azonosításakor</translation> -<translation id="1859234291848436338">Írás iránya</translation> <translation id="1861262398884155592">Ez a mappa üres</translation> <translation id="1864111464094315414">Bejelentkezés</translation> <translation id="1864400682872660285">Hideg színek</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Listanézet...</translation> <translation id="2737492745329609575">Beállítás kezdése</translation> <translation id="2738771556149464852">Ezután nem:</translation> -<translation id="2739046699559178272">Mentés és folytatás</translation> <translation id="2739191690716947896">Hibakeresés</translation> <translation id="2739240477418971307">Kisegítő beállítások módosítása</translation> <translation id="2740393541869613458">a felügyelt felhasználó által felkeresett webhelyek áttekintése, valamint</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Letöltött</translation> <translation id="2783661497142353826">Kioszkalkalmazások kezelése</translation> <translation id="2784407158394623927">A mobil adatátviteli szolgáltatás aktiválása</translation> -<translation id="2785530881066938471">A(z) '<ph name="RELATIVE_PATH" />' fájlt nem lehet betölteni tartalomszkriptre, mert nem UTF-8 kódolású.</translation> <translation id="2785873697295365461">Fájlleírók</translation> <translation id="2787047795752739979">Eredeti felülírása</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Sandbox-technológiát nem alkalmazó beépülő modulok tiltásának fenntartása</translation> <translation id="2890678560483811744">Tartományon kívüli oldalra való hivatkozás</translation> <translation id="2893168226686371498">Alapértelmezett böngésző</translation> -<translation id="2893453364759632532">Ablak mozgatása lefelé</translation> <translation id="289644616180464099">A SIM-kártya zárolva van</translation> <translation id="289695669188700754">Kulcsazonosító: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Biztosan meg szeretne nyitni <ph name="TAB_COUNT" /> lapot?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Képernyő megosztása folyamatban</translation> <translation id="3046910703532196514">Weboldal -- teljes</translation> <translation id="304826556400666995">Lapok némításának feloldása</translation> -<translation id="3051523411789012618">Ablak mozgatása felfelé</translation> <translation id="3053013834507634016">Tanúsítványkulcs felhasználása</translation> <translation id="3057861065630527966">Biztonsági másolat készítése a fotókról és videókról</translation> <translation id="3060379269883947824">Felolvasás engedélyezése</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Hozzáférés a hang- és videobementhez</translation> <translation id="3090819949319990166">A külső crx-fájl nem másolható a következő helyre: <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />” párosítva</translation> -<translation id="3097628171361913691">ZIP-fájl telepítő</translation> <translation id="3100609564180505575">Modulok (<ph name="TOTAL_COUNT" />) - Ismert ütközések: <ph name="BAD_COUNT" />, feltételezett: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Dátum és idő</translation> <translation id="3108967419958202225">Válasszon...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Aláírta:</translation> <translation id="33022249435934718">GDI azonosítók</translation> <translation id="3302340765592941254">Teljes értesítés letöltése</translation> -<translation id="3302709122321372472">A(z) '<ph name="RELATIVE_PATH" />' css nem tölthető be a tartalomszkripthez.</translation> <translation id="3303260552072730022">Egy bővítmény aktiválta a teljes képernyős módot.</translation> <translation id="3303818374450886607">Példányszám</translation> <translation id="3303855915957856445">Nincs találat</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Időzóna kiválasztása</translation> <translation id="3856921555429624101">Az adathasználat mérése befejeződött</translation> <translation id="3857228364945137633">Próbálja ki, hogyan oldhatja fel <ph name="DEVICE_TYPE" /> eszközét jelszó használata nélkül a Smart Lock funkció használatával, ha a telefonja a közelében van.</translation> -<translation id="3857732810083914482">A személyre szabás ki van kapcsolva. Ez a myaccount.google.com oldalon módosítható.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Üdvözli a Hangouts Meet!</translation> <translation id="3862134173397075045">Üdvözli a Google Cast-élmény a Chrome-ban!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importált</translation> <translation id="3994374631886003300">A belépéshez oldja fel telefonja lezárását, és helyezze közelebb a(z) <ph name="DEVICE_TYPE" /> zárolásának feloldásához.</translation> <translation id="3994878504415702912">&Szöveg mérete</translation> -<translation id="39964277676607559">A(z) '<ph name="RELATIVE_PATH" />' javascript nem tölthető be a tartalomszkripthez.</translation> <translation id="4002066346123236978">Cím</translation> <translation id="40027638859996362">Szómozgatás</translation> <translation id="4005817994523282006">Időzóna-észlelési módszer</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">A másolási művelet sikertelen. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">A hálózati naplók a következő helyen találhatók: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Az Android-alkalmazások letöltéséhez és használatához először telepítenie kell a frissítést. A frissítési folyamat során az eszköz nem használható. <ph name="DEVICE_TYPE" /> eszköze a telepítés befejezése után újraindul.</translation> -<translation id="4338683191474220626">Ablak mozgatása balra</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> kommunikálni szeretne a(z) „<ph name="EXTENSION_NAME" />” alkalmazással.</translation> <translation id="4342311272543222243">Hoppá! TPM-hiba.</translation> <translation id="4345587454538109430">Konfigurálás...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nincs kiválasztva cookie</translation> <translation id="4617270414136722281">Bővítménybeállítások</translation> <translation id="4619615317237390068">Más eszközök lapjai</translation> -<translation id="4620809267248568679">Ezt a beállítást egy bővítmény kényszeríti ki.</translation> <translation id="4624768044135598934">Sikerült!</translation> <translation id="4625078469366263107">Alkalmazás engedélyezése</translation> <translation id="4627427111733173920">Cookie-k letiltva</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">A kiválasztott mappa érzékeny fájlokat tartalmaz. Biztosan állandó olvasási hozzáférést szeretne adni a következőnek a mappához: „$1”?</translation> <translation id="4964455510556214366">Elrendezés</translation> <translation id="4964673849688379040">Ellenőrzés…</translation> -<translation id="4965682129423310439">A Chrome kártékony szoftvert talált a számítógépen. A Chrome képes a szoftver eltávolítására, és arra, hogy visszaállítsa a beállításokat, így a böngésző újra a megszokott módon működhet.</translation> <translation id="4965808351167763748">Biztosan beállítja ezt az eszközt a Hangouts Meet futtatására?</translation> <translation id="4967749818080339523">Fiók kiválasztása</translation> <translation id="496888482094675990">A Fájlok alkalmazás gyors hozzáférést kínál a Google Drive-on, külső tárolón vagy a Chrome OS-eszközön elmentett fájlokhoz.</translation> @@ -3310,10 +3295,8 @@ <translation id="6169666352732958425">Nem lehet átküldeni az asztalt.</translation> <translation id="6171948306033499786">A nyomtatás szüneteltetése</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Aktív ablak áthelyezve az alsó kijelzőre</translation> <translation id="6178664161104547336">Tanúsítvány kiválasztása</translation> <translation id="6181431612547969857">Letöltés letiltva</translation> -<translation id="6181803575025675566">A működési módot a <ph name="LINK_START" />Beállítások<ph name="LINK_END" /> oldalon szabályozhatja.</translation> <translation id="6185132558746749656">Eszközhely</translation> <translation id="6185696379715117369">Lapozás felfelé</translation> <translation id="6189412234224385711">Megnyitás a következővel: <ph name="EXTENSION_NAME" /></translation> @@ -3661,11 +3644,9 @@ <translation id="6736045498964449756">Hoppá! A jelszavak nem egyeznek.</translation> <translation id="6736243959894955139">Cím</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Ugyan már nem tud hozzáférni régi profiljához, de az eltávolítása lehetséges.</translation> <translation id="6739923123728562974">Asztali parancsikon megjelenítése</translation> <translation id="6740234557573873150">A(z) <ph name="FILE_NAME" /> letöltése szünetel</translation> <translation id="6742339027238151589">Szkript számára elérhető</translation> -<translation id="6743841972744298686">Szinkronizálási beállítások</translation> <translation id="6745592621698551453">Frissítés most</translation> <translation id="6746124502594467657">Mozgatás lefelé</translation> <translation id="674632704103926902">Érintéssel húzás engedélyezése</translation> @@ -3795,7 +3776,6 @@ <translation id="6970856801391541997">Adott oldalak nyomtatása</translation> <translation id="6972180789171089114">Hanganyag/videó</translation> <translation id="6973630695168034713">Mappák</translation> -<translation id="6974053822202609517">Jobbról balra</translation> <translation id="6976108581241006975">JavaScript-konzol</translation> <translation id="6977381486153291903">Firmware ellenőrzése</translation> <translation id="6978121630131642226">Keresők</translation> @@ -3894,7 +3874,6 @@ <translation id="7108338896283013870">Elrejtés</translation> <translation id="7108634116785509031">A(z) <ph name="HOST" /> webhely használni szeretné a kamerát</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">A személyre szabás be van kapcsolva. Ez a myaccount.google.com címen módosítható.</translation> <translation id="7113502843173351041">Megismerheti az Ön e-mail-címét</translation> <translation id="7114054701490058191">A jelszavak nem egyeznek</translation> <translation id="7117228822971127758">Próbálja újra később</translation> @@ -3959,7 +3938,6 @@ <translation id="7221869452894271364">Az oldal újratöltése</translation> <translation id="7222232353993864120">E-mail cím</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Képernyőnagyító engedélyezése</translation> <translation id="7223775956298141902">Hmm... Nincsenek bővítményei :-(</translation> <translation id="7225179976675429563">Hiányzik a hálózat típusa</translation> <translation id="7228479291753472782">Azon beállítások módosítása, amelyek meghatározzák, hogy a webhelyek használhatnak-e olyan funkciókat, mint a tartózkodási hely, a mikrofon, a webkamera stb.</translation> @@ -4215,7 +4193,6 @@ <translation id="7639178625568735185">Sikerült!</translation> <translation id="764017888128728">A <ph name="PASSWORD_MANAGER_BRAND" /> segítségével automatikusan bejelentkezhet adott webhelyekre a mentett jelszavaival.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (tulajdonos)</translation> -<translation id="7647231681210854996">Aktív ablak áthelyezve a jobb oldali kijelzőre</translation> <translation id="7648992873808071793">Fájlok tárolása ezen az eszközön</translation> <translation id="7649070708921625228">Súgó</translation> <translation id="7650511557061837441">A(z) „<ph name="TRIGGERING_EXTENSION_NAME" />” el szeretné távolítani a következőt: „<ph name="EXTENSION_NAME" />”.</translation> @@ -4675,7 +4652,6 @@ <translation id="8371695176452482769">Most beszéljen</translation> <translation id="8372369524088641025">Hibás WEP kulcs</translation> <translation id="8373553483208508744">Lapok némítása</translation> -<translation id="8377870760189106701">Ablak áthelyezése jobbra</translation> <translation id="8378285435971754261">Engedélyezze, hogy a Google helyszolgáltatása segítsen az alkalmazásoknak a tartózkodási hely gyors és pontos meghatározásában – ezáltal csökkentheti az energiafogyasztást. A rendszer a névtelen tartózkodásihely-adatokat olyankor is elküldi a Google-nak, amikor semmilyen alkalmazás nem fut. <ph name="BEGIN_LINK1" />További információ<ph name="END_LINK1" />.</translation> <translation id="8381179624334829711">Kamerabeállítások kezelése…</translation> <translation id="8382913212082956454">&E-mail cím másolása</translation> @@ -4795,7 +4771,6 @@ <translation id="8581809080475256101">Nyomja meg az előrelépéshez, illetve választhatja a helyi menüt az előzmények megtekintéséshez</translation> <translation id="8584280235376696778">&Videó megnyitása új lapon</translation> <translation id="8588866096426746242">Profilstatisztikák megjelenítése</translation> -<translation id="8589652987924574405">A böngésző szinkronizálni fogja a könyvjelzőket, az előzményeket, a jelszavakat és az egyéb beállításokat az Ön Google-fiókjával, hogy bármelyik eszközén hozzájuk férjen. Ezt később bármikor módosíthatja a beállítások között.</translation> <translation id="8590375307970699841">Automatikus frissítések beállítása</translation> <translation id="8594908476761052472">Videó rögzítése</translation> <translation id="8596540852772265699">Egyéni fájlok</translation> @@ -4811,7 +4786,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Barangolás állapota</translation> <translation id="8620765578342452535">Hálózati kapcsolatok beállítása</translation> -<translation id="8620790565535071193">Sikertelen keresés</translation> <translation id="8624205858755890468">Engedélyezi a Segédnek a kapcsolódó információk, alkalmazások és műveletek megjelenítését.</translation> <translation id="862542460444371744">Bővítménye&k</translation> <translation id="8627151598708688654">Forrás kiválasztása</translation> @@ -4889,7 +4863,6 @@ <translation id="871476437400413057">Mentett Google-jelszavak</translation> <translation id="8714838604780058252">Háttérgrafika</translation> <translation id="8719653885894320876">A(z) <ph name="PLUGIN_NAME" /> letöltése sikertelen volt</translation> -<translation id="8721669057562068233">Aktív ablak áthelyezve a felső kijelzőre</translation> <translation id="8723829621484579639">Inkognitó subframe a következőhöz: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Megjelenítés mappában</translation> <translation id="8725066075913043281">Újrapróbálás</translation> @@ -4933,7 +4906,6 @@ <translation id="8785622406424941542">Érintőceruza</translation> <translation id="8787254343425541995">Proxyk engedélyezése a megosztott hálózatoknál</translation> <translation id="8791534160414513928">„Nincs nyomon követés” kérés küldése a böngészési forgalommal</translation> -<translation id="8792609692701651064">Aktív ablak áthelyezve a bal oldali kijelzőre</translation> <translation id="8794025342371547160">Korlátozott IP</translation> <translation id="879413103056696865">Amíg a hotspot be van kapcsolva, az Ön <ph name="PHONE_NAME" /> telefonja:</translation> <translation id="8795916974678578410">Új ablak</translation> @@ -5070,7 +5042,6 @@ <translation id="9024127637873500333">&Megnyitás új lapon</translation> <translation id="9024331582947483881">teljes képernyő</translation> <translation id="9025098623496448965">Rendben. Visszatérek a bejelentkezési képernyőre</translation> -<translation id="902659348151742535">A Google felhasználhatja az Ön böngészési előzményeit a Keresés, a hirdetések és más Google-szolgáltatások személyre szabására.</translation> <translation id="9026731007018893674">letöltés</translation> <translation id="9027146684281895941">A személy felügyelete az általa megnyitott webhelyek szabályozásával és megtekintésével az Ön Google-fiókjából.</translation> <translation id="9027459031423301635">Link megnyitása új &lapon</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb index acc1e2b..24a1d61b 100644 --- a/chrome/app/resources/generated_resources_id.xtb +++ b/chrome/app/resources/generated_resources_id.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Tidak ada jaringan</translation> <translation id="1056898198331236512">Peringatan</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Tidak dapat menghapus software berbahaya</translation> <translation id="1062407476771304334">Ganti</translation> <translation id="1062866675591297858">Mengelola pengguna yang dilindungi milik Anda menggunakan <ph name="BEGIN_LINK" />Dasbor Pengguna yang Dilindungi<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Bergabung dengan jaringan pribadi</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Pilih file</translation> <translation id="136802136832547685">Tidak ada pengguna yang dilindungi untuk ditambahkan ke perangkat ini.</translation> <translation id="1368265273904755308">Laporkan masalah</translation> -<translation id="1368832886055348810">Kiri ke Kanan</translation> <translation id="1370646789215800222">Hapus orang?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 item yang akan dihapus}other{# item yang akan dihapus}}</translation> <translation id="1372841398847029212">Sinkronkan ke akun Anda</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Hapus pengguna ini</translation> <translation id="1609170755653088773">Sinkronkan sandi ini ke iPhone Anda</translation> <translation id="1609862759711084604">Pengguna sebelumnya</translation> -<translation id="1611557582955786626">Login untuk mendapatkan pengalaman browsing yang dipersonalisasi, yang disinkronkan di seluruh perangkat</translation> <translation id="1611584202130317952">Proses provisioning terganggu. Harap coba lagi atau hubungi administrator atau pemilik perangkat.</translation> <translation id="1611649489706141841">maju</translation> <translation id="1611704746353331382">Ekspor Bookmark ke file HTML...</translation> @@ -566,12 +563,11 @@ <translation id="184823282865851239">Blokir jika situs cenderung menampilkan iklan mengganggu</translation> <translation id="1849186935225320012">Halaman ini memiliki kontrol penuh perangkat MIDI.</translation> <translation id="1850508293116537636">Putar &searah jarum jam</translation> -<translation id="1851361118452499663">Fotoku</translation> +<translation id="1851361118452499663">Foto Saya</translation> <translation id="1852799913675865625">Terdapat kesalahan saat mencoba membaca file: <ph name="ERROR_TEXT" />.</translation> <translation id="1856715684130786728">+ lokasi...</translation> <translation id="1856813161013948396">Lewati layar kunci dengan hanya menge-tap sensor sidik jari. Klik untuk mengonfigurasi.</translation> <translation id="1858585891038687145">Mempercayai sertifikat ini untuk mengidentifikasi pembuat software</translation> -<translation id="1859234291848436338">Arah Penulisan</translation> <translation id="1861262398884155592">Folder ini kosong</translation> <translation id="1864111464094315414">Masuk</translation> <translation id="1864400682872660285">Dingin</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Ciutkan...</translation> <translation id="2737492745329609575">Mulai penyiapan</translation> <translation id="2738771556149464852">Tidak Setelah</translation> -<translation id="2739046699559178272">Simpan dan lanjutkan</translation> <translation id="2739191690716947896">Debug</translation> <translation id="2739240477418971307">Mengubah setelan aksesibilitas Anda</translation> <translation id="2740393541869613458">meninjau situs web yang telah dikunjungi oleh pengguna yang dilindungi, dan</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Telah Didownload</translation> <translation id="2783661497142353826">Kelola Aplikasi Kios</translation> <translation id="2784407158394623927">Mengaktifkan layanan data seluler Anda</translation> -<translation id="2785530881066938471">Tidak dapat memuat file '<ph name="RELATIVE_PATH" />' untuk skrip konten. File ini tidak bersandiaksara UTF-8.</translation> <translation id="2785873697295365461">Deskriptor file</translation> <translation id="2787047795752739979">Timpa yang asli</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Lanjutkan pemblokiran plugin yang tidak dimasukkan kotak pasir</translation> <translation id="2890678560483811744">Di luar referensi halaman batas</translation> <translation id="2893168226686371498">Browser default</translation> -<translation id="2893453364759632532">Jendela ke bawah</translation> <translation id="289644616180464099">Kartu SIM terkunci</translation> <translation id="289695669188700754">ID Kunci: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Anda yakin ingin membuka <ph name="TAB_COUNT" /> tab?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Membagikan layar</translation> <translation id="3046910703532196514">Halaman Web, Lengkap</translation> <translation id="304826556400666995">Nonaktifkan Tab</translation> -<translation id="3051523411789012618">Jendela ke atas</translation> <translation id="3053013834507634016">Penggunaan Kunci Sertifikat</translation> <translation id="3057861065630527966">Cadangkan foto dan video</translation> <translation id="3060379269883947824">Aktifkan fitur klik untuk diucapkan</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Mengakses masukan audio dan video</translation> <translation id="3090819949319990166">Tidak dapat menyalin file crx eksternal ke <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" disandingkan</translation> -<translation id="3097628171361913691">Pemasang File Zip</translation> <translation id="3100609564180505575">Modul (<ph name="TOTAL_COUNT" />) - Konflik yang dikenal: <ph name="BAD_COUNT" />, dicurigai: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Tanggal dan waktu</translation> <translation id="3108967419958202225">Pilih...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Ditandatangani oleh</translation> <translation id="33022249435934718">Penangan GDI</translation> <translation id="3302340765592941254">Notifikasi download selesai</translation> -<translation id="3302709122321372472">Tidak dapat memuat css '<ph name="RELATIVE_PATH" />' untuk skrip konten.</translation> <translation id="3303260552072730022">Sebuah ekstensi memicu layar penuh.</translation> <translation id="3303818374450886607">Salinan</translation> <translation id="3303855915957856445">Hasil penelusuran tidak ditemukan</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Pilih zona waktu</translation> <translation id="3856921555429624101">Pengukuran penggunaan data telah berakhir</translation> <translation id="3857228364945137633">Gunakan Smart Lock untuk membuka kunci <ph name="DEVICE_TYPE" /> Anda tanpa menggunakan sandi saat ponsel berada dalam jangkauan.</translation> -<translation id="3857732810083914482">Fitur Personalisasi tidak aktif. Anda dapat mengubah setelan ini di myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Selamat datang di Hangouts Meet</translation> <translation id="3862134173397075045">Sambutlah pengalaman Cast di Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Diimpor</translation> <translation id="3994374631886003300">Buka kunci ponsel dan dekatkan untuk membuka kunci <ph name="DEVICE_TYPE" /> Anda.</translation> <translation id="3994878504415702912">&Zum</translation> -<translation id="39964277676607559">Tidak dapat memuat javascript '<ph name="RELATIVE_PATH" />' untuk skrip konten.</translation> <translation id="4002066346123236978">Judul</translation> <translation id="40027638859996362">Perpindahan kata</translation> <translation id="4005817994523282006">Metode deteksi zona waktu</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Operasi penyalinan gagal. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Untuk log jaringan, lihat: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Untuk mendownload dan menggunakan aplikasi Android, Anda harus menginstal update terlebih dahulu. Saat perangkat sedang diupdate, Anda tidak dapat menggunakannya. Perangkat <ph name="DEVICE_TYPE" /> akan dinyalakan ulang setelah proses instal selesai.</translation> -<translation id="4338683191474220626">Jendela ke kiri</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ingin berkomunikasi dengan aplikasi "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ups, kesalahan TPM.</translation> <translation id="4345587454538109430">Konfigurasikan...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">tidak ada cookie yang dipilih</translation> <translation id="4617270414136722281">Opsi ekstensi</translation> <translation id="4619615317237390068">Tab dari perangkat lain</translation> -<translation id="4620809267248568679">Setelan ini diberlakukan oleh ekstensi.</translation> <translation id="4624768044135598934">Berhasil!</translation> <translation id="4625078469366263107">Aktifkan Aplikasi</translation> <translation id="4627427111733173920">Cookie diblokir</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Folder yang Anda pilih berisi file sensitif. Apakah Anda yakin ingin memberikan izin pada "$1" untuk akses membaca secara permanen ke folder ini?</translation> <translation id="4964455510556214366">Pengaturan</translation> <translation id="4964673849688379040">Memeriksa...</translation> -<translation id="4965682129423310439">Chrome menemukan software berbahaya di komputer. Chrome dapat menghapusnya dan memulihkan setelan agar browser Anda dapat berfungsi kembali secara normal.</translation> <translation id="4965808351167763748">Yakin ingin menyiapkan perangkat ini untuk menjalankan Hangouts Meet?</translation> <translation id="4967749818080339523">Pilih akun</translation> <translation id="496888482094675990">Aplikasi File memberikan akses cepat ke file yang telah Anda simpan di Google Drive, perangkat eksternal, atau perangkat Chrome OS.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Tidak dapat mentransmisi desktop.</translation> <translation id="6171948306033499786">Jeda pencetakan</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Jendela aktif dipindahkan ke layar di bawah</translation> <translation id="6178664161104547336">Pilih sertifikat</translation> <translation id="6181431612547969857">Download diblokir</translation> -<translation id="6181803575025675566">Kontrol cara kerjanya di <ph name="LINK_START" />Setelan<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokasi Perangkat</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711">Buka dengan <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Aduh, sandi tidak cocok!</translation> <translation id="6736243959894955139">Alamat</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Meskipun tidak lagi dapat mengakses profil lama, Anda dapat menghapusnya.</translation> <translation id="6739923123728562974">Tampilkan pintasan desktop</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> dijeda</translation> <translation id="6742339027238151589">Dapat diakses ke skrip</translation> -<translation id="6743841972744298686">Setelan sinkronisasi</translation> <translation id="6745592621698551453">Perbarui sekarang</translation> <translation id="6746124502594467657">Berpindah ke bawah</translation> <translation id="674632704103926902">Aktifkan ketuk tarik</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Cetak Halaman Khusus</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Folder</translation> -<translation id="6974053822202609517">Kanan ke Kiri</translation> <translation id="6976108581241006975">Konsol JavaScript</translation> <translation id="6977381486153291903">Revisi firmware</translation> <translation id="6978121630131642226">Mesin Telusur</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Sembunyikan</translation> <translation id="7108634116785509031"><ph name="HOST" /> ingin menggunakan kamera Anda</translation> <translation id="7108668606237948702">masuk</translation> -<translation id="7112978678959880812">Fitur Personalisasi aktif. Anda bisa mengubah setelan ini di myaccount.google.com.</translation> <translation id="7113502843173351041">Ketahui alamat email Anda</translation> <translation id="7114054701490058191">Sandi tidak cocok</translation> <translation id="7117228822971127758">Coba lagi nanti</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Muat ulang halaman ini</translation> <translation id="7222232353993864120">Alamat Email</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Aktifkan kaca pembesar layar</translation> <translation id="7223775956298141902">Payah... Anda tidak memiliki ekstensi :-(</translation> <translation id="7225179976675429563">Jenis jaringan hilang</translation> <translation id="7228479291753472782">Memanipulasi setelan yang menentukan apakah situs web dapat menggunakan fitur seperti geolokasi, mikrofon, kamera, dll.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Mengerti!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> otomatis memasukkan Anda ke situs yang memenuhi syarat menggunakan sandi tersimpan.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (pemilik)</translation> -<translation id="7647231681210854996">Jendela aktif dipindahkan ke layar kanan</translation> <translation id="7648992873808071793">Menyimpan file pada perangkat ini</translation> <translation id="7649070708921625228">Bantuan</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" ingin menghapus "<ph name="EXTENSION_NAME" />".</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Bicaralah sekarang</translation> <translation id="8372369524088641025">Kunci WEP yang buruk</translation> <translation id="8373553483208508744">Nonaktifkan tab</translation> -<translation id="8377870760189106701">Jendela ke kanan</translation> <translation id="8378285435971754261">Biarkan layanan lokasi Google membantu aplikasi menemukan lokasi Anda dengan cepat dan akurat, sehingga dapat menghemat penggunaan baterai. Data lokasi anonim akan dikirim ke Google, meski tidak ada aplikasi yang berjalan. <ph name="BEGIN_LINK1" />Pelajari Lebih Lanjut<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Kelola setelan kamera...</translation> <translation id="8382913212082956454">Salin alamat &email</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Tekan untuk membuka menu konteks guna melihat histori</translation> <translation id="8584280235376696778">Buka vide&o di tab baru</translation> <translation id="8588866096426746242">Tampilkan statistik profil</translation> -<translation id="8589652987924574405">Bookmark, histori, sandi, dan setelan lainnya akan disinkronkan ke Akun Google sehingga Anda dapat menggunakannya di semua perangkat. Opsi ini dapat Anda ubah di setelan kapan saja.</translation> <translation id="8590375307970699841">Siapkan pembaruan otomatis</translation> <translation id="8594908476761052472">Rekam video</translation> <translation id="8596540852772265699">File Khusus</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status roaming</translation> <translation id="8620765578342452535">Konfigurasi sambungan jaringan</translation> -<translation id="8620790565535071193">Pemindaian gagal</translation> <translation id="8624205858755890468">Mengaktifkan Asisten agar dapat menampilkan aplikasi, tindakan, dan info terkait.</translation> <translation id="862542460444371744">&Ekstensi</translation> <translation id="8627151598708688654">Pilih sumber</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Sandi yang disimpan Google</translation> <translation id="8714838604780058252">Grafis latar belakang</translation> <translation id="8719653885894320876">Gagal mendownload <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Jendela aktif dipindahkan ke layar di atas</translation> <translation id="8723829621484579639">Subkerangka mode Penyamaran untuk: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Tampilkan dalam Folder</translation> <translation id="8725066075913043281">Coba lagi</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Stilus</translation> <translation id="8787254343425541995">Memungkinkan proxy untuk jaringan bersama</translation> <translation id="8791534160414513928">Kirim permintaan "Jangan Lacak" bersama dengan traffic akses internet</translation> -<translation id="8792609692701651064">Jendela aktif dipindahkan ke layar kiri</translation> <translation id="8794025342371547160">IP Terbatas</translation> <translation id="879413103056696865">Saat hotspot aktif, <ph name="PHONE_NAME" /> Anda akan:</translation> <translation id="8795916974678578410">Jendela Baru</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Buka di Tab Baru</translation> <translation id="9024331582947483881">layar penuh</translation> <translation id="9025098623496448965">Oke, Bawa saya kembali ke layar proses masuk</translation> -<translation id="902659348151742535">Google dapat menggunakan histori penjelajahan Anda untuk mempersonalisasi Penelusuran, iklan, dan layanan Google lainnya.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Lindungi orang ini untuk mengontrol dan melihat situs web yang dikunjunginya dari Akun Google Anda.</translation> <translation id="9027459031423301635">Buka Tautan di &Tab Baru</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb index e927b13..5c213eb 100644 --- a/chrome/app/resources/generated_resources_it.xtb +++ b/chrome/app/resources/generated_resources_it.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nessuna rete</translation> <translation id="1056898198331236512">Avviso</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Impossibile rimuovere il software dannoso</translation> <translation id="1062407476771304334">Sostituisci</translation> <translation id="1062866675591297858">Gestisci i tuoi utenti supervisionati utilizzando la <ph name="BEGIN_LINK" />Dashboard degli utenti supervisionati<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Connetti a rete privata</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Scegli un file</translation> <translation id="136802136832547685">Nessun utente supervisionato da aggiungere a questo dispositivo.</translation> <translation id="1368265273904755308">Consente di segnalare un problema</translation> -<translation id="1368832886055348810">Da sinistra a destra</translation> <translation id="1370646789215800222">Rimuovere la persona?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 elemento da rimuovere}other{# elementi da rimuovere}}</translation> <translation id="1372841398847029212">Sincronizza con il tuo account</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Rimuovi questo utente</translation> <translation id="1609170755653088773">Sincronizza questa password con l'iPhone</translation> <translation id="1609862759711084604">Utente precedente</translation> -<translation id="1611557582955786626">Accedi per un'esperienza di navigazione personalizzata e sincronizzata sui tuoi dispositivi</translation> <translation id="1611584202130317952">Il flusso di provisioning è stato interrotto. Riprova oppure contatta l'amministratore o il proprietario del dispositivo.</translation> <translation id="1611649489706141841">avanti</translation> <translation id="1611704746353331382">Esporta i preferiti in file HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Aggiungi posizione...</translation> <translation id="1856813161013948396">Salta la schermata di blocco toccando semplicemente il sensore di impronte digitali. Fai clic per configurare.</translation> <translation id="1858585891038687145">Considera attendibile questo certificato per l'identificazione dei creatori di software</translation> -<translation id="1859234291848436338">Direzione di scrittura</translation> <translation id="1861262398884155592">Questa cartella è vuota</translation> <translation id="1864111464094315414">Accesso</translation> <translation id="1864400682872660285">Più fredda</translation> @@ -1132,7 +1128,6 @@ <translation id="2737363922397526254">Comprimi...</translation> <translation id="2737492745329609575">Avvia configurazione</translation> <translation id="2738771556149464852">Non dopo</translation> -<translation id="2739046699559178272">Salva e continua</translation> <translation id="2739191690716947896">Debug</translation> <translation id="2739240477418971307">Modifica delle impostazioni di accesibilità</translation> <translation id="2740393541869613458">controllare i siti web visitati dall'utente supervisionato e</translation> @@ -1158,7 +1153,6 @@ <translation id="2783298271312924866">Scaricato</translation> <translation id="2783661497142353826">Gestisci applicazioni kiosk</translation> <translation id="2784407158394623927">Attivazione del servizio dati mobile</translation> -<translation id="2785530881066938471">Impossibile caricare il file "<ph name="RELATIVE_PATH" />" per la trascrizione dei contenuti. Non è codificato in UTF-8.</translation> <translation id="2785873697295365461">Descrittori di file</translation> <translation id="2787047795752739979">Sovrascrivi originale</translation> <translation id="2788135150614412178">+</translation> @@ -1244,7 +1238,6 @@ <translation id="2889925978073739256">Continua a bloccare i plug-in senza sandbox</translation> <translation id="2890678560483811744">Riferimento pagina oltre i limiti</translation> <translation id="2893168226686371498">Browser predefinito</translation> -<translation id="2893453364759632532">Sposta la finestra in basso</translation> <translation id="289644616180464099">La scheda SIM è bloccata</translation> <translation id="289695669188700754">ID chiave: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Aprire <ph name="TAB_COUNT" /> schede?</translation> @@ -1357,7 +1350,6 @@ <translation id="304567287000691532">Condivisione dello schermo in corso</translation> <translation id="3046910703532196514">Pagina web, completa</translation> <translation id="304826556400666995">Riattiva audio schede</translation> -<translation id="3051523411789012618">Sposta la finestra in alto</translation> <translation id="3053013834507634016">Uso della chiave del certificato</translation> <translation id="3057861065630527966">Effettua il backup di foto e video</translation> <translation id="3060379269883947824">Attiva Seleziona per ascoltare</translation> @@ -1387,7 +1379,6 @@ <translation id="3090193911106258841">Accesso all'input audio e video in corso</translation> <translation id="3090819949319990166">Impossibile copiare il file crx esterno su <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" accoppiato</translation> -<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3100609564180505575">Moduli (<ph name="TOTAL_COUNT" />). Conflitti conosciuti: <ph name="BAD_COUNT" />, sospettati: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data e ora</translation> <translation id="3108967419958202225">Scegli...</translation> @@ -1509,7 +1500,6 @@ <translation id="3300394989536077382">Firmato da</translation> <translation id="33022249435934718">Handle GDI</translation> <translation id="3302340765592941254">Download notifica completato</translation> -<translation id="3302709122321372472">Impossibile caricare css "<ph name="RELATIVE_PATH" />" per script contenuti.</translation> <translation id="3303260552072730022">Un'estensione ha attivato lo schermo intero.</translation> <translation id="3303818374450886607">Copie</translation> <translation id="3303855915957856445">Nessun risultato di ricerca trovato</translation> @@ -1888,7 +1878,6 @@ <translation id="3856800405688283469">Seleziona il fuso orario</translation> <translation id="3856921555429624101">La misurazione dell'utilizzo dei dati è terminata</translation> <translation id="3857228364945137633">Prova Smart Lock per sbloccare il tuo dispositivo <ph name="DEVICE_TYPE" /> senza password quando il tuo telefono è nelle vicinanze.</translation> -<translation id="3857732810083914482">La personalizzazione non è attiva. Puoi cambiare questa impostazione all'indirizzo myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Benvenuto in Hangouts Meet</translation> <translation id="3862134173397075045">Benvenuto nell'esperienza Cast di Chrome.</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">Importati</translation> <translation id="3994374631886003300">Sblocca il telefono e avvicinalo al dispositivo <ph name="DEVICE_TYPE" /> per sbloccarlo.</translation> <translation id="3994878504415702912">&Carattere</translation> -<translation id="39964277676607559">Impossibile caricare javascript "<ph name="RELATIVE_PATH" />" per script contenuti.</translation> <translation id="4002066346123236978">Titolo</translation> <translation id="40027638859996362">Spostamento parola</translation> <translation id="4005817994523282006">Metodo di rilevamento del fuso orario</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">Operazione di copia non riuscita. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Per i log di rete, vedi: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Per scaricare e utilizzare le app Android, devi prima installare un aggiornamento. Mentre il tuo dispositivo viene aggiornato, non puoi utilizzarlo. Il dispositivo <ph name="DEVICE_TYPE" /> verrà riavviato una volta completata l'installazione.</translation> -<translation id="4338683191474220626">Sposta la finestra a sinistra</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> vuole comunicare con l'app "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Spiacenti, errore TPM.</translation> <translation id="4345587454538109430">Configura...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">nessun cookie selezionato</translation> <translation id="4617270414136722281">Opzioni estensione</translation> <translation id="4619615317237390068">Schede di altri dispositivi</translation> -<translation id="4620809267248568679">Questa impostazione è applicata da un'estensione.</translation> <translation id="4624768044135598934">Operazione riuscita.</translation> <translation id="4625078469366263107">Attiva app</translation> <translation id="4627427111733173920">Cookie bloccati</translation> @@ -2531,7 +2517,6 @@ <translation id="496226124210045887">La cartella che hai selezionato contiene file delicati. Vuoi concedere a "$1" accesso di lettura permanente a questa cartella?</translation> <translation id="4964455510556214366">Disposizione</translation> <translation id="4964673849688379040">Controllo in corso...</translation> -<translation id="4965682129423310439">Chrome ha trovato software dannoso sul computer. Può rimuoverlo e ripristinare le tue impostazioni per ristabilire il normale funzionamento del browser.</translation> <translation id="4965808351167763748">Vuoi configurare questo dispositivo in modo da poter eseguire Hangouts Meet?</translation> <translation id="4967749818080339523">Seleziona un account</translation> <translation id="496888482094675990">L'app File consente di accedere rapidamente ai file salvati in Google Drive, nella memoria esterna o sul tuo dispositivo Chrome OS.</translation> @@ -3304,10 +3289,8 @@ <translation id="6169666352732958425">Impossibile trasmettere il desktop.</translation> <translation id="6171948306033499786">Metti in pausa la stampa</translation> <translation id="6175314957787328458">GUID di dominio Microsoft</translation> -<translation id="6176032031541598434">Finestra attiva spostata nello schermo sotto</translation> <translation id="6178664161104547336">Seleziona un certificato</translation> <translation id="6181431612547969857">Download bloccato</translation> -<translation id="6181803575025675566">Controlla come funziona nelle <ph name="LINK_START" />Impostazioni<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Posizione del dispositivo</translation> <translation id="6185696379715117369">Pagina su</translation> <translation id="6189412234224385711">Apri con l'estensione <ph name="EXTENSION_NAME" /></translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">Spiacenti, le password non corrispondono.</translation> <translation id="6736243959894955139">Indirizzo</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Anche se non puoi più accedere al tuo vecchio profilo, puoi rimuoverlo.</translation> <translation id="6739923123728562974">Mostra collegamento sul desktop</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> in pausa</translation> <translation id="6742339027238151589">Accessibile allo script</translation> -<translation id="6743841972744298686">Impostazioni di sincronizzazione</translation> <translation id="6745592621698551453">Aggiorna ora</translation> <translation id="6746124502594467657">Sposta giù</translation> <translation id="674632704103926902">Attiva trascinamento al tocco</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">Stampa pagine specifiche</translation> <translation id="6972180789171089114">Audio/video</translation> <translation id="6973630695168034713">Cartelle</translation> -<translation id="6974053822202609517">Da destra a sinistra</translation> <translation id="6976108581241006975">Console JavaScript</translation> <translation id="6977381486153291903">Revisione firmware</translation> <translation id="6978121630131642226">Motori di ricerca</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">Nascondi</translation> <translation id="7108634116785509031"><ph name="HOST" /> vuole usare la fotocamera</translation> <translation id="7108668606237948702">invio</translation> -<translation id="7112978678959880812">La personalizzazione è attiva. Puoi cambiare questa impostazione all'indirizzo myaccount.google.com.</translation> <translation id="7113502843173351041">Accedere all'indirizzo email</translation> <translation id="7114054701490058191">Le password non corrispondono</translation> <translation id="7117228822971127758">Riprova più tardi</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">Ricarica questa pagina</translation> <translation id="7222232353993864120">Indirizzo email</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Attiva ingrandimento dello schermo</translation> <translation id="7223775956298141902">Non hai estensioni :-(</translation> <translation id="7225179976675429563">Tipo di rete mancante</translation> <translation id="7228479291753472782">Manipola le impostazioni che specificano se i siti web possono utilizzare funzioni come geolocalizzazione, microfono, fotocamera e così via.</translation> @@ -4200,7 +4178,6 @@ <translation id="7639178625568735185">Ok.</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> ti consente di accedere automaticamente ai siti idonei con le password salvate.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietario)</translation> -<translation id="7647231681210854996">Finestra attiva spostata nello schermo a destra</translation> <translation id="7648992873808071793">Memorizzare file sul dispositivo</translation> <translation id="7649070708921625228">Guida</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" desidera rimuovere "<ph name="EXTENSION_NAME" />".</translation> @@ -4660,7 +4637,6 @@ <translation id="8371695176452482769">Parla adesso</translation> <translation id="8372369524088641025">Chiave WEP non valida</translation> <translation id="8373553483208508744">Disattiva audio schede</translation> -<translation id="8377870760189106701">Finestra a destra</translation> <translation id="8378285435971754261">Consenti al servizio di geolocalizzazione di Google di aiutare le app a rilevare la tua posizione in modo veloce e preciso, riducendo allo stesso tempo il consumo di batteria. A Google verranno inviati dati anonimi sulla posizione, anche quando non ci sono app in esecuzione. <ph name="BEGIN_LINK1" />Ulteriori informazioni<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gestisci le impostazioni della videocamera...</translation> <translation id="8382913212082956454">Copia indirizzo &email</translation> @@ -4780,7 +4756,6 @@ <translation id="8581809080475256101">Premi per continuare, menu contestuale per visualizzare la cronologia</translation> <translation id="8584280235376696778">&Apri video in nuova scheda</translation> <translation id="8588866096426746242">Mostra le statistiche del profilo</translation> -<translation id="8589652987924574405">I tuoi preferiti, la cronologia, le password e altre impostazioni verranno sincronizzati con il tuo account Google per consentirti di utilizzarli su tutti i tuoi dispositivi. Puoi modificare questo comportamento in un secondo momento nelle impostazioni.</translation> <translation id="8590375307970699841">Imposta aggiornamenti automatici</translation> <translation id="8594908476761052472">Acquisisci video</translation> <translation id="8596540852772265699">File personalizzati</translation> @@ -4796,7 +4771,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stato roaming</translation> <translation id="8620765578342452535">Configura connessioni di rete</translation> -<translation id="8620790565535071193">Scansione non riuscita</translation> <translation id="8624205858755890468">Consente all'assistente di mostrarti azioni, app e informazioni correlate.</translation> <translation id="862542460444371744">&Estensioni</translation> <translation id="8627151598708688654">Seleziona fonte</translation> @@ -4874,7 +4848,6 @@ <translation id="871476437400413057">Password Google salvate</translation> <translation id="8714838604780058252">Grafica in background</translation> <translation id="8719653885894320876">Download di <ph name="PLUGIN_NAME" /> non riuscito</translation> -<translation id="8721669057562068233">Finestra attiva spostata nello schermo sopra</translation> <translation id="8723829621484579639">Frame secondari modalità di navigazione in incognito per: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Mo&stra nella cartella</translation> <translation id="8725066075913043281">Riprova</translation> @@ -4918,7 +4891,6 @@ <translation id="8785622406424941542">Stilo</translation> <translation id="8787254343425541995">Consenti proxy per reti condivise</translation> <translation id="8791534160414513928">Invia una richiesta "Non tenere traccia" con il tuo traffico di navigazione</translation> -<translation id="8792609692701651064">Finestra attiva spostata nello schermo a sinistra</translation> <translation id="8794025342371547160">IP limitato</translation> <translation id="879413103056696865">Quando l'hotspot è attivo, il tuo <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nuova finestra</translation> @@ -5055,7 +5027,6 @@ <translation id="9024127637873500333">&Apri in un'altra scheda</translation> <translation id="9024331582947483881">schermo intero</translation> <translation id="9025098623496448965">OK, riportami nella schermata di accesso</translation> -<translation id="902659348151742535">Google può utilizzare la tua cronologia di navigazione per personalizzare la Ricerca, gli annunci e altri servizi Google.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Supervisiona questa persona per controllare e visualizzare dal tuo account Google i siti web visitati.</translation> <translation id="9027459031423301635">Apri link in un'altra &scheda</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb index 12a7e59..cf94dfa 100644 --- a/chrome/app/resources/generated_resources_iw.xtb +++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">אין רשתות</translation> <translation id="1056898198331236512">אזהרה</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">לא ניתן להסיר תוכנה מזיקה</translation> <translation id="1062407476771304334">החלף</translation> <translation id="1062866675591297858">נהל את המשתמשים שבפיקוח באמצעות <ph name="BEGIN_LINK" />לוח הבקרה למשתמשים בפיקוח<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">הצטרף לרשת פרטית</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">בחר קובץ</translation> <translation id="136802136832547685">לא נמצאו משתמשים בפיקוח שניתן להוסיף למכשיר זה.</translation> <translation id="1368265273904755308">דווח על בעיה</translation> -<translation id="1368832886055348810">משמאל לימין</translation> <translation id="1370646789215800222">האם להסיר את המשתמש?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{פריט אחד להסרה}two{# פריטים להסרה}many{# פריטים להסרה}other{# פריטים להסרה}}</translation> <translation id="1372841398847029212">סנכרון עם החשבון שלך</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">הסר את המשתמש הזה</translation> <translation id="1609170755653088773">סנכרון הסיסמה הזו עם מכשיר iPhone שלך</translation> <translation id="1609862759711084604">המשתמש הקודם</translation> -<translation id="1611557582955786626">כניסה לחשבון תאפשר לך ליהנות מחוויית גלישה מותאמת אישית שתסונכרן בין המכשירים שלך</translation> <translation id="1611584202130317952">תהליך הקצאת הגישה הופסק. יש לנסות שוב, או לפנות לבעלי המכשיר או למנהל המערכת.</translation> <translation id="1611649489706141841">קדימה</translation> <translation id="1611704746353331382">יצוא סימניות לקובץ HTML...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">הוסף מיקום...</translation> <translation id="1856813161013948396">אפשר לדלג על מסך הנעילה באמצעות הקשה על חיישן טביעות האצבע. לחץ כדי להגדיר.</translation> <translation id="1858585891038687145">תן אמון באישור זה לזיהוי מפתחי תוכנה</translation> -<translation id="1859234291848436338">כיוון כתיבה</translation> <translation id="1861262398884155592">התיקייה הזו ריקה</translation> <translation id="1864111464094315414">התחבר</translation> <translation id="1864400682872660285">קריר יותר</translation> @@ -793,7 +789,7 @@ <translation id="222931766245975952">הקובץ נקטע</translation> <translation id="2230051135190148440">CHAP</translation> <translation id="2230062665678605299">לא ניתן ליצור את התיקיה "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> -<translation id="223106756035922488">לחיצה תציג את הדודל היומי</translation> +<translation id="223106756035922488">לצפייה בדודל היומי</translation> <translation id="2231238007119540260">אם אתה מוחק אישור שרת, אתה משחזר את בדיקות האבטחה הרגילות לשרת זה ודורש שהוא ישתמש באישור חוקי.</translation> <translation id="2232876851878324699">הקובץ הכיל אישור אחד, שלא יובא:</translation> <translation id="2233502537820838181">&מידע נוסף</translation> @@ -1018,13 +1014,13 @@ והנתונים של המשתמש בפיקוח לא יעברו איתו למכשירים אחרים באמצעות סנכרון Chrome. הגדרת משתמש בפיקוח חלה על מכשיר זה בלבד.</translation> <translation id="258932246702879617">בחר באפשרות <ph name="BEGIN_BOLD" />הצמד לשורת המשימות<ph name="END_BOLD" /></translation> <translation id="259421303766146093">בטל הגדלה</translation> -<translation id="2594999711683503743">חפש ב-Google או הקלד כתובת אתר</translation> +<translation id="2594999711683503743">זה המקום לחפש את מה שמעניין אותך או להקליד כתובת של אתר ספציפי</translation> <translation id="2597852038534460976">Chrome לא יכול לגשת לטפטים. התחבר לרשת.</translation> <translation id="2600115369439982409">קבצים ותוכנות:</translation> <translation id="2603115962224169880">ניקוי המחשב</translation> <translation id="2603463522847370204">פתח בחלון &גלישה בסתר</translation> <translation id="2604255671529671813">שגיאת חיבור רשת</translation> -<translation id="2606246518223360146">קשר את נתונים</translation> +<translation id="2606246518223360146">קישור נתונים</translation> <translation id="2607101320794533334">פרטי מפתח ציבורי של נושא</translation> <translation id="2607459012323956820">המנהל עדיין יכול להציג את ההגדרות ואת היסטוריית הגלישה של משתמש מבוקר זה בכתובת <ph name="BEGIN_LINK" /><ph name="DISPLAY_LINK" /><ph name="END_LINK" />.</translation> <translation id="2608770217409477136">השתמש בהגדרות ברירת המחדל</translation> @@ -1130,7 +1126,6 @@ <translation id="2737363922397526254">כווץ...</translation> <translation id="2737492745329609575">התחלת ההגדרה</translation> <translation id="2738771556149464852">לא אחרי</translation> -<translation id="2739046699559178272">שמירה והמשך</translation> <translation id="2739191690716947896">ניפוי באגים</translation> <translation id="2739240477418971307">שינוי הגדרות הנגישות שלך</translation> <translation id="2740393541869613458">סקירת אתרים שהמשתמש המבוקר ביקר בהם, וכן</translation> @@ -1156,7 +1151,6 @@ <translation id="2783298271312924866">ההורדה בוצעה</translation> <translation id="2783661497142353826">ניהול יישומי קיוסק</translation> <translation id="2784407158394623927">מפעיל את שירות הנתונים הסלולריים</translation> -<translation id="2785530881066938471">אין אפשרות לטעון את הקובץ '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן. הוא לא בקידוד UTF-8.</translation> <translation id="2785873697295365461">מתארי קבצים</translation> <translation id="2787047795752739979">החלף קובץ מקורי</translation> <translation id="2788135150614412178">+</translation> @@ -1242,7 +1236,6 @@ <translation id="2889925978073739256">המשך לחסום יישומי פלאגין שאינם בארגז חול</translation> <translation id="2890678560483811744">התייחסות לדף מחוץ לטווח</translation> <translation id="2893168226686371498">דפדפן ברירת מחדל</translation> -<translation id="2893453364759632532">הזזת חלון מטה</translation> <translation id="289644616180464099">כרטיס ה-SIM נעול</translation> <translation id="289695669188700754">מזהה מפתח: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">האם אתה בטוח שברצונך לפתוח כרטיסיות <ph name="TAB_COUNT" />?</translation> @@ -1355,7 +1348,6 @@ <translation id="304567287000691532">משתף את המסך</translation> <translation id="3046910703532196514">דף אינטרנט, שלם</translation> <translation id="304826556400666995">ביטול השתקת כרטיסיות</translation> -<translation id="3051523411789012618">הזזת חלון כלפי מטה</translation> <translation id="3053013834507634016">שימוש במפתח אישור </translation> <translation id="3057861065630527966">גבה את התמונות והסרטונים</translation> <translation id="3060379269883947824">הפעלת הקראה</translation> @@ -1385,7 +1377,6 @@ <translation id="3090193911106258841">גישה לקלט אודיו ווידאו</translation> <translation id="3090819949319990166">לא ניתן להעתיק קובץ crx חיצוני ל-<ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" מותאם</translation> -<translation id="3097628171361913691">מתקין קובצי Zip</translation> <translation id="3100609564180505575">מודולים (<ph name="TOTAL_COUNT" />) - התנגשויות ידועות: <ph name="BAD_COUNT" />, חשודות: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">תאריך ושעה</translation> <translation id="3108967419958202225">בחר...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">נחתם על ידי</translation> <translation id="33022249435934718">מזהים ייחודיים של GDI</translation> <translation id="3302340765592941254">הודעה על סיום ההורדה</translation> -<translation id="3302709122321372472">לא היתה אפשרות לטעון את ה-css '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן.</translation> <translation id="3303260552072730022">תוסף הפעיל מסך מלא.</translation> <translation id="3303818374450886607">עותקים</translation> <translation id="3303855915957856445">לא נמצאו תוצאות חיפוש</translation> @@ -1887,7 +1877,6 @@ <translation id="3856800405688283469">בחירת אזור זמן</translation> <translation id="3856921555429624101">מדידת השימוש בנתונים הסתיימה</translation> <translation id="3857228364945137633">כדאי לנסות את Smart Lock כדי לבטל את הנעילה של <ph name="DEVICE_TYPE" /> כשהטלפון בקרבת מקום, בלי להזין סיסמה.</translation> -<translation id="3857732810083914482">ההתאמה האישית מושבתת. אפשר לשנות את ההגדרה הזאת בכתובת myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">ברכות על הצטרפותך אל Hangouts Meet</translation> <translation id="3862134173397075045">ברוכים הבאים לחוויה של Cast ב-Chrome!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">מיובאות</translation> <translation id="3994374631886003300">עליך לבטל את נעילת הטלפון ולקרב אותו ל-<ph name="DEVICE_TYPE" /> כדי לבטל את הנעילה שלו.</translation> <translation id="3994878504415702912">מרחק מתצוגה</translation> -<translation id="39964277676607559">לא היתה אפשרות לטעון את ה-Javascript '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן.</translation> <translation id="4002066346123236978">כותרת</translation> <translation id="40027638859996362">העברת מילה</translation> <translation id="4005817994523282006">שיטה לזיהוי אזור זמן</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">פעולת ההעתקה נכשלה. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">ליומני רשת, ראה: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">עליך להתקין את העדכון כדי להוריד אפליקציות Android ולהשתמש בהן. לא תוכל להשתמש במכשיר בזמן ההתקנה. כשההתקנה תסתיים, מחשב <ph name="DEVICE_TYPE" /> יופעל מחדש.</translation> -<translation id="4338683191474220626">הזזת חלון שמאלה</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> רוצה לתקשר עם האפליקציה "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">אופס, טעות של TPM.</translation> <translation id="4345587454538109430">הגדר...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">לא נבחר קובץ Cookie</translation> <translation id="4617270414136722281">אפשרויות של תוספים</translation> <translation id="4619615317237390068">כרטיסיות ממכשירים אחרים</translation> -<translation id="4620809267248568679">הגדרה זו נאכפת על ידי תוסף.</translation> <translation id="4624768044135598934">הצלחה!</translation> <translation id="4625078469366263107">הפעל יישום</translation> <translation id="4627427111733173920">קובצי Cookie נחסמו</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">התיקיה שבחרת מכילה קבצים רגישים. האם אתה בטוח שברצונך להעניק ל-"$1" גישה קבועה לקריאה בתיקיה זו?</translation> <translation id="4964455510556214366">סידור</translation> <translation id="4964673849688379040">בודק...</translation> -<translation id="4965682129423310439">Chrome מצא תוכנה מזיקה במחשב. כדי להחזיר את הדפדפן לפעילות רגילה, Chrome יכול להסיר את התוכנה ולשחזר את ההגדרות שלך.</translation> <translation id="4965808351167763748">בחרת להגדיר שהמכשיר הזה יפעיל את Hangouts Meet. להמשיך?</translation> <translation id="4967749818080339523">בחר חשבון</translation> <translation id="496888482094675990">היישום 'קבצים' מספק גישה מהירה לקבצים ששמרת ב-Google Drive, באחסון חיצוני או במכשיר שלך עם מערכת הפעלה של Chrome.</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">לא ניתן להעביר מהמחשב השולחני.</translation> <translation id="6171948306033499786">השהה הדפסה</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">החלון הפעיל הועבר אל מתחת לאזור התצוגה</translation> <translation id="6178664161104547336">בחר אישור</translation> <translation id="6181431612547969857">ההורדה נחסמה</translation> -<translation id="6181803575025675566">אפשר לשנות את הגדרות הסנכרון דרך <ph name="LINK_START" />הגדרות<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">מיקום מכשיר</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711">פתח באמצעות <ph name="EXTENSION_NAME" /></translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">אופס, הסיסמאות אינן תואמות!</translation> <translation id="6736243959894955139">כתובת</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">למרות שכבר אין לך גישה לפרופיל הישן, אפשר להסיר אותו.</translation> <translation id="6739923123728562974">הצג קיצור דרך בשולחן העבודה</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> הושהה</translation> <translation id="6742339027238151589">נגיש לסקריפט</translation> -<translation id="6743841972744298686">הגדרות סנכרון</translation> <translation id="6745592621698551453">עדכן כעת</translation> <translation id="6746124502594467657">הזז למטה</translation> <translation id="674632704103926902">הפעל גרירה והקשה</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">הדפסת דפים ספציפיים</translation> <translation id="6972180789171089114">אודיו/וידאו</translation> <translation id="6973630695168034713">תיקיות</translation> -<translation id="6974053822202609517">מימין לשמאל</translation> <translation id="6976108581241006975">לוח JavaScript</translation> <translation id="6977381486153291903">שכתוב קושחה</translation> <translation id="6978121630131642226">מנועי חיפוש</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">הסתר</translation> <translation id="7108634116785509031"><ph name="HOST" /> רוצה להשתמש במצלמה שלך</translation> <translation id="7108668606237948702">הזן</translation> -<translation id="7112978678959880812">ההתאמה האישית מופעלת. אפשר לשנות את ההגדרה הזאת בכתובת myaccount.google.com.</translation> <translation id="7113502843173351041">לדעת את כתובת האימייל שלך</translation> <translation id="7114054701490058191">הסיסמאות לא תואמות</translation> <translation id="7117228822971127758">אפשר לנסות שוב מאוחר יותר</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">רענן את הדף</translation> <translation id="7222232353993864120">כתובת אימייל</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">הפעל את מגדיל התצוגה</translation> <translation id="7223775956298141902">אוי... אין לך תוספים :-(</translation> <translation id="7225179976675429563">חסר סוג רשת</translation> <translation id="7228479291753472782">שינוי הגדרות שמציינות אם אתרים יכולים להשתמש בתכונות כגון מיקום גיאוגרפי, מיקרופון, מצלמה ועוד</translation> @@ -4202,7 +4180,6 @@ <translation id="7639178625568735185">הבנתי</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> מכניס אותך באופן אוטומטי לאתרים כשירים באמצעות סיסמאות ששמרת.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (בעלים)</translation> -<translation id="7647231681210854996">החלון הפעיל הועבר אל מימין לאזור התצוגה</translation> <translation id="7648992873808071793">לאחסן קבצים במכשיר הזה</translation> <translation id="7649070708921625228">עזרה</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" רוצה להסיר את "<ph name="EXTENSION_NAME" />".</translation> @@ -4661,7 +4638,6 @@ <translation id="8371695176452482769">דבר עכשיו</translation> <translation id="8372369524088641025">מקש WEP גרוע</translation> <translation id="8373553483208508744">השתק כרטיסיות</translation> -<translation id="8377870760189106701">חלון לימין</translation> <translation id="8378285435971754261">אפשר לשירות המיקום של Google לעזור לאפליקציות למצוא את המיקום שלך במהירות ובאופן מדויק. מצב זה עשוי לצמצם את צריכת הסוללה. נתוני מיקום אנונימיים יישלחו אל Google, גם אם אין יישומים פעילים. <ph name="BEGIN_LINK1" />למידע נוסף<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">נהל הגדרות מצלמה...</translation> <translation id="8382913212082956454">העתק &כתובת אימייל</translation> @@ -4781,7 +4757,6 @@ <translation id="8581809080475256101">לחץ כדי להתקדם, תפריט הקשר כדי לראות את ההיסטוריה</translation> <translation id="8584280235376696778">פתח וידאו בכרטיסייה חדשה</translation> <translation id="8588866096426746242">הצגת נתונים סטטיסטיים של פרופיל</translation> -<translation id="8589652987924574405">הסימניות, ההיסטוריה, הסיסמאות והגדרות נוספות יסונכרנו עם חשבון Google שלך, כדי שאפשר יהיה להשתמש בהן בכל המכשירים. אפשר לשנות את ההגדרה הזאת בכל שלב דרך ההגדרות.</translation> <translation id="8590375307970699841">הגדר עדכונים אוטומטיים</translation> <translation id="8594908476761052472">צילום סרטון</translation> <translation id="8596540852772265699">קבצים מותאמים אישית</translation> @@ -4797,7 +4772,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">סטטוס נדידה</translation> <translation id="8620765578342452535">הגדרת חיבורי רשת</translation> -<translation id="8620790565535071193">הסריקה נכשלה</translation> <translation id="8624205858755890468">מאפשר ל-Assistant להציג לך פעולות, אפליקציות ופרטים קשורים.</translation> <translation id="862542460444371744">&תוספים</translation> <translation id="8627151598708688654">בחירת מקור</translation> @@ -4875,7 +4849,6 @@ <translation id="871476437400413057">סיסמאות שמורות ב-Google</translation> <translation id="8714838604780058252">גרפיקת רקע</translation> <translation id="8719653885894320876">הורדת <ph name="PLUGIN_NAME" /> נכשלה</translation> -<translation id="8721669057562068233">החלון הפעיל הועבר אל מעל לאזור התצוגה</translation> <translation id="8723829621484579639">תת-מסגרות במצב גלישה בסתר של: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&הצג בתיקייה</translation> <translation id="8725066075913043281">נסה שוב</translation> @@ -4919,7 +4892,6 @@ <translation id="8785622406424941542">סטיילוס</translation> <translation id="8787254343425541995">אפשר שרתי proxy עבור רשתות משותפות</translation> <translation id="8791534160414513928">שלח בקשת 'ללא מעקב' יחד עם תנועת הגלישה שלך</translation> -<translation id="8792609692701651064">החלון הפעיל הועבר אל משמאל לאזור התצוגה</translation> <translation id="8794025342371547160">IP מוגבל</translation> <translation id="879413103056696865">כשהנקודה לשיתוף אינטרנט מופעלת, ה-<ph name="PHONE_NAME" /> יבצע את הפעולות הבאות:</translation> <translation id="8795916974678578410">חלון חדש</translation> @@ -5056,7 +5028,6 @@ <translation id="9024127637873500333">&פתח בכרטיסייה חדשה</translation> <translation id="9024331582947483881">מסך מלא</translation> <translation id="9025098623496448965">בסדר, החזר אותי למסך הכניסה</translation> -<translation id="902659348151742535">חברת Google עשויה להשתמש בהיסטוריית הגלישה שלך לצורך התאמה אישית של חיפוש Google, מודעות Google ושירותי Google אחרים.</translation> <translation id="9026731007018893674">הורד</translation> <translation id="9027146684281895941">השתמש בחשבון Google שלך לפיקוח על המשתמש הזה, שליטה באתרים שבהם הוא מבקר והצגתם.</translation> <translation id="9027459031423301635">פתח קישור בכרטיסייה &חדשה</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb index c2f809b..733479d 100644 --- a/chrome/app/resources/generated_resources_ja.xtb +++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">ネットワークが見つかりません</translation> <translation id="1056898198331236512">警告</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">有害なソフトウェアを削除することができません</translation> <translation id="1062407476771304334">置換</translation> <translation id="1062866675591297858">監視対象ユーザーを管理するには<ph name="BEGIN_LINK" />監視対象ユーザーのダッシュボード<ph name="END_LINK" />を使用します。</translation> <translation id="1064835277883315402">プライベート ネットワークに参加</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">ファイルを選択</translation> <translation id="136802136832547685">この端末に追加する監視対象ユーザーは存在しません。</translation> <translation id="1368265273904755308">問題を報告</translation> -<translation id="1368832886055348810">左から右</translation> <translation id="1370646789215800222">ユーザーを削除しますか?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 件の項目を削除}other{# 件の項目を削除}}</translation> <translation id="1372841398847029212">アカウントに同期</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">このユーザーを削除</translation> <translation id="1609170755653088773">このパスワードを iPhone と同期</translation> <translation id="1609862759711084604">前のユーザー</translation> -<translation id="1611557582955786626">ログインすると、個人向けにカスタマイズされたブラウジング環境をさまざまな端末間で同期して使用できます</translation> <translation id="1611584202130317952">プロビジョニング フローが中断されました。もう一度お試しになるか、端末の所有者または管理者にお問い合わせください。</translation> <translation id="1611649489706141841">進む</translation> <translation id="1611704746353331382">HTML ファイルにブックマークをエクスポート...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">位置情報を追加...</translation> <translation id="1856813161013948396">指紋認証センサーをタップして画面のロックを解除できます。設定するにはクリックしてください。</translation> <translation id="1858585891038687145">ソフトウェア作成元の識別でこの証明書を信頼します</translation> -<translation id="1859234291848436338">文章の方向</translation> <translation id="1861262398884155592">このフォルダは空です</translation> <translation id="1864111464094315414">ログイン</translation> <translation id="1864400682872660285">寒色</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">折りたたむ...</translation> <translation id="2737492745329609575">設定を開始</translation> <translation id="2738771556149464852">終了時刻</translation> -<translation id="2739046699559178272">保存して続行</translation> <translation id="2739191690716947896">デバッグ</translation> <translation id="2739240477418971307">ユーザー補助設定の変更</translation> <translation id="2740393541869613458">監視対象ユーザーがどのウェブサイトにアクセスしたかを確認する</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">ダウンロード済み</translation> <translation id="2783661497142353826">キオスク アプリケーションの管理</translation> <translation id="2784407158394623927">モバイル データ サービスを有効にしています</translation> -<translation id="2785530881066938471">コンテンツ スクリプトのファイル「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。UTF-8 でエンコードされていません。</translation> <translation id="2785873697295365461">ファイル記述子</translation> <translation id="2787047795752739979">オリジナルを上書き</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">サンドボックスの無効化プラグインを引き続きブロックする</translation> <translation id="2890678560483811744">範囲外のページを参照しています</translation> <translation id="2893168226686371498">既定のブラウザ</translation> -<translation id="2893453364759632532">ウィンドウを下に移動</translation> <translation id="289644616180464099">SIM カードはロックされています</translation> <translation id="289695669188700754">キー ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870"><ph name="TAB_COUNT" /> 個のタブが開きます。本当によろしいですか?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">画面を共有しています</translation> <translation id="3046910703532196514">ウェブページ、完全</translation> <translation id="304826556400666995">タブのミュートを解除</translation> -<translation id="3051523411789012618">ウィンドウを上に移動</translation> <translation id="3053013834507634016">証明書キーの用途</translation> <translation id="3057861065630527966">写真や動画をバックアップします</translation> <translation id="3060379269883947824">「選択して読み上げ」を有効にする</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">音声 / ビデオ入力にアクセスしています</translation> <translation id="3090819949319990166">外部の crx ファイルは <ph name="TEMP_CRX_FILE" /> にコピーできません。</translation> <translation id="3090871774332213558">「<ph name="DEVICE_NAME" />」がペア設定されました</translation> -<translation id="3097628171361913691">Zip ファイル インストーラ</translation> <translation id="3100609564180505575">モジュール(<ph name="TOTAL_COUNT" />) - 既知の競合: <ph name="BAD_COUNT" />、調査中の競合: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">日時</translation> <translation id="3108967419958202225">選択...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">署名</translation> <translation id="33022249435934718">GDI ハンドル</translation> <translation id="3302340765592941254">ダウンロードの完了通知</translation> -<translation id="3302709122321372472">コンテンツ スクリプトの CSS「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。</translation> <translation id="3303260552072730022">拡張機能によって自動的に全画面表示になりました。</translation> <translation id="3303818374450886607">部数</translation> <translation id="3303855915957856445">一致する結果は見つかりませんでした</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">タイムゾーンを選択</translation> <translation id="3856921555429624101">データ使用量の測定が終了しました</translation> <translation id="3857228364945137633">Smart Lock を使用すると、スマートフォンが近くにあるときに、パスワードを入力しなくても <ph name="DEVICE_TYPE" /> のロックを解除できます。</translation> -<translation id="3857732810083914482">カスタマイズがオフになっています。この設定は myaccount.google.com で変更できます。</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">ハングアウト Meet へようこそ</translation> <translation id="3862134173397075045">Chrome のキャスト エクスペリエンスへようこそ</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">インポートしたブックマーク</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" /> のロックを解除するには、スマートフォンのロックを解除してデバイスに近づけます。</translation> <translation id="3994878504415702912">ズーム(&Z)</translation> -<translation id="39964277676607559">コンテンツ スクリプトの Javascript「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。</translation> <translation id="4002066346123236978">タイトル</translation> <translation id="40027638859996362">1 語移動する</translation> <translation id="4005817994523282006">タイムゾーンの検出方法</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">コピーできませんでした。<ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">ネットワークのログについては、<ph name="DEVICE_LOG_LINK" /> をご覧ください</translation> <translation id="4337028641069424358">Android アプリをダウンロードして使用するには、まずアップデートをインストールする必要があります。端末の更新中はアプリをご利用になれません。インストールが完了すると、<ph name="DEVICE_TYPE" /> は再起動されます。</translation> -<translation id="4338683191474220626">ウィンドウを左に移動</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> がアプリ「<ph name="EXTENSION_NAME" />」との通信をリクエストしています</translation> <translation id="4342311272543222243">TPM エラー。</translation> <translation id="4345587454538109430">設定...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">Cookie が選択されていません</translation> <translation id="4617270414136722281">拡張機能のオプション</translation> <translation id="4619615317237390068">他のデバイスからのタブ</translation> -<translation id="4620809267248568679">この設定は拡張機能によって行われました。</translation> <translation id="4624768044135598934">完了しました</translation> <translation id="4625078469366263107">アプリを有効にする</translation> <translation id="4627427111733173920">Cookie がブロックされました</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">選択したフォルダには、機密ファイルが含まれています。このフォルダに対する永続的な読み取りアクセス権を「$1」に付与してもよろしいですか?</translation> <translation id="4964455510556214366">配置</translation> <translation id="4964673849688379040">確認しています...</translation> -<translation id="4965682129423310439">お使いのパソコン上に有害なソフトウェアが見つかりました。Chrome ではこのソフトウェアを削除し、設定を復元して、ブラウザを正常な動作に戻すことができます。</translation> <translation id="4965808351167763748">このデバイスでハングアウト Meet を実行するように設定してもよろしいですか?</translation> <translation id="4967749818080339523">アカウントを選択してください</translation> <translation id="496888482094675990">ファイル アプリを使えば、Google ドライブ、外部ストレージ、Chrome OS デバイスに保存したファイルにすぐにアクセスできます。</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">デスクトップをキャストできません。</translation> <translation id="6171948306033499786">印刷を一時停止</translation> <translation id="6175314957787328458">Microsoft ドメイン GUID</translation> -<translation id="6176032031541598434">アクティブなウィンドウが下のディスプレイに移動しました</translation> <translation id="6178664161104547336">証明書の選択</translation> <translation id="6181431612547969857">ダウンロードがブロックされました</translation> -<translation id="6181803575025675566">この動作は [<ph name="LINK_START" />設定<ph name="LINK_END" />] で管理できます。</translation> <translation id="6185132558746749656">デバイスの位置情報</translation> <translation id="6185696379715117369">ページ内を上に移動</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> で開く</translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">パスワードが一致しません。</translation> <translation id="6736243959894955139">住所</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">古いプロフィールにアクセスすることはできませんが、削除することはできます。</translation> <translation id="6739923123728562974">デスクトップ ショートカットを表示</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> を一時停止しました</translation> <translation id="6742339027238151589">スクリプトにアクセス可能</translation> -<translation id="6743841972744298686">同期設定</translation> <translation id="6745592621698551453">今すぐ更新</translation> <translation id="6746124502594467657">下に移動</translation> <translation id="674632704103926902">タップによるドラッグを有効にする</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">指定したページを印刷</translation> <translation id="6972180789171089114">音声または動画</translation> <translation id="6973630695168034713">フォルダ</translation> -<translation id="6974053822202609517">右から左</translation> <translation id="6976108581241006975">JavaScript コンソール</translation> <translation id="6977381486153291903">ファームウェア リビジョン</translation> <translation id="6978121630131642226">検索エンジン</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">非表示</translation> <translation id="7108634116785509031"><ph name="HOST" /> から、カメラの使用許可を求められています</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">カスタマイズがオンになっています。この設定は myaccount.google.com で変更できます。</translation> <translation id="7113502843173351041">メールアドレスの読み取り</translation> <translation id="7114054701490058191">パスワードが一致しません</translation> <translation id="7117228822971127758">しばらくしてからもう一度お試しください</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">このページを再読み込みします</translation> <translation id="7222232353993864120">メール アドレス</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">画面拡大鏡を有効にする</translation> <translation id="7223775956298141902">拡張機能はありません。</translation> <translation id="7225179976675429563">ネットワークの種類が指定されていません</translation> <translation id="7228479291753472782">ウェブサイトが位置情報やマイク、カメラなどの機能を使用できるかどうかの設定の操作</translation> @@ -4216,7 +4194,6 @@ <translation id="7639178625568735185">完了</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> では、保存したパスワードを使って対象となるサイトへの自動ログインが行われます。</translation> <translation id="7645176681409127223"><ph name="USER_NAME" />(所有者)</translation> -<translation id="7647231681210854996">アクティブなウィンドウが右のディスプレイに移動しました</translation> <translation id="7648992873808071793">このデバイスのファイルの保存</translation> <translation id="7649070708921625228">ヘルプ</translation> <translation id="7650511557061837441">「<ph name="TRIGGERING_EXTENSION_NAME" />」が「<ph name="EXTENSION_NAME" />」の削除をリクエストしています。</translation> @@ -4676,7 +4653,6 @@ <translation id="8371695176452482769">お話しください</translation> <translation id="8372369524088641025">WEP キーが正しくありません</translation> <translation id="8373553483208508744">タブをミュート</translation> -<translation id="8377870760189106701">ウィンドウを右に移動</translation> <translation id="8378285435971754261">Google の位置情報サービスを有効にすると、アプリで現在地をすばやく正確に特定できるようになるため、バッテリーの消費を抑えることができます。アプリが起動していない場合でも、匿名の位置情報が Google に送信されます。<ph name="BEGIN_LINK1" />詳細<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">カメラの設定を管理...</translation> <translation id="8382913212082956454">メール アドレスをコピー(&E)</translation> @@ -4796,7 +4772,6 @@ <translation id="8581809080475256101">ボタンを押して次に進みます。履歴を表示するにはコンテキスト メニューを選択します</translation> <translation id="8584280235376696778">動画を新しいタブで開く(&O)</translation> <translation id="8588866096426746242">プロフィール統計情報を表示</translation> -<translation id="8589652987924574405">ブックマーク、履歴、パスワード、その他の設定が Google アカウントに同期され、どの端末でも利用できるようになります。この動作は [設定] で変更できます。</translation> <translation id="8590375307970699841">自動更新を設定</translation> <translation id="8594908476761052472">動画を撮影</translation> <translation id="8596540852772265699">カスタム ファイル</translation> @@ -4812,7 +4787,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">ローミング状態</translation> <translation id="8620765578342452535">ネットワーク接続の設定</translation> -<translation id="8620790565535071193">スキャンできませんでした</translation> <translation id="8624205858755890468">アシスタントによる関連情報、アプリ、操作の案内を有効にします。</translation> <translation id="862542460444371744">拡張機能(&E)</translation> <translation id="8627151598708688654">ソースを選択</translation> @@ -4890,7 +4864,6 @@ <translation id="871476437400413057">Google で保存したパスワード</translation> <translation id="8714838604780058252">背景のグラフィック</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> をダウンロードできませんでした</translation> -<translation id="8721669057562068233">アクティブなウィンドウが上のディスプレイに移動しました</translation> <translation id="8723829621484579639">次のシークレット サブフレーム: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">フォルダを開く(&S)</translation> <translation id="8725066075913043281">やり直し</translation> @@ -4934,7 +4907,6 @@ <translation id="8785622406424941542">タッチペン</translation> <translation id="8787254343425541995">共有ネットワークのプロキシを許可する</translation> <translation id="8791534160414513928">閲覧トラフィックと一緒に「トラッキング拒否」リクエストを送信する</translation> -<translation id="8792609692701651064">アクティブなウィンドウが左のディスプレイに移動しました</translation> <translation id="8794025342371547160">制限付き IP</translation> <translation id="879413103056696865">アクセス ポイントが有効な場合、<ph name="PHONE_NAME" /> は次のように動作します。</translation> <translation id="8795916974678578410">新規ウインドウ</translation> @@ -5071,7 +5043,6 @@ <translation id="9024127637873500333">新しいタブで開く(&O)</translation> <translation id="9024331582947483881">全画面表示</translation> <translation id="9025098623496448965">ログイン画面に戻る</translation> -<translation id="902659348151742535">検索、広告、その他の Google サービスをカスタマイズする目的で、Google が閲覧履歴を使用することがあります。</translation> <translation id="9026731007018893674">ダウンロード</translation> <translation id="9027146684281895941">このユーザーを監視し、ユーザーがアクセスするウェブサイトを自分の Google アカウントから管理、表示できるようにする。</translation> <translation id="9027459031423301635">新しいタブで開く(&T)</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb index 7ac6f9e..d39b1ac 100644 --- a/chrome/app/resources/generated_resources_kn.xtb +++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">ಯಾವುದೇ ನೆಟ್ವರ್ಕ್ಗಳಿಲ್ಲ</translation> <translation id="1056898198331236512">ಎಚ್ಚರಿಕೆ</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ</translation> <translation id="1062407476771304334">ಸ್ಥಾನಾಂತರಿಸು</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರ ಡ್ಯಾಶ್ಬೋರ್ಡ್<ph name="END_LINK" /> ಮೂಲಕ ನಿಮ್ಮ ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಿ.</translation> <translation id="1064835277883315402">ಖಾಸಗಿ ನೆಟ್ವರ್ಕ್ಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳಿ</translation> @@ -235,7 +234,6 @@ <translation id="1367951781824006909">ಫೈಲ್ವೊಂದನ್ನು ಆರಿಸಿ</translation> <translation id="136802136832547685">ಈ ಸಾಧನಕ್ಕೆ ಸೇರಿಸಲು ಯಾವುದೇ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರು ಇಲ್ಲ.</translation> <translation id="1368265273904755308">ಸಮಸ್ಯೆ ವರದಿ ಮಾಡಿ</translation> -<translation id="1368832886055348810">ಎಡದಿಂದ ಬಲಕ್ಕೆ</translation> <translation id="1370646789215800222">ವ್ಯಕ್ತಿಯನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 ಐಟಂ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು}one{# ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು}other{# ಐಟಂಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು}}</translation> <translation id="1372841398847029212">ನಿಮ್ಮ ಖಾತೆಗೆ ಸಿಂಕ್ ಮಾಡಿ</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">ಈ ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ</translation> <translation id="1609170755653088773">ಈ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಿಮ್ಮ iPhone ಗೆ ಸಿಂಕ್ ಮಾಡಿ</translation> <translation id="1609862759711084604">ಹಿಂದಿನ ಬಳಕೆದಾರ</translation> -<translation id="1611557582955786626">ಸಿಂಕ್ ಮಾಡಿದ ಸಾಧನಗಳಾದ್ಯಂತ ವೈಯಕ್ತೀಕರಿಸಿದ ಬ್ರೌಸಿಂಗ್ ಅನುಭವಕ್ಕಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation> <translation id="1611584202130317952">ಸರಬರಾಜು ಹರಿವಿನಲ್ಲಿ ಅಡಚಣೆ ಉಂಟಾಗಿದೆ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ನಿಮ್ಮ ಸಾಧನದ ಮಾಲೀಕರು ಅಥವಾ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಕಿಸಿ.</translation> <translation id="1611649489706141841">ಮುಂದೆ</translation> <translation id="1611704746353331382">HTML ಫೈಲ್ಗೆ ಬುಕ್ಮಾರ್ಕ್ಗಳನ್ನು ರಪ್ತು ಮಾಡಿ...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">ಸ್ಥಳ ಸೇರಿಸಿ...</translation> <translation id="1856813161013948396">ಕೇವಲ ಬೆರಳಚ್ಚು ಸೆನ್ಸರ್ ಟ್ಯಾಪ್ ಮಾಡುವ ಮೂಲಕ ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಸ್ಕಿಪ್ ಮಾಡಿ. ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ.</translation> <translation id="1858585891038687145">ಸಾಫ್ಟ್ವೇರ್ ತಯಾರಕರನ್ನು ಗುರುತಿಸುವುದಕ್ಕಾಗಿ ಈ ಪ್ರಮಾಣಪತ್ರದ ಮೇಲೆ ವಿಶ್ವಾಸವಿಡಿ</translation> -<translation id="1859234291848436338">ಬರವಣಿಗೆ ನಿರ್ದೇಶನ</translation> <translation id="1861262398884155592">ಈ ಫೋಲ್ಡರ್ ಖಾಲಿಯಾಗಿದೆ</translation> <translation id="1864111464094315414">ಲಾಗಿನ್</translation> <translation id="1864400682872660285">ಕೂಲರ್</translation> @@ -1128,7 +1124,6 @@ <translation id="2737363922397526254">ಕುಗ್ಗಿಸು...</translation> <translation id="2737492745329609575">ಸೆಟಪ್ ಪ್ರಾರಂಭಿಸಿ</translation> <translation id="2738771556149464852">ನಂತರ ಅಲ್ಲ</translation> -<translation id="2739046699559178272">ಉಳಿಸಿ ಮತ್ತು ಮುಂದುವರಿಸಿ</translation> <translation id="2739191690716947896">ಡೀಬಗ್</translation> <translation id="2739240477418971307">ನಿಮ್ಮ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ</translation> <translation id="2740393541869613458">ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರು ಭೇಟಿ ನೀಡಿರುವ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ಮತ್ತು</translation> @@ -1154,7 +1149,6 @@ <translation id="2783298271312924866">ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗಿದೆ</translation> <translation id="2783661497142353826">ಕಿಯೋಸ್ಕ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation> <translation id="2784407158394623927">ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ಸೇವೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ</translation> -<translation id="2785530881066938471">'<ph name="RELATIVE_PATH" />' ಫೈಲ್ ಅನ್ನು ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲು ಆಗುವುದಿಲ್ಲ. ಇದು UTF-8 ಎನ್ಕೋಡ್ ಆಗಿಲ್ಲ.</translation> <translation id="2785873697295365461">ಫೈಲ್ ವಿವರಣೆಗಳು</translation> <translation id="2787047795752739979">ಮೂಲವನ್ನು ಮೇಲ್ಬರಹಗೊಳಿಸು</translation> <translation id="2788135150614412178">+</translation> @@ -1240,7 +1234,6 @@ <translation id="2889925978073739256">ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ರದ್ದುಗೊಳಿಸಲಾಗಿರುವ ಪ್ಲಗ್-ಇನ್ಗಳ ನಿರ್ಬಂಧಿಸುವಿಕೆಯನ್ನು ಮುಂದುವರಿಸಿ</translation> <translation id="2890678560483811744">ಪರಿಮಿತಿಗಳಿಂದ ಹೊರಗಿರುವ ಪುಟದ ಉಲ್ಲೇಖ</translation> <translation id="2893168226686371498">ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್</translation> -<translation id="2893453364759632532">Window ಕೆಳಕ್ಕೆ</translation> <translation id="289644616180464099">ಸಿಮ್ ಕಾರ್ಡ್ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ</translation> <translation id="289695669188700754">ಕೀಲಿ ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870"><ph name="TAB_COUNT" /> ಟ್ಯಾಬ್ಗಳನ್ನು ತೆರೆಯಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?</translation> @@ -1353,7 +1346,6 @@ <translation id="304567287000691532">ಪರದೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ</translation> <translation id="3046910703532196514">ವೆಬ್ಪುಟ, ಪೂರ್ಣಗೊಳಿಸಿ</translation> <translation id="304826556400666995">ಟ್ಯಾಬ್ಗಳನ್ನು ಅನ್ಮ್ಯೂಟ್ ಮಾಡಿ</translation> -<translation id="3051523411789012618">Window ಮೇಲಕ್ಕೆ</translation> <translation id="3053013834507634016">ಪ್ರಮಾಣಪತ್ರ ಕೀಲಿ ಬಳಕೆ</translation> <translation id="3057861065630527966">ನಿಮ್ಮ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಿ</translation> <translation id="3060379269883947824">ಧ್ವನಿ ಆಯ್ಕೆ ಮಾಡಿ ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> @@ -1383,7 +1375,6 @@ <translation id="3090193911106258841">ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊ ಇನ್ಪುಟ್ ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ</translation> <translation id="3090819949319990166">ಬಾಹ್ಯ crx ಫೈಲ್ ಅನ್ನು <ph name="TEMP_CRX_FILE" /> ಗೆ ನಕಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ಜೋಡಿಸಲಾಗಿದೆ</translation> -<translation id="3097628171361913691">Zip ಫೈಲ್ ಸ್ಥಾಪಕ</translation> <translation id="3100609564180505575">ಮಾಡ್ಯೂಲ್ಗಳು (<ph name="TOTAL_COUNT" />) - ತಿಳಿದ ಘರ್ಷಣೆಗಳು: <ph name="BAD_COUNT" />, ನಿರೀಕ್ಷಿಸಿದ್ದು: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">ದಿನಾಂಕ ಮತ್ತು ಸಮಯ</translation> <translation id="3108967419958202225">ಆರಿಸಿ...</translation> @@ -1505,7 +1496,6 @@ <translation id="3300394989536077382">ಅವರಿಂದ ರುಜುಮಾಡಲಾಗಿದೆ</translation> <translation id="33022249435934718">GDI ನಿರ್ವಹಣೆಗಳು</translation> <translation id="3302340765592941254">ಸಂಪೂರ್ಣ ಅಧಿಸೂಚನೆಯನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ</translation> -<translation id="3302709122321372472">css '<ph name="RELATIVE_PATH" />' ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="3303260552072730022">ವಿಸ್ತರಣೆಯು ಪೂರ್ಣ ಪರದೆಯನ್ನು ಟ್ರಿಗ್ಗರ್ ಮಾಡಿದೆ.</translation> <translation id="3303818374450886607">ಪ್ರತಿಗಳು</translation> <translation id="3303855915957856445">ಯಾವುದೇ ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬಂದಿಲ್ಲ</translation> @@ -1885,7 +1875,6 @@ <translation id="3856800405688283469">ಸಮಯ ವಲಯವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> <translation id="3856921555429624101">ಡೇಟಾ ಬಳಕೆಯ ಮಾಪನ ಮುಕ್ತಾಯಗೊಂಡಿದೆ</translation> <translation id="3857228364945137633">ನಿಮ್ಮ ಫೋನ್ ಸಮೀಪದಲ್ಲಿರುವಾಗ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಸಾಧನವನ್ನು ಪಾಸ್ವರ್ಡ್ ಇಲ್ಲದೆಯೇ ಅನ್ಲಾಕ್ ಮಾಡಲು Smart Lock ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ.</translation> -<translation id="3857732810083914482">ವೈಯಕ್ತೀಕರಣ ಆಫ್ ಆಗಿದೆ. ನೀವು ಇದನ್ನು myaccount.google.com ನಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts ಸಭೆಗೆ ಸುಸ್ವಾಗತ</translation> <translation id="3862134173397075045">Chrome ನಲ್ಲಿನ ಬಿತ್ತರಿಸು ಅನುಭವಕ್ಕೆ ಸುಸ್ವಾಗತ!</translation> @@ -1976,7 +1965,6 @@ <translation id="399179161741278232">ಆಮದುಮಾಡಲಾಗಿದೆ</translation> <translation id="3994374631886003300">ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಸಾಧನದ ಹತ್ತಿರ ಇರಿಸಿ.</translation> <translation id="3994878504415702912">&ಝೂಮ್</translation> -<translation id="39964277676607559">javascript '<ph name="RELATIVE_PATH" />' ಅನ್ನು ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="4002066346123236978">ಶೀರ್ಷಿಕೆ</translation> <translation id="40027638859996362">ಪದ ಚಲನೆ</translation> <translation id="4005817994523282006">ಸಮಯವಲಯ ಪತ್ತೆಹಚ್ಚುವಿಕೆ ವಿಧಾನ</translation> @@ -2155,7 +2143,6 @@ <translation id="4336032328163998280">ನಕಲು ಕಾರ್ಯಾಚರಣೆ ವಿಫಲವಾಗಿದೆ. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">ನೆಟ್ವರ್ಕ್ ಲಾಗ್ಗಳಿಗೆ, ಇದನ್ನು ವೀಕ್ಷಿಸಿ: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಮತ್ತು Android ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸಲು, ಮೊದಲು ನೀವು ಅಪ್ಡೇಟ್ ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿದೆ. ನಿಮ್ಮ ಸಾಧನವು ಅಪ್ಡೇಟ್ ಆಗುತ್ತಿರುವಾಗ, ನೀವು ಅದನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸ್ಥಾಪನಾ ಪ್ರಕ್ರಿಯೆ ಪೂರ್ಣಗೊಂಡ ನಂತರ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಮರುಪ್ರಾರಂಭವಾಗುತ್ತದೆ.</translation> -<translation id="4338683191474220626">Window ಎಡಕ್ಕೆ</translation> <translation id="4340515029017875942">"<ph name="EXTENSION_NAME" />" ಅಪ್ಲಿಕೇಶನ್ ನೊಂದಿಗೆ <ph name="ORIGIN" /> ಸಂಪರ್ಕಿಸಲು ಬಯಸುತ್ತದೆ</translation> <translation id="4342311272543222243">ಓಹ್, TPM ದೋಷ.</translation> <translation id="4345587454538109430">ಕಾನ್ಫಿಗರ್ ಮಾಡಿ...</translation> @@ -2307,7 +2294,6 @@ <translation id="4615586811063744755">ಯಾವುದೇ ಕುಕೀ ಆಯ್ಕೆ ಮಾಡಲಾಗಿಲ್ಲ</translation> <translation id="4617270414136722281">ವಿಸ್ತರಣೆ ಆಯ್ಕೆಗಳು</translation> <translation id="4619615317237390068">ಇತರ ಸಾಧನಗಳಿಂದ ಟ್ಯಾಬ್ಗಳು</translation> -<translation id="4620809267248568679">ಈ ಸೆಟ್ಟಿಂಗ್ ವಿಸ್ತರಣೆಯಿಂದ ಜಾರಿಗೊಳಿಸಲಾಗಿದೆ.</translation> <translation id="4624768044135598934">ಯಶಸ್ವಿಯಾಗಿದೆ!</translation> <translation id="4625078469366263107">ಅಪ್ಲಿಕೇಶನ್ ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="4627427111733173920">ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation> @@ -2529,7 +2515,6 @@ <translation id="496226124210045887">ನೀವು ಆಯ್ಕೆ ಮಾಡಿರುವ ಫೋಲ್ಡರ್ ಸೂಕ್ಷ್ಮ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ನೀವು ಈ ಫೋಲ್ಡರ್ಗೆ "$1" ನ ಶಾಶ್ವತ ಓದುವ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುತ್ತೀರಾ?</translation> <translation id="4964455510556214366">ಹೊಂದಾಣಿಕೆ</translation> <translation id="4964673849688379040">ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ...</translation> -<translation id="4965682129423310439">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್ವೇರ್ಗಳನ್ನು Chrome ಕಂಡುಹಿಡಿದಿದೆ. ನಿಮ್ಮ ಬ್ರೌಸರ್ ಪುನಃ ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು Chrome ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕಬಹುದು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬಹುದು.</translation> <translation id="4965808351167763748">Hangouts ಸಭೆಯನ್ನು ಚಾಲನೆ ಮಾಡಲು ಈ ಸಾಧನವನ್ನು ಸೆಟಪ್ ಮಾಡಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?</translation> <translation id="4967749818080339523">ಖಾತೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> <translation id="496888482094675990">Google ಡ್ರೈವ್, ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆ, ಅಥವಾ ನಿಮ್ಮ Chrome OS ಸಾಧನದಲ್ಲಿ ನೀವು ಉಳಿಸಲಾದ ಫೈಲ್ಗಳಿಗೆ ಫೈಲ್ಗಳ ಅಪ್ಲಿಕೇಶನ್ ತ್ವರಿತ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ.</translation> @@ -3304,10 +3289,8 @@ <translation id="6169666352732958425">ಡೆಸ್ಕ್ಟಾಪ್ ಬಿತ್ತರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="6171948306033499786">ಮುದ್ರಿಸುವಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸಿ</translation> <translation id="6175314957787328458">Microsoft ಡೊಮೇನ್ GUID</translation> -<translation id="6176032031541598434">ಸಕ್ರಿಯ ವಿಂಡೋ ಅನ್ನು ಡಿಸ್ಪ್ಲೇ ಕೆಳಗೆ ಸರಿಸಲಾಗಿದೆ</translation> <translation id="6178664161104547336">ಒಂದು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ</translation> <translation id="6181431612547969857">ಡೌನ್ಲೋಡ್ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation> -<translation id="6181803575025675566">ಇದು <ph name="LINK_START" />ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ<ph name="LINK_END" /> ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ.</translation> <translation id="6185132558746749656">ಸಾಧನದ ಸ್ಥಳ</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ಮೂಲಕ ತೆರೆಯಿರಿ</translation> @@ -3654,11 +3637,9 @@ <translation id="6736045498964449756">ಓಹ್, ಪಾಸ್ವರ್ಡ್ಗಳು ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ!</translation> <translation id="6736243959894955139">ವಿಳಾಸ</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">ನಿಮ್ಮ ಹಳೆಯ ಪ್ರೊಫೈಲ್ಗೆ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೂ, ಅದನ್ನು ನೀವು ತೆಗೆದುಹಾಕಬಹುದು.</translation> <translation id="6739923123728562974">ಡೆಸ್ಕ್ಟಾಪ್ ಶಾರ್ಟ್ಕಟ್ ತೋರಿಸಿ</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ</translation> <translation id="6742339027238151589">ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಪ್ರವೇಶಿಸುವಂತಹದ್ದು</translation> -<translation id="6743841972744298686">ಸಿಂಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳು</translation> <translation id="6745592621698551453">ಈಗ ಅಪ್ಡೇಟ್ ಮಾಡು</translation> <translation id="6746124502594467657">ಕೆಳಗೆ ಸರಿಸು</translation> <translation id="674632704103926902">ಟ್ಯಾಪ್ ಎಳೆಯುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸು</translation> @@ -3787,7 +3768,6 @@ <translation id="6970856801391541997">ನಿರ್ದಿಷ್ಟ ಪುಟಗಳನ್ನು ಮುದ್ರಿಸಿ</translation> <translation id="6972180789171089114">ಆಡಿಯೋ/ವೀಡಿಯೊ</translation> <translation id="6973630695168034713">ಫೋಲ್ಡರ್ಗಳು</translation> -<translation id="6974053822202609517">ಬಲದಿಂದ ಎಡಕ್ಕೆ</translation> <translation id="6976108581241006975">JavaScript ಕನ್ಸೋಲ್</translation> <translation id="6977381486153291903">ಫರ್ಮ್ವೇರ್ ಮರುಪರಿಶೀಲನೆ</translation> <translation id="6978121630131642226">ಹುಡುಕಾಟ ಇಂಜಿನ್ಗಳು</translation> @@ -3887,7 +3867,6 @@ <translation id="7108338896283013870">ಮರೆಮಾಡಿ</translation> <translation id="7108634116785509031"><ph name="HOST" /> ನಿಮ್ಮ ಕ್ಯಾಮರಾವನ್ನು ಬಳಸಲು ಬಯಸುತ್ತದೆ</translation> <translation id="7108668606237948702">ನಮೂದಿಸಿ</translation> -<translation id="7112978678959880812">ವೈಯಕ್ತೀಕರಣ ಆನ್ ಆಗಿದೆ. ನೀವು ಇದನ್ನು myaccount.google.com ನಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು.</translation> <translation id="7113502843173351041">ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ತಿಳಿದುಕೊಳ್ಳಿ</translation> <translation id="7114054701490058191">ಪಾಸ್ವರ್ಡ್ಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ</translation> <translation id="7117228822971127758">ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ</translation> @@ -3952,7 +3931,6 @@ <translation id="7221869452894271364">ಈ ಪುಟವನ್ನು ರೀಲೋಡ್ ಮಾಡಿ</translation> <translation id="7222232353993864120">ಇಮೇಲ್ ವಿಳಾಸ</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">ಪರದೆ ವರ್ಧಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="7223775956298141902">ಬೂ...ನೀವು ಯಾವುದೇ ವಿಸ್ತರಣೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ :-(</translation> <translation id="7225179976675429563">ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ ಕಾಣೆಯಾಗಿದೆ</translation> <translation id="7228479291753472782">ಜಿಯೋಲೋಕೇಶನ್, ಮೈಕ್ರೊಫೋನ್, ಕ್ಯಾಮರಾ, ಇತ್ಯಾದಿಯಂತೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಹವಾಮಾನ ವೆಬ್ಸೈಟ್ಗಳ ಸೆಟ್ಟಿಂಗ್ಗಳ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಬಹುದು.</translation> @@ -4206,7 +4184,6 @@ <translation id="7639178625568735185">ಅರ್ಥವಾಯಿತು!</translation> <translation id="764017888128728">ನೀವು ಉಳಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ಗಳ ಮೂಲಕ ಅರ್ಹರಾಗಿರುವ ಸೈಟ್ಗಳಿಗೆ <ph name="PASSWORD_MANAGER_BRAND" /> ನಿಮ್ಮನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೈನ್ ಇನ್ ಮಾಡುತ್ತದೆ.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (ಮಾಲೀಕರು)</translation> -<translation id="7647231681210854996">ಸಕ್ರಿಯ ವಿಂಡೋ ಅನ್ನು ಡಿಸ್ಪ್ಲೇ ಬಲಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ</translation> <translation id="7648992873808071793">ಈ ಸಾಧನದಲ್ಲಿ ಫೈಲ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ</translation> <translation id="7649070708921625228">ಸಹಾಯ</translation> <translation id="7650511557061837441">"<ph name="EXTENSION_NAME" />" ಅನ್ನು ತೆಗೆದುಹಾಕಲು "<ph name="TRIGGERING_EXTENSION_NAME" />" ಬಯಸುತ್ತದೆ.</translation> @@ -4222,7 +4199,7 @@ <translation id="7664620655576155379">ಬೆಂಬಲಿಸದಿರುವ ಬ್ಲೂಟೂತ್ ಸಾಧನ: "<ph name="DEVICE_NAME" />".</translation> <translation id="7665369617277396874">ಖಾತೆಯನ್ನು ಸೇರಿಸು</translation> <translation id="7671130400130574146">ಸಿಸ್ಟಂ ಶೀರ್ಷಿಕೆ ಪಟ್ಟಿ ಮತ್ತು ಅಂಚುಗಳನ್ನು ಬಳಸಿ</translation> -<translation id="7672520070349703697"><ph name="HUNG_IFRAME_URL" /> ನಲ್ಲಿ <ph name="PAGE_TITLE" />.</translation> +<translation id="7672520070349703697"><ph name="PAGE_TITLE" /> ನಲ್ಲಿ <ph name="HUNG_IFRAME_URL" /></translation> <translation id="7683373461016844951">ಮುಂದುವರಿಸಲು, ಸರಿ ಎಂಬುದನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. ಆಮೇಲೆ, ನಿಮ್ಮ <ph name="DOMAIN" /> ಇಮೇಲ್ ವಿಳಾಸಕ್ಕಾಗಿ ಹೊಸ ಪ್ರೊಫೈಲ್ ಅನ್ನು ರಚಿಸಲು, ವ್ಯಕ್ತಿಯನ್ನು ಸೇರಿಸಿ ಎಂಬುದನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ.</translation> <translation id="7684212569183643648">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಸ್ಥಾಪಿಸಿದ್ದಾರೆ</translation> <translation id="7684559058815332124">ಕ್ಯಾಪ್ಟಿವ್ ಪೋರ್ಟಲ್ ಲಾಗಿನ್ ಪುಟಕ್ಕೆ ಭೇಟಿ ನೀಡಿ</translation> @@ -4659,7 +4636,6 @@ <translation id="8371695176452482769">ಈಗ ಮಾತನಾಡಿ</translation> <translation id="8372369524088641025">ಕೆಟ್ಟ WEP ಕೀ</translation> <translation id="8373553483208508744">ಟ್ಯಾಬ್ಗಳನ್ನು ಮ್ಯೂಟ್ ಮಾಡಿ</translation> -<translation id="8377870760189106701">ವಿಂಡೋ ಬಲಕ್ಕೆ</translation> <translation id="8378285435971754261">ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ತ್ವರಿತವಾಗಿ ಮತ್ತು ನಿಖರವಾಗಿ ಹುಡುಕುವುದಕ್ಕಾಗಿ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸಹಾಯ ಮಾಡಲು Google ನ ಸ್ಥಳ ಸೇವೆಗೆ ಅನುಮತಿಸಿ, ಇದು ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ಗಳು ರನ್ ಆಗದೇ ಇರುವಾಗಲೂ ಅನಾಮಧೇಯ ಸ್ಥಳ ಡೇಟಾವನ್ನು @@ -4784,7 +4760,6 @@ <translation id="8581809080475256101">ಇತಿಹಾಸವನ್ನು ವೀಕ್ಷಿಸಲು ಮುಂದೆ, ಸಂದರ್ಭದ ಮೆನು ಗೆ ಹೋಗಲು ಒತ್ತಿ</translation> <translation id="8584280235376696778">&ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ವೀಡಿಯೊ ತೆರೆಯಿರಿ</translation> <translation id="8588866096426746242">ಪ್ರೊಫೈಲ್ ಸ್ಥಿತಿಯನ್ನು ತೋರಿಸಿ</translation> -<translation id="8589652987924574405">ನಿಮ್ಮ ಬುಕ್ಮಾರ್ಕ್ಗಳು, ಇತಿಹಾಸ, ಪಾಸ್ವರ್ಡ್ಗಳು ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿಮ್ಮ Google ಖಾತೆಗೆ ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ ಈ ಮೂಲಕ ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ನೀವು ಅವುಗಳನ್ನು ಬಳಸಬಹುದು. ನಿಮ್ಮ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಇದನ್ನು ನೀವು ಯಾವಾಗಲಾದರೂ ಬದಲಾಯಿಸಬಹುದು.</translation> <translation id="8590375307970699841">ಸ್ವಯಂಚಾಲಿತ ನವೀಕರಣಗಳನ್ನು ಹೊಂದಿಸಿ</translation> <translation id="8594908476761052472">ವೀಡಿಯೊ ಸೆರೆಹಿಡಿಯಿರಿ</translation> <translation id="8596540852772265699">ಕಸ್ಟಮ್ ಫೈಲ್ಗಳು</translation> @@ -4800,7 +4775,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">ರೋಮಿಂಗ್ ಸ್ಥಿತಿ</translation> <translation id="8620765578342452535">ನೆಟ್ವರ್ಕ್ ಸಂಪರ್ಕಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ</translation> -<translation id="8620790565535071193">ಸ್ಕ್ಯಾನಿಂಗ್ ವಿಫಲವಾಗಿದೆ</translation> <translation id="8624205858755890468">ಸಂಬಂಧಿತ ಮಾಹಿತಿ, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಕ್ರಿಯೆಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸಲು ಸಹಾಯಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.</translation> <translation id="862542460444371744">&ವಿಸ್ತರಣೆಗಳು</translation> <translation id="8627151598708688654">ಮೂಲವನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation> @@ -4878,7 +4852,6 @@ <translation id="871476437400413057">Google ಉಳಿಸಲಾದ ಪಾಸ್ವರ್ಡ್ಗಳು</translation> <translation id="8714838604780058252">ಹಿನ್ನೆಲೆ ಗ್ರಾಫಿಕ್ಸ್</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> ಡೌನ್ಲೋಡ್ ವಿಫಲಗೊಂಡಿದೆ</translation> -<translation id="8721669057562068233">ಸಕ್ರಿಯ ವಿಂಡೋ ಅನ್ನು ಡಿಸ್ಪ್ಲೇ ಮೇಲಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ</translation> <translation id="8723829621484579639">ಇದಕ್ಕೆ ಅದೃಶ್ಯ ಉಪಫ್ರೇಮ್ಗಳು: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">ಫೋಲ್ಡರ್ನಲ್ಲಿ &ತೋರಿಸಿ</translation> <translation id="8725066075913043281">ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation> @@ -4922,7 +4895,6 @@ <translation id="8785622406424941542">ಸ್ಟೈಲಸ್</translation> <translation id="8787254343425541995">ಹಂಚಿತ ನೆಟ್ವರ್ಕ್ಗಳಿಗಾಗಿ ಪ್ರಾಕ್ಸಿಗಳನ್ನು ಅನುಮತಿಸಿ</translation> <translation id="8791534160414513928">ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಟ್ರಾಫಿಕ್ನೊಂದಿಗೆ "ಟ್ರ್ಯಾಕ್ ಮಾಡಬೇಡ" ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸು</translation> -<translation id="8792609692701651064">ಸಕ್ರಿಯ ವಿಂಡೋ ಅನ್ನು ಡಿಸ್ಪ್ಲೇ ಎಡಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ</translation> <translation id="8794025342371547160">ನಿರ್ಬಂಧಿಸಲಾಗಿರುವ ಐಪಿ</translation> <translation id="879413103056696865">ಹಾಟ್ಸ್ಪಾಟ್ ಆನ್ ಆಗಿರುವಾಗ, ನಿಮ್ಮ <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">ಹೊಸ ವಿಂಡೊ</translation> @@ -5059,7 +5031,6 @@ <translation id="9024127637873500333">&ಹೊಸ ಟ್ಯಾಬ್ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation> <translation id="9024331582947483881">ಪೂರ್ಣ ಪರದೆ</translation> <translation id="9025098623496448965">ಸರಿ, ಸೈನ್-ಇನ್ ಪರದೆಗೆ ನನ್ನನ್ನು ಮರಳಿ ಕರೆದೊಯ್ಯಿರಿ</translation> -<translation id="902659348151742535">ಹುಡುಕಾಟ, ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಇತರ Google ಸೇವೆಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸಲು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು Google ಬಳಸಬಹುದು.</translation> <translation id="9026731007018893674">ಡೌನ್ಲೋಡ್ ಮಾಡಿ</translation> <translation id="9027146684281895941">ನಿಮ್ಮ Google ಖಾತೆಯಿಂದ ಅವರು ಭೇಟಿ ನೀಡುವ ವೆಬ್ಸೈಟ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ವೀಕ್ಷಿಸಲು ಈ ವ್ಯಕ್ತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ.</translation> <translation id="9027459031423301635">ಹೊಸ &ಟ್ಯಾಬ್ನಲ್ಲಿ ಲಿಂಕ್ ತೆರೆಯಿರಿ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb index 8191c85a..e4b9a88 100644 --- a/chrome/app/resources/generated_resources_ko.xtb +++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">네트워크 없음</translation> <translation id="1056898198331236512">경고</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">유해한 소프트웨어를 삭제할 수 없습니다.</translation> <translation id="1062407476771304334">바꾸기</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />관리 대상 사용자 대시보드<ph name="END_LINK" />를 통해 관리 대상 사용자를 관리합니다.</translation> <translation id="1064835277883315402">사설 네트워크에 연결</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">파일 선택</translation> <translation id="136802136832547685">이 기기에 추가할 관리 대상 사용자가 없습니다.</translation> <translation id="1368265273904755308">문제 신고</translation> -<translation id="1368832886055348810">왼쪽에서 오른쪽으로</translation> <translation id="1370646789215800222">이 사용자를 삭제하시겠습니까?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{삭제할 항목 1개}other{삭제할 항목 #개}}</translation> <translation id="1372841398847029212">내 계정에 동기화</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">이 사용자 삭제</translation> <translation id="1609170755653088773">이 비밀번호를 iPhone에 동기화</translation> <translation id="1609862759711084604">이전 사용자</translation> -<translation id="1611557582955786626">모든 기기에서 동기화되는 맞춤 탐색 환경을 이용하려면 로그인하세요</translation> <translation id="1611584202130317952">프로비저닝 플로가 중단되었습니다. 다시 시도하거나 기기 소유자 또는 관리자에게 문의하시기 바랍니다.</translation> <translation id="1611649489706141841">앞으로</translation> <translation id="1611704746353331382">HTML 파일로 북마크 내보내기...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">위치 추가...</translation> <translation id="1856813161013948396">지문 센서를 탭하여 화면 잠금을 해제합니다. 설정하려면 클릭하세요.</translation> <translation id="1858585891038687145">소프트웨어 제작자를 식별하기 위해 이 인증서를 신뢰합니다.</translation> -<translation id="1859234291848436338">쓰기 방향</translation> <translation id="1861262398884155592">폴더가 비어 있습니다.</translation> <translation id="1864111464094315414">로그인</translation> <translation id="1864400682872660285">시원함</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">접기...</translation> <translation id="2737492745329609575">설정 시작</translation> <translation id="2738771556149464852">만료:</translation> -<translation id="2739046699559178272">저장하고 계속</translation> <translation id="2739191690716947896">디버그</translation> <translation id="2739240477418971307">접근성 설정 변경</translation> <translation id="2740393541869613458">관리 대상 사용자가 방문한 웹사이트 검토 등</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">다운로드됨</translation> <translation id="2783661497142353826">키오스크 애플리케이션 관리</translation> <translation id="2784407158394623927">모바일 데이터 서비스 활성화 중</translation> -<translation id="2785530881066938471">콘텐츠 스크립트에 파일('<ph name="RELATIVE_PATH" />')을 로드할 수 없습니다. UTF-8로 인코딩되지 않았습니다.</translation> <translation id="2785873697295365461">파일 설명자</translation> <translation id="2787047795752739979">원본 덮어쓰기</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">샌드박스 처리되지 않은 플러그인 계속 차단</translation> <translation id="2890678560483811744">페이지 범위를 벗어난 경우 참고사항</translation> <translation id="2893168226686371498">기본 브라우저</translation> -<translation id="2893453364759632532">창 내리기</translation> <translation id="289644616180464099">SIM 카드가 잠겨 있습니다.</translation> <translation id="289695669188700754">키 ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870"><ph name="TAB_COUNT" />개 탭을 여시겠습니까?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">화면 공유 중</translation> <translation id="3046910703532196514">웹페이지, 전부</translation> <translation id="304826556400666995">탭 음소거 해제</translation> -<translation id="3051523411789012618">창 올리기</translation> <translation id="3053013834507634016">인증서 키 사용</translation> <translation id="3057861065630527966">사진 및 동영상을 백업합니다.</translation> <translation id="3060379269883947824">텍스트 읽어주기 사용</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">오디오 및 비디오 입력 장치에 액세스</translation> <translation id="3090819949319990166">외부 crx 파일을 <ph name="TEMP_CRX_FILE" />에 복사할 수 없습니다.</translation> <translation id="3090871774332213558">'<ph name="DEVICE_NAME" />' 페어링됨</translation> -<translation id="3097628171361913691">Zip 파일 설치 프로그램</translation> <translation id="3100609564180505575">모듈(<ph name="TOTAL_COUNT" />개) - 알려진 충돌: <ph name="BAD_COUNT" />개, 의심됨: <ph name="SUSPICIOUS_COUNT" />개</translation> <translation id="3101709781009526431">날짜 및 시간</translation> <translation id="3108967419958202225">선택...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">서명자:</translation> <translation id="33022249435934718">GDI 처리</translation> <translation id="3302340765592941254">다운로드 완료 알림</translation> -<translation id="3302709122321372472">콘텐츠 스크립트의 css('<ph name="RELATIVE_PATH" />')를 로드하지 못했습니다.</translation> <translation id="3303260552072730022">확장 프로그램이 전체 화면을 실행합니다.</translation> <translation id="3303818374450886607">매수</translation> <translation id="3303855915957856445">검색결과 없음</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">시간대 선택</translation> <translation id="3856921555429624101">데이터 사용 측정이 종료됨</translation> <translation id="3857228364945137633">휴대전화가 근처에 있을 때 비밀번호 없이 Smart Lock을 사용하여 <ph name="DEVICE_TYPE" />을(를) 잠금 해제할 수 있습니다.</translation> -<translation id="3857732810083914482">맞춤설정이 꺼져 있습니다. 이 설정은 myaccount.google.com에서 변경할 수 있습니다.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">행아웃 Meet에 오신 것을 환영합니다</translation> <translation id="3862134173397075045">Chrome의 전송 환경에 오신 것을 환영합니다.</translation> @@ -1984,7 +1973,6 @@ <translation id="399179161741278232">가져온 북마크</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" />을(를) 잠금 해제하려면 휴대전화를 잠금 해제하고 더 가까이 가져오세요.</translation> <translation id="3994878504415702912">글꼴 크기(&Z)</translation> -<translation id="39964277676607559">콘텐츠 스크립트의 자바스크립트('<ph name="RELATIVE_PATH" />')를 로드하지 못했습니다.</translation> <translation id="4002066346123236978">제목</translation> <translation id="40027638859996362">단어 이동</translation> <translation id="4005817994523282006">시간대 감지 방법</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">복사 작업에 실패했습니다. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">네트워크 로그를 확인하려면 다음 페이지를 참조하세요. <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android 앱을 다운로드하고 사용하려면 우선 업데이트를 설치해야 합니다. 기기가 업데이트되는 동안에는 사용할 수 없습니다. 설치가 완료되면 <ph name="DEVICE_TYPE" />이(가) 다시 시작됩니다.</translation> -<translation id="4338683191474220626">창 왼쪽에 맞춤</translation> <translation id="4340515029017875942"><ph name="ORIGIN" />에서 '<ph name="EXTENSION_NAME" />' 앱과 통신하려고 합니다.</translation> <translation id="4342311272543222243">TPM 오류가 발생했습니다.</translation> <translation id="4345587454538109430">설정...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">선택된 쿠키 없음</translation> <translation id="4617270414136722281">확장 프로그램 옵션</translation> <translation id="4619615317237390068">다른 기기의 탭</translation> -<translation id="4620809267248568679">이 설정은 확장 프로그램에서 시행합니다.</translation> <translation id="4624768044135598934">완료</translation> <translation id="4625078469366263107">앱 사용</translation> <translation id="4627427111733173920">쿠키가 차단됨</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">선택한 폴더에 민감한 파일이 포함되어 있습니다. 이 폴더에 '$1' 영구 읽기 액세스를 승인하시겠습니까?</translation> <translation id="4964455510556214366">배열</translation> <translation id="4964673849688379040">확인 중...</translation> -<translation id="4965682129423310439">Chrome이 컴퓨터에서 유해한 소프트웨어를 찾았습니다. Chrome에서 해당 소프트웨어를 삭제하고 설정을 복원하여 브라우저가 다시 정상적으로 작동하도록 할 수 있습니다.</translation> <translation id="4965808351167763748">이 기기를 설정하여 행아웃 Meet를 실행하시겠습니까?</translation> <translation id="4967749818080339523">계정 선택</translation> <translation id="496888482094675990">파일 앱을 사용하면 Google 드라이브, 외부 저장소, Chrome OS 기기에 저장한 파일에 신속하게 액세스할 수 있습니다.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">데스크톱을 전송할 수 없음</translation> <translation id="6171948306033499786">인쇄 일시중지</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">활성 창이 하단 디스플레이로 이동함</translation> <translation id="6178664161104547336">인증서 선택</translation> <translation id="6181431612547969857">다운로드 차단됨</translation> -<translation id="6181803575025675566"><ph name="LINK_START" />설정<ph name="LINK_END" />에서 작동 방식을 관리하세요.</translation> <translation id="6185132558746749656">기기 위치</translation> <translation id="6185696379715117369">페이지 위로</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" />(으)로 열기</translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">비밀번호가 일치하지 않습니다.</translation> <translation id="6736243959894955139">주소</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" />[<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">더 이상 기존 프로필에 액세스할 수 없지만 삭제할 수는 있습니다.</translation> <translation id="6739923123728562974">바탕화면 바로가기 표시</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> 일시중지됨</translation> <translation id="6742339027238151589">스크립트에 액세스 가능</translation> -<translation id="6743841972744298686">동기화 설정</translation> <translation id="6745592621698551453">지금 업데이트</translation> <translation id="6746124502594467657">아래로 이동</translation> <translation id="674632704103926902">탭 드래그 사용</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">특정 페이지 인쇄</translation> <translation id="6972180789171089114">오디오/비디오</translation> <translation id="6973630695168034713">폴더</translation> -<translation id="6974053822202609517">오른쪽에서 왼쪽으로</translation> <translation id="6976108581241006975">자바스크립트 콘솔</translation> <translation id="6977381486153291903">펌웨어 버전</translation> <translation id="6978121630131642226">검색엔진</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">숨기기</translation> <translation id="7108634116785509031"><ph name="HOST" />에서 카메라에 액세스하려고 합니다</translation> <translation id="7108668606237948702">입력</translation> -<translation id="7112978678959880812">맞춤설정이 켜져 있습니다. 이 설정은 myaccount.google.com에서 변경할 수 있습니다.</translation> <translation id="7113502843173351041">이메일 주소 조회</translation> <translation id="7114054701490058191">비밀번호가 일치하지 않습니다.</translation> <translation id="7117228822971127758">나중에 다시 시도해 주세요</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">페이지 새로고침</translation> <translation id="7222232353993864120">이메일 주소</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">화면 돋보기 사용</translation> <translation id="7223775956298141902">저런, 확장 프로그램이 없군요.</translation> <translation id="7225179976675429563">네트워크 유형이 없습니다.</translation> <translation id="7228479291753472782">웹사이트에서 위치정보, 마이크, 카메라 등과 같은 기능을 사용할 수 있도록 할지 여부를 지정하는 설정을 조작합니다.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">확인</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" />에서 저장한 비밀번호를 사용하여 적합한 사이트에 자동 로그인합니다.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" />(소유자)</translation> -<translation id="7647231681210854996">활성 창이 오른쪽 디스플레이로 이동함</translation> <translation id="7648992873808071793">이 기기에 파일 저장</translation> <translation id="7649070708921625228">도움말</translation> <translation id="7650511557061837441">'<ph name="TRIGGERING_EXTENSION_NAME" />'에서 '<ph name="EXTENSION_NAME" />'을(를) 삭제하려고 합니다.</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">말하세요</translation> <translation id="8372369524088641025">잘못된 WEP 키</translation> <translation id="8373553483208508744">탭 음소거</translation> -<translation id="8377870760189106701">창을 오른쪽에</translation> <translation id="8378285435971754261">Google의 위치 서비스를 활용해 앱이 사용자의 위치를 빠르고 정확하게 파악할 수 있도록 하세요. 이렇게 하면 배터리 사용량도 줄일 수 있습니다. 실행되는 앱이 없을 때도 익명의 위치 데이터가 Google로 전송됩니다. <ph name="BEGIN_LINK1" />자세히 알아보기<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">카메라 설정 관리...</translation> <translation id="8382913212082956454">이메일 주소 복사(&E)</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">앞으로 이동하려면 앞으로 버튼을 누르고, 방문 기록을 보려면 컨텍스트 메뉴 키를 누릅니다.</translation> <translation id="8584280235376696778">새 탭에서 동영상 열기(&O)</translation> <translation id="8588866096426746242">프로필 통계 보기</translation> -<translation id="8589652987924574405">북마크, 방문 기록, 비밀번호 등의 설정이 Google 계정에 동기화되므로 모든 기기에서 사용할 수 있습니다. 설정에서 언제든지 이 설정을 변경할 수 있습니다</translation> <translation id="8590375307970699841">자동 업데이트 설정</translation> <translation id="8594908476761052472">동영상 촬영</translation> <translation id="8596540852772265699">사용자 지정 파일</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">로밍 상태</translation> <translation id="8620765578342452535">네트워크 연결 구성</translation> -<translation id="8620790565535071193">검색 실패</translation> <translation id="8624205858755890468">어시스턴트를 사용 설정하여 관련된 정보, 앱, 작업을 표시합니다.</translation> <translation id="862542460444371744">확장 프로그램(&E)</translation> <translation id="8627151598708688654">소스 선택</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Google에 저장된 비밀번호</translation> <translation id="8714838604780058252">배경 그래픽</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" />을(를) 다운로드하지 못했습니다.</translation> -<translation id="8721669057562068233">활성 창이 상단 디스플레이로 이동함</translation> <translation id="8723829621484579639">다음 사이트의 시크릿 서브프레임: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">폴더 열기(&S)</translation> <translation id="8725066075913043281">다시 시도하세요</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">스타일러스</translation> <translation id="8787254343425541995">공유 네트워크에서 프록시 허용</translation> <translation id="8791534160414513928">탐색 트래픽으로 ‘추적 안함’ 요청 전송</translation> -<translation id="8792609692701651064">활성 창이 왼쪽 디스플레이로 이동함</translation> <translation id="8794025342371547160">제한된 IP</translation> <translation id="879413103056696865">핫스팟이 사용 설정되어 있는 동안 <ph name="PHONE_NAME" />이(가) 다음과 같이 작동함</translation> <translation id="8795916974678578410">새 창</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">새 탭에서 열기(&O)</translation> <translation id="9024331582947483881">전체화면</translation> <translation id="9025098623496448965">예, 로그인 화면으로 돌아갑니다.</translation> -<translation id="902659348151742535">Google에서 검색, 광고 및 다른 Google 서비스를 맞춤설정하기 위하여 내 인터넷 사용 기록을 사용할 수 있습니다.</translation> <translation id="9026731007018893674">다운로드</translation> <translation id="9027146684281895941">이 사용자를 관리 대상 사용자로 설정하여 이 사용자가 방문하는 웹사이트를 내 Google 계정에서 제어하고 볼 수 있도록 합니다.</translation> <translation id="9027459031423301635">새 탭에서 링크 열기(&T)</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb index c0df711..c5782e59 100644 --- a/chrome/app/resources/generated_resources_lt.xtb +++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nėra tinklų</translation> <translation id="1056898198331236512">Įspėjimas</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Nepavyksta pašalinti žalingos programinės įrangos</translation> <translation id="1062407476771304334">Pakeisti</translation> <translation id="1062866675591297858">Tvarkykite prižiūrimus naudotojus naudodami <ph name="BEGIN_LINK" />prižiūrimų naudotojų informacijos suvestinę<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Prisijunkite prie privataus tinklo</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Pasirinkti failą</translation> <translation id="136802136832547685">Nėra prižiūrimų naudotojų, kuriuos galima pridėti prie šio įrenginio.</translation> <translation id="1368265273904755308">Pranešti apie problemą</translation> -<translation id="1368832886055348810">Iš kairės į dešinę</translation> <translation id="1370646789215800222">Pašalinti asmenį?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 norimas pašalinti elementas}one{# norimas pašalinti elementas}few{# norimi pašalinti elementai}many{# norimo pašalinti elemento}other{# norimų pašalinti elementų}}</translation> <translation id="1372841398847029212">Sinchronizuoti paskyroje</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Pašalinti šį naudotoją</translation> <translation id="1609170755653088773">Sinchronizuokite slaptažodį „iPhone“ įrenginyje</translation> <translation id="1609862759711084604">Ankstesnis naudotojas</translation> -<translation id="1611557582955786626">Prisijunkite ir naudokitės suasmenintomis naršymo funkcijomis, sinchronizuojamomis skirtinguose įrenginiuose</translation> <translation id="1611584202130317952">Pertraukta aprūpinimo eiga. Bandykite dar kartą arba susisiekite su įrenginio savininku ar administratoriumi.</translation> <translation id="1611649489706141841">persiųsti</translation> <translation id="1611704746353331382">Eksportuoti žymes į HTML failą...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Pridėti vietą...</translation> <translation id="1856813161013948396">Praleiskite užrakinimo ekraną tiesiog palietę kontrolinio kodo jutiklį. Spustelėkite ir konfigūruokite.</translation> <translation id="1858585891038687145">Pasitikėti šiuo sertifikatu nustatant programinės įrangos kūrėjus</translation> -<translation id="1859234291848436338">Rašymo nurodymas</translation> <translation id="1861262398884155592">Šis aplankas tuščias</translation> <translation id="1864111464094315414">Prisijungimas</translation> <translation id="1864400682872660285">Šaltesnio atspalvio</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Sutraukti...</translation> <translation id="2737492745329609575">Pradėti sąranką</translation> <translation id="2738771556149464852">Iki</translation> -<translation id="2739046699559178272">Išsaugoti ir tęsti</translation> <translation id="2739191690716947896">Derinti</translation> <translation id="2739240477418971307">Keisti pasiekiamumo nustatymus</translation> <translation id="2740393541869613458">peržiūrėti prižiūrimo naudotojo aplankytas svetaines ir</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Atsisiųsta</translation> <translation id="2783661497142353826">Valdyti viešojo terminalo programas</translation> <translation id="2784407158394623927">Suaktyvinama duomenų mobiliesiems paslauga</translation> -<translation id="2785530881066938471">Nepavyko įkelti turinio scenarijaus failo „<ph name="RELATIVE_PATH" />“. Jis nėra užkoduotas naudojant UTF-8.</translation> <translation id="2785873697295365461">Failų deskriptoriai</translation> <translation id="2787047795752739979">Perrašyti originalą</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Toliau blokuoti ne „smėlio dėžės“ papildinius</translation> <translation id="2890678560483811744">Puslapio už diapazono ribų nuoroda</translation> <translation id="2893168226686371498">Numatytoji naršyklė</translation> -<translation id="2893453364759632532">Nuleisti langą</translation> <translation id="289644616180464099">SIM kortelė užrakinta</translation> <translation id="289695669188700754">Rakto ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Ar tikrai norite atidaryti <ph name="TAB_COUNT" /> skirtukus(-ų)?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Ekranas bendrinamas</translation> <translation id="3046910703532196514">Tinklalapis, baigti</translation> <translation id="304826556400666995">Įjungti garsą skirtukuose</translation> -<translation id="3051523411789012618">Pakelti langą</translation> <translation id="3053013834507634016">Sertifikato rakto naudojimas</translation> <translation id="3057861065630527966">Kurkite atsargines nuotraukų ir vaizdo įrašų kopijas</translation> <translation id="3060379269883947824">Įgalinti funkciją „Teksto ištarimas“</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Pasiekiama garso ir vaizdo įrašų įvestis</translation> <translation id="3090819949319990166">Nepavyko nukopijuoti išorinio CRX failo į „<ph name="TEMP_CRX_FILE" />“.</translation> <translation id="3090871774332213558">Įrenginys „<ph name="DEVICE_NAME" />“ susietas</translation> -<translation id="3097628171361913691">ZIP failų diegimo programa</translation> <translation id="3100609564180505575">Moduliai (<ph name="TOTAL_COUNT" />) – žinomų konfliktų: <ph name="BAD_COUNT" />, įtariamų: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data ir laikas</translation> <translation id="3108967419958202225">Pasirinkite...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Pasirašė</translation> <translation id="33022249435934718">GDI apdorojami elementai</translation> <translation id="3302340765592941254">Baigto atsisiuntimo pranešimas</translation> -<translation id="3302709122321372472">Turinio scenarijui nepavyko įkelti „css“ failo „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3303260552072730022">Plėtinys suaktyvino viso ekrano režimą.</translation> <translation id="3303818374450886607">Kopijos</translation> <translation id="3303855915957856445">Nerasta jokių paieškos rezultatų</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Pasirinkti laiko juostą</translation> <translation id="3856921555429624101">Duomenų naudojimo vertinimas užbaigtas</translation> <translation id="3857228364945137633">Pabandykite naudoti „Smart Lock“, kad atrakintumėte „<ph name="DEVICE_TYPE" />“ be slaptažodžio, kai telefonas yra netoliese.</translation> -<translation id="3857732810083914482">Suasmeninimas išjungtas. Šį nustatymą galite pakeisti adresu myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Sveiki! Tai – „Hangout Meet“</translation> <translation id="3862134173397075045">Sveiki! Tai – „Cast“ funkcijos naršyklėje „Chrome“!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importuota</translation> <translation id="3994374631886003300">Kad atrakintumėte „<ph name="DEVICE_TYPE" />“, atrakinkite telefoną ir padėkite jį arčiau.</translation> <translation id="3994878504415702912">Priartinti</translation> -<translation id="39964277676607559">Turinio scenarijui nepavyko įkelti „javascript“ „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4002066346123236978">Pavadinimas</translation> <translation id="40027638859996362">Perkelti žodį</translation> <translation id="4005817994523282006">Laiko juostos aptikimo metodas</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Nepavyko įvykdyti kopijavimo operacijos. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Tinklo žurnalus rasite adresu <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Jei norite atsisiųsti ir naudoti „Android“ programas, pirmiausia turite įdiegti naujinį. Kol įrenginys atnaujinamas, jo naudoti negalima. Kai diegimo procesas baigsis, „<ph name="DEVICE_TYPE" />“ bus paleistas iš naujo.</translation> -<translation id="4338683191474220626">Patraukti langą į kairę</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> nori užmegzti ryšį su programa „<ph name="EXTENSION_NAME" />“</translation> <translation id="4342311272543222243">Oi, TPM klaida.</translation> <translation id="4345587454538109430">Konfigūruoti...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nepasirinktas joks slapukas</translation> <translation id="4617270414136722281">Plėtinių parinktys</translation> <translation id="4619615317237390068">Skirtukai iš kitų įrenginių</translation> -<translation id="4620809267248568679">Šį nustatymą paleidžia plėtinys.</translation> <translation id="4624768044135598934">Sėkmingai!</translation> <translation id="4625078469366263107">Įgalinti programą</translation> <translation id="4627427111733173920">Slapukai užblokuoti</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Pasirinktame aplanke yra slaptų failų. Ar tikrai norite „$1“ suteikti nuolatinę šio aplanko skaitymo prieigą?</translation> <translation id="4964455510556214366">Išdėstymas</translation> <translation id="4964673849688379040">Tikrinama...</translation> -<translation id="4965682129423310439">„Chrome“ rado žalingos programinės įrangos jūsų kompiuteryje. „Chrome“ gali ją pašalinti ir atkurti nustatymus, kad naršyklė vėl veiktų įprastai.</translation> <translation id="4965808351167763748">Ar tikrai norite nustatyti šį įrenginį, kad būtų galima paleisti „Hangout Meet“?</translation> <translation id="4967749818080339523">Pasirinkite paskyrą</translation> <translation id="496888482094675990">Naudodami programą „Failai“ greitai pasieksite „Google“ diske, išorinėje atmintinėje ar „Chrome“ OS įrenginyje išsaugotus failus.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Nepavyko perduoti stalinio kompiuterio ekrano.</translation> <translation id="6171948306033499786">Pristabdyti spausdinimą</translation> <translation id="6175314957787328458">„Microsoft“ domeno GUID</translation> -<translation id="6176032031541598434">Aktyvus langas perkeltas į apatinį ekraną</translation> <translation id="6178664161104547336">Pasirinkite sertifikatą</translation> <translation id="6181431612547969857">Atsisiuntimas užblokuotas</translation> -<translation id="6181803575025675566">Valdykite, kaip tai veikia, apsilankę puslapyje <ph name="LINK_START" />„Nustatymai“<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Įrenginio vietovė</translation> <translation id="6185696379715117369">Puslapiu aukštyn</translation> <translation id="6189412234224385711">Atidaryti naudojant „<ph name="EXTENSION_NAME" />“</translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Oi, slaptažodžiai nesutampa.</translation> <translation id="6736243959894955139">Adresas</translation> <translation id="6736329909263487977">„<ph name="ISSUED_BY" />“ [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Nors nebegalite pasiekti seno profilio, galite jį pašalinti.</translation> <translation id="6739923123728562974">Rodyti spartųjį darbalaukio klavišą</translation> <translation id="6740234557573873150">„<ph name="FILE_NAME" />“ pristabdytas</translation> <translation id="6742339027238151589">Pasiekiama scenarijaus</translation> -<translation id="6743841972744298686">Sinchronizavimo nustatymai</translation> <translation id="6745592621698551453">Atnaujinti dabar</translation> <translation id="6746124502594467657">Perkelti žemyn</translation> <translation id="674632704103926902">Įgalinti vilkimą palietus</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Spausdinti konkrečius puslapius</translation> <translation id="6972180789171089114">Garso / vaizdo įrašai</translation> <translation id="6973630695168034713">Aplankai</translation> -<translation id="6974053822202609517">Iš dešinės į kairę</translation> <translation id="6976108581241006975">„JavaScript“ pultas</translation> <translation id="6977381486153291903">Programinės aparatinės įrangos taisymas</translation> <translation id="6978121630131642226">Paieškos sistemos</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Slėpti</translation> <translation id="7108634116785509031"><ph name="HOST" /> nori naudoti fotoaparatą</translation> <translation id="7108668606237948702">įvesti</translation> -<translation id="7112978678959880812">Suasmeninimas įjungtas. Šį nustatymą galite pakeisti adresu myaccount.google.com.</translation> <translation id="7113502843173351041">Žinoti el. pašto adresą</translation> <translation id="7114054701490058191">Slaptažodžiai neatitinka</translation> <translation id="7117228822971127758">Vėliau bandykite dar kartą</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Įkelti iš naujo šį puslapį</translation> <translation id="7222232353993864120">El. pašto adresas</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Įgalinti ekrano didintuvą</translation> <translation id="7223775956298141902">Nėra įdiegtų plėtinių :-(</translation> <translation id="7225179976675429563">Trūksta tinklo tipo</translation> <translation id="7228479291753472782">Valdyti nustatymus, nurodančius, ar svetainės gali naudoti funkcijas, pvz., geografinės vietovės nustatymą, mikrofoną, fotoaparatą ir kt.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Supratau.</translation> <translation id="764017888128728">„<ph name="PASSWORD_MANAGER_BRAND" />“ automatiškai prijungs jus tinkamose svetainėse naudodama išsaugotus slaptažodžius.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (savininkas)</translation> -<translation id="7647231681210854996">Aktyvus langas perkeltas į dešinįjį ekraną</translation> <translation id="7648992873808071793">Saugoti failus šiame įrenginyje</translation> <translation id="7649070708921625228">Žinynas</translation> <translation id="7650511557061837441">„<ph name="TRIGGERING_EXTENSION_NAME" />“ norėtų pašalinti „<ph name="EXTENSION_NAME" />“.</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Kalbėti dabar</translation> <translation id="8372369524088641025">Netinkamas WEP raktas</translation> <translation id="8373553483208508744">Nutildyti skirtukų garsą</translation> -<translation id="8377870760189106701">Perkelti langą į dešinę</translation> <translation id="8378285435971754261">„Google“ vietovės paslauga gali padėti programoms greitai ir tiksliai nustatyti jūsų buvimo vietą bei sumažinti akumuliatoriaus energijos sąnaudas. Anoniminiai vietovės duomenys bus siunčiami „Google“, net jei nepaleista jokia programa. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Tvarkyti fotoaparato nustatymus...</translation> <translation id="8382913212082956454">Kopijuoti &el. pašto adresą</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Paspauskite, kad eitumėte į kontekstinį meniu ir peržiūrėtumėte istoriją</translation> <translation id="8584280235376696778">&Atidaryti vaizdo įrašą naujame skirtuke</translation> <translation id="8588866096426746242">Rodyti profilio statistiką</translation> -<translation id="8589652987924574405">Žymės, istorija, slaptažodžiai ir kiti nustatymai bus sinchronizuojami su jūsų „Google“ paskyra, kad galėtumėte juos naudoti visuose įrenginiuose. Tai visada galėsite pakeisti vėliau apsilankę nustatymuose.</translation> <translation id="8590375307970699841">Nustatyti automatinius naujinius</translation> <translation id="8594908476761052472">Užfiksuoti vaizdo įrašą</translation> <translation id="8596540852772265699">Priskirti failai</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601">„<ph name="CERTIFICATE_NAME" />“: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Tarptinklinio ryšio būsena</translation> <translation id="8620765578342452535">Konfigūruoti tinklo ryšius</translation> -<translation id="8620790565535071193">Nuskaityti nepavyko</translation> <translation id="8624205858755890468">Padėjėjui leidžiama rodyti susijusią informaciją, programas ir veiksmus.</translation> <translation id="862542460444371744">&Plėtiniai</translation> <translation id="8627151598708688654">Šaltinio pasirinkimas</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">„Google“ išsaugotus slaptažodžius</translation> <translation id="8714838604780058252">Fono grafika</translation> <translation id="8719653885894320876">Nepavyko atsisiųsti „<ph name="PLUGIN_NAME" />“</translation> -<translation id="8721669057562068233">Aktyvus langas perkeltas į viršutinį ekraną</translation> <translation id="8723829621484579639">Inkognito režimo antriniai kadrai, skirti: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Rodyti aplanke</translation> <translation id="8725066075913043281">Bandyti dar kartą</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Rašiklis</translation> <translation id="8787254343425541995">Leisti tarpinius serverius bendrai naudojamuose tinkluose</translation> <translation id="8791534160414513928">Su naršymo srautu siųsti užklausą „Nestebėti“</translation> -<translation id="8792609692701651064">Aktyvus langas perkeltas į kairįjį ekraną</translation> <translation id="8794025342371547160">Ribotas IP</translation> <translation id="879413103056696865">Kai viešosios interneto prieigos taškas bus įjungtas, „<ph name="PHONE_NAME" />“:</translation> <translation id="8795916974678578410">Naujas langas</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Atidaryti naujo skirtuko lape</translation> <translation id="9024331582947483881">visas ekranas</translation> <translation id="9025098623496448965">Gerai, noriu sugrįžti į prisijungimo ekraną</translation> -<translation id="902659348151742535">„Google“ gali naudoti jūsų naršymo istoriją, kad suasmenintų Paiešką, skelbimus ir kitas „Google“ paslaugas.</translation> <translation id="9026731007018893674">atsisiųsti</translation> <translation id="9027146684281895941">Naudojant „Google“ paskyrą prižiūrėti šį asmenį ir kontroliuoti bei peržiūrėti svetaines, kuriose jis lankosi.</translation> <translation id="9027459031423301635">Atidaryti nuorodą naujame &skirtuke</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb index da54f19..f59c2d8 100644 --- a/chrome/app/resources/generated_resources_lv.xtb +++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nav tīklu</translation> <translation id="1056898198331236512">Brīdinājums</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Nevar noņemt kaitīgo programmatūru</translation> <translation id="1062407476771304334">Aizstāt</translation> <translation id="1062866675591297858">Pārvaldiet savus uzraudzītos lietotājus, izmantojot <ph name="BEGIN_LINK" />uzraudzīto lietotāju informācijas paneli<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Pievienoties privātam tīklam</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Izvēlēties failu</translation> <translation id="136802136832547685">Nav neviena uzraudzīta lietotāja, ko pievienot šai ierīcei.</translation> <translation id="1368265273904755308">Ziņot par problēmu</translation> -<translation id="1368832886055348810">No kreisās uz labo pusi</translation> <translation id="1370646789215800222">Vai noņemt lietotāju?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Tiks noņemts 1 vienums}zero{Tiks noņemti # vienumi}one{Tiks noņemts # vienums}other{Tiks noņemti # vienumi}}</translation> <translation id="1372841398847029212">Sinhronizēt ar jūsu kontu</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Noņemt šo lietotāju</translation> <translation id="1609170755653088773">Sinhronizējiet šo paroli savā iPhone ierīcē</translation> <translation id="1609862759711084604">Iepriekšējais lietotājs</translation> -<translation id="1611557582955786626">Pierakstieties, lai personalizētu pārlūkošanas iespējas, kas tiek sinhronizētas ierīcēs.</translation> <translation id="1611584202130317952">Nodrošināšanas plūsma tika traucēta. Lūdzu, mēģiniet vēlreiz vai sazinieties ar ierīces īpašnieku vai administratoru.</translation> <translation id="1611649489706141841">pārsūtīt</translation> <translation id="1611704746353331382">Eksportēt grāmatzīmes HTML failā...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Pievienot atrašanās vietu...</translation> <translation id="1856813161013948396">Izlaidiet bloķēšanas ekrānu, vienkārši pieskaroties pirksta nospieduma sensoram. Noklikšķiniet, lai konfigurētu.</translation> <translation id="1858585891038687145">Uzticēties šim sertifikātam, lai identificētu programmatūras izstrādātājus</translation> -<translation id="1859234291848436338">Rakstīšanas virziens</translation> <translation id="1861262398884155592">Šī mape ir tukša</translation> <translation id="1864111464094315414">Pieteikties</translation> <translation id="1864400682872660285">Vēsāks</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Sakļaut...</translation> <translation id="2737492745329609575">Sākt iestatīšanu</translation> <translation id="2738771556149464852">Nevis pēc</translation> -<translation id="2739046699559178272">Saglabāt un turpināt</translation> <translation id="2739191690716947896">Atkļūdot</translation> <translation id="2739240477418971307">Mainītu jūsu pieejamības iestatījumus</translation> <translation id="2740393541869613458">pārskatīt vietnes, kuras apmeklējis uzraudzītais lietotājs;</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Lejupielādēts</translation> <translation id="2783661497142353826">Kioska lietojumprogrammu pārvaldība</translation> <translation id="2784407158394623927">Notiek jūsu mobilo datu pakalpojuma aktivizēšana</translation> -<translation id="2785530881066938471">Nevar ielādēt failu "<ph name="RELATIVE_PATH" />" satura skriptam. Tas nav UTF-8 kodēts.</translation> <translation id="2785873697295365461">Failu deskriptori</translation> <translation id="2787047795752739979">Pārrakstīt sākotnējo</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Turpināt bloķēt spraudņus, kas nav ievietoti smilškastē</translation> <translation id="2890678560483811744">Lapas atsauce ārpus diapazona</translation> <translation id="2893168226686371498">Noklusējuma pārlūks</translation> -<translation id="2893453364759632532">Pārvietot logu lejup</translation> <translation id="289644616180464099">SIM karte ir bloķēta.</translation> <translation id="289695669188700754">Atslēgas ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Vai tiešām vēlaties atvērt <ph name="TAB_COUNT" /> cilnes?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Ekrāna kopīgošana</translation> <translation id="3046910703532196514">Tīmekļa lapa, pabeigta</translation> <translation id="304826556400666995">Ieslēgt ciļņu skaņu</translation> -<translation id="3051523411789012618">Pārvietot logu augšup</translation> <translation id="3053013834507634016">Sertifikāta atslēgas lietošana</translation> <translation id="3057861065630527966">Dublēt fotoattēlus un videoklipus</translation> <translation id="3060379269883947824">Iespējot funkciju “Atlasīt, lai izrunātu”</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Notiek piekļūšana audio un video ievadei</translation> <translation id="3090819949319990166">Ārējo .crx failu nevar kopēt uz failu <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Izveidots savienojums pārī ar ierīci “<ph name="DEVICE_NAME" />”.</translation> -<translation id="3097628171361913691">ZIP failu instalētājs</translation> <translation id="3100609564180505575">Moduļi (<ph name="TOTAL_COUNT" />) — zināmie konflikti: <ph name="BAD_COUNT" />; aizdomīgie: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datums un laiks</translation> <translation id="3108967419958202225">Izvēlēties...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Parakstīja</translation> <translation id="33022249435934718">GDI apstrādātāji</translation> <translation id="3302340765592941254">Paziņojums par pabeigtu lejupielādi</translation> -<translation id="3302709122321372472">Nevarēja ielādēt css “<ph name="RELATIVE_PATH" />” satura skriptam.</translation> <translation id="3303260552072730022">Paplašinājums aktivizēja pilnekrāna režīmu.</translation> <translation id="3303818374450886607">Kopijas</translation> <translation id="3303855915957856445">Netika atrasts neviens meklēšanas rezultāts.</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Laika joslas atlasīšana</translation> <translation id="3856921555429624101">Datu lietojuma mērīšana ir pabeigta.</translation> <translation id="3857228364945137633">Izmēģiniet Smart Lock, lai atbloķētu savu ierīci (<ph name="DEVICE_TYPE" />) bez paroles, kad tuvumā atrodas tālrunis.</translation> -<translation id="3857732810083914482">Personalizēšana ir izslēgta. Šo iestatījumu varat mainīt vietnē myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Laipni lūdzam pakalpojumā Hangouts Meet</translation> <translation id="3862134173397075045">Iepazīstiet Cast iespējas pārlūkā Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importēts</translation> <translation id="3994374631886003300">Atbloķējiet tālruni un pietuviniet to, lai atbloķētu savu ierīci (<ph name="DEVICE_TYPE" />).</translation> <translation id="3994878504415702912">Tālummaiņa</translation> -<translation id="39964277676607559">Nevarēja ielādēt JavaScript “<ph name="RELATIVE_PATH" />” satura skriptam.</translation> <translation id="4002066346123236978">Nosaukums</translation> <translation id="40027638859996362">Pārvietot vārdu</translation> <translation id="4005817994523282006">Laika joslas noteikšanas metode</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopēšana neizdevās. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Informāciju par tīkla žurnāliem skatiet šeit: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Lai lejupielādētu un izmantotu Android lietotnes, vispirms instalējiet atjauninājumu. Kamēr ierīce tiek atjaunināta, to nevar izmantot. Pēc instalēšanas pabeigšanas jūsu <ph name="DEVICE_TYPE" /> ierīce tiks restartēta.</translation> -<translation id="4338683191474220626">Pārvietot logu pa kreisi</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> vēlas sazināties ar lietotni “<ph name="EXTENSION_NAME" />”</translation> <translation id="4342311272543222243">Radās TPM kļūda.</translation> <translation id="4345587454538109430">Konfigurēt...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nav atlasīts neviens sīkfails</translation> <translation id="4617270414136722281">Paplašinājumu opcijas</translation> <translation id="4619615317237390068">Cilnes no citām ierīcēm</translation> -<translation id="4620809267248568679">Šis iestatījums tiek kontrolēts, izmantojot paplašinājumu.</translation> <translation id="4624768044135598934">Gatavs!</translation> <translation id="4625078469366263107">Iespējot lietotni</translation> <translation id="4627427111733173920">Sīkfaili bloķēti</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Atlasītajā mapē ir iekļauti sensitīvi faili. Vai tiešām vēlaties piešķirt lietotnei $1 patstāvīgu lasīšanas piekļuvi šai mapei?</translation> <translation id="4964455510556214366">Izkārtojums</translation> <translation id="4964673849688379040">Notiek pārbaude...</translation> -<translation id="4965682129423310439">Chrome atrada kaitīgu programmatūru jūsu datorā. Chrome var to noņemt un atjaunot jūsu iestatījumus, lai pārlūks atkal darbotos, kā paredzēts.</translation> <translation id="4965808351167763748">Vai tiešām vēlaties iestatīt šo ierīci darbam ar Hangouts Meet?</translation> <translation id="4967749818080339523">Atlasiet kontu</translation> <translation id="496888482094675990">Izmantojot lietotni Faili, varat ērti piekļūt failiem, kas saglabāti Google diskā, ārējā krātuvē vai Chrome OS ierīcē.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Nevar apraidīt darbvirsmu.</translation> <translation id="6171948306033499786">Apturēt drukāšanu</translation> <translation id="6175314957787328458">Microsoft domēna GUID</translation> -<translation id="6176032031541598434">Aktīvais logs pārvietots uz apakšējo displeju</translation> <translation id="6178664161104547336">Sertifikāta atlasīšana</translation> <translation id="6181431612547969857">Lejupielāde ir bloķēta.</translation> -<translation id="6181803575025675566">Funkcijas darbību varat pārvaldīt sadaļā <ph name="LINK_START" />Iestatījumi<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Ierīces atrašanās vieta</translation> <translation id="6185696379715117369">Augšup</translation> <translation id="6189412234224385711">Atvērt ar paplašinājumu <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Diemžēl paroles neatbilst!</translation> <translation id="6736243959894955139">Adrese</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Lai gan jūs vairs nevarat piekļūt savam iepriekšējam profilam, jūs varat to noņemt.</translation> <translation id="6739923123728562974">Rādīt darbvirsmas saīsni</translation> <translation id="6740234557573873150">Apturēts: <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Pieejams skriptam</translation> -<translation id="6743841972744298686">Sinhronizācijas iestatījumi</translation> <translation id="6745592621698551453">Atjaunināt tūlīt</translation> <translation id="6746124502594467657">Pārvietot uz leju</translation> <translation id="674632704103926902">Iespējot vilkšanu pieskaroties</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Drukāt konkrētas lapas</translation> <translation id="6972180789171089114">Audio/video</translation> <translation id="6973630695168034713">Mapes</translation> -<translation id="6974053822202609517">No labās uz kreiso pusi</translation> <translation id="6976108581241006975">JavaScript konsole</translation> <translation id="6977381486153291903">Programmaparatūras pārskatīšana</translation> <translation id="6978121630131642226">Meklētāji</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Slēpt</translation> <translation id="7108634116785509031">Vietnē <ph name="HOST" /> tiek pieprasīta atļauja lietot jūsu kameru.</translation> <translation id="7108668606237948702">ievadīt</translation> -<translation id="7112978678959880812">Personalizēšana ir ieslēgta. Šo iestatījumu varat mainīt vietnē myaccount.google.com.</translation> <translation id="7113502843173351041">Piekļūt jūsu e-pasta adresei</translation> <translation id="7114054701490058191">Paroles nav vienādas</translation> <translation id="7117228822971127758">Lūdzu, vēlāk mēģiniet vēlreiz.</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Pārlādēt šo lapu</translation> <translation id="7222232353993864120">E-pasta adrese</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Iespējot ekrāna lupu</translation> <translation id="7223775956298141902">Diemžēl neviens paplašinājums nav instalēts :(</translation> <translation id="7225179976675429563">Nav norādīts tīkla veids</translation> <translation id="7228479291753472782">Mainiet iestatījumus, kas norāda, vai vietnes var izmantot tādas funkcijas kā ģeolokāciju, mikrofonu, kameru u. c.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Sapratu!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> automātiski pierakstās piemērotajās vietnēs, izmantojot jūsu saglabātās paroles.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (īpašnieks)</translation> -<translation id="7647231681210854996">Aktīvais logs pārvietots uz displeju pa labi</translation> <translation id="7648992873808071793">saglabāt failus šajā ierīcē</translation> <translation id="7649070708921625228">Palīdzība</translation> <translation id="7650511557061837441">“<ph name="TRIGGERING_EXTENSION_NAME" />” vēlas noņemt paplašinājumu “<ph name="EXTENSION_NAME" />”.</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Runājiet tūlīt</translation> <translation id="8372369524088641025">Neatbilstoša WEP atslēga</translation> <translation id="8373553483208508744">Izslēgt ciļņu skaņu</translation> -<translation id="8377870760189106701">Logs pa labi</translation> <translation id="8378285435971754261">Atļaujiet Google atrašanās vietu pakalpojumam palīdzēt lietotnēm ātri un precīzi noteikt jūsu atrašanās vietu. Tādējādi varat samazināt akumulatora enerģijas patēriņu. Google serveriem tiks sūtīti anonīmi atrašanās vietas dati, pat ja nedarbosies neviena lietotne. <ph name="BEGIN_LINK1" />Uzziniet vairāk<ph name="END_LINK1" />.</translation> <translation id="8381179624334829711">Pārvaldīt kameras iestatījumus...</translation> <translation id="8382913212082956454">Kopēt un nosūtīt adresi pa e-pastu</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Nospiediet, lai pārietu uz priekšu; atveriet kontekstizvēlni, lai skatītu vēsturi</translation> <translation id="8584280235376696778">Atvērt vide&o jaunā cilnē</translation> <translation id="8588866096426746242">Rādīt profila statistiku</translation> -<translation id="8589652987924574405">Jūsu grāmatzīmes, vēsture, paroles un citi iestatījumi tiks sinhronizēti ar jūsu Google kontu, lai jūs varētu tos izmantot visās savās ierīcēs. Varat jebkurā laikā to mainīt savos iestatījumos.</translation> <translation id="8590375307970699841">Iestatīt automātiskos atjauninājumus</translation> <translation id="8594908476761052472">Ierakstīt videoklipu</translation> <translation id="8596540852772265699">Pielāgotie faili</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Viesabonēšanas statuss</translation> <translation id="8620765578342452535">Konfigurēt tīkla savienojumus</translation> -<translation id="8620790565535071193">Meklēšana neizdevās</translation> <translation id="8624205858755890468">Ļauj Asistentam rādīt saistītu informāciju, lietotnes un darbības.</translation> <translation id="862542460444371744">Paplašināju&mi</translation> <translation id="8627151598708688654">Avota atlasīšana</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Google saglabātajām parolēm</translation> <translation id="8714838604780058252">Fona grafikas</translation> <translation id="8719653885894320876">Spraudni <ph name="PLUGIN_NAME" /> neizdevās lejupielādēt</translation> -<translation id="8721669057562068233">Aktīvais logs pārvietots uz augšējo displeju</translation> <translation id="8723829621484579639">Inkognito apkašrāmji vietnei <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Rādīt ma&pē</translation> <translation id="8725066075913043281">Mēģināt vēlreiz</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Skārienekrāna pildspalva</translation> <translation id="8787254343425541995">Ļaut starpniekserveru izmantošanu koplietotajiem tīkliem</translation> <translation id="8791534160414513928">Sūtīt pieprasījumu “Nesekot” savā pārlūkošanas datplūsmā</translation> -<translation id="8792609692701651064">Aktīvais logs pārvietots uz displeju pa kreisi</translation> <translation id="8794025342371547160">Ierobežota IP adrese</translation> <translation id="879413103056696865">Kamēr darbosies tīklājs, ierīcē <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Jauns logs</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Atvērt jaunā cilnē</translation> <translation id="9024331582947483881">pilnekrāna režīms</translation> <translation id="9025098623496448965">Labi, atgriezties pierakstīšanās ekrānā</translation> -<translation id="902659348151742535">Google var izmantot jūsu pārlūkošanas vēsturi, lai personalizētu Meklēšanu, reklāmas un citus Google pakalpojumus.</translation> <translation id="9026731007018893674">lejupielāde</translation> <translation id="9027146684281895941">Uzraugiet šo personu, lai kontrolētu un skatītu vietnes, ko šis lietotājs apmeklē, izmantojot jūsu Google kontu.</translation> <translation id="9027459031423301635">Atvēr&t saiti jaunā cilnē</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb index a13d51a..9dc0abc 100644 --- a/chrome/app/resources/generated_resources_ml.xtb +++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">നെറ്റ്വർക്കുകളൊന്നും ഇല്ല</translation> <translation id="1056898198331236512">മുന്നറിയിപ്പ്</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">ദോഷകരമായ സോഫ്റ്റ്വെയർ നീക്കംചെയ്യാനായില്ല</translation> <translation id="1062407476771304334">മാറ്റിസ്ഥാപിക്കുക</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />സൂപ്പർവൈസുചെയ്ത ഉപയോക്താക്കളുടെ ഡാഷ്ബോർഡ്<ph name="END_LINK" /> വഴി സൂപ്പർവൈസുചെയ്ത ഉപയോക്താക്കളെ നിയന്ത്രിക്കുക.</translation> <translation id="1064835277883315402">സ്വകാര്യ നെറ്റ്വർക്കിൽ ചേരുക</translation> @@ -53,7 +52,7 @@ <ph name="EXTENSION_NAME" /></translation> <translation id="1071917609930274619">ഡാറ്റ എന്സിഫെര്മെന്റ്</translation> -<translation id="1074944608454986967">ഉള്ളടക്കം ഉറക്കെ വായിക്കാൻ, തിരയൽ അമർത്തിപ്പിടിക്കുക, എന്നിട്ട് ഉള്ളടക്കം തിരഞ്ഞെടുക്കാന് ക്ലിക്ക് ചെയ്യുകയോ വലിച്ചിടുകയോ ചെയ്യുക. അല്ലെങ്കിൽ ഒരു മേഖല തിരഞ്ഞെടുക്കുക, 'തിരയുക + S' ഉപയോഗിക്കുക.</translation> +<translation id="1074944608454986967">ഉള്ളടക്കം ഉറക്കെ വായിക്കാൻ, തിരയൽ അമർത്തിപ്പിടിക്കുക, എന്നിട്ട് ഉള്ളടക്കം തിരഞ്ഞെടുക്കാൻ ക്ലിക്ക് ചെയ്യുകയോ വലിച്ചിടുകയോ ചെയ്യുക. അല്ലെങ്കിൽ ഒരു മേഖല തിരഞ്ഞെടുക്കുക, 'തിരയുക + S' ഉപയോഗിക്കുക.</translation> <translation id="1076698951459398590">തീം പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="1076818208934827215">Microsoft Internet Explorer</translation> <translation id="1077946062898560804">എല്ലാ ഉപയോക്താക്കള്ക്കും ഓട്ടോമാറ്റിക്ക് അപ്ഡേറ്റുകള് ക്രമീകരിക്കുക</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">ഒരു ഫയല് തിരഞ്ഞെടുക്കുക</translation> <translation id="136802136832547685">ഈ ഉപകരണത്തിൽ ചേർക്കാൻ സൂപ്പർവൈസുചെയ്ത ഉപയോക്താക്കൾ ആരുമില്ല.</translation> <translation id="1368265273904755308">പ്രശ്നം റിപ്പോര്ട്ടുചെയ്യുക</translation> -<translation id="1368832886055348810">ഇടതുനിന്ന് വലത്തേക്ക്</translation> <translation id="1370646789215800222">ഉപയോക്താവിനെ നീക്കംചെയ്യണോ?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 ഇനം നീക്കം ചെയ്യാനുണ്ട്}other{# ഇനങ്ങൾ നീക്കം ചെയ്യാനുണ്ട്}}</translation> <translation id="1372841398847029212">നിങ്ങളുടെ അക്കൗണ്ടിലേക്ക് സമന്വയിപ്പിക്കുക</translation> @@ -401,7 +399,6 @@ <translation id="1608626060424371292">ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യുക</translation> <translation id="1609170755653088773">നിങ്ങളുടെ iPhone-ൽ ഈ പാസ്വേഡ് സമന്വയിപ്പിക്കുക</translation> <translation id="1609862759711084604">മുമ്പത്തെ ഉപയോക്താവ്</translation> -<translation id="1611557582955786626">ഉപകരണങ്ങളിൽ ഉടനീളം സമന്വയിപ്പിച്ച, വ്യക്തിപരമാക്കിയ ബ്രൗസിംഗ് അനുഭവത്തിനായി സൈൻ ഇൻ ചെയ്യുക</translation> <translation id="1611584202130317952">പ്രൊവിഷനിംഗ് ഫ്ലോ തടസ്സപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുക അല്ലെങ്കിൽ നിങ്ങളുടെ ഉപകരണ ഉടമയെയോ അഡ്മിനിസ്ട്രേറ്ററെയോ ബന്ധപ്പെടുക.</translation> <translation id="1611649489706141841">കൈമാറുക</translation> <translation id="1611704746353331382">HTML ഫയലിലേക്ക് ബുക്ക്മാർക്കുകൾ എക്സ്പോർട്ടുചെയ്യുക...</translation> @@ -569,7 +566,6 @@ <translation id="1856715684130786728">ലൊക്കേഷൻ ചേർക്കുക...</translation> <translation id="1856813161013948396">വിരലടയാള സെൻസറിൽ ടാപ്പുചെയ്തുകൊണ്ട് ലോക്ക് സ്ക്രീൻ ഒഴിവാക്കുക. കോൺഫിഗർ ചെയ്യാൻ ക്ലിക്കുചെയ്യുക.</translation> <translation id="1858585891038687145">സോഫ്റ്റ്വെയർ നിർമ്മാതാക്കളെ തിരിച്ചറിയുന്നതിന് ഈ സർട്ടിഫിക്കറ്റിനെ വിശ്വസിക്കുക</translation> -<translation id="1859234291848436338">എഴുതേണ്ട ദിശ</translation> <translation id="1861262398884155592">ഈ ഫോൾഡറിൽ ഒന്നുമില്ല</translation> <translation id="1864111464094315414">സൈൻ ഇൻ</translation> <translation id="1864400682872660285">കൂളർ</translation> @@ -646,7 +642,7 @@ <translation id="1989112275319619282">ബ്രൗസുചെയ്യുക</translation> <translation id="1992397118740194946">സജ്ജമാക്കിയിട്ടില്ല</translation> <translation id="1994173015038366702">സൈറ്റ് URL</translation> -<translation id="1997484222658892567">നിങ്ങളുടെ ലോക്കൽ കമ്പ്യൂട്ടറില് ശാശ്വതമായി വലിയ ഡാറ്റ സംഭരിക്കാന് <ph name="URL" />ആഗ്രഹിക്കുന്നു</translation> +<translation id="1997484222658892567">നിങ്ങളുടെ ലോക്കൽ കമ്പ്യൂട്ടറിൽ ശാശ്വതമായി വലിയ ഡാറ്റ സംഭരിക്കാൻ <ph name="URL" />ആഗ്രഹിക്കുന്നു</translation> <translation id="1997616988432401742">നിങ്ങളുടെ സർട്ടിഫിക്കറ്റുകൾ</translation> <translation id="1999115740519098545">തുടക്കത്തില്</translation> <translation id="2006638907958895361"><ph name="APP" /> ആപ്പില് ലിങ്ക് തുറക്കുക</translation> @@ -812,7 +808,7 @@ <translation id="2256115617011615191">ഇപ്പോൾ വീണ്ടും ആരംഭിക്കുക</translation> <translation id="225614027745146050">സ്വാഗതം</translation> <translation id="225692081236532131">സജീവമാക്കല് സ്റ്റാറ്റസ്</translation> -<translation id="2261323523305321874">ചില പഴയ പ്രൊഫൈലുകളെ പ്രവർത്തനരഹിതമാക്കുന്ന തരത്തില് അഡ്മിനിസ്ട്രേറ്റർ നിങ്ങളുടെ സിസ്റ്റത്തിലാകമാനം മാറ്റം വരുത്തിയിരിക്കുന്നു.</translation> +<translation id="2261323523305321874">ചില പഴയ പ്രൊഫൈലുകളെ പ്രവർത്തനരഹിതമാക്കുന്ന തരത്തിൽ അഡ്മിനിസ്ട്രേറ്റർ നിങ്ങളുടെ സിസ്റ്റത്തിലാകമാനം മാറ്റം വരുത്തിയിരിക്കുന്നു.</translation> <translation id="2262477216570151239">ആവർത്തിക്കുന്നതിന് മുമ്പുള്ള സമയം</translation> <translation id="2263189956353037928">സൈൻ ഔട്ട് ചെയ്ത് വീണ്ടും സൈൻ ഇൻ ചെയ്യുക</translation> <translation id="2263497240924215535">(അപ്രാപ്തമാക്കി)</translation> @@ -1131,7 +1127,6 @@ <translation id="2737363922397526254">സങ്കോചിപ്പിക്കുക...</translation> <translation id="2737492745329609575">സജ്ജീകരണം ആരംഭിക്കുക</translation> <translation id="2738771556149464852">അതിനുശേഷമല്ല</translation> -<translation id="2739046699559178272">സംരക്ഷിച്ച് തുടരുക</translation> <translation id="2739191690716947896">ഡീബഗ് ചെയ്യുക</translation> <translation id="2739240477418971307">നിങ്ങളുടെ ഉപയോഗസഹായി ക്രമീകരണങ്ങൾ മാറ്റുക</translation> <translation id="2740393541869613458">സൂപ്പർവൈസുചെയ്ത ഉപയോക്താവ് സന്ദർശിച്ച വെബ്സൈറ്റുകളും ഒപ്പം ഇനിപ്പറയുന്നതും അവലോകനം ചെയ്യുക</translation> @@ -1157,7 +1152,6 @@ <translation id="2783298271312924866">ഡൗൺലോഡുചെയ്തു</translation> <translation id="2783661497142353826">കിയോസ്ക് അപ്ലിക്കേഷനുകൾ നിയന്ത്രിക്കുക</translation> <translation id="2784407158394623927">നിങ്ങളുടെ മൊബൈല് ഡാറ്റ സേവനം സജീവമാക്കുന്നു</translation> -<translation id="2785530881066938471">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി '<ph name="RELATIVE_PATH" />' ഫയല് ലോഡുചെയ്യാന് കഴിഞ്ഞില്ല. ഇത് UTF-8 എന്കോഡുചെയ്തതല്ല.</translation> <translation id="2785873697295365461">ഫയൽ ഡിസ്ക്രിപ്റ്ററുകൾ</translation> <translation id="2787047795752739979">യഥാർത്ഥമായതിനെ പുനരാലേഖനം ചെയ്യുക</translation> <translation id="2788135150614412178">+</translation> @@ -1243,7 +1237,6 @@ <translation id="2889925978073739256">അൺസാൻഡ്ബോക്സ് ചെയ്ത പ്ലഗിന്നുകൾ തടയുന്നത് തുടരുക</translation> <translation id="2890678560483811744">പേജ് റഫറൻസ് പരിധി കവിഞ്ഞു</translation> <translation id="2893168226686371498">ഡിഫോൾട്ട് ബ്രൗസര്</translation> -<translation id="2893453364759632532">വിൻഡോ താഴേക്ക്</translation> <translation id="289644616180464099">സിം കാർഡ് ലോക്കുചെയ്തു</translation> <translation id="289695669188700754">കീ ഐഡി: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">നിങ്ങള് <ph name="TAB_COUNT" /> ടാബുകള് തുറക്കാന് പോവുകയാണെന്ന് ഉറപ്പുണ്ടോ?</translation> @@ -1356,7 +1349,6 @@ <translation id="304567287000691532">സ്ക്രീൻ പങ്കിടൽ</translation> <translation id="3046910703532196514">വെബ്പേജ്, പൂർണ്ണമായും</translation> <translation id="304826556400666995">ടാബുകൾ അൺമ്യൂട്ട് ചെയ്യുക</translation> -<translation id="3051523411789012618">വിൻഡോ മുകളിലേക്ക്</translation> <translation id="3053013834507634016">സര്ട്ടിഫിക്കറ്റ് കീ ഉപയോഗം</translation> <translation id="3057861065630527966">നിങ്ങളുടെ ഫോട്ടോകളും വീഡിയോകളും ബാക്കപ്പുചെയ്യുക</translation> <translation id="3060379269883947824">'വായിച്ചുകേൾക്കാൻ തിരഞ്ഞെടുക്കുക' പ്രവർത്തനക്ഷമമാക്കുക</translation> @@ -1386,7 +1378,6 @@ <translation id="3090193911106258841">ഓഡിയോ, വീഡിയോ ഇൻപുട്ട് ആക്സസ്സുചെയ്യുന്നു</translation> <translation id="3090819949319990166"><ph name="TEMP_CRX_FILE" /> എന്നതിലേക്ക് ബാഹ്യ crx ഫയൽ പകർത്താനാവില്ല.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ജോടിയാക്കി</translation> -<translation id="3097628171361913691">Zip ഫയൽ ഇൻസ്റ്റാളർ</translation> <translation id="3100609564180505575">മൊഡ്യൂളുകള് (<ph name="TOTAL_COUNT" />) - അറിഞ്ഞ പൊരുത്തക്കേടുകള്: <ph name="BAD_COUNT" />, സംശയിക്കുന്നവ: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">തീയതിയും സമയവും</translation> <translation id="3108967419958202225">തിരഞ്ഞെടുക്കുക...</translation> @@ -1508,7 +1499,6 @@ <translation id="3300394989536077382">സൈന് ചെയ്തത്</translation> <translation id="33022249435934718">GDI കൈകാര്യംചെയ്യുന്നവ</translation> <translation id="3302340765592941254">ഡൗൺലോഡ് പൂർത്തിയാകൽ അറിയിപ്പ്</translation> -<translation id="3302709122321372472">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി css '<ph name="RELATIVE_PATH" />' ലോഡുചെയ്യാനായില്ല.</translation> <translation id="3303260552072730022">ഒരു വിപുലീകരണം പൂർണ്ണസ്ക്രീനിൽ പ്രവർത്തനക്ഷമമാക്കി.</translation> <translation id="3303818374450886607">പകര്പ്പുകള്</translation> <translation id="3303855915957856445">തിരയൽ ഫലങ്ങളൊന്നും കണ്ടെത്തിയില്ല</translation> @@ -1889,7 +1879,6 @@ <translation id="3856800405688283469">സമയ മേഖല തിരഞ്ഞെടുക്കുക</translation> <translation id="3856921555429624101">ഡാറ്റ ഉപയോഗം കണക്കാക്കുന്നത് അവസാനിച്ചു</translation> <translation id="3857228364945137633">നിങ്ങളുടെ ഫോൺ സമീപത്തുള്ളപ്പോൾ, പാസ്വേഡ് ഇല്ലാതെ <ph name="DEVICE_TYPE" /> അൺലോക്കുചെയ്യുന്നതിന് Smart Lock പരീക്ഷിക്കുക.</translation> -<translation id="3857732810083914482">വ്യക്തിഗതമാക്കൽ ഓഫാണ്. നിങ്ങൾക്കിത് myaccount.google.com-ൽ മാറ്റാം.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meet-ലേക്ക് സ്വാഗതം</translation> <translation id="3862134173397075045">Chrome-ലെ Cast അനുഭവത്തിലേക്ക് സ്വാഗതം!</translation> @@ -1979,7 +1968,6 @@ <translation id="399179161741278232">ഇറക്കുമതിചെയ്തു</translation> <translation id="3994374631886003300">നിങ്ങളുടെ ഫോൺ അൺലോക്കുചെയ്ത്, <ph name="DEVICE_TYPE" /> അൺലോക്കുചെയ്യാൻ അടുത്തേക്ക് കൊണ്ടുവരിക.</translation> <translation id="3994878504415702912">&സൂം ചെയ്യുക</translation> -<translation id="39964277676607559">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി javascript '<ph name="RELATIVE_PATH" />' ലോഡ് ചെയ്യാന് കഴിഞ്ഞില്ല.</translation> <translation id="4002066346123236978">ശീർഷകം</translation> <translation id="40027638859996362">പദം നീക്കല്</translation> <translation id="4005817994523282006">സമയ മേഖല തിരിച്ചറിയൽ രീതി</translation> @@ -2158,7 +2146,6 @@ <translation id="4336032328163998280">പകർത്തൽ പ്രവർത്തനം പരാജയപ്പെട്ടു. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">നെറ്റ്വർക്ക് ലോഗുകൾക്കായി ഇത് കാണുക: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android ആപ്പുകൾ ഡൗൺലോഡുചെയ്ത് ഉപയോഗിക്കുന്നതിന് ആദ്യം നിങ്ങൾ ഒരു അപ്ഡേറ്റ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. അപ്ഡേറ്റ് ചെയ്യുമ്പോൾ നിങ്ങൾക്ക് ഉപകരണം ഉപയോഗിക്കാനാവില്ല. ഇൻസ്റ്റാൾ ചെയ്യൽ പൂർത്തിയായ ശേഷം നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> പുനരാരംഭിക്കും.</translation> -<translation id="4338683191474220626">വിൻഡോ ഇടത്തേക്ക്</translation> <translation id="4340515029017875942">"<ph name="EXTENSION_NAME" />" അപ്ലിക്കേഷൻ ഉപയോഗിച്ച് <ph name="ORIGIN" /> എന്നത് ആശയവിനിമയം നടത്താൻ താൽപ്പര്യപ്പെടുന്നു</translation> <translation id="4342311272543222243">ക്ഷമിക്കണം, TPM പിശക്.</translation> <translation id="4345587454538109430">ക്രമീകരിക്കുക...</translation> @@ -2310,7 +2297,6 @@ <translation id="4615586811063744755">കുക്കികളൊന്നും തിരഞ്ഞെടുത്തിട്ടില്ല</translation> <translation id="4617270414136722281">വിപുലീകരണ ഓപ്ഷനുകൾ</translation> <translation id="4619615317237390068">മറ്റ് ഉപകരണങ്ങളിൽ നിന്നുള്ള ടാബുകൾ</translation> -<translation id="4620809267248568679">ഈ ക്രമീകരണം നടപ്പിലാക്കുന്നത് ഒരു വിപുലീകരണമാണ്.</translation> <translation id="4624768044135598934">വിജയിച്ചു!</translation> <translation id="4625078469366263107">ആപ്പ് പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="4627427111733173920">കുക്കികളെ ബ്ലോക്ക് ചെയ്തു</translation> @@ -2531,7 +2517,6 @@ <translation id="496226124210045887">നിങ്ങൾ തിരഞ്ഞെടുത്ത ഫോൾഡറിൽ സുപ്രധാന ഫയലുകൾ അടങ്ങിയിരിക്കുന്നു. ഈ ഫോൾഡറിലേക്ക് "$1" എന്നതിന് ശാശ്വതമായ റീഡ് ആക്സസ്സ് അനുവദിക്കണമെന്ന് നിങ്ങൾക്ക് തീർച്ചയാണോ?</translation> <translation id="4964455510556214366">ക്രമീകരണം</translation> <translation id="4964673849688379040">പരിശോധിക്കുന്നു...</translation> -<translation id="4965682129423310439">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ Chrome ദോഷകരമായ സോഫ്റ്റ്വെയർ കണ്ടെത്തി. നിങ്ങളുടെ ബ്രൗസറിനെ വീണ്ടും സാധാരണഗതിയിൽ പ്രവർത്തിപ്പിക്കുന്നതിന് Chrome-ന് അത് നീക്കംചെയ്യാനും ക്രമീകരണം പുനഃസ്ഥാപിക്കാനും കഴിയും.</translation> <translation id="4965808351167763748">Hangouts Meet റൺ ചെയ്യാനായി ഈ ഉപകരണം സജ്ജമാക്കണോ?</translation> <translation id="4967749818080339523">ഒരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക</translation> <translation id="496888482094675990">ഫയലുകളുടെ അപ്ലിക്കേഷൻ, നിങ്ങൾ Google ഡ്രൈവിലോ ബാഹ്യ സംഭരണത്തിലോ Chrome OS ഉപകരണത്തിലോ സംരക്ഷിച്ചിരിക്കുന്ന ഫയലുകളിലേക്ക് പെട്ടന്നുള്ള ആക്സസ്സ് നൽകുന്നു.</translation> @@ -3305,10 +3290,8 @@ <translation id="6169666352732958425">ഡെസ്ക്ടോപ്പ് കാസ്റ്റുചെയ്യാനാകുന്നില്ല.</translation> <translation id="6171948306033499786">പ്രിന്റിംഗ് താൽക്കാലികമായി നിർത്തുക</translation> <translation id="6175314957787328458">Microsoft ഡൊമെയ്ന് GUID</translation> -<translation id="6176032031541598434">സജീവ വിൻഡോ ചുവടെയുള്ള ഡിസ്പ്ലേയിലേക്ക് നീക്കി</translation> <translation id="6178664161104547336">ഒരു സര്ട്ടിഫിക്കറ്റ് തിരഞ്ഞെടുക്കുക</translation> <translation id="6181431612547969857">ഡൗൺലോഡ് തടഞ്ഞു</translation> -<translation id="6181803575025675566"><ph name="LINK_START" />ക്രമീകരണത്തിൽ<ph name="LINK_END" /> ഇത് പ്രവർത്തിക്കുന്ന രീതി നിയന്ത്രിക്കുക.</translation> <translation id="6185132558746749656">ഉപകരണ ലൊക്കേഷൻ</translation> <translation id="6185696379715117369">Page up</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ഉപയോഗിച്ച് തുറക്കുക</translation> @@ -3657,11 +3640,9 @@ <translation id="6736045498964449756">ക്ഷമിക്കണം, പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല!</translation> <translation id="6736243959894955139">വിലാസം</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">നിങ്ങളുടെ പഴയ പ്രൊഫൈൽ ഇനിയങ്ങോട്ട് ആക്സസ് ചെയ്യാനാകില്ലെങ്കിലും നിങ്ങൾക്കത് ഇല്ലാതാക്കാം.</translation> <translation id="6739923123728562974">ഡെസ്ക്ടോപ്പ് കുറുക്കുവഴി കാണിക്കുക</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> താൽക്കാലികമായി നിർത്തി</translation> <translation id="6742339027238151589">സ്ക്രിപ്റ്റ് ആക്സസ് ചെയ്യാനാവും</translation> -<translation id="6743841972744298686">സമന്വയ ക്രമീകരണം</translation> <translation id="6745592621698551453">ഇപ്പോൾ അപ്ഡേറ്റുചെയ്യുക</translation> <translation id="6746124502594467657">താഴേക്ക് നീക്കുക</translation> <translation id="674632704103926902">ടാപ്പുചെയ്ത് വലിച്ചിടൽ പ്രവർത്തനക്ഷമമാക്കുക</translation> @@ -3791,7 +3772,6 @@ <translation id="6970856801391541997">പ്രിന്റ് പ്രത്യേക പേജുകൾ</translation> <translation id="6972180789171089114">ഓഡിയോ/വീഡിയോ</translation> <translation id="6973630695168034713">ഫോൾഡറുകൾ</translation> -<translation id="6974053822202609517">വലത്ത് നിന്ന് ഇടത്തേക്ക്</translation> <translation id="6976108581241006975">JavaScript കണ്സോള്</translation> <translation id="6977381486153291903">ഫേംവെയർ പുനരവലോകനം</translation> <translation id="6978121630131642226">സെര്ച്ച് എഞ്ചിനുകള്</translation> @@ -3890,7 +3870,6 @@ <translation id="7108338896283013870">മറയ്ക്കുക</translation> <translation id="7108634116785509031">നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കാൻ <ph name="HOST" /> ആഗ്രഹിക്കുന്നു</translation> <translation id="7108668606237948702">നല്കുക</translation> -<translation id="7112978678959880812">വ്യക്തിഗതമാക്കൽ ഓണാണ്. നിങ്ങൾക്കിത് myaccount.google.com-ൽ മാറ്റാം.</translation> <translation id="7113502843173351041">നിങ്ങളുടെ ഇമെയിൽ വിലാസം അറിയുക</translation> <translation id="7114054701490058191">പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല</translation> <translation id="7117228822971127758">പിന്നീട് വീണ്ടും ശ്രമിക്കുക</translation> @@ -3955,7 +3934,6 @@ <translation id="7221869452894271364">ഈ പേജ് വീണ്ടും ലോഡ് ചെയ്യുക</translation> <translation id="7222232353993864120">ഇമെയില് വിലാസം</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">സ്ക്രീൻ മാഗ്നിഫയർ പ്രാപ്തമാക്കുക</translation> <translation id="7223775956298141902">അയ്യോ... നിങ്ങൾക്ക് വിപുലീകരണങ്ങൾ ഒന്നുമില്ല :-(</translation> <translation id="7225179976675429563">നെറ്റ്വർക്ക് തരം നഷ്ടമായി</translation> <translation id="7228479291753472782">വെബ്സൈറ്റിന് ജിയോലൊക്കേഷൻ, മൈക്രോഫോൺ, ക്യാമറ എന്നിവ പോലുള്ള ഫീച്ചറുകൾ ഉപയോഗിക്കാൻ കഴിയുമോ എന്ന് വ്യക്തമാക്കുന്ന ക്രമീകരണം കൈകാര്യം ചെയ്യുക.</translation> @@ -4211,7 +4189,6 @@ <translation id="7639178625568735185">ലഭിച്ചു!</translation> <translation id="764017888128728">നിങ്ങൾ സംരക്ഷിച്ച പാസ്വേഡുകൾ ഉപയോഗിച്ച് യോഗ്യമായ സൈറ്റുകളിലേക്ക് <ph name="PASSWORD_MANAGER_BRAND" /> സ്വയമേവ നിങ്ങളെ സൈൻ ഇൻ ചെയ്യിക്കുന്നു.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (ഉടമ)</translation> -<translation id="7647231681210854996">സജീവ വിൻഡോ വലത് വശത്തുള്ള ഡിസ്പ്ലേയിലേക്ക് നീക്കി</translation> <translation id="7648992873808071793">ഈ ഉപകരണത്തിൽ ഫയലുകൾ സംഭരിക്കുക</translation> <translation id="7649070708921625228">സഹായം</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />", "<ph name="EXTENSION_NAME" />" നീക്കംചെയ്യാൻ താൽപ്പര്യപ്പെടുന്നു.</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">ഇപ്പോള് സംസാരിക്കുക</translation> <translation id="8372369524088641025">മോശം WEP കീ</translation> <translation id="8373553483208508744">ടാബുകൾ മ്യൂട്ടുചെയ്യുക</translation> -<translation id="8377870760189106701">വലത് വശത്തെ വിൻഡോ</translation> <translation id="8378285435971754261">നിങ്ങളുടെ ലൊക്കേഷൻ വേഗത്തിൽ കൃത്യതയോടെ കണ്ടെത്താൻ ആപ്സിനെ സഹായിക്കുന്നതിന് Google-ന്റെ ലൊക്കേഷൻ സേവനത്തെ അനുവദിക്കുക, ഇതിന് ബാറ്ററി ഉപഭോഗം കുറയ്ക്കാനാകും. ഒരു ആപ്സും പ്രവർത്തിക്കാത്തപ്പോൾ പോലും അജ്ഞാതമായ ലൊക്കേഷൻ വിവരങ്ങൾ Google-ന് അയയ്ക്കും. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">ക്യാമറ ക്രമീകരണം നിയന്ത്രിക്കുക...</translation> <translation id="8382913212082956454">ഇമെയില് വിലാസം& പകര്ത്തുക</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">ചരിത്രം കാണാൻ മുമ്പോട്ട് പോകുന്നതിന് സന്ദർഭ മെനു അമർത്തുക</translation> <translation id="8584280235376696778">&വീഡിയോ പുതിയ ടാബില് തുറക്കുക</translation> <translation id="8588866096426746242">പ്രൊഫൈൽ സ്ഥിതിവിവരക്കണക്കുകൾ കാണിക്കുക</translation> -<translation id="8589652987924574405">നിങ്ങളുടെ ബുക്ക്മാർക്കുകൾ, ചരിത്രം, പാസ്വേഡുകൾ എന്നിവയും മറ്റ് ക്രമീകരണവും Google അക്കൗണ്ടിലേക്ക് സമന്വയിപ്പിക്കുന്നതിനാൽ എല്ലാ ഉപകരണങ്ങളിലും ഉപയോഗിക്കാനാകും. പിന്നീട് എപ്പോൾ വേണമെങ്കിലും ക്രമീകരണത്തിൽ ഇത് മാറ്റാം.</translation> <translation id="8590375307970699841">ഓട്ടോമാറ്റിക്ക് അപ്ഡേറ്റുകള് ക്രമീകരിക്കുക</translation> <translation id="8594908476761052472">വീഡിയോ എടുക്കുക</translation> <translation id="8596540852772265699">ഇഷ്ടാനുസൃത ഫയലുകള്</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">റോമിംഗ് നില</translation> <translation id="8620765578342452535">നെറ്റ്വർക്ക് കണക്ഷനുകൾ കോൺഫിഗർ ചെയ്യുക</translation> -<translation id="8620790565535071193">സ്കാനിംഗ് പരാജയപ്പെട്ടു</translation> <translation id="8624205858755890468">ബന്ധപ്പെട്ട വിവരങ്ങളും ആപ്പുകളും പ്രവർത്തനങ്ങളും നിങ്ങളെ കാണിക്കാൻ സഹായിയെ പ്രവർത്തനക്ഷമമാക്കുന്നു.</translation> <translation id="862542460444371744">&വിപുലീകരണങ്ങള്</translation> <translation id="8627151598708688654">ഉറവിടം തിരഞ്ഞെടുക്കുക</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">Google സംരക്ഷിത പാസ്വേഡുകൾ</translation> <translation id="8714838604780058252">പശ്ചാത്തല ഗ്രാഫിക്സ്</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> ഡൗൺലോഡ് ചെയ്യാനായില്ല</translation> -<translation id="8721669057562068233">സജീവ വിൻഡോ, മുകളിലുള്ള ഡിസ്പ്ലേയിലേക്ക് നീക്കി</translation> <translation id="8723829621484579639">ഇനിപ്പറയുന്നതിന്റെ ഇൻകോഗ്നിറ്റോ ഉപഫ്രെയിമുകൾ: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&ഫോള്ഡറില് കാണിക്കുക</translation> <translation id="8725066075913043281">വീണ്ടും ശ്രമിക്കുക</translation> @@ -4928,7 +4901,6 @@ <translation id="8785622406424941542">സ്റ്റൈലസ്</translation> <translation id="8787254343425541995">പങ്കിട്ട നെറ്റ്വർക്കുകൾക്കായി പ്രോക്സികൾ അനുവദിക്കുക</translation> <translation id="8791534160414513928">നിങ്ങളുടെ ബ്രൗസിംഗ് ട്രാഫിക്ക് ഉപയോഗിച്ച് ഒരു "ട്രാക്കുചെയ്യരുത്" അഭ്യർത്ഥന അയയ്ക്കുക</translation> -<translation id="8792609692701651064">സജീവ വിൻഡോ ഇടത് വശത്തുള്ള ഡിസ്പ്ലേയിലേക്ക് നീക്കി</translation> <translation id="8794025342371547160">നിയന്ത്രിത IP</translation> <translation id="879413103056696865">ഹോട്ട്സ്പോട്ട് ഓണായിരിക്കുമ്പോൾ, നിങ്ങളുടെ <ph name="PHONE_NAME" /> ഇനിപ്പറയുന്നവ ചെയ്യും:</translation> <translation id="8795916974678578410">പുതിയ വിന്ഡോ</translation> @@ -5065,7 +5037,6 @@ <translation id="9024127637873500333">&പുതിയ ടാബില് തുറക്കുക</translation> <translation id="9024331582947483881">പൂര്ണ്ണ സ്ക്രീന്</translation> <translation id="9025098623496448965">ശരി, എന്നെ സൈൻ ഇൻ സ്ക്രീനിലേക്ക് തിരിച്ചുകൊണ്ടുപോകുക</translation> -<translation id="902659348151742535">തിരയലും പരസ്യങ്ങളും മറ്റ് Google സേവനങ്ങളും വ്യക്തിപരമാക്കാൻ Google നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രം ഉപയോഗിച്ചേക്കാം.</translation> <translation id="9026731007018893674">ഡൌണ്ലോഡുചെയ്യുക</translation> <translation id="9027146684281895941">നിങ്ങളുടെ Google അക്കൗണ്ടിൽ നിന്ന് ഈ വ്യക്തി സന്ദർശിക്കുന്ന വെബ്സൈറ്റുകൾ നിയന്ത്രിക്കാനും കാണാനും ഇയാളെ നിരീക്ഷിക്കുക.</translation> <translation id="9027459031423301635">ലിങ്ക് പുതിയ &ടാബില് തുറക്കുക</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb index acf53e0..643e1d2 100644 --- a/chrome/app/resources/generated_resources_mr.xtb +++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">कोणतीही नेटवर्क नाहीत</translation> <translation id="1056898198331236512">चेतावणी</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">धोकादायक सॉफ्टवेअर काढू शकलो नाही</translation> <translation id="1062407476771304334">पुनर्स्थित करा</translation> <translation id="1062866675591297858">आपले पर्यवेक्षित वापरकर्ते <ph name="BEGIN_LINK" />पर्यवेक्षित वापरकर्ते डॅशबोर्ड<ph name="END_LINK" /> द्वारे व्यवस्थापित करा.</translation> <translation id="1064835277883315402">खाजगी नेटवर्कवर रुजू व्हा</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">फाइल निवडा</translation> <translation id="136802136832547685">या डिव्हाइसमध्ये जोडण्यासाठी कोणतेही पर्यवेक्षी वापरकर्ते नाहीत.</translation> <translation id="1368265273904755308">समस्येचा अहवाल द्या</translation> -<translation id="1368832886055348810">डावीकडून उजवीकडे</translation> <translation id="1370646789215800222">व्यक्तीस काढायचे?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{काढण्यासाठी 1 आयटम}one{काढण्यासाठी # आयटम}other{काढण्यासाठी # आयटम}}</translation> <translation id="1372841398847029212">तुमच्या खात्याशी सिंक करा</translation> @@ -402,7 +400,6 @@ <translation id="1608626060424371292">हा वापरकर्ता काढा</translation> <translation id="1609170755653088773">आपल्या iPhone वर हा पासवर्ड संकालित करा</translation> <translation id="1609862759711084604">मागील वापरकर्ता</translation> -<translation id="1611557582955786626">तुमच्या सिंक केलेल्या सर्व डिव्हाइसवर, ब्राउझ करण्याच्या पर्सनलाइझ केलेल्या अनुभवासाठी साइन इन करा</translation> <translation id="1611584202130317952">तरतूद प्रवाहात व्यत्यय आला होता. कृपया पुन्हा प्रयत्न करा किंवा तुमच्या डिव्हाइसच्या मालकाशी किंवा अॅडमिनिस्ट्रेटरशी संपर्क साधा.</translation> <translation id="1611649489706141841">अग्रेषित करा</translation> <translation id="1611704746353331382">HTML फायलीमध्ये बुकमार्क निर्यात करा...</translation> @@ -570,7 +567,6 @@ <translation id="1856715684130786728">स्थान जोडा...</translation> <translation id="1856813161013948396">फक्त फिंगरप्रिंट सेन्सरवर टॅप करून लॉक स्क्रीन वगळा. कॉन्फिगर करण्यासाठी क्लिक करा.</translation> <translation id="1858585891038687145">सॉफ्टवेअर निर्मात्यांना ओळखण्याकरिता या प्रमाणपत्रावर विश्वास ठेवा</translation> -<translation id="1859234291848436338">लिहिण्याची दिशा</translation> <translation id="1861262398884155592">हे फोल्डर रिक्त आहे</translation> <translation id="1864111464094315414">लॉगिन</translation> <translation id="1864400682872660285">थंड</translation> @@ -1017,7 +1013,7 @@ <translation id="2586657967955657006">क्लिपबोर्ड</translation> <translation id="2586672484245266891">कृपया एक लहान URL टाका</translation> <translation id="2587922270115112871">पर्यवेक्षी वापरकर्ता तयार करण्याने Google खाते तयार होत नाही आणि त्यांच्या सेटिंग्ज आणि डेटा - Chrome Sync सह इतर डिव्हाइसवर त्यांचे अनुसरण करणार नाही. पर्यवेक्षी वापरकर्ता केवळ या डिव्हाइसवर लागू होतो.</translation> + Chrome Sync सह इतर डिव्हाइसवर त्यांचे फॉलो करणार नाही. पर्यवेक्षी वापरकर्ता केवळ या डिव्हाइसवर लागू होतो.</translation> <translation id="258932246702879617"><ph name="BEGIN_BOLD" />टास्कबारवर पिन करा<ph name="END_BOLD" /> निवडा</translation> <translation id="259421303766146093">विशालित करू नका</translation> <translation id="2594999711683503743">Google वर शोधा किंवा URL टाइप करा</translation> @@ -1132,7 +1128,6 @@ <translation id="2737363922397526254">संकुचित करा...</translation> <translation id="2737492745329609575">सेट करणे सुरू करा</translation> <translation id="2738771556149464852">नंतर नाही</translation> -<translation id="2739046699559178272">सेव्ह करा आणि सुरू ठेवा</translation> <translation id="2739191690716947896">डीबग</translation> <translation id="2739240477418971307">आपल्या प्रवेशयोग्यता सेटिंग्ज बदला</translation> <translation id="2740393541869613458">पर्यवेक्षी वापरकर्त्याने भेट दिलेल्या वेबसाइटचे पुनरावलोकन करा आणि</translation> @@ -1158,7 +1153,6 @@ <translation id="2783298271312924866">डाउनलोड केलेले</translation> <translation id="2783661497142353826">कियोस्क अॅप्लिकेशन व्यवस्थापित करा</translation> <translation id="2784407158394623927">आपली मोबाइल डेटा सेवा सक्रिय करत आहे</translation> -<translation id="2785530881066938471">सामग्री स्क्रिप्टसाठी '<ph name="RELATIVE_PATH" />' फाइल लोड करणे शक्य नाही. ही UTF-8 द्वारे एन्कोड केलेली नाही.</translation> <translation id="2785873697295365461">फाईल वर्णनकर्ते</translation> <translation id="2787047795752739979">मूळवर खाडाखोड करा</translation> <translation id="2788135150614412178">+</translation> @@ -1244,7 +1238,6 @@ <translation id="2889925978073739256">सॅन्डबॉक्स न केलेले प्लगिन अवरोधित करणे सुरू ठेवा</translation> <translation id="2890678560483811744">निषिद्ध पृष्ठ संदर्भ</translation> <translation id="2893168226686371498">डीफॉल्ट ब्राउझर</translation> -<translation id="2893453364759632532">विंडो खाली</translation> <translation id="289644616180464099">सिम कार्ड लॉक केले आहे</translation> <translation id="289695669188700754">की आयडी: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">आपली खात्री आहे की आपण <ph name="TAB_COUNT" /> टॅब उघडू इच्छिता?</translation> @@ -1340,7 +1333,7 @@ • विशिष्ट वेबसाइटना अनुमती देणे किंवा प्रतिबंधित करणे • पर्यवेक्षी वापरकर्त्याने भेट दिलेल्या वेबसाइटचे पुनरावलोकन करणे आणि • अन्य सेटिंग्ज व्यवस्थापित करणे. -पर्यवेक्षी वापरकर्ता तयार केल्यामुळे Google खाते तयार होत नाही आणि त्यांचे बुकमार्क, ब्राउझिंग इतिहास आणि अन्य प्राधान्ये Chrome संकालन असलेल्या इतर डिव्हाइसेसवर त्यांचे अनुसरण करणार नाही. आपण एक नवीन पर्यवेक्षी वापरकर्ता तयार केल्यानंतर, आपण त्यांच्या सेटिंग्ज कधीही, कोणत्याही डिव्हाइस वरून, <ph name="BEGIN_MANAGE_LINK" /><ph name="DISPLAY_LINK" /><ph name="END_MANAGE_LINK" /> येथे व्यवस्थापित करू शकता. अधिक माहितीसाठी, आमच्या <ph name="BEGIN_LINK" /> मदत केंद्रास<ph name="END_LINK" /> भेट द्या.</translation> +पर्यवेक्षी वापरकर्ता तयार केल्यामुळे Google खाते तयार होत नाही आणि त्यांचे बुकमार्क, ब्राउझिंग इतिहास आणि अन्य प्राधान्ये Chrome संकालन असलेल्या इतर डिव्हाइसेसवर त्यांचे फॉलो करणार नाही. आपण एक नवीन पर्यवेक्षी वापरकर्ता तयार केल्यानंतर, आपण त्यांच्या सेटिंग्ज कधीही, कोणत्याही डिव्हाइस वरून, <ph name="BEGIN_MANAGE_LINK" /><ph name="DISPLAY_LINK" /><ph name="END_MANAGE_LINK" /> येथे व्यवस्थापित करू शकता. अधिक माहितीसाठी, आमच्या <ph name="BEGIN_LINK" /> मदत केंद्रास<ph name="END_LINK" /> भेट द्या.</translation> <translation id="3031417829280473749">एजंट X</translation> <translation id="3031557471081358569">आयात करण्यासाठी आयटम निवडा:</translation> <translation id="3031601332414921114">प्रिंट पुन्हा सुरू करा</translation> @@ -1353,7 +1346,6 @@ <translation id="304567287000691532">स्क्रीन शेअर करत आहे</translation> <translation id="3046910703532196514">वेबपृष्ठ, संपूर्ण</translation> <translation id="304826556400666995">टॅब सशब्द करा</translation> -<translation id="3051523411789012618">विंडो वर</translation> <translation id="3053013834507634016">प्रमाणपत्र की वापर</translation> <translation id="3057861065630527966">आपले फोटो आणि व्हिडिओंचा बॅकअप घ्या</translation> <translation id="3060379269883947824">बोलण्यासाठी निवडा सुरू करा</translation> @@ -1383,7 +1375,6 @@ <translation id="3090193911106258841">ऑडिओ आणि व्हिडिओ इनपुटमध्ये प्रवेश करत आहे</translation> <translation id="3090819949319990166">बाह्य crx फाईल <ph name="TEMP_CRX_FILE" /> वर कॉपी करू शकत नाही.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" जोडले</translation> -<translation id="3097628171361913691">झिप फाईल स्थापितकर्ता</translation> <translation id="3100609564180505575">मॉड्यूल (<ph name="TOTAL_COUNT" />) - ज्ञात संघर्ष: <ph name="BAD_COUNT" />, संशयित: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">तारीख आणि वेळ</translation> <translation id="3108967419958202225">निवडा...</translation> @@ -1505,7 +1496,6 @@ <translation id="3300394989536077382">यांनी साइन केले</translation> <translation id="33022249435934718">GDI हँडल</translation> <translation id="3302340765592941254">संपूर्ण सूचना डाउनलोड करा</translation> -<translation id="3302709122321372472">सामग्री स्क्रिप्टसाठी css '<ph name="RELATIVE_PATH" />' लोड करणे शक्य नाही.</translation> <translation id="3303260552072730022">एका विस्ताराने पूर्णस्क्रीनला वेग दिला.</translation> <translation id="3303818374450886607">प्रती</translation> <translation id="3303855915957856445">कोणतेही शोध परिणाम आढळले नाहीत</translation> @@ -1886,7 +1876,6 @@ <translation id="3856800405688283469">टाइम झोन निवडा</translation> <translation id="3856921555429624101">डेटा वापर मापन समाप्त झाले</translation> <translation id="3857228364945137633">तुमचा फोन जवळपास असताना पासवर्डशिवाय तुमचे <ph name="DEVICE_TYPE" /> अनलॉक करण्यासाठी Smart Lock वापरून पहा.</translation> -<translation id="3857732810083914482">पर्सनलाइझ करणे बंद केले आहे. तुम्ही हे myaccount.google.com वरून बदलू शकता.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meetमध्ये तुमचे स्वागत आहे</translation> <translation id="3862134173397075045">Chrome मधील कास्ट अनुभवावर आपले स्वागत आहे!</translation> @@ -1977,7 +1966,6 @@ <translation id="399179161741278232">आयातीत</translation> <translation id="3994374631886003300">तुमचा फोन अनलॉक करा आणि तुमचे <ph name="DEVICE_TYPE" /> अनलॉक करण्यासाठी तो जवळ आणा.</translation> <translation id="3994878504415702912">&झूम करा</translation> -<translation id="39964277676607559">सामग्री स्क्रिप्टसाठी javascript '<ph name="RELATIVE_PATH" />' लोड करणे शक्य नाही.</translation> <translation id="4002066346123236978">शीर्षक</translation> <translation id="40027638859996362">शब्द हलविणे</translation> <translation id="4005817994523282006">टाइमझोन शोध पद्धत</translation> @@ -2155,7 +2143,6 @@ <translation id="4336032328163998280">कॉपी ऑपरेशन अयशस्वी. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">नेटवर्क लॉगसाठी, हे पहा: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android अॅप्स डाउनलोड करण्यासाठी आणि वापरण्यासाठी, अगोदर तुम्ही अपडेट इंस्टॉल करणे आवश्यक आहे. तुमचा डिव्हाइस अपडेट होत असताना, तुम्ही तो वापरू शकत नाही. इंस्टॉल झाल्यानंतर तुमचा <ph name="DEVICE_TYPE" /> पुन्हा सुरू होईल.</translation> -<translation id="4338683191474220626">विंडो डावीकडे</translation> <translation id="4340515029017875942">"<ph name="EXTENSION_NAME" />" अॅपसह <ph name="ORIGIN" /> संवाद प्रस्थापित करू इच्छितो</translation> <translation id="4342311272543222243">अरेरे, TPM एरर.</translation> <translation id="4345587454538109430">कॉन्फिगर करा...</translation> @@ -2307,7 +2294,6 @@ <translation id="4615586811063744755">कोणत्याही कुकीज निवडलेल्या नाही</translation> <translation id="4617270414136722281">विस्तार पर्याय</translation> <translation id="4619615317237390068">अन्य डिव्हाइसेसमधील टॅब</translation> -<translation id="4620809267248568679">या सेटिंगची विस्ताराद्वारे अंमलबजावणी कली जाते.</translation> <translation id="4624768044135598934">यशस्वी!</translation> <translation id="4625078469366263107">अॅप सक्षम करा</translation> <translation id="4627427111733173920">कुकीज ब्लॉक केल्या</translation> @@ -2442,7 +2428,7 @@ <translation id="4840150926623932060">{NUM_DOWNLOAD,plural, =1{आणखी 1}one{आणखी #}other{आणखी #}}</translation> <translation id="4842976633412754305">हे पृष्ठ अप्रमाणिकृत स्त्रोतांवरून स्क्रिप्ट लोड करण्याचा प्रयत्न करत आहे.</translation> <translation id="4844333629810439236">अन्य कीबोर्ड</translation> -<translation id="4846680374085650406">आपण या सेटिंगसाठी प्रशासकाच्या शिफारसीचे अनुसरण करत आहात.</translation> +<translation id="4846680374085650406">आपण या सेटिंगसाठी प्रशासकाच्या शिफारसीचे फॉलो करत आहात.</translation> <translation id="4848518990323155912">सिम कार्ड लॉक सक्षम करा (मोबाईल डेटा वापरण्यासाठी पिन आवश्यक आहे)</translation> <translation id="484921817528146567">अंतिम शेल्फ आयटम</translation> <translation id="4849286518551984791">समन्वित वैश्विक वेळ (UTC/GMT)</translation> @@ -2528,7 +2514,6 @@ <translation id="496226124210045887">आपण निवडलेल्या फोल्डरमध्ये संवेदनशील फायली आहेत. आपल्याला खात्री आहे की या फोल्डरवर आपण "$1" ला कायम वाचण्याचा प्रवेश मंजूर करू इच्छिता?</translation> <translation id="4964455510556214366">व्यवस्था</translation> <translation id="4964673849688379040">तपासत आहे...</translation> -<translation id="4965682129423310439">Chrome ला तुमच्या काँप्युटरवर धोकादायक सॉफ्टवेअर आढळले. Chrome ते काढून टाकून तुमचा ब्राउझर पुन्हा नीट चालावा यासाठी तुमच्या सेटिंग्ज रीस्टोअर करू शकते.</translation> <translation id="4965808351167763748">तुम्हाला हे डिव्हाइस Hangouts Meet वापरण्यासाठी खरोखर सेट अप करायचे आहे का?</translation> <translation id="4967749818080339523">एक खाते निवडा</translation> <translation id="496888482094675990">फायली अॅप आपण Google ड्राइव्हवर, बाह्य संचयनावर किंवा आपल्या Chrome OS डिव्हाइसेसवर जतन केलेल्या फायलींना द्रुत प्रवेश प्रदान करतो.</translation> @@ -3303,10 +3288,8 @@ <translation id="6169666352732958425">डेस्कटॉप कास्ट करण्यात अक्षम.</translation> <translation id="6171948306033499786">मुद्रणास विराम द्या</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">सक्रिय विंडो खालील डिस्प्लेवर हलवली</translation> <translation id="6178664161104547336">एक प्रमाणपत्र निवडा</translation> <translation id="6181431612547969857">डाउनलोड अवरोधित केले</translation> -<translation id="6181803575025675566">हे कसे कार्य करते ते <ph name="LINK_START" />सेटिंग्ज<ph name="LINK_END" /> मधून नियंत्रित करा.</translation> <translation id="6185132558746749656">डिव्हाइस स्थान</translation> <translation id="6185696379715117369">पृष्ठ वर</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> मध्ये उघडा</translation> @@ -3655,11 +3638,9 @@ <translation id="6736045498964449756">अरेरे, पासवर्ड जुळत नाहीत!</translation> <translation id="6736243959894955139">पत्ता</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">तुम्ही आता तुमची जुनी प्रोफाइल अॅक्सेस करू शकत नसला तरीही, तुम्ही ती काढून टाकू शकता.</translation> <translation id="6739923123728562974">डेस्कटॉप शॉर्टकट दर्शवा</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> ला विराम दिला</translation> <translation id="6742339027238151589">स्क्रिप्टसाठी प्रवेशयोग्य</translation> -<translation id="6743841972744298686">सेटिंग्ज सिंक करा</translation> <translation id="6745592621698551453">आता अपडेट करा</translation> <translation id="6746124502594467657">खाली हलवा</translation> <translation id="674632704103926902">टॅप ड्रॅगिंग सक्षम करा</translation> @@ -3789,7 +3770,6 @@ <translation id="6970856801391541997">विशिष्ट पृष्ठे प्रिंट करा</translation> <translation id="6972180789171089114">ऑडिओ/व्हिडिओ</translation> <translation id="6973630695168034713">फोल्डर</translation> -<translation id="6974053822202609517">उजवीकडून डावीकडे</translation> <translation id="6976108581241006975">JavaScript कन्सोल</translation> <translation id="6977381486153291903">फर्मवेयर पुनरावृत्ती</translation> <translation id="6978121630131642226">शोध इंजिने</translation> @@ -3888,7 +3868,6 @@ <translation id="7108338896283013870">लपवा</translation> <translation id="7108634116785509031"><ph name="HOST" /> ला तुमचा कॅमेरा वापरायचा आहे</translation> <translation id="7108668606237948702">प्रविष्ट करा</translation> -<translation id="7112978678959880812">पर्सनलाइझ करणे चालू आहे. तुम्ही हे myaccount.google.com वर बदलू शकता.</translation> <translation id="7113502843173351041">आपला ईमेल अॅड्रेस माहिती करून घ्या</translation> <translation id="7114054701490058191">पासवर्ड जुळत नाहीत</translation> <translation id="7117228822971127758">कृपया नंतर पुन्हा प्रयत्न करा</translation> @@ -3953,7 +3932,6 @@ <translation id="7221869452894271364">हे पृष्ठ रीलोड करा</translation> <translation id="7222232353993864120">ईमेल अॅड्रेस</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">स्क्रीन भिंग सक्षम करा</translation> <translation id="7223775956298141902">अरेरे.. आपल्याकडे कोणतेही विस्तार नाहीत :-(</translation> <translation id="7225179976675429563">नेटवर्क प्रकार गहाळ</translation> <translation id="7228479291753472782">वेबसाइट भौगोलिक स्थान, मायक्रोफोन, कॅमेरा, इ. वैशिष्ट्ये वापरू शकतात किंवा नाही ते निर्दिष्ट करणार्या सेटिंग्ज कुशलतेने हाताळा.</translation> @@ -4209,7 +4187,6 @@ <translation id="7639178625568735185">समजले!</translation> <translation id="764017888128728">आपण जतन केलेल्या संकेतशब्दासह <ph name="PASSWORD_MANAGER_BRAND" /> स्वयंचलितपणे आपल्याला पात्र असलेल्या साइटमध्ये साइन इन करते.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (मालक)</translation> -<translation id="7647231681210854996">सक्रिय विंडो उजव्या डिस्प्लेवर हलवली</translation> <translation id="7648992873808071793">या डिव्हाइसवर फायली संचयित करा</translation> <translation id="7649070708921625228">मदत</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" "<ph name="EXTENSION_NAME" />" काढू इच्छित आहे.</translation> @@ -4667,7 +4644,6 @@ <translation id="8371695176452482769">आता बोला</translation> <translation id="8372369524088641025">खराब WEP की</translation> <translation id="8373553483208508744">टॅब निःशब्द करा</translation> -<translation id="8377870760189106701">उजवी विंडो</translation> <translation id="8378285435971754261">Google च्या स्थान सेवेस अॅप्सना आपले स्थान द्रुतपणे आणि अचूकपणे शोधण्यात मदत करू द्या़, यामुळे बॅटरी वापर कमी होऊ शकतो. कोणतेही अॅप्स चालत नसताना देखील अनामित स्थान डेटा Google कडे पाठविला जातो. <ph name="BEGIN_LINK1" />अधिक जाणून घ्या<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">कॅमेरा सेटिंग्ज व्यवस्थापित करा...</translation> <translation id="8382913212082956454">&ईमेल पत्ता कॉपी करा</translation> @@ -4787,7 +4763,6 @@ <translation id="8581809080475256101">पुढे जाण्यासाठी दाबा, इतिहास पाहण्यासाठी संदर्भ मेनूवर जा</translation> <translation id="8584280235376696778">नवीन टॅबमध्ये व्हिडिओ &उघडा</translation> <translation id="8588866096426746242">प्रोफाइल आकडेवारी दर्शवा</translation> -<translation id="8589652987924574405">तुमचे बुकमार्क, इतिहास, पासवर्ड आणि इतर सेटिंग्ज तुमच्या Google खात्यात सिंक केले जातील जेणेकरून, तुम्ही तुमच्या सर्व डिव्हाइसवर त्यांचा वापर करू शकाल. तुम्ही हे कधीही बदलू शकता.</translation> <translation id="8590375307970699841">स्वयंचलित अपडेट सेट करा</translation> <translation id="8594908476761052472">व्हिडिओ कॅप्चर करा</translation> <translation id="8596540852772265699">सानुकूल फायली</translation> @@ -4803,7 +4778,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">रोमिंग स्थिती</translation> <translation id="8620765578342452535">नेटवर्क कनेक्शन कॉन्फिगर करा</translation> -<translation id="8620790565535071193">स्कॅनिंग अयशस्वी झाले</translation> <translation id="8624205858755890468">Assistant ला तुम्हाला संबंधित माहिती, अॅप्स आणि क्रिया दाखवू देते.</translation> <translation id="862542460444371744">&विस्तार</translation> <translation id="8627151598708688654">स्त्रोत निवडा</translation> @@ -4881,7 +4855,6 @@ <translation id="871476437400413057">Google ने सेव्ह केलेले पासवर्ड</translation> <translation id="8714838604780058252">पार्श्वभूमी ग्राफिक्स</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> डाउनलोड करणे अयशस्वी झाले</translation> -<translation id="8721669057562068233">सक्रिय विंडो डिस्प्लेच्या वर हलवली</translation> <translation id="8723829621484579639">यासाठी गुप्त सबफ्रेम: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">फोल्डरमध्ये &दर्शवा</translation> <translation id="8725066075913043281">पुन्हा प्रयत्न करा</translation> @@ -4925,7 +4898,6 @@ <translation id="8785622406424941542">लेखणी</translation> <translation id="8787254343425541995">सामायिक नेटवर्कसाठी प्रॉक्सीला अनुमती द्या</translation> <translation id="8791534160414513928">आपल्या ब्राउझिंग रहदारीसह "Do Not Track" विनंती पाठवा</translation> -<translation id="8792609692701651064">सक्रिय विंडो डिस्प्लेच्या डावीकडे हलवली</translation> <translation id="8794025342371547160">प्रतिबंधित IP</translation> <translation id="879413103056696865">हॉटस्पॉट चालू असताना, आपला <ph name="PHONE_NAME" /> हे करेल:</translation> <translation id="8795916974678578410">नवीन विंडो</translation> @@ -5063,7 +5035,6 @@ <translation id="9024127637873500333">&नवीन टॅबमध्ये उघडा</translation> <translation id="9024331582947483881">पूर्ण स्क्रीन</translation> <translation id="9025098623496448965">ठीक, मला परत साइन इन स्क्रीनवर न्या</translation> -<translation id="902659348151742535">शोध, जाहिरात आणि इतर Google सेवा वैयक्तीकृत करण्यासाठी Google आपल्या ब्राउझिंग इतिहासाचा वापर करू शकते.</translation> <translation id="9026731007018893674">डाउनलोड करा</translation> <translation id="9027146684281895941">आपल्या Google खात्यामधून ते ज्या वेबसाइटना भेट देतात त्या नियंत्रित करण्यासाठी आणि पाहण्यासाठी या व्यक्तीचे पर्यवेक्षण करा.</translation> <translation id="9027459031423301635">नवीन &टॅबमध्ये दुवा उघडा</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb index 1a4441b..f896398 100644 --- a/chrome/app/resources/generated_resources_ms.xtb +++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Tiada rangkaian</translation> <translation id="1056898198331236512">Amaran</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Tidak dapat mengalih keluar perisian berbahaya</translation> <translation id="1062407476771304334">Gantikan</translation> <translation id="1062866675591297858">Urus pengguna di bawah seliaan anda melalui <ph name="BEGIN_LINK" />Papan Pemuka Pengguna Di Bawah Seliaan<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Sertai rangkaian persendirian</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Pilih fail</translation> <translation id="136802136832547685">Tiada pengguna di bawah seliaan untuk ditambahkan pada peranti ini.</translation> <translation id="1368265273904755308">Laporkan isu</translation> -<translation id="1368832886055348810">Kiri ke Kanan</translation> <translation id="1370646789215800222">Alih keluar orang?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 item untuk dialih keluar}other{# item untuk dialih keluar}}</translation> <translation id="1372841398847029212">Segerakkan ke akaun anda</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Alih keluar pengguna ini</translation> <translation id="1609170755653088773">Segerakkan kata laluan ini ke iPhone anda</translation> <translation id="1609862759711084604">Pengguna sebelumnya</translation> -<translation id="1611557582955786626">Log masuk untuk mendapatkan pengalaman penyemakan imbas diperibadikan, yang disegerakkan merentas peranti anda</translation> <translation id="1611584202130317952">Aliran peruntukan terganggu. Sila cuba lagi atau hubungi pemilik atau pentadbir peranti anda.</translation> <translation id="1611649489706141841">ke hadapan</translation> <translation id="1611704746353331382">Eksport Penanda Halaman ke Fail HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Tambah lokasi...</translation> <translation id="1856813161013948396">Langkau skrin kunci dengan mengetik penderia cap jari. Klik untuk mengkonfigurasi.</translation> <translation id="1858585891038687145">Percayakan sijil ini untuk mengenal pasti pembuat perisian</translation> -<translation id="1859234291848436338">Arah Penulisan</translation> <translation id="1861262398884155592">Folder ini kosong</translation> <translation id="1864111464094315414">Log masuk</translation> <translation id="1864400682872660285">Dingin</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Runtuhkan...</translation> <translation id="2737492745329609575">Mulakan persediaan</translation> <translation id="2738771556149464852">Bukan Selepas</translation> -<translation id="2739046699559178272">Simpan dan teruskan</translation> <translation id="2739191690716947896">Nyahpepijat</translation> <translation id="2739240477418971307">Ubah tetapan kebolehaksesan anda</translation> <translation id="2740393541869613458">semak tapak web yang telah dilawati oleh pengguna diselia dan</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Sudah dimuat turun</translation> <translation id="2783661497142353826">Urus Aplikasi Kios</translation> <translation id="2784407158394623927">Mengaktifkan perkhidmatan data mudah alih anda</translation> -<translation id="2785530881066938471">Tidak dapat memuatkan fail '<ph name="RELATIVE_PATH" />' untuk skrip kandungan. Ia tidak terkod UTF-8.</translation> <translation id="2785873697295365461">Pemerihal fail</translation> <translation id="2787047795752739979">Tulis ganti yang asal</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Teruskan menyekat pemalam tanpa kotak pasir</translation> <translation id="2890678560483811744">Rujukan halaman di luar batasan</translation> <translation id="2893168226686371498">Penyemak imbas lalai</translation> -<translation id="2893453364759632532">Tetingkap ke bawah</translation> <translation id="289644616180464099">Kad SIM dikunci</translation> <translation id="289695669188700754">ID Kekunci: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Adakah anda pasti anda mahu buka tab <ph name="TAB_COUNT" />?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Berkongsi skrin</translation> <translation id="3046910703532196514">Haaman Web, Lengkap</translation> <translation id="304826556400666995">Nyahredam Beberapa Tab</translation> -<translation id="3051523411789012618">Tetingkap ke atas</translation> <translation id="3053013834507634016">Penggunaan Penting Sijil</translation> <translation id="3057861065630527966">Sandarkan foto dan video anda</translation> <translation id="3060379269883947824">Dayakan pilih untuk bercakap</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Mengakses input audio dan video</translation> <translation id="3090819949319990166">Tidak dapat menyalin fail crx luar ke <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" digandingkan</translation> -<translation id="3097628171361913691">Pemasang Fail Zip</translation> <translation id="3100609564180505575">Modul (<ph name="TOTAL_COUNT" />) - Konflik dikenali: <ph name="BAD_COUNT" />, disyaki: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Tarikh dan masa</translation> <translation id="3108967419958202225">Pilih...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Ditandatangani oleh</translation> <translation id="33022249435934718">Pemegang GDI</translation> <translation id="3302340765592941254">Pemberitahuan muat turun selesai</translation> -<translation id="3302709122321372472">Tidak dapat memuatkan css '<ph name="RELATIVE_PATH" />' untuk skrip kandungan.</translation> <translation id="3303260552072730022">Sambungan mencetuskan skrin penuh.</translation> <translation id="3303818374450886607">Salinan</translation> <translation id="3303855915957856445">Tiada hasil carian ditemui</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Pilih zon waktu</translation> <translation id="3856921555429624101">Pengukuran penggunaan data telah tamat</translation> <translation id="3857228364945137633">Cuba Smart Lock untuk membuka kunci <ph name="DEVICE_TYPE" /> anda tanpa kata laluan semasa telefon ada berdekatan.</translation> -<translation id="3857732810083914482">Pemeribadian dimatikan. Anda boleh menukarnya di myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elir.</translation> <translation id="3860381078714302691">Selamat datang ke Hangout Meet</translation> <translation id="3862134173397075045">Selamat datang ke pengalaman Cast dalam Chrome!</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">Diimport</translation> <translation id="3994374631886003300">Buka kunci telefon anda dan rapatkan untuk membuka kunci <ph name="DEVICE_TYPE" /> anda.</translation> <translation id="3994878504415702912">&Zum</translation> -<translation id="39964277676607559">Tidak dapat memuatkan javascript '<ph name="RELATIVE_PATH" />' untuk skrip kandungan.</translation> <translation id="4002066346123236978">Tajuk</translation> <translation id="40027638859996362">Gerakkan perkataan</translation> <translation id="4005817994523282006">Kaedah pengesanan zon waktu</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">Operasi menyalin gagal. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Untuk log rangkaian, lihat: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Untuk memuat turun dan menggunakan apl Android, anda perlu memasang kemas kini dahulu. Semasa peranti anda sedang dikemas kini, anda tidak boleh menggunakannya. <ph name="DEVICE_TYPE" /> anda akan dimulakan semula selepas pemasangan selasai.</translation> -<translation id="4338683191474220626">Tetingkap ke kiri</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ingin berkomunikasi dengan apl "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Op, ralat TPM.</translation> <translation id="4345587454538109430">Konfigurasi...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">tiada kuki dipilih</translation> <translation id="4617270414136722281">Pilihan sambungan</translation> <translation id="4619615317237390068">Tab daripada peranti lain</translation> -<translation id="4620809267248568679">Tetapan ini dikuatkuasakan oleh sambungan.</translation> <translation id="4624768044135598934">Berjaya!</translation> <translation id="4625078469366263107">Dayakan Apl</translation> <translation id="4627427111733173920">Kuki disekat</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">Folder yang anda pilih mengandungi fail sensitif. Adakah anda pasti mahu memberikan "$1" akses membaca tetap kepada folder ini?</translation> <translation id="4964455510556214366">Susunan</translation> <translation id="4964673849688379040">Menyemak...</translation> -<translation id="4965682129423310439">Chrome menemui perisian yang berbahaya pada komputer anda. Chrome boleh mengalih keluar perisian tersebut dan memulihkan tetapan anda supaya penyemak imbas anda berfungsi seperti biasa semula.</translation> <translation id="4965808351167763748">Adakah anda pasti ingin menyediakan peranti ini untuk menjalankan Hangout Meet?</translation> <translation id="4967749818080339523">Pilih akaun</translation> <translation id="496888482094675990">Apl Fail memberikan akses pantas kepada fail yang telah anda simpan di Google Drive, storan luaran atau peranti OS Chrome anda.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Tidak dapat menghantar desktop.</translation> <translation id="6171948306033499786">Jedakan pencetakan</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">Tetingkap aktif dialihkan ke bahagian bawah paparan</translation> <translation id="6178664161104547336">Pilih sijil</translation> <translation id="6181431612547969857">Muat turun disekat</translation> -<translation id="6181803575025675566">Kawal cara ciri ini berfungsi dalam <ph name="LINK_START" />Tetapan<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokasi Peranti</translation> <translation id="6185696379715117369">Halaman atas</translation> <translation id="6189412234224385711">Buka dengan <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Alamak, kata laluan tidak sepadan!</translation> <translation id="6736243959894955139">Alamat</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Walaupun anda tidak boleh mengakses profil lama anda lagi, anda boleh mengalihnya keluar.</translation> <translation id="6739923123728562974">Tunjukkan pintasan desktop</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> dijeda</translation> <translation id="6742339027238151589">Boleh diakses untuk skrip</translation> -<translation id="6743841972744298686">Tetapan penyegerakan</translation> <translation id="6745592621698551453">Kemas kini sekarang</translation> <translation id="6746124502594467657">Alihkan ke bawah</translation> <translation id="674632704103926902">Dayakan penyeretan ketik</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Cetak Halaman Tertentu</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Folder</translation> -<translation id="6974053822202609517">Kanan ke Kiri</translation> <translation id="6976108581241006975">Konsol JavaScript</translation> <translation id="6977381486153291903">Semakan perisian tegar</translation> <translation id="6978121630131642226">Enjin Carian</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Sembunyikan</translation> <translation id="7108634116785509031"><ph name="HOST" /> mahu menggunakan kamera anda</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Pemeribadian dihidupkan. Anda boleh menukarnya di myaccount.google.com.</translation> <translation id="7113502843173351041">Ketahui alamat e-mel anda</translation> <translation id="7114054701490058191">Kata laluan tidak sepadan</translation> <translation id="7117228822971127758">Sila cuba sebentar lagi</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Muatkan semula halaman ini</translation> <translation id="7222232353993864120">Alamat E-mel</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Dayakan penggadang skrin</translation> <translation id="7223775956298141902">Boo ... Anda tidak mempunyai sambungan :-(</translation> <translation id="7225179976675429563">Jenis rangkaian tiada</translation> <translation id="7228479291753472782">Manipulasi tetapan yang menentukan sama ada tapak web boleh menggunakan ciri seperti geolokasi, mikrofon, kamera dan sebagainya.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Faham!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> melog masuk anda secara automatik ke tapak web yang layak menggunakan kata laluan yang disimpan.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (pemilik)</translation> -<translation id="7647231681210854996">Tetingkap aktif dialihkan ke paparan kanan</translation> <translation id="7648992873808071793">Simpan fail pada peranti ini</translation> <translation id="7649070708921625228">Bantuan</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" ingin mengalih keluar "<ph name="EXTENSION_NAME" />".</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Cakap sekarang</translation> <translation id="8372369524088641025">Kekunci WEP teruk</translation> <translation id="8373553483208508744">Redam beberapa tab</translation> -<translation id="8377870760189106701">Kanan tetingkap</translation> <translation id="8378285435971754261">Biarkan perkhidmatan lokasi Google membantu apl mencari lokasi anda dengan cepat dan tepat, yang dapat mengurangkan penggunaan kuasa bateri. Data lokasi awanama akan dihantar ke Google, walaupun tiada apl sedang berjalan. <ph name="BEGIN_LINK1" />Ketahui Lebih Lanjut<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Urus tetapan kamera...</translation> <translation id="8382913212082956454">Salin &alamat e-mel</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Tekan untuk beralih ke hadapan, menu konteks untuk melihat sejarah</translation> <translation id="8584280235376696778">&Buka video dalam tab baharu</translation> <translation id="8588866096426746242">Tunjukkan statistik profil</translation> -<translation id="8589652987924574405">Penanda halaman, sejarah, kata laluan dan tetapan anda yang lain akan disegerakkan ke Akaun Google supaya anda dapat menggunakannya pada semua peranti. Anda boleh mengubahnya pada bila-bila masa dalam tetapan anda.</translation> <translation id="8590375307970699841">Sediakan kemas kini automatik</translation> <translation id="8594908476761052472">Rakam video</translation> <translation id="8596540852772265699">Fail Tersuai</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status perayauan</translation> <translation id="8620765578342452535">Konfigurasikan sambungan rangkaian</translation> -<translation id="8620790565535071193">Pengimbasan gagal</translation> <translation id="8624205858755890468">Mendayakan Pembantu untuk menunjukkan maklumat, apl dan tindakan yang berkaitan kepada anda.</translation> <translation id="862542460444371744">&Sambungan</translation> <translation id="8627151598708688654">Pilih sumber</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Kata laluan disimpan Google</translation> <translation id="8714838604780058252">Grafik latar</translation> <translation id="8719653885894320876">Muat turun <ph name="PLUGIN_NAME" /> gagal</translation> -<translation id="8721669057562068233">Tetingkap aktif dialihkan ke paparan atas</translation> <translation id="8723829621484579639">Subbingkai inkognito untuk: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Paparkan dalam Folder</translation> <translation id="8725066075913043281">Cuba lagi</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Stilus</translation> <translation id="8787254343425541995">Benarkan proksi untuk rangkaian yang dikongsi</translation> <translation id="8791534160414513928">Hantar permintaan 'Jangan Kesan' dengan trafik penyemakan imbas anda</translation> -<translation id="8792609692701651064">Tetingkap aktif dialihkan ke paparan kiri</translation> <translation id="8794025342371547160">IP terhad</translation> <translation id="879413103056696865">Semasa tempat liputan dihidupkan, <ph name="PHONE_NAME" /> anda akan:</translation> <translation id="8795916974678578410">Tetingkap Baharu</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Buka dalam Tab Baharu</translation> <translation id="9024331582947483881">skrin penuh</translation> <translation id="9025098623496448965">OK, Bawa saya kembali ke skrin log masuk</translation> -<translation id="902659348151742535">Google boleh menggunakan sejarah penyemakan imbas anda untuk memperibadikan Carian, iklan dan perkhidmatan Google yang lain.</translation> <translation id="9026731007018893674">muat turun</translation> <translation id="9027146684281895941">Selia orang ini untuk mengawal dan melihat tapak web yang mereka lawati daripada Akaun Google anda.</translation> <translation id="9027459031423301635">Buka Pautan dalam Tab &Baharu</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb index 5390d8c..a7933cd 100644 --- a/chrome/app/resources/generated_resources_nl.xtb +++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Geen netwerken</translation> <translation id="1056898198331236512">Waarschuwing</translation> <translation id="1058262162121953039">Pukcode</translation> -<translation id="106001083577824516">Kan schadelijke software niet verwijderen</translation> <translation id="1062407476771304334">Vervangen</translation> <translation id="1062866675591297858">Beheer je bewaakte gebruikers via het <ph name="BEGIN_LINK" />Dashboard voor bewaakte gebruikers<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Aanmelden bij privénetwerk</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Een bestand selecteren</translation> <translation id="136802136832547685">Er zijn geen gebruikers met beperkte rechten om toe te voegen aan dit apparaat.</translation> <translation id="1368265273904755308">Probleem melden</translation> -<translation id="1368832886055348810">Links naar rechts</translation> <translation id="1370646789215800222">Persoon verwijderen?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 item dat wordt verwijderd}other{# items die worden verwijderd}}</translation> <translation id="1372841398847029212">Synchroniseren met je account</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Deze gebruiker verwijderen</translation> <translation id="1609170755653088773">Dit wachtwoord synchroniseren met je iPhone</translation> <translation id="1609862759711084604">Vorige gebruiker</translation> -<translation id="1611557582955786626">Log in voor een gepersonaliseerde browsefunctionaliteit, gesynchroniseerd op al je apparaten</translation> <translation id="1611584202130317952">Het registratieproces is onderbroken. Probeer het opnieuw of neem contact op met de eigenaar of beheerder van het apparaat.</translation> <translation id="1611649489706141841">vooruit</translation> <translation id="1611704746353331382">Bladwijzers exporteren naar HTML-bestand...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Locatie toevoegen...</translation> <translation id="1856813161013948396">Sla het vergrendelingsscherm over door op de vingerafdruksensor te tikken. Klik om te configureren.</translation> <translation id="1858585891038687145">Dit certificaat vertrouwen voor het identificeren van softwareontwikkelaars</translation> -<translation id="1859234291848436338">Schrijfrichting</translation> <translation id="1861262398884155592">Deze map is leeg</translation> <translation id="1864111464094315414">Aanmelden</translation> <translation id="1864400682872660285">Koeler</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Samenvouwen...</translation> <translation id="2737492745329609575">Instellen starten</translation> <translation id="2738771556149464852">Niet na</translation> -<translation id="2739046699559178272">Opslaan en doorgaan</translation> <translation id="2739191690716947896">Foutopsporing</translation> <translation id="2739240477418971307">Je toegankelijkheidsinstellingen wijzigen</translation> <translation id="2740393541869613458">door de gebruiker met beperkte rechten bezochte websites controleren, en</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Gedownload</translation> <translation id="2783661497142353826">Kiosk-apps beheren</translation> <translation id="2784407158394623927">Je mobiele netwerk activeren</translation> -<translation id="2785530881066938471">Kan bestand '<ph name="RELATIVE_PATH" />' niet laden voor inhoudsscript. Het bestand bevat geen UTF-8-codering.</translation> <translation id="2785873697295365461">Bestandsdescriptors</translation> <translation id="2787047795752739979">Oorspronkelijk bestand overschrijven</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Plug-ins zonder sandbox blijven blokkeren</translation> <translation id="2890678560483811744">Paginaverwijzing valt buiten bereik</translation> <translation id="2893168226686371498">Standaardbrowser</translation> -<translation id="2893453364759632532">Venster omlaag</translation> <translation id="289644616180464099">Simkaart is vergrendeld</translation> <translation id="289695669188700754">Sleutel-ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Weet je zeker dat je <ph name="TAB_COUNT" /> tabbladen wilt openen?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Scherm delen</translation> <translation id="3046910703532196514">Webpagina, compleet</translation> <translation id="304826556400666995">Dempen tabbladen opheffen</translation> -<translation id="3051523411789012618">Venster omhoog</translation> <translation id="3053013834507634016">Sleutelgebruik voor certificaat</translation> <translation id="3057861065630527966">Een back-up van je foto's en video's maken</translation> <translation id="3060379269883947824">'Selecteer om uitgesproken te worden' inschakelen</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Audio- en video-invoer openen</translation> <translation id="3090819949319990166">Kan extern crx-bestand niet kopiëren naar <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">'<ph name="DEVICE_NAME" />' gekoppeld</translation> -<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3100609564180505575">Modules (<ph name="TOTAL_COUNT" />) - bekende conflicten: <ph name="BAD_COUNT" />, verdacht: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum en tijd</translation> <translation id="3108967419958202225">Kiezen...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Ondertekend door</translation> <translation id="33022249435934718">GDI-handles</translation> <translation id="3302340765592941254">Volledige melding downloaden</translation> -<translation id="3302709122321372472">Kan CSS '<ph name="RELATIVE_PATH" />' niet laden voor het inhoudsscript.</translation> <translation id="3303260552072730022">Een extensie is op volledig scherm geactiveerd.</translation> <translation id="3303818374450886607">Aantal</translation> <translation id="3303855915957856445">Geen zoekresultaten gevonden</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Tijdzone selecteren</translation> <translation id="3856921555429624101">Bijhouden van dataverbruik is beëindigd</translation> <translation id="3857228364945137633">Probeer Smart Lock om je <ph name="DEVICE_TYPE" /> te ontgrendelen zonder wachtwoord wanneer je telefoon zich in de buurt bevindt.</translation> -<translation id="3857732810083914482">Personalisatie is uitgeschakeld. Je kunt dit wijzigen op myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Welkom bij Hangouts Meet</translation> <translation id="3862134173397075045">Welkom bij de Cast-functie in Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Geïmporteerd</translation> <translation id="3994374631886003300">Ontgrendel je telefoon en plaatst deze dichterbij om je <ph name="DEVICE_TYPE" /> te ontgrendelen.</translation> <translation id="3994878504415702912">&Zoomen</translation> -<translation id="39964277676607559">Kan JavaScript '<ph name="RELATIVE_PATH" />' niet laden voor het inhoudsscript.</translation> <translation id="4002066346123236978">Titel</translation> <translation id="40027638859996362">Woord verplaatsen</translation> <translation id="4005817994523282006">Detectiemethode voor tijdzone</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopiëren mislukt. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Zie voor netwerklogboeken: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Als je Android-apps wilt downloaden en gebruiken, moet je eerst een update installeren. Wanneer je apparaat wordt geüpdatet, kun je het niet gebruiken. Je <ph name="DEVICE_TYPE" /> wordt opnieuw opgestart nadat de installatie is voltooid.</translation> -<translation id="4338683191474220626">Venster links</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> wil communiceren met de app '<ph name="EXTENSION_NAME" />'</translation> <translation id="4342311272543222243">TPM-fout.</translation> <translation id="4345587454538109430">Configureren...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">geen cookie geselecteerd</translation> <translation id="4617270414136722281">Opties voor extensies</translation> <translation id="4619615317237390068">Tabbladen van andere apparaten</translation> -<translation id="4620809267248568679">Deze instelling wordt door een extensie afgedwongen.</translation> <translation id="4624768044135598934">Gereed</translation> <translation id="4625078469366263107">App inschakelen</translation> <translation id="4627427111733173920">Cookies geblokkeerd</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">De map die je hebt geselecteerd, bevat gevoelige bestanden. Weet je zeker dat je '$1' permanente leestoegang wilt geven tot deze map?</translation> <translation id="4964455510556214366">Indeling</translation> <translation id="4964673849688379040">Controleren…</translation> -<translation id="4965682129423310439">Chrome heeft schadelijke software gevonden op je computer. Chrome kan deze software verwijderen en je instellingen herstellen zodat je browser weer normaal werkt.</translation> <translation id="4965808351167763748">Weet je zeker dat je dit apparaat wilt instellen voor Hangouts Meet?</translation> <translation id="4967749818080339523">Een account selecteren</translation> <translation id="496888482094675990">De app Bestanden biedt snelle toegang tot bestanden die je op Google Drive, externe opslag of je Chrome OS-apparaat hebt opgeslagen.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Kan desktop niet casten.</translation> <translation id="6171948306033499786">Afdrukken onderbreken</translation> <translation id="6175314957787328458">Microsoft-domein-GUID</translation> -<translation id="6176032031541598434">Actief venster verplaatst naar onderstaand scherm</translation> <translation id="6178664161104547336">Een certificaat selecteren</translation> <translation id="6181431612547969857">Download geblokkeerd</translation> -<translation id="6181803575025675566">Beheer hoe dit werkt via <ph name="LINK_START" />Instellingen<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Apparaatlocatie</translation> <translation id="6185696379715117369">Page Up</translation> <translation id="6189412234224385711">Openen met <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">De wachtwoorden komen niet overeen.</translation> <translation id="6736243959894955139">Adres</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Hoewel je geen toegang meer hebt tot je oude profiel, kun je dit nog wel verwijderen.</translation> <translation id="6739923123728562974">Bureaubladsnelkoppeling weergeven</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> onderbroken</translation> <translation id="6742339027238151589">Toegankelijk voor script</translation> -<translation id="6743841972744298686">Synchronisatie-instellingen</translation> <translation id="6745592621698551453">Nu updaten</translation> <translation id="6746124502594467657">Omlaag</translation> <translation id="674632704103926902">Tikken en slepen inschakelen</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Specifieke pagina's afdrukken</translation> <translation id="6972180789171089114">Audio/video</translation> <translation id="6973630695168034713">Mappen</translation> -<translation id="6974053822202609517">Rechts naar links</translation> <translation id="6976108581241006975">JavaScript-console</translation> <translation id="6977381486153291903">Firmwarerevisie</translation> <translation id="6978121630131642226">Zoekmachines</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Verbergen</translation> <translation id="7108634116785509031"><ph name="HOST" /> wil gebruikmaken van je camera</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">Personalisatie is ingeschakeld. Je kunt dit wijzigen op myaccount.google.com.</translation> <translation id="7113502843173351041">Toegang krijgen tot je e-mailadres</translation> <translation id="7114054701490058191">Wachtwoorden komen niet overeen</translation> <translation id="7117228822971127758">Probeer het later opnieuw</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Deze pagina opnieuw laden</translation> <translation id="7222232353993864120">E-mailadres</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Vergrootglas inschakelen</translation> <translation id="7223775956298141902">Je hebt nog geen extensies.</translation> <translation id="7225179976675429563">Type netwerk ontbreekt</translation> <translation id="7228479291753472782">Instellingen bewerken die bepalen of websites functies (zoals geolocatie, microfoon, camera, enzovoort) kunnen gebruiken</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Begrepen!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> logt je automatisch in bij geschikte sites met wachtwoorden die je hebt opgeslagen.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (eigenaar)</translation> -<translation id="7647231681210854996">Actief venster verplaatst naar rechterscherm</translation> <translation id="7648992873808071793">Bestanden op dit apparaat bewaren</translation> <translation id="7649070708921625228">Help</translation> <translation id="7650511557061837441">'<ph name="TRIGGERING_EXTENSION_NAME" />' wil '<ph name="EXTENSION_NAME" />' verwijderen.</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Begin nu te spreken</translation> <translation id="8372369524088641025">Slechte WEP-sleutel</translation> <translation id="8373553483208508744">Tabbladen dempen</translation> -<translation id="8377870760189106701">Venster rechts</translation> <translation id="8378285435971754261">Met behulp van de locatieservice van Google kunnen apps je locatie snel en nauwkeurig bepalen. Hierdoor kan het accuverbruik afnemen. Er worden anonieme locatiegegevens verzonden naar Google, ook als er geen apps actief zijn. <ph name="BEGIN_LINK1" />Meer informatie<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Camera-instellingen beheren…</translation> <translation id="8382913212082956454">&E-mailadres kopiëren</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Druk op Vooruit > contextmenu om de geschiedenis te bekijken</translation> <translation id="8584280235376696778">Video &openen op nieuw tabblad</translation> <translation id="8588866096426746242">Profielstatistieken weergeven</translation> -<translation id="8589652987924574405">Je bladwijzers, geschiedenis, wachtwoorden en andere instellingen worden gesynchroniseerd met je Google-account, zodat je ze op al je apparaten kunt gebruiken. Je kunt dit later altijd wijzigen in de instellingen.</translation> <translation id="8590375307970699841">Automatische updates instellen</translation> <translation id="8594908476761052472">Video opnemen</translation> <translation id="8596540852772265699">Aangepaste bestanden</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Roamingstatus</translation> <translation id="8620765578342452535">Netwerkverbindingen configureren</translation> -<translation id="8620790565535071193">Scannen mislukt</translation> <translation id="8624205858755890468">Hiermee kan de Assistent je gerelateerde informatie, apps en acties laten zien.</translation> <translation id="862542460444371744">&Extensies</translation> <translation id="8627151598708688654">Bron selecteren</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Door Google opgeslagen wachtwoorden</translation> <translation id="8714838604780058252">Achtergrondbeelden</translation> <translation id="8719653885894320876">Kan <ph name="PLUGIN_NAME" /> niet downloaden</translation> -<translation id="8721669057562068233">Actief venster verplaatst naar bovenstaand scherm</translation> <translation id="8723829621484579639">Incognitosubframes voor: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Weergeven in map</translation> <translation id="8725066075913043281">Opnieuw proberen</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Stylus</translation> <translation id="8787254343425541995">Proxy's voor gedeelde netwerken toestaan</translation> <translation id="8791534160414513928">Een verzoek voor niet bijhouden met je browseverkeer verzenden</translation> -<translation id="8792609692701651064">Actief venster verplaatst naar linkerscherm</translation> <translation id="8794025342371547160">Beperkt IP-adres</translation> <translation id="879413103056696865">Terwijl de hotspot is ingeschakeld, doet je <ph name="PHONE_NAME" /> het volgende:</translation> <translation id="8795916974678578410">Nieuw venster</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Openen op nieuw tabblad</translation> <translation id="9024331582947483881">volledig scherm</translation> <translation id="9025098623496448965">OK, terugkeren naar het inlogscherm</translation> -<translation id="902659348151742535">Google kan je browsegeschiedenis gebruiken om Google Zoeken, advertenties en andere Google-services te personaliseren.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Toezicht houden op deze persoon om de websites die hij of zij bezoekt, te beheren en te bekijken via je Google-account.</translation> <translation id="9027459031423301635">Link openen op nieuw &tabblad</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb index 6750739..f4058b9 100644 --- a/chrome/app/resources/generated_resources_no.xtb +++ b/chrome/app/resources/generated_resources_no.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Ingen nettverk</translation> <translation id="1056898198331236512">Advarsel</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Kan ikke fjerne den skadelige programvaren</translation> <translation id="1062407476771304334">Erstatt</translation> <translation id="1062866675591297858">Administrer de administrerte brukerne dine via <ph name="BEGIN_LINK" />oversikten for administrerte brukere<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Tilkobling til privat nettverk</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Velg en fil</translation> <translation id="136802136832547685">Det finnes ingen administrerte brukere som kan legges til på denne enheten.</translation> <translation id="1368265273904755308">Rapportér problem</translation> -<translation id="1368832886055348810">Venstre til høyre</translation> <translation id="1370646789215800222">Vil du fjerne personen?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element som skal fjernes}other{# elementer som skal fjernes}}</translation> <translation id="1372841398847029212">Synkroniser til kontoen din</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">Fjern denne brukeren</translation> <translation id="1609170755653088773">Synkroniser dette passordet med iPhonen din</translation> <translation id="1609862759711084604">Forrige bruker</translation> -<translation id="1611557582955786626">Logg på for å få en nettlesingsopplevelse med et personlig preg, synkronisert på alle enhetene dine</translation> <translation id="1611584202130317952">Leveringsflyten ble avbrutt. Prøv igjen, eller kontakt enhetseieren eller administratoren.</translation> <translation id="1611649489706141841">fremover</translation> <translation id="1611704746353331382">Eksportér bokmerker til HTML-fil</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Legg til plassering</translation> <translation id="1856813161013948396">Hopp over låseskjermen – bare trykk på fingeravtrykkssensoren i stedet. Klikk for å konfigurere.</translation> <translation id="1858585891038687145">Stol på dette sertifikatet for identifisering av programvareprodusenter</translation> -<translation id="1859234291848436338">Skriveretning</translation> <translation id="1861262398884155592">Denne mappen er tom</translation> <translation id="1864111464094315414">Pålogging</translation> <translation id="1864400682872660285">Kaldere</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">Skjul</translation> <translation id="2737492745329609575">Start konfigureringen</translation> <translation id="2738771556149464852">Ikke etter</translation> -<translation id="2739046699559178272">Lagre og fortsett</translation> <translation id="2739191690716947896">Feilsøk</translation> <translation id="2739240477418971307">endre innstillingene for tilgjengelighet</translation> <translation id="2740393541869613458">gjennomgå nettstedene den administrerte brukeren har besøkt, og</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">Lastet ned</translation> <translation id="2783661497142353826">Administrer kiosk-apper</translation> <translation id="2784407158394623927">Aktiverer mobildatatjenesten</translation> -<translation id="2785530881066938471">Kan ikke laste inn filen «<ph name="RELATIVE_PATH" />» for innholdsskript. Den er ikke UTF-8-kodet.</translation> <translation id="2785873697295365461">Filbeskrivelser</translation> <translation id="2787047795752739979">Overskriv originalen</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">Fortsett blokkeringen av programtillegg uten prosessisolering</translation> <translation id="2890678560483811744">Sidereferansen ligger utenfor det gyldige området</translation> <translation id="2893168226686371498">Standardnettleser</translation> -<translation id="2893453364759632532">Vindu ned</translation> <translation id="289644616180464099">SIM-kortet er låst</translation> <translation id="289695669188700754">Nøkkel-id: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Er du sikker på at du vil åpne <ph name="TAB_COUNT" /> faner?</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">Deler skjermen</translation> <translation id="3046910703532196514">Nettside, fullstendig</translation> <translation id="304826556400666995">Slå på lyden for fanene</translation> -<translation id="3051523411789012618">Vindu opp</translation> <translation id="3053013834507634016">Bruk av sertifikatnøkkel</translation> <translation id="3057861065630527966">Sikkerhetskopiér bildene og videoene dine</translation> <translation id="3060379269883947824">Slå på Tekstopplesing</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">Åpner lyd- og videoinngang</translation> <translation id="3090819949319990166">Kunne ikke kopiere den eksterne crx-filen til <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">«<ph name="DEVICE_NAME" />» er tilkoblet</translation> -<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3100609564180505575">Moduler (<ph name="TOTAL_COUNT" />) – Kjente konflikter: <ph name="BAD_COUNT" />, mistenkte: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Dato og klokkeslett</translation> <translation id="3108967419958202225">Velg</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">Signert av</translation> <translation id="33022249435934718">GDI håndterer</translation> <translation id="3302340765592941254">Last ned fullstendig varsel</translation> -<translation id="3302709122321372472">Kan ikke laste inn <ph name="RELATIVE_PATH" /> for innholdsskript.</translation> <translation id="3303260552072730022">En utvidelse utløste full skjerm.</translation> <translation id="3303818374450886607">Kopier</translation> <translation id="3303855915957856445">Søket ga ingen treff</translation> @@ -1886,7 +1876,6 @@ <translation id="3856800405688283469">Velg tidssone</translation> <translation id="3856921555429624101">Målingen av databruk er avsluttet</translation> <translation id="3857228364945137633">Prøv Smart Lock for å låse opp <ph name="DEVICE_TYPE" />-enheten uten passord når du har telefonen i nærheten.</translation> -<translation id="3857732810083914482">Personlig tilpasning er slått av. Du kan endre dette på myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Velkommen til Hangouts Meet</translation> <translation id="3862134173397075045">Velkommen til casting i Chrome!</translation> @@ -1975,7 +1964,6 @@ <translation id="399179161741278232">Importert</translation> <translation id="3994374631886003300">Lås opp telefonen, og hold den nærmere for å låse opp <ph name="DEVICE_TYPE" />-enheten.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Kan ikke laste inn JavaScript <ph name="RELATIVE_PATH" /> for innholdsskript.</translation> <translation id="4002066346123236978">Tittel</translation> <translation id="40027638859996362">Ordforflytning</translation> <translation id="4005817994523282006">Metode for registrering av tidssone</translation> @@ -2154,7 +2142,6 @@ <translation id="4336032328163998280">Kopieringshandlingen mislyktes. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">For nettverkslogger, se: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Du må installere en oppdatering før du kan laste ned og bruke Android-apper. Du kan ikke bruke enheten mens den oppdateres. <ph name="DEVICE_TYPE" />-enheten din starter på nytt når installasjonen er ferdig.</translation> -<translation id="4338683191474220626">Vindu venstre</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ønsker å kommunisere med «<ph name="EXTENSION_NAME" />»-appen</translation> <translation id="4342311272543222243">Beklager, det oppsto en TPM-feil.</translation> <translation id="4345587454538109430">Konfigurer</translation> @@ -2306,7 +2293,6 @@ <translation id="4615586811063744755">ingen informasjonskapsel er valgt</translation> <translation id="4617270414136722281">Alternativer for utvidelser</translation> <translation id="4619615317237390068">Faner fra andre enheter</translation> -<translation id="4620809267248568679">Denne innstillingen håndheves av en utvidelse.</translation> <translation id="4624768044135598934">Fullført!</translation> <translation id="4625078469366263107">Slå på appen</translation> <translation id="4627427111733173920">Informasjonskapsler er blokkert</translation> @@ -2527,7 +2513,6 @@ <translation id="496226124210045887">Mappen du valgte inneholder sensitive filer. Er du sikker på at du vil gi «$1» permanent lesetilgang til denne mappen?</translation> <translation id="4964455510556214366">Oppsett</translation> <translation id="4964673849688379040">Kontrollerer …</translation> -<translation id="4965682129423310439">Chrome fant skadelig programvare på datamaskinen du bruker. Chrome kan fjerne den og gjenopprette innstillingene dine, sånn at nettleseren fungerer normalt igjen.</translation> <translation id="4965808351167763748">Er du sikker på at du vil konfigurere Hangouts Meet på denne enheten?</translation> <translation id="4967749818080339523">Velg en konto</translation> <translation id="496888482094675990">Med Filer-appen får du rask tilgang til filer du har lagret på Google Disk, eksterne langringsenheter eller Chrome OS-enheten din.</translation> @@ -3300,10 +3285,8 @@ <translation id="6169666352732958425">Kan ikke caste skrivebordet.</translation> <translation id="6171948306033499786">Sett utskriftsjobben på pause</translation> <translation id="6175314957787328458">Microsoft domeneguide</translation> -<translation id="6176032031541598434">Det aktive vinduet er flyttet til skjermen under</translation> <translation id="6178664161104547336">Velg et sertifikat</translation> <translation id="6181431612547969857">Nedlastingen ble blokkert</translation> -<translation id="6181803575025675566">Kontrollér hvordan dette fungerer, i <ph name="LINK_START" />innstillingene<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Enhetsposisjon</translation> <translation id="6185696379715117369">Opp én side</translation> <translation id="6189412234224385711">Åpne med <ph name="EXTENSION_NAME" /></translation> @@ -3650,11 +3633,9 @@ <translation id="6736045498964449756">Beklager. Passordene samsvarer ikke!</translation> <translation id="6736243959894955139">Adresse</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Selv om du ikke har tilgang til den gamle profilen din lenger, kan du fjerne den.</translation> <translation id="6739923123728562974">Vis skrivebordssnarvei</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> er satt på pause</translation> <translation id="6742339027238151589">Tilgjengelig for skript</translation> -<translation id="6743841972744298686">Synkroniseringsinnstillinger</translation> <translation id="6745592621698551453">Oppdater nå</translation> <translation id="6746124502594467657">Flytt ned</translation> <translation id="674632704103926902">Slå på trykk og dra</translation> @@ -3784,7 +3765,6 @@ <translation id="6970856801391541997">Skriv ut bestemte sider</translation> <translation id="6972180789171089114">Lyd og video</translation> <translation id="6973630695168034713">Mapper</translation> -<translation id="6974053822202609517">Høyre til venstre</translation> <translation id="6976108581241006975">JavaScript-konsoll</translation> <translation id="6977381486153291903">Fastvareversjon</translation> <translation id="6978121630131642226">Søkemotorer</translation> @@ -3883,7 +3863,6 @@ <translation id="7108338896283013870">Skjul</translation> <translation id="7108634116785509031"><ph name="HOST" /> ber om å bruke kameraet ditt</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">Personlig tilpasning er slått på. Du kan endre dette på myaccount.google.com.</translation> <translation id="7113502843173351041">se e-postadressen din</translation> <translation id="7114054701490058191">Passordene samsvarer ikke</translation> <translation id="7117228822971127758">Prøv igjen senere</translation> @@ -3948,7 +3927,6 @@ <translation id="7221869452894271364">Last inn denne siden på nytt</translation> <translation id="7222232353993864120">E-postadresse</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Slå på lupe</translation> <translation id="7223775956298141902">Huff a meg, du har ingen utvidelser :-(</translation> <translation id="7225179976675429563">Nettverkstype mangler</translation> <translation id="7228479291753472782">Håndter innstillinger som angir om nettsteder kan bruke funksjoner som geolokalisering, mikrofonen, kameraet og så videre.</translation> @@ -4196,7 +4174,6 @@ <translation id="7639178625568735185">Skjønner!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> logger deg på kvalifiserte nettsteder automatisk med passord du har lagret.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (eier)</translation> -<translation id="7647231681210854996">Det aktive vinduet er flyttet til høyre skjerm</translation> <translation id="7648992873808071793">lagre filer på denne enheten</translation> <translation id="7649070708921625228">Hjelp</translation> <translation id="7650511557061837441">«<ph name="TRIGGERING_EXTENSION_NAME" />» vil fjerne «<ph name="EXTENSION_NAME" />».</translation> @@ -4656,7 +4633,6 @@ <translation id="8371695176452482769">Snakk nå</translation> <translation id="8372369524088641025">Feil WEP-nøkkel</translation> <translation id="8373553483208508744">Slå av lyden for fanene</translation> -<translation id="8377870760189106701">Vindu til høyre</translation> <translation id="8378285435971754261">La Googles posisjonstjenester hjelpe apper med å finne posisjonen din kjapt og nøyaktig, noe som kan redusere batteribruken. Anonyme posisjonsdata sendes til Google, selv når ingen apper kjører. <ph name="BEGIN_LINK1" />Finn ut mer<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Administrer kamerainnstillingene</translation> <translation id="8382913212082956454">Kopier &e-postadresse</translation> @@ -4776,7 +4752,6 @@ <translation id="8581809080475256101">Trykk for å gå fremover, eller trykk på kontekstmenyen for å se loggen</translation> <translation id="8584280235376696778">&Åpne video i ny fane</translation> <translation id="8588866096426746242">Vis profilstatistikk</translation> -<translation id="8589652987924574405">Bokmerkene, loggoppføringene, passordene og de andre innstillingene dine blir synkronisert med Google-kontoen din, slik at du kan bruke dem på alle enhetene dine. Du kan når som helst endre dette i innstillingene.</translation> <translation id="8590375307970699841">Valg av automatiske oppdateringer</translation> <translation id="8594908476761052472">Spill inn video</translation> <translation id="8596540852772265699">Egendefinerte filer</translation> @@ -4792,7 +4767,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status for roaming</translation> <translation id="8620765578342452535">Konfigurering av nettverkstilkoblinger</translation> -<translation id="8620790565535071193">Skanningen mislyktes</translation> <translation id="8624205858755890468">Gjør at assistenten kan vise deg relatert informasjon og relaterte apper og handlinger.</translation> <translation id="862542460444371744">&Utvidelser</translation> <translation id="8627151598708688654">Velg kilde</translation> @@ -4870,7 +4844,6 @@ <translation id="871476437400413057">Google-lagrede passord</translation> <translation id="8714838604780058252">Bakgrunnsgrafikk</translation> <translation id="8719653885894320876">Nedlastingen av <ph name="PLUGIN_NAME" /> mislyktes</translation> -<translation id="8721669057562068233">Det aktive vinduet er flyttet til skjermen over</translation> <translation id="8723829621484579639">Inkognitounderrammer for: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Vis i mappe</translation> <translation id="8725066075913043281">Prøv igjen</translation> @@ -4914,7 +4887,6 @@ <translation id="8785622406424941542">Pekepenn</translation> <translation id="8787254343425541995">Gi tillatelse til mellomtjenere for delte nettverk</translation> <translation id="8791534160414513928">Send en «Ingen sporing»-forespørsel med nettrafikken din</translation> -<translation id="8792609692701651064">Det aktive vinduet er flyttet til venstre skjerm</translation> <translation id="8794025342371547160">Begrenset IP</translation> <translation id="879413103056696865">Når Wi-Fi-sonen er på, kommer <ph name="PHONE_NAME" /> til å</translation> <translation id="8795916974678578410">Nytt vindu</translation> @@ -5051,7 +5023,6 @@ <translation id="9024127637873500333">&Åpne i ny fane</translation> <translation id="9024331582947483881">full skjerm</translation> <translation id="9025098623496448965">OK, ta meg tilbake til påloggingsskjermen</translation> -<translation id="902659348151742535">Google kan bruke nettlesingsloggen din for å gi Søk, annonser og andre Google-tjenester et personlig preg.</translation> <translation id="9026731007018893674">last ned</translation> <translation id="9027146684281895941">Administrer denne personen for å kontrollere og se hvilke nettsteder vedkommende besøker fra Google-kontoen din.</translation> <translation id="9027459031423301635">Åpne link i ny &fane</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb index 72d1cb1..f713aaf9 100644 --- a/chrome/app/resources/generated_resources_pl.xtb +++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Brak sieci</translation> <translation id="1056898198331236512">Ostrzeżenie</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Nie udało się usunąć szkodliwego oprogramowania</translation> <translation id="1062407476771304334">Zastąp</translation> <translation id="1062866675591297858">Zarządzaj użytkownikami nadzorowanymi, używając <ph name="BEGIN_LINK" />Panelu użytkowników nadzorowanych<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Połącz z siecią prywatną</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Wybierz plik</translation> <translation id="136802136832547685">Brak nadzorowanych użytkowników, których można by dodać do tego urządzenia.</translation> <translation id="1368265273904755308">Zgłoś problem</translation> -<translation id="1368832886055348810">Od lewej do prawej</translation> <translation id="1370646789215800222">Usunąć osobę?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element do usunięcia}few{# elementy do usunięcia}many{# elementów do usunięcia}other{# elementu do usunięcia}}</translation> <translation id="1372841398847029212">Zsynchronizuj ze swoim kontem</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Usuń tego użytkownika</translation> <translation id="1609170755653088773">Zsynchronizuj to hasło ze swoim iPhonem</translation> <translation id="1609862759711084604">Poprzedni użytkownik</translation> -<translation id="1611557582955786626">Zaloguj się, by spersonalizować przeglądanie i zsynchronizować je na różnych urządzeniach</translation> <translation id="1611584202130317952">Przepływ obsługi administracyjnej został przerwany. Spróbuj ponownie lub skontaktuj się z właścicielem lub administratorem urządzenia.</translation> <translation id="1611649489706141841">do przodu</translation> <translation id="1611704746353331382">Eksportuj zakładki do pliku HTML</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Dodaj lokalizację...</translation> <translation id="1856813161013948396">Pomiń ekran blokady, dotykając czujnika linii papilarnych. Kliknij, by skonfigurować.</translation> <translation id="1858585891038687145">Ufaj temu certyfikatowi przy identyfikowaniu producentów oprogramowania</translation> -<translation id="1859234291848436338">Kierunek pisania</translation> <translation id="1861262398884155592">Ten folder jest pusty</translation> <translation id="1864111464094315414">Zaloguj się</translation> <translation id="1864400682872660285">Chłodniejsze</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Zwiń...</translation> <translation id="2737492745329609575">Rozpocznij konfigurację</translation> <translation id="2738771556149464852">Nie później niż</translation> -<translation id="2739046699559178272">Zapisz i kontynuuj</translation> <translation id="2739191690716947896">Debugowanie</translation> <translation id="2739240477418971307">Zmiana ustawień ułatwień dostępu</translation> <translation id="2740393541869613458">sprawdzać, na jakie strony wszedł użytkownik nadzorowany, oraz</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Pobrane</translation> <translation id="2783661497142353826">Zarządzaj aplikacjami kiosku</translation> <translation id="2784407158394623927">Aktywacja komórkowej usługi transmisji danych</translation> -<translation id="2785530881066938471">Nie można wczytać pliku „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego treści. Plik nie ma kodowania UTF-8.</translation> <translation id="2785873697295365461">Deskryptory plików</translation> <translation id="2787047795752739979">Zastąp oryginalny</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Nadal blokuj wtyczki spoza piaskownicy</translation> <translation id="2890678560483811744">Odwołanie do strony spoza zakresu</translation> <translation id="2893168226686371498">Domyślna przeglądarka</translation> -<translation id="2893453364759632532">Okno w dół</translation> <translation id="289644616180464099">Karta SIM jest zablokowana</translation> <translation id="289695669188700754">Identyfikator klucza: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Czy na pewno chcesz otworzyć <ph name="TAB_COUNT" /> zakładki?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Udostępniam ekran</translation> <translation id="3046910703532196514">Strona internetowa, kompletna</translation> <translation id="304826556400666995">Wyłącz wyciszenie kart</translation> -<translation id="3051523411789012618">Okno w górę</translation> <translation id="3053013834507634016">Użycie klucza certyfikatu</translation> <translation id="3057861065630527966">Utwórz kopię zapasową zdjęć i filmów</translation> <translation id="3060379269883947824">Włącz funkcję Przeczytaj na głos</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Otwieram wejście audio i wideo</translation> <translation id="3090819949319990166">Nie można skopiować zewnętrznego pliku CRX jako <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Sparowano „<ph name="DEVICE_NAME" />”</translation> -<translation id="3097628171361913691">Instalator plików ZIP</translation> <translation id="3100609564180505575">Moduły (<ph name="TOTAL_COUNT" />) – znane konflikty: <ph name="BAD_COUNT" />, podejrzewane: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data i godzina</translation> <translation id="3108967419958202225">Wybierz</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Podpisany przez</translation> <translation id="33022249435934718">Uchwyty GDI</translation> <translation id="3302340765592941254">Powiadomienie o zakończeniu pobierania</translation> -<translation id="3302709122321372472">Nie można wczytać pliku css „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego zawartości.</translation> <translation id="3303260552072730022">Rozszerzenie uruchomiło tryb pełnoekranowy.</translation> <translation id="3303818374450886607">Kopie</translation> <translation id="3303855915957856445">Brak wyników wyszukiwania</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Wybierz strefę czasową</translation> <translation id="3856921555429624101">Zakończono pomiar użycia danych</translation> <translation id="3857228364945137633">Użyj funkcji Smart Lock, by odblokować urządzenie <ph name="DEVICE_TYPE" /> bez podawania hasła, gdy masz telefon w pobliżu.</translation> -<translation id="3857732810083914482">Personalizacja jest wyłączona. Możesz nią zarządzać na myaccount.google.com</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Witamy w Hangouts Meet</translation> <translation id="3862134173397075045">Witamy w Cast dla Chrome</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Zaimportowane</translation> <translation id="3994374631886003300">Aby odblokować system, <ph name="DEVICE_TYPE" /> i odblokowany telefon muszą być bliżej siebie.</translation> <translation id="3994878504415702912">&Rozmiar tekstu</translation> -<translation id="39964277676607559">Nie można wczytać pliku JavaScript „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego zawartości.</translation> <translation id="4002066346123236978">Tytuł</translation> <translation id="40027638859996362">Przenoszenie słów</translation> <translation id="4005817994523282006">Metoda wykrywania strefy czasowej</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopiowanie nie powiodło się: <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Dzienniki sieciowe są dostępne tutaj: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Aby pobrać aplikacje na Androida i ich używać, najpierw musisz zainstalować aktualizację. Podczas aktualizowania urządzenia nie można z niego korzystać. Po zakończeniu instalacji <ph name="DEVICE_TYPE" /> uruchomi się ponownie.</translation> -<translation id="4338683191474220626">Okno w lewo</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> chce nawiązać połączenie z aplikacją „<ph name="EXTENSION_NAME" />”</translation> <translation id="4342311272543222243">Ups, błąd TPM.</translation> <translation id="4345587454538109430">Konfiguruj</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nie wybrano plików cookie</translation> <translation id="4617270414136722281">Opcje rozszerzeń</translation> <translation id="4619615317237390068">Karty z innych urządzeń</translation> -<translation id="4620809267248568679">To ustawienie jest wymuszone przez rozszerzenie.</translation> <translation id="4624768044135598934">Gotowe!</translation> <translation id="4625078469366263107">Włącz aplikację</translation> <translation id="4627427111733173920">Pliki cookie zablokowane</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Wybrany folder zawiera poufne pliki. Czy na pewno chcesz, by aplikacja „$1” miała do niego stały dostęp z uprawnieniami do odczytu?</translation> <translation id="4964455510556214366">Układ</translation> <translation id="4964673849688379040">Sprawdzam...</translation> -<translation id="4965682129423310439">Przeglądarka Chrome znalazła na Twoim komputerze szkodliwe oprogramowanie. Może je usunąć i przywrócić ustawienia, by znów mogła działać normalnie.</translation> <translation id="4965808351167763748">Czy na pewno chcesz skonfigurować to urządzenie na potrzeby Hangouts Meet?</translation> <translation id="4967749818080339523">Wybierz konto</translation> <translation id="496888482094675990">Aplikacja Pliki daje szybki dostęp do plików zapisanych na Dysku Google, urządzeniu z Chrome OS lub w pamięci zewnętrznej.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Nie można przesłać pulpitu.</translation> <translation id="6171948306033499786">Wstrzymaj drukowanie</translation> <translation id="6175314957787328458">Identyfikator GUID domeny firmy Microsoft</translation> -<translation id="6176032031541598434">Aktywne okno zostało przeniesione na dolny wyświetlacz</translation> <translation id="6178664161104547336">Wybór certyfikatu</translation> <translation id="6181431612547969857">Pobieranie zostało zablokowane</translation> -<translation id="6181803575025675566">Opcje możesz zmienić w <ph name="LINK_START" />Ustawieniach<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokalizacja urządzenia</translation> <translation id="6185696379715117369">Strona do góry</translation> <translation id="6189412234224385711">Otwórz w rozszerzeniu <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Ups, hasła nie pasują do siebie.</translation> <translation id="6736243959894955139">Adres</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Chociaż nie możesz już używać swojego starego profilu, możesz go usunąć.</translation> <translation id="6739923123728562974">Pokaż skrót na pulpicie</translation> <translation id="6740234557573873150">Wstrzymano pobieranie <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Dostępny dla skryptu</translation> -<translation id="6743841972744298686">Ustawienia synchronizacji</translation> <translation id="6745592621698551453">Aktualizuj teraz</translation> <translation id="6746124502594467657">W dół</translation> <translation id="674632704103926902">Włącz przeciąganie dotykiem</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Drukuj wybrane strony</translation> <translation id="6972180789171089114">Audio/wideo</translation> <translation id="6973630695168034713">Foldery</translation> -<translation id="6974053822202609517">Od prawej do lewej</translation> <translation id="6976108581241006975">Konsola JavaScript</translation> <translation id="6977381486153291903">Wersja oprogramowania</translation> <translation id="6978121630131642226">Wyszukiwarki</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Ukryj</translation> <translation id="7108634116785509031"><ph name="HOST" /> chce korzystać z kamery</translation> <translation id="7108668606237948702">wpisz</translation> -<translation id="7112978678959880812">Personalizacja jest włączona. Możesz nią zarządzać na myaccount.google.com</translation> <translation id="7113502843173351041">Poznanie Twojego adresu e-mail</translation> <translation id="7114054701490058191">Hasła nie są identyczne</translation> <translation id="7117228822971127758">Spróbuj ponownie później</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Odśwież stronę</translation> <translation id="7222232353993864120">Adres e-mail</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Włącz lupę</translation> <translation id="7223775956298141902">Ech... nie masz żadnych rozszerzeń :-(</translation> <translation id="7225179976675429563">Brak typu sieci</translation> <translation id="7228479291753472782">Zmień ustawienia określające, czy strony mogą korzystać z takich funkcji jak geolokalizacja, mikrofon, aparat itd.</translation> @@ -4206,7 +4184,6 @@ <translation id="7639178625568735185">Rozumiem</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> automatycznie loguje Cię w odpowiednich witrynach przy użyciu zapisanych wcześniej haseł.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (właściciel)</translation> -<translation id="7647231681210854996">Aktywne okno zostało przeniesione na prawy wyświetlacz</translation> <translation id="7648992873808071793">Zapisywanie plików na tym urządzeniu</translation> <translation id="7649070708921625228">Pomoc</translation> <translation id="7650511557061837441">„<ph name="TRIGGERING_EXTENSION_NAME" />” chce usunąć „<ph name="EXTENSION_NAME" />”.</translation> @@ -4667,7 +4644,6 @@ <translation id="8371695176452482769">Mów teraz</translation> <translation id="8372369524088641025">Błędny klucz WEP</translation> <translation id="8373553483208508744">Wycisz karty</translation> -<translation id="8377870760189106701">Okno w prawo</translation> <translation id="8378285435971754261">Pozwól usłudze lokalizacyjnej Google na szybkie i dokładne określanie Twojej lokalizacji. Dzięki temu możesz zmniejszyć zużycie baterii. Do Google będą wysyłane anonimowe dane o lokalizacji – nawet wtedy, gdy nie są uruchomione żadne aplikacje. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Zarządzaj ustawieniami kamery...</translation> <translation id="8382913212082956454">Kopiuj adres &e-mail</translation> @@ -4787,7 +4763,6 @@ <translation id="8581809080475256101">Naciśnij, by przejść dalej, lub otwórz menu kontekstowe, by wyświetlić historię</translation> <translation id="8584280235376696778">&Otwórz wideo w nowej karcie</translation> <translation id="8588866096426746242">Wyświetl statystyki profilu</translation> -<translation id="8589652987924574405">Zakładki, historia, hasła i inne ustawienia zostaną zsynchronizowane z kontem Google, by można było z nich korzystać na dowolnym urządzeniu. W każdej chwili możesz to zmienić w ustawieniach.</translation> <translation id="8590375307970699841">Skonfiguruj aktualizacje automatyczne</translation> <translation id="8594908476761052472">Nagraj film</translation> <translation id="8596540852772265699">Pliki niestandardowe</translation> @@ -4803,7 +4778,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stan roamingu</translation> <translation id="8620765578342452535">Konfigurowanie połączenia sieciowego</translation> -<translation id="8620790565535071193">Skanowanie się nie udało</translation> <translation id="8624205858755890468">Umożliwia Asystentowi wyświetlanie powiązanych informacji, aplikacji i działań.</translation> <translation id="862542460444371744">&Rozszerzenia</translation> <translation id="8627151598708688654">Wybierz źródło</translation> @@ -4881,7 +4855,6 @@ <translation id="871476437400413057">Zapisane hasła Google</translation> <translation id="8714838604780058252">Obraz w tle</translation> <translation id="8719653885894320876">Nie udało się pobrać wtyczki <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Aktywne okno zostało przeniesione na górny wyświetlacz</translation> <translation id="8723829621484579639">Ramki podrzędne incognito dla <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Pokaż w folderze</translation> <translation id="8725066075913043281">Spróbuj ponownie</translation> @@ -4925,7 +4898,6 @@ <translation id="8785622406424941542">Rysik</translation> <translation id="8787254343425541995">Zezwalaj na serwery proxy w sieciach współdzielonych</translation> <translation id="8791534160414513928">Wysyłaj żądanie „Bez śledzenia” podczas przeglądania</translation> -<translation id="8792609692701651064">Aktywne okno zostało przeniesione na lewy wyświetlacz</translation> <translation id="8794025342371547160">IP z ograniczonym dostępem</translation> <translation id="879413103056696865">Gdy hotspot jest włączony, <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nowe okno</translation> @@ -5062,7 +5034,6 @@ <translation id="9024127637873500333">&Otwórz w nowej karcie</translation> <translation id="9024331582947483881">pełny ekran</translation> <translation id="9025098623496448965">OK, wróć do ekranu logowania</translation> -<translation id="902659348151742535">Google może korzystać z Twojej historii przeglądania, by dostosowywać wyniki wyszukiwania, reklamy i działanie innych usług.</translation> <translation id="9026731007018893674">pobrane</translation> <translation id="9027146684281895941">Nadzoruj tę osobę, by kontrolować i wyświetlać odwiedzane przez nią strony ze swojego konta Google.</translation> <translation id="9027459031423301635">Otwórz link w nowej &karcie</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb index 89d38cf..7fef6d07 100644 --- a/chrome/app/resources/generated_resources_pt-BR.xtb +++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nenhuma rede encontrada</translation> <translation id="1056898198331236512">Aviso</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Não é possível remover software perigoso</translation> <translation id="1062407476771304334">Substituir</translation> <translation id="1062866675591297858">Administre seus usuários supervisionados usando o <ph name="BEGIN_LINK" />Painel de usuários supervisionados<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Conectar a uma rede particular</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Escolher um arquivo</translation> <translation id="136802136832547685">Não há usuários supervisionados para adicionar a esse dispositivo.</translation> <translation id="1368265273904755308">Informar problema</translation> -<translation id="1368832886055348810">Da esquerda para a direita</translation> <translation id="1370646789215800222">Remover pessoa?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 item a ser removido}one{# item a ser removido}other{# itens a serem removidos}}</translation> <translation id="1372841398847029212">Sincronizar com sua conta</translation> @@ -375,7 +373,7 @@ <translation id="1559235587769913376">Entrada de caracteres Unicode</translation> <translation id="1566049601598938765">Website</translation> <translation id="1567993339577891801">Console JavaScript</translation> -<translation id="1568067597247500137">Ignorar site</translation> +<translation id="1568067597247500137">Desativar som do site</translation> <translation id="1568323446248056064">Abrir configurações de exibição do dispositivo</translation> <translation id="1568822834048182062">Seus favoritos, histórico, senhas e outras configurações serão sincronizados com sua Conta do Google.</translation> <translation id="1571313460229786892">&Configurações do site</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Remover este usuário</translation> <translation id="1609170755653088773">Sincronize esta senha com seu iPhone</translation> <translation id="1609862759711084604">Usuário anterior</translation> -<translation id="1611557582955786626">Faça login para ter uma experiência de navegação personalizada e sincronizada entre seus dispositivos</translation> <translation id="1611584202130317952">O fluxo de aprovisionamento foi interrompido. Tente novamente ou entre em contato com o proprietário ou administrador do dispositivo.</translation> <translation id="1611649489706141841">avançar</translation> <translation id="1611704746353331382">Exportar favoritos para arquivo HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Adicionar local...</translation> <translation id="1856813161013948396">Toque no sensor de impressão digital para pular a tela de bloqueio. Clique para configurar.</translation> <translation id="1858585891038687145">Confiar neste certificado para a identificação de criadores do software</translation> -<translation id="1859234291848436338">Direção de Gravação</translation> <translation id="1861262398884155592">Esta pasta está vazia</translation> <translation id="1864111464094315414">Login</translation> <translation id="1864400682872660285">Mais frias</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Recolher...</translation> <translation id="2737492745329609575">Iniciar configuração</translation> <translation id="2738771556149464852">Não depois</translation> -<translation id="2739046699559178272">Salvar e continuar</translation> <translation id="2739191690716947896">Depurar</translation> <translation id="2739240477418971307">Modificar suas configurações de acessibilidade</translation> <translation id="2740393541869613458">analisar os websites que o usuário supervisionado visitou e</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Download concluído</translation> <translation id="2783661497142353826">Gerenciar aplicativos do quiosque</translation> <translation id="2784407158394623927">Ativando seu serviço de dados móveis</translation> -<translation id="2785530881066938471">Não foi possível carregar o arquivo "<ph name="RELATIVE_PATH" />" para o script de conteúdo. Ele não possui a codificação UTF-8.</translation> <translation id="2785873697295365461">Descritores de arquivos</translation> <translation id="2787047795752739979">Substituir original</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Continuar bloqueando plug-ins sem sandbox</translation> <translation id="2890678560483811744">Referência de página fora dos limites</translation> <translation id="2893168226686371498">Navegador padrão</translation> -<translation id="2893453364759632532">Janela para baixo</translation> <translation id="289644616180464099">O cartão SIM está bloqueado</translation> <translation id="289695669188700754">ID da chave: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Você tem certeza que quer abrir <ph name="TAB_COUNT" /> guias?</translation> @@ -1297,7 +1290,7 @@ <translation id="2972557485845626008">Firmware</translation> <translation id="2972581237482394796">&Refazer</translation> <translation id="2972642118232180842">Executar apenas conteúdos importantes (recomendado)</translation> -<translation id="2973324205039581528">Ignorar site</translation> +<translation id="2973324205039581528">Desativar som do site</translation> <translation id="2979639724566107830">Abrir em uma nova janela</translation> <translation id="2981113813906970160">Mostrar cursor grande do mouse</translation> <translation id="2982970937345031">Enviar feedback anonimamente</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Compartilhando tela</translation> <translation id="3046910703532196514">Página da web, completa</translation> <translation id="304826556400666995">Ativar som das guias</translation> -<translation id="3051523411789012618">Janela para cima</translation> <translation id="3053013834507634016">Uso da chave de certificado</translation> <translation id="3057861065630527966">Fazer backup de suas fotos e seus vídeos</translation> <translation id="3060379269883947824">Ativar Selecionar para ouvir</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Acessando entrada de áudio e vídeo</translation> <translation id="3090819949319990166">Não foi possível copiar o arquivo externo crx em <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" pareado</translation> -<translation id="3097628171361913691">Instalador de arquivo zip</translation> <translation id="3100609564180505575">Módulos (<ph name="TOTAL_COUNT" />) - Conflitos conhecidos: <ph name="BAD_COUNT" />, suspeitos: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data e hora</translation> <translation id="3108967419958202225">Escolher...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Assinado por</translation> <translation id="33022249435934718">Processamentos de GDI</translation> <translation id="3302340765592941254">Fazer download da notificação completa</translation> -<translation id="3302709122321372472">Não foi possível carregar "<ph name="RELATIVE_PATH" />" em css para o script de conteúdo.</translation> <translation id="3303260552072730022">Uma extensão ativou a tela cheia.</translation> <translation id="3303818374450886607">Cópias</translation> <translation id="3303855915957856445">Nenhum resultado de pesquisa encontrado</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Selecionar fuso horário</translation> <translation id="3856921555429624101">A medição de uso de dados terminou</translation> <translation id="3857228364945137633">Tente usar o Smart Lock para desbloquear seu <ph name="DEVICE_TYPE" /> sem uma senha quando seu smartphone estiver por perto.</translation> -<translation id="3857732810083914482">A personalização está desativada. É possível alterar isso em myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Bem-vindo ao Hangouts Meet</translation> <translation id="3862134173397075045">Bem-vindo à experiência de transmissão no Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importado</translation> <translation id="3994374631886003300">Desbloqueie seu smartphone e aproxime-o para desbloquear o <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Não foi possível carregar "<ph name="RELATIVE_PATH" />" em javascript para o script de conteúdo.</translation> <translation id="4002066346123236978">Título</translation> <translation id="40027638859996362">Deslocar palavras</translation> <translation id="4005817994523282006">Método de detecção de fuso horário</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Falha na operação de cópia. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Para registros de rede, consulte: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Para fazer o download e usar os apps Android, primeiro é necessário instalar uma atualização. Enquanto seu dispositivo estiver sendo atualizado, você não poderá usá-lo. O <ph name="DEVICE_TYPE" /> será reiniciado quando a instalação for concluída.</translation> -<translation id="4338683191474220626">Janela para a esquerda</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> deseja se comunicar com o aplicativo "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ops, erro no TPM.</translation> <translation id="4345587454538109430">Configurar...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nenhum cookie foi selecionado</translation> <translation id="4617270414136722281">Opções de extensão</translation> <translation id="4619615317237390068">Guias de outros dispositivos</translation> -<translation id="4620809267248568679">Esta configuração é aplicada por uma extensão.</translation> <translation id="4624768044135598934">Êxito!</translation> <translation id="4625078469366263107">Ativar app</translation> <translation id="4627427111733173920">Cookies bloqueados</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">A pasta selecionada contém arquivos confidenciais. Tem certeza que quer conceder a "$1" acesso permanente de leitura a esta pasta?</translation> <translation id="4964455510556214366">Organização</translation> <translation id="4964673849688379040">Verificando...</translation> -<translation id="4965682129423310439">O Chrome encontrou software perigoso no seu computador. O Chrome pode removê-lo e restaurar as configurações para que o navegador volte a funcionar normalmente.</translation> <translation id="4965808351167763748">Tem certeza que quer configurar este dispositivo para executar o Hangouts Meet?</translation> <translation id="4967749818080339523">Selecionar uma conta</translation> <translation id="496888482094675990">O aplicativo Arquivos fornece acesso rápido a arquivos que foram salvos no Google Drive, em armazenamento externo ou no seu dispositivo Chrome OS.</translation> @@ -3310,10 +3295,8 @@ <translation id="6169666352732958425">Não é possível transmitir a área de trabalho.</translation> <translation id="6171948306033499786">Pausar impressão</translation> <translation id="6175314957787328458">GUID do domínio da Microsoft</translation> -<translation id="6176032031541598434">A janela ativa foi movida para a tela abaixo</translation> <translation id="6178664161104547336">Selecione um certificado</translation> <translation id="6181431612547969857">Download bloqueado</translation> -<translation id="6181803575025675566">Controle como esse recurso funciona nas <ph name="LINK_START" />configurações<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Localização do dispositivo</translation> <translation id="6185696379715117369">Página para cima</translation> <translation id="6189412234224385711">Abrir com <ph name="EXTENSION_NAME" /></translation> @@ -3661,11 +3644,9 @@ <translation id="6736045498964449756">Ops, as senhas não correspondem.</translation> <translation id="6736243959894955139">Endereço</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Embora você não possa mais acessar seu perfil antigo, é possível removê-lo.</translation> <translation id="6739923123728562974">Mostrar atalho na área de trabalho</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> pausado</translation> <translation id="6742339027238151589">Acessível ao script</translation> -<translation id="6743841972744298686">Configurações de sincronização</translation> <translation id="6745592621698551453">Atualizar agora</translation> <translation id="6746124502594467657">Mover para baixo</translation> <translation id="674632704103926902">Ativar gesto de arrastar com toque</translation> @@ -3795,7 +3776,6 @@ <translation id="6970856801391541997">Imprimir páginas específicas</translation> <translation id="6972180789171089114">Áudio/vídeo</translation> <translation id="6973630695168034713">Pastas</translation> -<translation id="6974053822202609517">Da direita para a esquerda</translation> <translation id="6976108581241006975">Console JavaScript</translation> <translation id="6977381486153291903">Revisão do firmware</translation> <translation id="6978121630131642226">Mecanismos de pesquisa</translation> @@ -3894,7 +3874,6 @@ <translation id="7108338896283013870">Ocultar</translation> <translation id="7108634116785509031"><ph name="HOST" /> quer usar sua câmera</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">A personalização está ativada. É possível alterar essa opção em myaccount.google.com.</translation> <translation id="7113502843173351041">Saiba seu endereço de e-mail</translation> <translation id="7114054701490058191">As senhas não correspondem</translation> <translation id="7117228822971127758">Tente novamente mais tarde</translation> @@ -3959,7 +3938,6 @@ <translation id="7221869452894271364">Recarregar esta página</translation> <translation id="7222232353993864120">Endereço de e-mail</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Ativar lupa</translation> <translation id="7223775956298141902">Puxa... Você não tem extensões :-(</translation> <translation id="7225179976675429563">Tipo de rede ausente</translation> <translation id="7228479291753472782">Manipular configurações que determinam se websites podem usar recursos, como geolocalização, microfone, câmera, etc.</translation> @@ -4216,7 +4194,6 @@ <translation id="7639178625568735185">Entendi.</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> conecta você automaticamente a sites qualificados com as senhas que você salvou.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietário)</translation> -<translation id="7647231681210854996">A janela ativa foi movida para a tela à direita</translation> <translation id="7648992873808071793">Armazenar arquivos neste dispositivo</translation> <translation id="7649070708921625228">Ajuda</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" deseja remover "<ph name="EXTENSION_NAME" />".</translation> @@ -4677,7 +4654,6 @@ <translation id="8371695176452482769">Fale agora</translation> <translation id="8372369524088641025">Chave WEP incorreta</translation> <translation id="8373553483208508744">Desativar som das guias</translation> -<translation id="8377870760189106701">Janela à direita</translation> <translation id="8378285435971754261">Permita que o serviço de localização do Google ajude os apps a encontrar sua localização de forma rápida e precisa, o que pode reduzir o consumo de bateria. Dados de local anônimos serão enviados ao Google, mesmo quando nenhum app estiver em execução. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gerenciar configurações da câmera...</translation> <translation id="8382913212082956454">Copiar &endereço de e-mail</translation> @@ -4797,7 +4773,6 @@ <translation id="8581809080475256101">Pressione para avançar ao menu de contexto e ver o histórico</translation> <translation id="8584280235376696778">&Abrir vídeo em uma nova guia</translation> <translation id="8588866096426746242">Mostrar estatísticas do perfil</translation> -<translation id="8589652987924574405">Seus favoritos, histórico, senhas e outras configurações serão sincronizados com sua Conta do Google para que seja possível usá-los em todos os seus dispositivos. É possível alterar essa opção a qualquer momento nas configurações.</translation> <translation id="8590375307970699841">Configurar atualizações automáticas</translation> <translation id="8594908476761052472">Capturar vídeo</translation> <translation id="8596540852772265699">Arquivos personalizados</translation> @@ -4813,7 +4788,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Status do roaming</translation> <translation id="8620765578342452535">Configurar conexões de rede</translation> -<translation id="8620790565535071193">Falha na verificação</translation> <translation id="8624205858755890468">Permite que o Assistente mostre informações, ações e apps relacionados para você.</translation> <translation id="862542460444371744">&Extensões</translation> <translation id="8627151598708688654">Selecionar fonte</translation> @@ -4891,7 +4865,6 @@ <translation id="871476437400413057">Senhas salvas do Google</translation> <translation id="8714838604780058252">Gráficos de segundo plano</translation> <translation id="8719653885894320876">Falha no download do plug-in <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">A janela ativa foi movida para a tela acima</translation> <translation id="8723829621484579639">Subquadros anônimos de: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Mostrar na pasta</translation> <translation id="8725066075913043281">Tentar novamente</translation> @@ -4935,7 +4908,6 @@ <translation id="8785622406424941542">Stylus</translation> <translation id="8787254343425541995">Permitir proxies para redes compartilhadas</translation> <translation id="8791534160414513928">Enviar uma solicitação "Não rastrear" com seu tráfego de navegação</translation> -<translation id="8792609692701651064">A janela ativa foi movida para a tela à esquerda</translation> <translation id="8794025342371547160">IP restrito</translation> <translation id="879413103056696865">Enquanto o ponto de acesso estiver ativado, seu <ph name="PHONE_NAME" /> vai:</translation> <translation id="8795916974678578410">Nova janela</translation> @@ -5072,7 +5044,6 @@ <translation id="9024127637873500333">&Abrir em nova guia</translation> <translation id="9024331582947483881">tela cheia</translation> <translation id="9025098623496448965">Ok, leve-me de volta à tela de login</translation> -<translation id="902659348151742535">O Google pode usar seu histórico de navegação para personalizar a Pesquisa Google, os anúncios e outros serviços nossos.</translation> <translation id="9026731007018893674">download</translation> <translation id="9027146684281895941">Supervisionar esta pessoa para controlar e ver os websites que ela visita usando a Conta do Google.</translation> <translation id="9027459031423301635">Abrir link em uma nova &guia</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb index bbea333..c38cf13 100644 --- a/chrome/app/resources/generated_resources_pt-PT.xtb +++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nenhuma rede</translation> <translation id="1056898198331236512">Aviso</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Não é possível remover software prejudicial.</translation> <translation id="1062407476771304334">Substituir</translation> <translation id="1062866675591297858">Faça a gestão dos seus utilizadores supervisionados no <ph name="BEGIN_LINK" />Painel de controlo de utilizadores supervisionados<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Aderir a rede privada</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Selecione um ficheiro</translation> <translation id="136802136832547685">Não existem utilizadores supervisionados para adicionar a este dispositivo.</translation> <translation id="1368265273904755308">Comunicar problema</translation> -<translation id="1368832886055348810">Da esquerda para a direita</translation> <translation id="1370646789215800222">Remover a pessoa?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 item a remover}other{# itens a remover}}</translation> <translation id="1372841398847029212">Sincronizar com a sua conta</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Remover este utilizador</translation> <translation id="1609170755653088773">Sincronizar esta palavra-passe com o seu iPhone</translation> <translation id="1609862759711084604">Utilizador anterior</translation> -<translation id="1611557582955786626">Inicie sessão para obter uma experiência de navegação personalizada, sincronizada entre dispositivos.</translation> <translation id="1611584202130317952">O fluxo do fornecimento de dispositivos foi interrompido. Tente novamente ou contacte o proprietário ou o gestor do dispositivo.</translation> <translation id="1611649489706141841">avançar</translation> <translation id="1611704746353331382">Exportar Marcadores para Ficheiro HTML...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Adicionar localização...</translation> <translation id="1856813161013948396">Ignore o ecrã de bloqueio com um simples toque no sensor de impressões digitais. Clique para configurar.</translation> <translation id="1858585891038687145">Confiar neste certificado para identificar fabricantes de software</translation> -<translation id="1859234291848436338">Direcção da escrita</translation> <translation id="1861262398884155592">Esta pasta está vazia</translation> <translation id="1864111464094315414">Início de sessão</translation> <translation id="1864400682872660285">Mais frio</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Reduzir...</translation> <translation id="2737492745329609575">Iniciar configuração</translation> <translation id="2738771556149464852">Não posterior a</translation> -<translation id="2739046699559178272">Guardar e continuar</translation> <translation id="2739191690716947896">Depurar</translation> <translation id="2739240477418971307">Alterar as definições de acessibilidade</translation> <translation id="2740393541869613458">analisar Sites que o utilizador supervisionado visitou e</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Transferido</translation> <translation id="2783661497142353826">Gerir Aplicações de Quiosque</translation> <translation id="2784407158394623927">A ativar o serviço de dados móveis</translation> -<translation id="2785530881066938471">Não foi possível carregar o ficheiro "<ph name="RELATIVE_PATH" />" para script de conteúdo. Não está codificado em UTF-8.</translation> <translation id="2785873697295365461">Descritores de ficheiros</translation> <translation id="2787047795752739979">Substituir original</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Continuar a bloquear plug-ins sem isolamento de processos</translation> <translation id="2890678560483811744">Referência da página fora dos limites</translation> <translation id="2893168226686371498">Navegador predefinido</translation> -<translation id="2893453364759632532">Mover a janela para baixo</translation> <translation id="289644616180464099">O cartão SIM está bloqueado</translation> <translation id="289695669188700754">ID da chave: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Tem a certeza de que pretende abrir <ph name="TAB_COUNT" /> separadores?</translation> @@ -1360,7 +1353,6 @@ <translation id="304567287000691532">A partilhar o ecrã…</translation> <translation id="3046910703532196514">Página Web, Completa</translation> <translation id="304826556400666995">Reativar Som dos Separadores</translation> -<translation id="3051523411789012618">Mover a janela para cima</translation> <translation id="3053013834507634016">Utilização de chave de certificado</translation> <translation id="3057861065630527966">Fazer uma cópia de segurança de fotos e vídeos</translation> <translation id="3060379269883947824">Ativar Selecionar para ativar voz</translation> @@ -1390,7 +1382,6 @@ <translation id="3090193911106258841">A aceder à entrada de áudio e de vídeo</translation> <translation id="3090819949319990166">Não é possível copiar o ficheiro crx externo para <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" sincronizado</translation> -<translation id="3097628171361913691">Instalador de ficheiros ZIP</translation> <translation id="3100609564180505575">Módulos (<ph name="TOTAL_COUNT" />) – Conflitos conhecidos: <ph name="BAD_COUNT" />, suspeitos: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data e hora</translation> <translation id="3108967419958202225">Escolher...</translation> @@ -1512,7 +1503,6 @@ <translation id="3300394989536077382">Assinado por</translation> <translation id="33022249435934718">Identificadores de GDI</translation> <translation id="3302340765592941254">Notificação de transferência concluída</translation> -<translation id="3302709122321372472">Não foi possível carregar css "<ph name="RELATIVE_PATH" />" para script de conteúdo.</translation> <translation id="3303260552072730022">Uma extensão acionou o ecrã inteiro.</translation> <translation id="3303818374450886607">Cópias</translation> <translation id="3303855915957856445">Não foram encontrados resultados da pesquisa</translation> @@ -1893,7 +1883,6 @@ <translation id="3856800405688283469">Selecionar fuso horário</translation> <translation id="3856921555429624101">A medição da utilização de dados terminou</translation> <translation id="3857228364945137633">Experimente o Smart Lock para desbloquear o <ph name="DEVICE_TYPE" /> sem palavra-passe quando o seu telemóvel estiver próximo.</translation> -<translation id="3857732810083914482">A personalização está desativada. Pode alterar esta definição em myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Bem-vindo ao Hangouts Meet</translation> <translation id="3862134173397075045">Bem-vindo à experiência do Google Cast no Chrome!</translation> @@ -1984,7 +1973,6 @@ <translation id="399179161741278232">Importado</translation> <translation id="3994374631886003300">Desbloqueie o telemóvel e aproxime-o para desbloquear o <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Não foi possível carregar javascript "<ph name="RELATIVE_PATH" />" para script de conteúdo.</translation> <translation id="4002066346123236978">Título</translation> <translation id="40027638859996362">Mover palavra</translation> <translation id="4005817994523282006">Método de deteção do fuso horário</translation> @@ -2163,7 +2151,6 @@ <translation id="4336032328163998280">Falha na operação de cópia. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Para aceder aos registos da rede, consulte <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Para transferir e utilizar aplicações Android, tem de instalar primeiro uma atualização. Enquanto o dispositivo estiver a ser atualizado, não o pode utilizar. O seu <ph name="DEVICE_TYPE" /> será reiniciado quando a instalação estiver concluída.</translation> -<translation id="4338683191474220626">Mover a janela para a esquerda</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> pretende comunicar com a aplicação "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ups! Erro TPM.</translation> <translation id="4345587454538109430">Configurar...</translation> @@ -2315,7 +2302,6 @@ <translation id="4615586811063744755">nenhum cookie selecionado</translation> <translation id="4617270414136722281">Opções de extensão</translation> <translation id="4619615317237390068">Separadores de outros dispositivos</translation> -<translation id="4620809267248568679">Esta definição é gerida por uma extensão.</translation> <translation id="4624768044135598934">Concluído com êxito!</translation> <translation id="4625078469366263107">Ativar aplicação</translation> <translation id="4627427111733173920">Cookies bloqueados</translation> @@ -2536,7 +2522,6 @@ <translation id="496226124210045887">A pasta que selecionou contém ficheiros sensíveis. Tem a certeza de que pretende conceder a "$1" o acesso permanente de leitura a esta pasta?</translation> <translation id="4964455510556214366">Disposição</translation> <translation id="4964673849688379040">A verificar...</translation> -<translation id="4965682129423310439">O Chrome encontrou software prejudicial no seu computador. O Chrome pode removê-lo e restaurar as suas definições para que o navegador volte a funcionar normalmente.</translation> <translation id="4965808351167763748">Tem a certeza de que pretende configurar este dispositivo para executar o Hangouts Meet?</translation> <translation id="4967749818080339523">Selecionar uma conta</translation> <translation id="496888482094675990">A aplicação Ficheiros fornece um acesso rápido aos ficheiros que guardou no Google Drive, no armazenamento externo ou no dispositivo Chrome OS.</translation> @@ -3311,10 +3296,8 @@ <translation id="6169666352732958425">Não é possível transmitir o ambiente de trabalho.</translation> <translation id="6171948306033499786">Interromper impressão</translation> <translation id="6175314957787328458">GUID de Domínio do Windows</translation> -<translation id="6176032031541598434">Janela ativa movida para o ecrã de baixo.</translation> <translation id="6178664161104547336">Selecionar um certificado</translation> <translation id="6181431612547969857">Transferência bloqueada</translation> -<translation id="6181803575025675566">Controle esta funcionalidade nas <ph name="LINK_START" />Definições<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Localização do dispositivo</translation> <translation id="6185696379715117369">Página para cima</translation> <translation id="6189412234224385711">Abrir com <ph name="EXTENSION_NAME" /></translation> @@ -3662,11 +3645,9 @@ <translation id="6736045498964449756">Ups, as palavras-passe não coincidem!</translation> <translation id="6736243959894955139">Endereço</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [ <ph name="ISSUED_TO" /> ]</translation> -<translation id="673970589316422346">Embora já não possa aceder ao seu perfil antigo, pode removê-lo.</translation> <translation id="6739923123728562974">Mostrar atalho no ambiente de trabalho</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> em pausa</translation> <translation id="6742339027238151589">Acessível ao script</translation> -<translation id="6743841972744298686">Definições de sincronização</translation> <translation id="6745592621698551453">Atualizar agora</translation> <translation id="6746124502594467657">Mover para baixo</translation> <translation id="674632704103926902">Ativar arrastamento através do toque</translation> @@ -3796,7 +3777,6 @@ <translation id="6970856801391541997">Imprimir Páginas Específicas</translation> <translation id="6972180789171089114">Áudio/Vídeo</translation> <translation id="6973630695168034713">Pastas</translation> -<translation id="6974053822202609517">Da direita para a esquerda</translation> <translation id="6976108581241006975">Consola de JavaScript</translation> <translation id="6977381486153291903">Revisão de firmware</translation> <translation id="6978121630131642226">Motores de pesquisa</translation> @@ -3895,7 +3875,6 @@ <translation id="7108338896283013870">Ocultar</translation> <translation id="7108634116785509031"><ph name="HOST" /> pretende utilizar a câmara.</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">A personalização está ativada. Pode alterar esta definição em myaccount.google.com.</translation> <translation id="7113502843173351041">Saber o seu endereço de email</translation> <translation id="7114054701490058191">As palavras-passe não coincidem</translation> <translation id="7117228822971127758">Tente novamente mais tarde.</translation> @@ -3960,7 +3939,6 @@ <translation id="7221869452894271364">Recarregar esta página</translation> <translation id="7222232353993864120">Endereço de email</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Ativar lupa</translation> <translation id="7223775956298141902">Boo... Não tem extensões :-(</translation> <translation id="7225179976675429563">Tipo de rede em falta</translation> <translation id="7228479291753472782">Manipular definições que especificam se os Sites podem utilizar funcionalidades como a geolocalização, o microfone, a câmara, etc.</translation> @@ -4216,7 +4194,6 @@ <translation id="7639178625568735185">Entendido!</translation> <translation id="764017888128728">O <ph name="PASSWORD_MANAGER_BRAND" /> inicia automaticamente sessão em sites elegíveis com as palavras-passe que guardou.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietário)</translation> -<translation id="7647231681210854996">Janela ativa movida para o ecrã da direita.</translation> <translation id="7648992873808071793">Armazenar ficheiros neste dispositivo</translation> <translation id="7649070708921625228">Ajuda</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" pretende remover "<ph name="EXTENSION_NAME" />".</translation> @@ -4676,7 +4653,6 @@ <translation id="8371695176452482769">Falar agora</translation> <translation id="8372369524088641025">Chave WEP incorrecta</translation> <translation id="8373553483208508744">Desativar som dos separadores</translation> -<translation id="8377870760189106701">Janela para a direita</translation> <translation id="8378285435971754261">Permita que o serviço de localização da Google ajude as aplicações a encontrarem a sua localização com precisão e rapidez, o que pode reduzir o consumo de bateria. São enviados à Google dados de localização anónimos, mesmo quando não estão a ser executadas quaisquer aplicações. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gerir definições da câmara...</translation> <translation id="8382913212082956454">Copiar &endereço de email</translation> @@ -4796,7 +4772,6 @@ <translation id="8581809080475256101">Premir para avançar, menu de contexto para ver o histórico</translation> <translation id="8584280235376696778">&Abrir vídeo num novo separador</translation> <translation id="8588866096426746242">Mostrar estatísticas do perfil</translation> -<translation id="8589652987924574405">Os marcadores, o histórico, as palavras-passe e outras definições são sincronizados com a sua Conta Google para que os possa utilizar em todos os dispositivos. Pode sempre alterar esta opção mais tarde nas definições.</translation> <translation id="8590375307970699841">Configurar actualizações automáticas</translation> <translation id="8594908476761052472">Capturar vídeo</translation> <translation id="8596540852772265699">Ficheiros personalizados</translation> @@ -4812,7 +4787,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Estado do roaming</translation> <translation id="8620765578342452535">Configurar ligações de rede</translation> -<translation id="8620790565535071193">Falha ao analisar</translation> <translation id="8624205858755890468">Ativa o Assistente para lhe mostrar informações relacionadas, aplicações e ações.</translation> <translation id="862542460444371744">&Extensões</translation> <translation id="8627151598708688654">Selecionar fonte</translation> @@ -4890,7 +4864,6 @@ <translation id="871476437400413057">Palavras-passe guardadas do Google</translation> <translation id="8714838604780058252">Imagens em segundo plano</translation> <translation id="8719653885894320876">A transferência do <ph name="PLUGIN_NAME" /> falhou</translation> -<translation id="8721669057562068233">Janela ativa movida para o ecrã de cima.</translation> <translation id="8723829621484579639">Subframes anónimos para: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Mo&strar numa Pasta</translation> <translation id="8725066075913043281">Tentar novamente</translation> @@ -4934,7 +4907,6 @@ <translation id="8785622406424941542">Caneta stylus</translation> <translation id="8787254343425541995">Permitir proxies para redes partilhadas</translation> <translation id="8791534160414513928">Enviar um pedido "Não rastrear" com o seu tráfego de navegação</translation> -<translation id="8792609692701651064">Janela ativa movida para o ecrã da esquerda.</translation> <translation id="8794025342371547160">IP restrito</translation> <translation id="879413103056696865">Enquanto a zona Wi-Fi estiver ativada, o <ph name="PHONE_NAME" /> irá:</translation> <translation id="8795916974678578410">Nova janela</translation> @@ -5071,7 +5043,6 @@ <translation id="9024127637873500333">&Abrir num novo separador</translation> <translation id="9024331582947483881">ecrã inteiro</translation> <translation id="9025098623496448965">Regressar ao ecrã de início de sessão</translation> -<translation id="902659348151742535">A Google pode utilizar o seu histórico de navegação para personalizar a Pesquisa Google, os anúncios e outros serviços Google.</translation> <translation id="9026731007018893674">transferir</translation> <translation id="9027146684281895941">Supervisione esta pessoa para controlar e ver os Sites visitados pela mesma a partir da sua Conta Google.</translation> <translation id="9027459031423301635">Abrir Link num Novo &Separador</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb index 2be8599..cafbfff 100644 --- a/chrome/app/resources/generated_resources_ro.xtb +++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Nu s-au găsit rețele</translation> <translation id="1056898198331236512">Avertisment</translation> <translation id="1058262162121953039">Codul PUK</translation> -<translation id="106001083577824516">Nu se poate elimina software-ul dăunător</translation> <translation id="1062407476771304334">Înlocuiți</translation> <translation id="1062866675591297858">Gestionați utilizatorii monitorizați din <ph name="BEGIN_LINK" />Tabloul de bord pentru utilizatori monitorizați<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Alăturați-vă rețelei private</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Alege un fișier</translation> <translation id="136802136832547685">Nu există niciun utilizator monitorizat de adăugat pe acest dispozitiv.</translation> <translation id="1368265273904755308">Semnalați o problemă</translation> -<translation id="1368832886055348810">De la stânga la dreapta</translation> <translation id="1370646789215800222">Elimini persoana?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element de eliminat}few{# elemente de eliminat}other{# de elemente de eliminat}}</translation> <translation id="1372841398847029212">Sincronizează cu contul tău</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Eliminați acest utilizator</translation> <translation id="1609170755653088773">Sincronizează parola pe iPhone</translation> <translation id="1609862759711084604">Utilizatorul anterior</translation> -<translation id="1611557582955786626">Conectează-te pentru o experiență de navigare personalizată, sincronizată pe toate dispozitivele</translation> <translation id="1611584202130317952">Fluxul de provizionare a fost întrerupt. Încearcă din nou sau contactează proprietarul dispozitivului ori administratorul.</translation> <translation id="1611649489706141841">înainte</translation> <translation id="1611704746353331382">Exportați marcajele într-un fișier HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Adăugați o locație...</translation> <translation id="1856813161013948396">Omite ecranul de blocare atingând senzorul de amprentă. Dă clic pentru a configura.</translation> <translation id="1858585891038687145">Ai încredere în acest certificat pentru a identifica furnizorii de software</translation> -<translation id="1859234291848436338">Direcție de scriere</translation> <translation id="1861262398884155592">Acest dosar este gol</translation> <translation id="1864111464094315414">Conectați-vă</translation> <translation id="1864400682872660285">Mai rece</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Restrânge...</translation> <translation id="2737492745329609575">Începe configurarea</translation> <translation id="2738771556149464852">Nu după</translation> -<translation id="2739046699559178272">Salvează și continuă</translation> <translation id="2739191690716947896">Remediați erorile</translation> <translation id="2739240477418971307">Modifică setările de accesibilitate</translation> <translation id="2740393541869613458">examinați site-urile web accesate de utilizatorul monitorizat și</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Descărcat</translation> <translation id="2783661497142353826">Gestionați aplicațiile de tip chioșc</translation> <translation id="2784407158394623927">Activarea serviciilor de date mobile</translation> -<translation id="2785530881066938471">Nu se poate încărca fișierul „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut. Fișierul nu are codificare UTF-8.</translation> <translation id="2785873697295365461">Descriptorii fișierelor</translation> <translation id="2787047795752739979">Suprascrieți fișierul original</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Continuă blocarea pluginurilor scoase din mediul de testare</translation> <translation id="2890678560483811744">Referința privind pagina este în afara limitelor</translation> <translation id="2893168226686371498">Browserul prestabilit</translation> -<translation id="2893453364759632532">Mută fereastra în jos</translation> <translation id="289644616180464099">Cardul SIM este blocat</translation> <translation id="289695669188700754">ID cheie: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Sunteți sigur că doriți să deschideți <ph name="TAB_COUNT" /> (de) file?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Se permite accesul la ecran</translation> <translation id="3046910703532196514">Pagina web, completă</translation> <translation id="304826556400666995">Activează sunetul filelor</translation> -<translation id="3051523411789012618">Mută fereastra în sus</translation> <translation id="3053013834507634016">Folosirea cheii de certificat</translation> <translation id="3057861065630527966">Fă backup pentru fotografii și videoclipuri</translation> <translation id="3060379269883947824">Activează „Selectează și ascultă”</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Se accesează intrările audio și video</translation> <translation id="3090819949319990166">Fișierul crx extern nu se poate copia în <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />” conectată</translation> -<translation id="3097628171361913691">Instrument de instalare a fișierelor .zip</translation> <translation id="3100609564180505575">Module (<ph name="TOTAL_COUNT" />) – Conflicte cunoscute: <ph name="BAD_COUNT" />, suspectate: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Data și ora</translation> <translation id="3108967419958202225">Alege...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Semnat de</translation> <translation id="33022249435934718">Ghidaje GDI</translation> <translation id="3302340765592941254">Descărcați notificarea completă</translation> -<translation id="3302709122321372472">Nu se poate încărca fișierul CSS „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut.</translation> <translation id="3303260552072730022">O extensie a activat modul Ecran complet.</translation> <translation id="3303818374450886607">Copii</translation> <translation id="3303855915957856445">Nu s-au găsit rezultate de căutare</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Selectează fusul orar</translation> <translation id="3856921555429624101">Măsurarea utilizării datelor s-a încheiat</translation> <translation id="3857228364945137633">Încearcă Smart Lock pentru a debloca dispozitivul <ph name="DEVICE_TYPE" /> fără o parolă când telefonul tău este în apropiere.</translation> -<translation id="3857732810083914482">Personalizarea este dezactivată. Poți modifica această opțiune la myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Bun venit la Hangouts Meet</translation> <translation id="3862134173397075045">Bun venit la experiența Cast în Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importate</translation> <translation id="3994374631886003300">Deblochează telefonul și apropie-l mai mult pentru a debloca dispozitivul <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zoom</translation> -<translation id="39964277676607559">Nu se poate încărca conținutul JavaScript „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut.</translation> <translation id="4002066346123236978">Titlu</translation> <translation id="40027638859996362">Mutarea cuvintelor</translation> <translation id="4005817994523282006">Metoda de detectare a fusului orar</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Operația de copiere nu a reușit. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Pentru jurnalele de rețea, consultă: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Ca să descarci și să folosești aplicații Android, mai întâi trebuie să instalezi o actualizare. În timp ce dispozitivul se actualizează, nu îl poți folosi. Dispozitivul <ph name="DEVICE_TYPE" /> va reporni după ce se finalizează instalarea.</translation> -<translation id="4338683191474220626">Mută fereastra la stânga</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> dorește să comunice cu aplicația „<ph name="EXTENSION_NAME" />”</translation> <translation id="4342311272543222243">Hopa! A apărut o eroare TPM.</translation> <translation id="4345587454538109430">Configurează...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nu a fost selectat niciun cookie</translation> <translation id="4617270414136722281">Opțiuni pentru extensie</translation> <translation id="4619615317237390068">File de pe alte dispozitive</translation> -<translation id="4620809267248568679">Această setare este impusă de o extensie.</translation> <translation id="4624768044135598934">Ai reușit!</translation> <translation id="4625078469366263107">Activează aplicația</translation> <translation id="4627427111733173920">Cookie-uri blocate</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Dosarul pe care l-ați selectat conține fișiere cu informații delicate. Sigur doriți să permiteți accesul de citire permanent pentru „$1” la acest dosar?</translation> <translation id="4964455510556214366">Aranjare</translation> <translation id="4964673849688379040">Se verifică...</translation> -<translation id="4965682129423310439">Chrome a găsit software dăunător pe computer. Chrome poate să-l elimine și să restabilească setările pentru ca browserul să funcționeze normal din nou.</translation> <translation id="4965808351167763748">Sigur dorești să configurezi acest dispozitiv pentru a rula Hangouts Meet?</translation> <translation id="4967749818080339523">Selectează un cont</translation> <translation id="496888482094675990">Aplicația Fișiere oferă acces rapid la fișierele pe care le-ai salvat în Google Drive, în spațiul de stocare extern sau pe dispozitivul cu sistem de operare Chrome.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Nu se poate proiecta desktopul.</translation> <translation id="6171948306033499786">Întrerupe printarea</translation> <translation id="6175314957787328458">GUID domeniu Microsoft</translation> -<translation id="6176032031541598434">Fereastra activă a fost mutată pe ecranul de jos</translation> <translation id="6178664161104547336">Selectează un certificat</translation> <translation id="6181431612547969857">Descărcarea a fost blocată</translation> -<translation id="6181803575025675566">Controlează cum funcționează din <ph name="LINK_START" />Setări<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Locația dispozitivului</translation> <translation id="6185696379715117369">O pagină mai sus</translation> <translation id="6189412234224385711">Deschide cu <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Hopa, parolele nu corespund!</translation> <translation id="6736243959894955139">Adresă</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Deși nu mai poți accesa profilul vechi, poți să-l elimini.</translation> <translation id="6739923123728562974">Afișează comanda rapidă pe desktop</translation> <translation id="6740234557573873150">Descărcarea fișierului <ph name="FILE_NAME" /> a fost întreruptă</translation> <translation id="6742339027238151589">Accesibilă scriptului</translation> -<translation id="6743841972744298686">Setări de sincronizare</translation> <translation id="6745592621698551453">Actualizați acum</translation> <translation id="6746124502594467657">Mutați în jos</translation> <translation id="674632704103926902">Activați tragerea prin atingere</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Printează anumite pagini</translation> <translation id="6972180789171089114">Audio/Video</translation> <translation id="6973630695168034713">Dosare</translation> -<translation id="6974053822202609517">De la dreapta la stânga</translation> <translation id="6976108581241006975">Consolă pentru JavaScript</translation> <translation id="6977381486153291903">Versiune firmware</translation> <translation id="6978121630131642226">Motoarele de căutare</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Ascunde</translation> <translation id="7108634116785509031"><ph name="HOST" /> dorește să utilizeze camera foto</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Personalizarea este activată. Poți modifica această opțiune la myaccount.google.com.</translation> <translation id="7113502843173351041">Vede adresa dvs. de e-mail</translation> <translation id="7114054701490058191">Parolele nu corespund</translation> <translation id="7117228822971127758">Încearcă din nou mai târziu</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Reîncarcă această pagină</translation> <translation id="7222232353993864120">Adresa de e-mail</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Activați lupa de ecran</translation> <translation id="7223775956298141902">Hopa... Nu aveți nicio extensie :-(</translation> <translation id="7225179976675429563">Lipsește tipul de rețea</translation> <translation id="7228479291753472782">Controlează setările care precizează dacă site-urile pot utiliza funcții, cum ar fi localizarea geografică, microfonul, camera foto etc.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Am înțeles!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> te conectează automat pe site-urile eligibile cu parolele pe care le-ai salvat.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietar)</translation> -<translation id="7647231681210854996">Fereastra activă a fost mutată pe ecranul din dreapta</translation> <translation id="7648992873808071793">Stocheze fișiere pe acest dispozitiv</translation> <translation id="7649070708921625228">Ajutor</translation> <translation id="7650511557061837441">„<ph name="TRIGGERING_EXTENSION_NAME" />” dorește să elimine „<ph name="EXTENSION_NAME" />”.</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Rostește acum</translation> <translation id="8372369524088641025">Cheie WEP greșită</translation> <translation id="8373553483208508744">Dezactivează sunetul filelor</translation> -<translation id="8377870760189106701">Fereastră la dreapta</translation> <translation id="8378285435971754261">Permite serviciului de localizare Google să ajute aplicațiile să îți găsească locația rapid și precis, ceea ce poate reduce consumul resurselor bateriei. La Google vor fi trimise date anonime privind locația, chiar și atunci când nu rulează nicio aplicație. <ph name="BEGIN_LINK1" />Află mai multe<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Gestionează setările camerei foto...</translation> <translation id="8382913212082956454">Copiază adresa de &e-mail</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Apasă pentru a naviga înainte sau folosește meniul contextual pentru a vedea istoricul</translation> <translation id="8584280235376696778">&Deschide videoclipul într-o filă nouă</translation> <translation id="8588866096426746242">Afișează statisticile profilului</translation> -<translation id="8589652987924574405">Marcajele, istoricul, parolele și alte setări vor fi sincronizate cu Contul Google, pentru a le putea folosi pe toate dispozitivele. Poți modifica oricând această opțiune în setări.</translation> <translation id="8590375307970699841">Configurează actualizările automate</translation> <translation id="8594908476761052472">Înregistrează un videoclip</translation> <translation id="8596540852772265699">Fișiere personalizate</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stare roaming</translation> <translation id="8620765578342452535">Configurează conexiunile la rețea</translation> -<translation id="8620790565535071193">Scanarea nu a reușit</translation> <translation id="8624205858755890468">Permite Asistentului să afișeze informații, aplicații și acțiuni conexe.</translation> <translation id="862542460444371744">&Extensii</translation> <translation id="8627151598708688654">Selectează sursa</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Parole Google salvate</translation> <translation id="8714838604780058252">Grafică de fundal</translation> <translation id="8719653885894320876">Pluginul <ph name="PLUGIN_NAME" /> nu s-a descărcat</translation> -<translation id="8721669057562068233">Fereastra activă a fost mutată pe ecranul de sus</translation> <translation id="8723829621484579639">Subcadre incognito pentru: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Afișează în dosar</translation> <translation id="8725066075913043281">Încearcă din nou</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Creion</translation> <translation id="8787254343425541995">Permiteți proxy-uri pentru rețelele utilizate în comun</translation> <translation id="8791534160414513928">Trimite o solicitare „Nu urmări” odată cu traficul de navigare</translation> -<translation id="8792609692701651064">Fereastra activă a fost mutată pe ecranul din stânga</translation> <translation id="8794025342371547160">Adresă IP restricționată</translation> <translation id="879413103056696865">Cât timp hotspotul este activat, <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Fereastră nouă</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Deschideți într-o filă nouă</translation> <translation id="9024331582947483881">ecran complet</translation> <translation id="9025098623496448965">OK, revin la ecranul de conectare</translation> -<translation id="902659348151742535">Google poate folosi istoricul de navigare pentru a personaliza Căutarea, anunțurile și alte servicii Google.</translation> <translation id="9026731007018893674">descărcare</translation> <translation id="9027146684281895941">Monitorizează această persoană pentru a controla și a vedea site-urile pe care le accesează din Contul tău Google.</translation> <translation id="9027459031423301635">Deschide linkul într-o filă &nouă</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb index 8d8a531..973fdf45 100644 --- a/chrome/app/resources/generated_resources_ru.xtb +++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Нет сетей</translation> <translation id="1056898198331236512">Внимание</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Не удалось удалить вредоносное ПО</translation> <translation id="1062407476771304334">Заменить</translation> <translation id="1062866675591297858">Изменение контролируемых профилей производится через <ph name="BEGIN_LINK" />Панель управления профилями<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Подключение к частной сети</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Выберите файл</translation> <translation id="136802136832547685">Контролируемых профилей нет.</translation> <translation id="1368265273904755308">Сообщить о проблеме</translation> -<translation id="1368832886055348810">Слева направо</translation> <translation id="1370646789215800222">Удалить пользователя?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Будет удален один объект}one{Будет удален # объект}few{Будет удалено # объекта}many{Будет удалено # объектов}other{Будет удалено # объекта}}</translation> <translation id="1372841398847029212">Синхронизировать с моим аккаунтом</translation> @@ -402,7 +400,6 @@ <translation id="1608626060424371292">Удалить профиль</translation> <translation id="1609170755653088773">Синхронизируйте этот пароль с iPhone</translation> <translation id="1609862759711084604">Предыдущий пользователь</translation> -<translation id="1611557582955786626">Войдите в браузер Chrome, чтобы вам было удобнее пользоваться им на всех ваших устройствах.</translation> <translation id="1611584202130317952">Синхронизация прервана. Повторите попытку либо свяжитесь с владельцем устройства или администратором.</translation> <translation id="1611649489706141841">вперед</translation> <translation id="1611704746353331382">Экспорт закладок в файл HTML</translation> @@ -570,7 +567,6 @@ <translation id="1856715684130786728">Добавить папку...</translation> <translation id="1856813161013948396">Для разблокировки экрана коснитесь сканера отпечатков пальцев. Нажмите, чтобы настроить.</translation> <translation id="1858585891038687145">Доверять этому сертификату при идентификации производителей ПО</translation> -<translation id="1859234291848436338">Направление письма</translation> <translation id="1861262398884155592">Папка пуста</translation> <translation id="1864111464094315414">Вход</translation> <translation id="1864400682872660285">Холоднее</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Свернуть...</translation> <translation id="2737492745329609575">Настроить</translation> <translation id="2738771556149464852">Не позже</translation> -<translation id="2739046699559178272">Сохранить и продолжить</translation> <translation id="2739191690716947896">Отладка</translation> <translation id="2739240477418971307">Изменение настроек специальных возможностей</translation> <translation id="2740393541869613458">проверка сайтов, посещенных пользователем контролируемого аккаунта, и</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Сохранено</translation> <translation id="2783661497142353826">Настройка киоск-приложений</translation> <translation id="2784407158394623927">Активация службы передачи данных в мобильных сетях</translation> -<translation id="2785530881066938471">Не удается загрузить файл <ph name="RELATIVE_PATH" /> для скрипта содержания. Кодировка отличается от UTF-8.</translation> <translation id="2785873697295365461">Дескрипторы файлов</translation> <translation id="2787047795752739979">Перезаписать оригинал</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Всегда блокировать плагины вне тестовой среды</translation> <translation id="2890678560483811744">Размер страницы больше максимально допустимого</translation> <translation id="2893168226686371498">Браузер по умолчанию</translation> -<translation id="2893453364759632532">Окно: вниз</translation> <translation id="289644616180464099">SIM-карта заблокирована</translation> <translation id="289695669188700754">Идентификатор ключа: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Вы действительно хотите открыть столько вкладок (<ph name="TAB_COUNT" />)?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Совместный доступ к экрану</translation> <translation id="3046910703532196514">Веб-страница полностью</translation> <translation id="304826556400666995">Включить звук на вкладках</translation> -<translation id="3051523411789012618">Окно: вверх</translation> <translation id="3053013834507634016">Использование ключа сертификата</translation> <translation id="3057861065630527966">Создать резервные копии фото и видео</translation> <translation id="3060379269883947824">Включить озвучивание при нажатии</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Доступ к аудио- и видеовходу</translation> <translation id="3090819949319990166">Не удалось скопировать внешний файл CRX в <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Подключено устройство: <ph name="DEVICE_NAME" /></translation> -<translation id="3097628171361913691">Распаковщик ZIP-файлов</translation> <translation id="3100609564180505575">Модули (<ph name="TOTAL_COUNT" />) – Известных конфликтов: <ph name="BAD_COUNT" />; подозрительных: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Дата и время</translation> <translation id="3108967419958202225">Выберите...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Подписано:</translation> <translation id="33022249435934718">GDI-дескрипторы</translation> <translation id="3302340765592941254">Выполнено</translation> -<translation id="3302709122321372472">Не удалось загрузить css '<ph name="RELATIVE_PATH" />' для скрипта содержимого.</translation> <translation id="3303260552072730022">Неизвестное расширение запустило полноэкранный режим.</translation> <translation id="3303818374450886607">Копии</translation> <translation id="3303855915957856445">Ничего не найдено</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Выберите часовой пояс</translation> <translation id="3856921555429624101">Отслеживание расхода трафика прекращено</translation> <translation id="3857228364945137633">Благодаря Smart Lock вам не придется вводить пароль. Снимайте блокировку устройства <ph name="DEVICE_TYPE" /> с помощью телефона.</translation> -<translation id="3857732810083914482">Персонализация отключена. Чтобы настроить эту функцию, перейдите на страницу myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Добро пожаловать в Hangouts Meet</translation> <translation id="3862134173397075045">Добро пожаловать в Cast для Chrome!</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">Выполнен импорт</translation> <translation id="3994374631886003300">Разблокируйте телефон и поднесите его к устройству <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Размер текста</translation> -<translation id="39964277676607559">Не удается загрузить javascript "<ph name="RELATIVE_PATH" />" для скрипта содержимого.</translation> <translation id="4002066346123236978">Название</translation> <translation id="40027638859996362">Сдвинуть на одно слово</translation> <translation id="4005817994523282006">Способ определения часового пояса</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">Не удалось выполнить копирование. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Просмотреть сетевые журналы можно на странице <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Чтобы скачивать и использовать приложения Android, необходимо установить обновление. Во время установки пользоваться устройством нельзя. После обновления <ph name="DEVICE_TYPE" /> перезагрузится автоматически.</translation> -<translation id="4338683191474220626">Окно: влево</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> запрашивает доступ к приложению "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Ошибка доверенного платформенного модуля.</translation> <translation id="4345587454538109430">Настройка...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">файлы cookie не выбраны</translation> <translation id="4617270414136722281">Параметры расширений</translation> <translation id="4619615317237390068">Вкладки с других устройств</translation> -<translation id="4620809267248568679">Этот параметр определяется расширением.</translation> <translation id="4624768044135598934">Получилось!</translation> <translation id="4625078469366263107">Включить приложение</translation> <translation id="4627427111733173920">Файлы cookie заблокированы</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">Выбранный каталог содержит конфиденциальные файлы. Предоставить пользователю "$1" постоянный доступ на чтение данных в этом каталоге?</translation> <translation id="4964455510556214366">Расположение</translation> <translation id="4964673849688379040">Проверка...</translation> -<translation id="4965682129423310439">На вашем компьютере обнаружено вредоносное ПО. Chrome может удалить его и восстановить настройки, чтобы вернуть браузер в обычное состояние.</translation> <translation id="4965808351167763748">Использовать это устройство для запуска Hangouts Meet?</translation> <translation id="4967749818080339523">Выберите аккаунт</translation> <translation id="496888482094675990">С помощью приложения "Файлы" можно быстро открыть документы с Google Диска, устройства под управлением Chrome OS или из внешнего хранилища.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Не удается транслировать рабочий стол</translation> <translation id="6171948306033499786">Приостановить печать</translation> <translation id="6175314957787328458">Идентификатор GUID домена Microsoft</translation> -<translation id="6176032031541598434">Активное окно перемещено на нижний экран</translation> <translation id="6178664161104547336">Выбор сертификата</translation> <translation id="6181431612547969857">Скачивание запрещено</translation> -<translation id="6181803575025675566">Эти параметры можно изменить в <ph name="LINK_START" />настройках<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Местоположение устройства</translation> <translation id="6185696379715117369">На страницу вверх</translation> <translation id="6189412234224385711">Открыть с помощью расширения "<ph name="EXTENSION_NAME" />"</translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Пароли не совпадают!</translation> <translation id="6736243959894955139">Адрес</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">У вас больше нет доступа к старому профилю, но вы можете его удалить.</translation> <translation id="6739923123728562974">Показывать ярлык на рабочем столе</translation> <translation id="6740234557573873150">Скачивание файла "<ph name="FILE_NAME" />" приостановлено</translation> <translation id="6742339027238151589">Доступно для скрипта</translation> -<translation id="6743841972744298686">Настройки синхронизации</translation> <translation id="6745592621698551453">Обновить сейчас</translation> <translation id="6746124502594467657">Переместить вниз</translation> <translation id="674632704103926902">Включить перетаскивание нажатием</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Печать выбранных страниц</translation> <translation id="6972180789171089114">Аудио/видео</translation> <translation id="6973630695168034713">Папки</translation> -<translation id="6974053822202609517">Справа налево</translation> <translation id="6976108581241006975">Консоль JavaScript</translation> <translation id="6977381486153291903">Версия встроенного ПО</translation> <translation id="6978121630131642226">Поисковые системы</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Скрыть</translation> <translation id="7108634116785509031">Сайт <ph name="HOST" /> запрашивает доступ к камере.</translation> <translation id="7108668606237948702">Войти</translation> -<translation id="7112978678959880812">Персонализация включена. Чтобы настроить эту функцию, перейдите на страницу myaccount.google.com.</translation> <translation id="7113502843173351041">Доступ к вашему адресу электронной почты</translation> <translation id="7114054701490058191">Пароли не совпадают</translation> <translation id="7117228822971127758">Повторите попытку позже.</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Обновить эту страницу</translation> <translation id="7222232353993864120">Адрес электронной почты</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Включить экранную лупу</translation> <translation id="7223775956298141902">Расширения отсутствуют</translation> <translation id="7225179976675429563">Не указан тип сети</translation> <translation id="7228479291753472782">Изменение настроек, управляющих доступом сайтов к геоданным, микрофону, камере и другим функциям.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Готово!</translation> <translation id="764017888128728">С помощью <ph name="PASSWORD_MANAGER_BRAND" /> вы будете автоматически входить на сайты, для которых сохранили пароли.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (владелец)</translation> -<translation id="7647231681210854996">Активное окно перемещено на правый экран</translation> <translation id="7648992873808071793">сохранение файлов на этом устройстве</translation> <translation id="7649070708921625228">Справка</translation> <translation id="7650511557061837441">Расширение "<ph name="TRIGGERING_EXTENSION_NAME" />" пытается удалить расширение "<ph name="EXTENSION_NAME" />".</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Говорите</translation> <translation id="8372369524088641025">Недопустимый ключ WEP</translation> <translation id="8373553483208508744">Отключить звук на вкладках</translation> -<translation id="8377870760189106701">Перенести окно вправо</translation> <translation id="8378285435971754261">Google будет помогать приложениям быстро и точно определять ваше местоположение и при этом экономить заряд батареи. Анонимные геоданные будут отправляться в Google, даже когда приложения не запущены. <ph name="BEGIN_LINK1" />Подробнее…<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Настройки камеры</translation> <translation id="8382913212082956454">Копировать &адрес электронной почты</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Нажмите, чтобы перейти, используйте контекстное меню, чтобы открыть историю</translation> <translation id="8584280235376696778">&Открыть видео на новой вкладке</translation> <translation id="8588866096426746242">Показать статистику профиля</translation> -<translation id="8589652987924574405">Пароли, закладки, история и другие настройки будут синхронизированы с аккаунтом Google, и вы сможете воспользоваться ими на любом устройстве. Изменить параметры синхронизации можно в разделе "Настройки".</translation> <translation id="8590375307970699841">Настройка автоматических обновлений</translation> <translation id="8594908476761052472">Снять видео</translation> <translation id="8596540852772265699">Пользовательские файлы</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Статус роуминга</translation> <translation id="8620765578342452535">Настройка сетевых подключений</translation> -<translation id="8620790565535071193">Сбой сканирования</translation> <translation id="8624205858755890468">Разрешить Ассистенту показывать похожую информацию, приложения и действия.</translation> <translation id="862542460444371744">Расширения</translation> <translation id="8627151598708688654">Выбор источника</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Сохраненные пароли Google</translation> <translation id="8714838604780058252">Фон</translation> <translation id="8719653885894320876">Ошибка скачивания плагина <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Активное окно перемещено на верхний экран</translation> <translation id="8723829621484579639">Субфреймы в режиме инкогнито для сайта <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Показать в папке</translation> <translation id="8725066075913043281">Повторить попытку</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Стилус</translation> <translation id="8787254343425541995">Использовать прокси-серверы для общих сетей</translation> <translation id="8791534160414513928">Отправлять запрет на отслеживание для исходящего трафика</translation> -<translation id="8792609692701651064">Активное окно перемещено на левый экран</translation> <translation id="8794025342371547160">Ограниченный IP</translation> <translation id="879413103056696865">Когда вы включите точку доступа, устройство "<ph name="PHONE_NAME" />":</translation> <translation id="8795916974678578410">Новое окно</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Открыть в новой вкладке</translation> <translation id="9024331582947483881">полноэкранный режим</translation> <translation id="9025098623496448965">ОК. Вернуться на экран входа.</translation> -<translation id="902659348151742535">Google может использовать историю просмотров для персонализации Поиска, Рекламы и других сервисов.</translation> <translation id="9026731007018893674">Без названия</translation> <translation id="9027146684281895941">Просматривать сайты, открытые этим пользователем, и контролировать его действия через аккаунт Google.</translation> <translation id="9027459031423301635">Открыть ссылку в новой вкладке</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb index 6d52f4c..5225952 100644 --- a/chrome/app/resources/generated_resources_sk.xtb +++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Žiadne siete</translation> <translation id="1056898198331236512">Upozornenie</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Škodlivý softvér sa nedá odstrániť</translation> <translation id="1062407476771304334">Nahradiť</translation> <translation id="1062866675591297858">Spravujte kontrolovaných používateľov pomocou <ph name="BEGIN_LINK" />panela kontrolovaných používateľov<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Pripojiť sa k súkromnej sieti</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Vybrať súbor</translation> <translation id="136802136832547685">Na pridanie do tohto zariadenia nie sú k dispozícii žiadni kontrolovaní používatelia.</translation> <translation id="1368265273904755308">Nahlásiť problém</translation> -<translation id="1368832886055348810">Zľava doprava</translation> <translation id="1370646789215800222">Chcete odstrániť túto osobu?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 položka na odstránenie}few{# položky na odstránenie}many{# položky na odstránenie}other{# položiek na odstránenie}}</translation> <translation id="1372841398847029212">Synchronizovať do účtu</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Odstrániť tohto používateľa</translation> <translation id="1609170755653088773">Synchronizujte si toto heslo do zariadenia iPhone</translation> <translation id="1609862759711084604">Predchádzajúci používateľ</translation> -<translation id="1611557582955786626">Ak chcete prehliadať v prispôsobenom prostredí synchronizovanom medzi zariadeniami, prihláste sa</translation> <translation id="1611584202130317952">Tok poskytovania bol prerušený. Skúste to znova alebo kontaktujte vlastníka či správcu zariadenia.</translation> <translation id="1611649489706141841">dopredu</translation> <translation id="1611704746353331382">Exportovať záložky do súboru HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Pridať umiestnenie...</translation> <translation id="1856813161013948396">Preskočte uzamknutú obrazovku jednoduchým klepnutím na senzor odtlačkov prstov. Kliknutím nastavíte konfiguráciu.</translation> <translation id="1858585891038687145">Dôverovať tomuto certifikátu na identifikáciu tvorcov softvéru</translation> -<translation id="1859234291848436338">Smer písania</translation> <translation id="1861262398884155592">Tento priečinok je prázdny</translation> <translation id="1864111464094315414">Prihlásiť sa</translation> <translation id="1864400682872660285">Chladnejšie</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Zbaliť...</translation> <translation id="2737492745329609575">Spustiť nastavenie</translation> <translation id="2738771556149464852">Nie po</translation> -<translation id="2739046699559178272">Uložiť a pokračovať</translation> <translation id="2739191690716947896">Ladiť</translation> <translation id="2739240477418971307">Zmeniť nastavenia dostupnosti</translation> <translation id="2740393541869613458">kontrolovať webové stránky, ktoré kontrolovaný používateľ navštívil, a</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Stiahnuté</translation> <translation id="2783661497142353826">Spravovať aplikácie v režime kiosku</translation> <translation id="2784407158394623927">Aktivácia mobilnej dátovej služby</translation> -<translation id="2785530881066938471">Pre skript obsahu sa nepodarilo sa načítať súbor „<ph name="RELATIVE_PATH" />“. Nepoužíva kódovanie UTF-8.</translation> <translation id="2785873697295365461">Deskriptory súborov</translation> <translation id="2787047795752739979">Prepísať originál</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Pokračovať v blokovaní doplnkov, ktoré nie sú v karanténe</translation> <translation id="2890678560483811744">Odkaz na stránku je mimo rozsahu</translation> <translation id="2893168226686371498">Predvolený prehliadač</translation> -<translation id="2893453364759632532">Presunúť okno nadol</translation> <translation id="289644616180464099">SIM karta je uzamknutá</translation> <translation id="289695669188700754">Identifikácia kľúča: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Naozaj chcete otvoriť tento počet kariet: <ph name="TAB_COUNT" />?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Zdieľa sa obrazovka</translation> <translation id="3046910703532196514">Webová stránka, Úplné</translation> <translation id="304826556400666995">Obnoviť zvuk kariet</translation> -<translation id="3051523411789012618">Presunúť okno nahor</translation> <translation id="3053013834507634016">Použitie kľúča certifikátu</translation> <translation id="3057861065630527966">Zálohovať fotky a videá</translation> <translation id="3060379269883947824">Povoliť počúvanie vybraného textu</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Pristupovanie k zvukovému vstupu a vstupu videa</translation> <translation id="3090819949319990166">Externý súbor crx nie je možné skopírovať do súboru <ph name="TEMP_CRX_FILE" /></translation> <translation id="3090871774332213558">Zariadenie „<ph name="DEVICE_NAME" />“ bolo spárované</translation> -<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3100609564180505575">Moduly (<ph name="TOTAL_COUNT" />) – Známe konflikty: <ph name="BAD_COUNT" />, podozrivé: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Dátum a čas</translation> <translation id="3108967419958202225">Vybrať...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Podpis:</translation> <translation id="33022249435934718">GDI – popisovače</translation> <translation id="3302340765592941254">Upozornenie na dokončenie sťahovania</translation> -<translation id="3302709122321372472">Pre skript obsahu sa nepodarilo načítať súbor css „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3303260552072730022">Rozšírenie spustilo režim celej obrazovky.</translation> <translation id="3303818374450886607">Kópie</translation> <translation id="3303855915957856445">Nenašli sa žiadne výsledky vyhľadávania</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Výber časového pásma</translation> <translation id="3856921555429624101">Meranie využitia dát bolo dokončené</translation> <translation id="3857228364945137633">Skúste pomocou funkcie Smart Lock odomknúť svoje zariadenie <ph name="DEVICE_TYPE" /> bez hesla, keď máte telefón v blízkosti.</translation> -<translation id="3857732810083914482">Prispôsobenie je vypnuté. Môžete to zmeniť na adrese myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Vitajte v službe Hangouts Meet</translation> <translation id="3862134173397075045">Víta vás služba Cast v Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Importované</translation> <translation id="3994374631886003300">Ak chcete odomknúť zariadenie <ph name="DEVICE_TYPE" />, odomknite svoj telefón a priblížte ho k nemu.</translation> <translation id="3994878504415702912">&Lupa</translation> -<translation id="39964277676607559">Pre skript obsahu sa nepodarilo načítať súbor javascript „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4002066346123236978">Názov</translation> <translation id="40027638859996362">Presunutie slova</translation> <translation id="4005817994523282006">Metóda zisťovania časového pásma</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopírovanie zlyhalo. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Denníky siete nájdete na stránke <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Ak chcete stiahnuť a používať aplikácie pre Android, najprv musíte nainštalovať aktualizáciu. Zariadenie nemôžete používať počas aktualizácie. Po jej dokončení sa zariadenie <ph name="DEVICE_TYPE" /> reštartuje.</translation> -<translation id="4338683191474220626">Presunúť okno doľava</translation> <translation id="4340515029017875942">Web <ph name="ORIGIN" /> chce komunikovať s aplikáciou <ph name="EXTENSION_NAME" /></translation> <translation id="4342311272543222243">Hops, vyskytla sa chyba modulu TPM.</translation> <translation id="4345587454538109430">Konfigurovať...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">nevybrali ste žiadny súbor cookie</translation> <translation id="4617270414136722281">Možnosti rozšírenia</translation> <translation id="4619615317237390068">Karty z iných zariadení</translation> -<translation id="4620809267248568679">Toto nastavenie je vynútené rozšírením.</translation> <translation id="4624768044135598934">Úspech!</translation> <translation id="4625078469366263107">Povoliť aplikáciu</translation> <translation id="4627427111733173920">Boli zablokované súbory cookie</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Vybratý priečinok obsahuje citlivé súbory. Naozaj chcete aplikácii $1 povoliť trvalý prístup na čítanie pre tento priečinok?</translation> <translation id="4964455510556214366">Usporiadanie</translation> <translation id="4964673849688379040">Prebieha kontrola...</translation> -<translation id="4965682129423310439">Chrome našiel vo vašom počítači škodlivý softvér. Môže ho odstrániť a uložiť vaše nastavenia, aby prehliadač znova normálne fungoval.</translation> <translation id="4965808351167763748">Naozaj chcete v tomto zariadení nastaviť službu Hangouts Meet?</translation> <translation id="4967749818080339523">Vyberte účet</translation> <translation id="496888482094675990">Aplikácia Súbory poskytuje rýchly prístup k súborom, ktoré ste uložili na Disk Google, do externého úložiska alebo do zariadenia so systémom OS Chrome.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Plochu sa nepodarilo prenášať.</translation> <translation id="6171948306033499786">Pozastaviť tlač</translation> <translation id="6175314957787328458">Identifikátor GUID domény spoločnosti Microsoft</translation> -<translation id="6176032031541598434">Aktívne okno bolo presunuté na obrazovku nižšie</translation> <translation id="6178664161104547336">Vybrať certifikát</translation> <translation id="6181431612547969857">Stiahnutie bolo zablokované</translation> -<translation id="6181803575025675566">Túto funkciu môžete ovládať v <ph name="LINK_START" />Nastaveniach<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Poloha zariadenia</translation> <translation id="6185696379715117369">Posunúť o stránku nahor</translation> <translation id="6189412234224385711">Otvoriť pomocou rozšírenia <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">Hops, heslá sa nezhodujú.</translation> <translation id="6736243959894955139">Adresa</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [ <ph name="ISSUED_TO" /> ]</translation> -<translation id="673970589316422346">Aj keď už nemáte prístup k starému profilu, môžete ho odstrániť.</translation> <translation id="6739923123728562974">Zobraziť odkaz na pracovnej ploche</translation> <translation id="6740234557573873150">Pozastavené sťahovanie súboru <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Prístupné pre skript</translation> -<translation id="6743841972744298686">Nastavenia synchronizácie</translation> <translation id="6745592621698551453">Aktualizovať</translation> <translation id="6746124502594467657">Presunúť nadol</translation> <translation id="674632704103926902">Povoliť presunutie klepnutím</translation> @@ -3791,7 +3772,6 @@ <translation id="6970856801391541997">Vytlačiť konkrétne stránky</translation> <translation id="6972180789171089114">Zvuk / video</translation> <translation id="6973630695168034713">Priečinky</translation> -<translation id="6974053822202609517">Sprava doľava</translation> <translation id="6976108581241006975">Konzola jazyka JavaScript</translation> <translation id="6977381486153291903">Revízia firmvéru</translation> <translation id="6978121630131642226">Vyhľadávače</translation> @@ -3890,7 +3870,6 @@ <translation id="7108338896283013870">Skryť</translation> <translation id="7108634116785509031"><ph name="HOST" /> chce použiť váš fotoaparát</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Prispôsobenie je zapnuté. Môžete to zmeniť na adrese myaccount.google.com.</translation> <translation id="7113502843173351041">Dozvedieť sa vašu e-mailovú adresu</translation> <translation id="7114054701490058191">Heslá sa nezhodujú</translation> <translation id="7117228822971127758">Skúste to znova neskôr</translation> @@ -3955,7 +3934,6 @@ <translation id="7221869452894271364">Obnoviť túto stránku</translation> <translation id="7222232353993864120">E-mailová adresa</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Povoliť lupu obrazovky</translation> <translation id="7223775956298141902">Hm... Nemáte žiadne rozšírenia :-(</translation> <translation id="7225179976675429563">Chýba typ siete</translation> <translation id="7228479291753472782">Upravujte nastavenia, ktoré určujú, či weby môžu používať funkcie, ako sú geolokácia, mikrofón, kamera atď.</translation> @@ -4211,7 +4189,6 @@ <translation id="7639178625568735185">Dobre.</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> vás automaticky prihlási na vhodných weboch pomocou hesiel, ktoré ste si uložili.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlastník)</translation> -<translation id="7647231681210854996">Aktívne okno bolo presunuté na obrazovku vpravo</translation> <translation id="7648992873808071793">Ukladať súbory na tomto zariadení</translation> <translation id="7649070708921625228">Pomocník</translation> <translation id="7650511557061837441"><ph name="TRIGGERING_EXTENSION_NAME" /> chce odstrániť rozšírenie <ph name="EXTENSION_NAME" />.</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">Hovorte…</translation> <translation id="8372369524088641025">Zlý kľúč WEP</translation> <translation id="8373553483208508744">Stlmiť karty</translation> -<translation id="8377870760189106701">Okno vpravo</translation> <translation id="8378285435971754261">Povoľte službe určovania polohy Google, aby aplikáciám pomohla rýchlo a presne nájsť vašu polohu. Môžete tak znížiť spotrebu energie. Googlu sa budú odosielať anonymné údaje o polohe, a to aj v prípade, že aplikácie nebudú spustené. <ph name="BEGIN_LINK1" />Ďalšie informácie<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Spravovať nastavenia fotoaparátu...</translation> <translation id="8382913212082956454">Kopírovať &e-mailovú adresu</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">Stlačením tohto tlačidla prejdete dopredu, históriu si zobrazíte pomocou kontextovej ponuky</translation> <translation id="8584280235376696778">&Otvoriť video na novej karte</translation> <translation id="8588866096426746242">Zobraziť štatistiky profilu</translation> -<translation id="8589652987924574405">Záložky, história, heslá a ďalšie nastavenia budú synchronizované do vášho účtu Google, takže ich budete môcť použiť vo všetkých zariadeniach. Môžete to neskôr zmeniť v nastaveniach.</translation> <translation id="8590375307970699841">Nastaviť automatické aktualizácie</translation> <translation id="8594908476761052472">Nasnímať video</translation> <translation id="8596540852772265699">Vlastné súbory</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stav roamingu</translation> <translation id="8620765578342452535">Konfigurovať sieťové pripojenia</translation> -<translation id="8620790565535071193">Vyhľadávanie zlyhalo</translation> <translation id="8624205858755890468">Umožňuje Asistentovi zobraziť vám súvisiace informácie, aplikácie a akcie.</translation> <translation id="862542460444371744">&Rozšírenia</translation> <translation id="8627151598708688654">Výber zdroja</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">uloženým heslám Google</translation> <translation id="8714838604780058252">Grafika na pozadí</translation> <translation id="8719653885894320876">Doplnok <ph name="PLUGIN_NAME" /> sa nepodarilo stiahnuť</translation> -<translation id="8721669057562068233">Aktívne okno bolo presunuté na obrazovku vyššie</translation> <translation id="8723829621484579639">Anonymné podrámce pre: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Zobraziť v priečinku</translation> <translation id="8725066075913043281">Skúsiť znova</translation> @@ -4929,7 +4902,6 @@ <translation id="8785622406424941542">Dotykové pero</translation> <translation id="8787254343425541995">Povoliť servery proxy pre zdieľané siete</translation> <translation id="8791534160414513928">Posielať pri prehliadaní webov požiadavku Do Not Track</translation> -<translation id="8792609692701651064">Aktívne okno bolo presunuté na obrazovku vľavo</translation> <translation id="8794025342371547160">Obmedzená adresa IP</translation> <translation id="879413103056696865">Keď je hotspot zapnutý, telefón <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nové okno</translation> @@ -5066,7 +5038,6 @@ <translation id="9024127637873500333">&Otvoriť na novej karte</translation> <translation id="9024331582947483881">celá obrazovka</translation> <translation id="9025098623496448965">OK, prejsť späť na obrazovku prihlásenia</translation> -<translation id="902659348151742535">Google môže používať vašu históriu prehliadania na prispôsobenie Vyhľadávania, reklám a ďalších služieb Google.</translation> <translation id="9026731007018893674">stiahnuť</translation> <translation id="9027146684281895941">Dozerať na túto osobu a zo svojho účtu Google ovládať a kontrolovať webové stránky, ktoré navštevuje.</translation> <translation id="9027459031423301635">Otvoriť odkaz na novej &karte</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb index 71db8eba..856f36a6 100644 --- a/chrome/app/resources/generated_resources_sl.xtb +++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Ni omrežij</translation> <translation id="1056898198331236512">Opozorilo</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Škodljive programske opreme ni mogoče odstraniti</translation> <translation id="1062407476771304334">Zamenjaj</translation> <translation id="1062866675591297858">Zaščitene uporabnike lahko upravljate na <ph name="BEGIN_LINK" />nadzorni plošči za zaščitene uporabnike<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Pridružite se zasebnemu omrežju</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Izberite datoteko</translation> <translation id="136802136832547685">Ni zaščitenih uporabnikov, ki bi jih bilo mogoče dodati v to napravo.</translation> <translation id="1368265273904755308">Prijava težave</translation> -<translation id="1368832886055348810">Od leve proti desni</translation> <translation id="1370646789215800222">Želite odstraniti osebo?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 element za odstranitev}one{# element za odstranitev}two{# elementa za odstranitev}few{# elementi za odstranitev}other{# elementov za odstranitev}}</translation> <translation id="1372841398847029212">Sinhroniziraj z računom</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Odstrani tega uporabnika</translation> <translation id="1609170755653088773">Sinhronizacija tega gesla z iPhonom</translation> <translation id="1609862759711084604">Prejšnji uporabnik</translation> -<translation id="1611557582955786626">Prijavite se za prilagojeno izkušnjo brskanja, sinhronizirano v več napravah</translation> <translation id="1611584202130317952">Omogočanje uporabe je bilo prekinjeno. Poskusite znova ali se obrnite na lastnika ali skrbnika naprave.</translation> <translation id="1611649489706141841">naprej</translation> <translation id="1611704746353331382">Izvoz zaznamkov v datoteko HTML ...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Dodaj lokacijo ...</translation> <translation id="1856813161013948396">Preskočitev zaklenjenega zaslona z dotikom tipala prstnih odtisov. Kliknite, če želite konfigurirati.</translation> <translation id="1858585891038687145">Zaupaj temu potrdilu za prepoznavanje proizvajalcev programske opreme</translation> -<translation id="1859234291848436338">Smer pisanja</translation> <translation id="1861262398884155592">Ta mapa je prazna</translation> <translation id="1864111464094315414">Prijava</translation> <translation id="1864400682872660285">Hladneje</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Strni ...</translation> <translation id="2737492745329609575">Začetek nastavitve</translation> <translation id="2738771556149464852">Ne po</translation> -<translation id="2739046699559178272">Shrani in nadaljuj</translation> <translation id="2739191690716947896">Odpravljanje napak</translation> <translation id="2739240477418971307">Sprememba nastavitev funkcij za ljudi s posebnimi potrebami</translation> <translation id="2740393541869613458">pregled spletnih mest, ki jih je obiskal zaščiteni uporabnik, in</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Preneseno</translation> <translation id="2783661497142353826">Upravljanje aplikacij Kiosk</translation> <translation id="2784407158394623927">Vklop mobilne podatkovne storitve</translation> -<translation id="2785530881066938471">Datoteke »<ph name="RELATIVE_PATH" />« ni mogoče naložiti. Ni kodirana z UTF-8.</translation> <translation id="2785873697295365461">Deskriptorji datotek</translation> <translation id="2787047795752739979">Prepiši izvirno</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Še naprej blokiraj vtičnike</translation> <translation id="2890678560483811744">Sklic na stran zunaj dovoljenega razpona</translation> <translation id="2893168226686371498">Privzeti brskalnik</translation> -<translation id="2893453364759632532">Okno dol</translation> <translation id="289644616180464099">Kartica SIM je zaklenjena</translation> <translation id="289695669188700754">ID ključa: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Ali ste prepričani, da želite odpreti naslednje število zavihkov: <ph name="TAB_COUNT" /></translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Deljenje zaslona</translation> <translation id="3046910703532196514">Spletna stran, dokončano</translation> <translation id="304826556400666995">Vklop zvoka zavihkov</translation> -<translation id="3051523411789012618">Okno gor</translation> <translation id="3053013834507634016">Raba ključa potrdila</translation> <translation id="3057861065630527966">Varnostno kopiranje fotografij videoposnetkov</translation> <translation id="3060379269883947824">Omogoči storitev Izberite in poslušajte</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Dostopanje do zvočnih vhodov in videovhodov</translation> <translation id="3090819949319990166">Zunanje datoteke crx ni mogoče kopirati v <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Naprava »<ph name="DEVICE_NAME" />« je seznanjena</translation> -<translation id="3097628171361913691">Namestitveni program za stiskanje datotek</translation> <translation id="3100609564180505575">Moduli (<ph name="TOTAL_COUNT" />) – Znani spori: <ph name="BAD_COUNT" />, domnevno: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum in ura</translation> <translation id="3108967419958202225">Izberite ...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Podpisal</translation> <translation id="33022249435934718">Kode za dostop GDI</translation> <translation id="3302340765592941254">Obvestilo o dokončanem prenosu</translation> -<translation id="3302709122321372472">Ni bilo mogoče naložiti seznama slogov »<ph name="RELATIVE_PATH" />« za skript vsebine.</translation> <translation id="3303260552072730022">Razširitev je sprožila celozaslonski način.</translation> <translation id="3303818374450886607">Kopije</translation> <translation id="3303855915957856445">Ni rezultatov iskanja</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Izbira časovnega pasu</translation> <translation id="3856921555429624101">Merjenje porabe podatkov je končano</translation> <translation id="3857228364945137633">Preskusite Smart Lock za odklepanje naprave <ph name="DEVICE_TYPE" /> brez gesla, ko je telefon v bližini.</translation> -<translation id="3857732810083914482">Prilagajanje je izklopljeno. To lahko spremenite na myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Pozdravljeni v storitvi Hangouts Meet</translation> <translation id="3862134173397075045">Pozdravljeni v doživetju predvajanja v Chromu.</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">Uvoženo</translation> <translation id="3994374631886003300">Odklenite telefon in ga približajte napravi <ph name="DEVICE_TYPE" />, če jo želite odkleniti.</translation> <translation id="3994878504415702912">&Povečaj</translation> -<translation id="39964277676607559">Ni bilo mogoče naložiti skripta JavaScript »<ph name="RELATIVE_PATH" />« za skript vsebine.</translation> <translation id="4002066346123236978">Naslov</translation> <translation id="40027638859996362">Premakne besedo</translation> <translation id="4005817994523282006">Način zaznavanja časovnega pasu</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">Kopiranje ni uspelo. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Dnevniki omrežja so na voljo tukaj: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Če želite prenesti in uporabljati aplikacije za Android, morate najprej namestiti posodobitev. Med posodabljanjem naprave ne morete uporabljati. Po dokončani namestitvi se bo naprava <ph name="DEVICE_TYPE" /> znova zagnala.</translation> -<translation id="4338683191474220626">Okno na levo</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> želi vzpostaviti povezavo z aplikacijo »<ph name="EXTENSION_NAME" />«</translation> <translation id="4342311272543222243">Napaka TPM.</translation> <translation id="4345587454538109430">Konfiguracija ...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">ni izbranih piškotkov</translation> <translation id="4617270414136722281">Možnosti razširitev</translation> <translation id="4619615317237390068">Zavihki iz drugih naprav</translation> -<translation id="4620809267248568679">To nastavitev je vsilila razširitev.</translation> <translation id="4624768044135598934">Uspešno!</translation> <translation id="4625078469366263107">Omogoči aplikacijo</translation> <translation id="4627427111733173920">Piškotki so blokirani</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">V mapi, ki ste jo izbrali, so občutljive datoteke. Ali ste prepričani, da želite »$1« podeliti trajen dostop za branje za to mapo?</translation> <translation id="4964455510556214366">Razvrstitev</translation> <translation id="4964673849688379040">Preverjanje ...</translation> -<translation id="4965682129423310439">Chrome je v računalniku našel škodljivo programsko opremo. Chrome jo lahko odstrani in obnovi nastavitve, da bo brskalnik znova deloval kot običajno.</translation> <translation id="4965808351167763748">Ali res želite nastaviti to napravo za zagon storitve Hangouts Meet?</translation> <translation id="4967749818080339523">Izberite račun</translation> <translation id="496888482094675990">Aplikacija Datoteke omogoča hiter dostop do datotek, ki ste jih shranili v Googlu Drive, v zunanji shrambi ali v napravi s sistemom Chrome OS.</translation> @@ -3310,10 +3295,8 @@ <translation id="6169666352732958425">Namizja ni mogoče predvajati.</translation> <translation id="6171948306033499786">Zaustavi tiskanje</translation> <translation id="6175314957787328458">GUID Microsoftove domene</translation> -<translation id="6176032031541598434">Aktivno okno premaknjeno na spodnji zaslon</translation> <translation id="6178664161104547336">Izberite potrdilo</translation> <translation id="6181431612547969857">Prenos je bil blokiran</translation> -<translation id="6181803575025675566">Delovanje tega lahko nadzirate v <ph name="LINK_START" />nastavitvah<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Lokacija naprave</translation> <translation id="6185696379715117369">Stran gor</translation> <translation id="6189412234224385711">Odpiranje z: <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Ojoj, gesli se ne ujemata!</translation> <translation id="6736243959894955139">Naslov</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Čeprav ne morete več dostopati do starega profila, ga lahko odstranite.</translation> <translation id="6739923123728562974">Prikaži bližnjico na namizju</translation> <translation id="6740234557573873150">Začasno ustavljeno: <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Dostopno skriptu</translation> -<translation id="6743841972744298686">Nastavitve sinhronizacije</translation> <translation id="6745592621698551453">Posodobi</translation> <translation id="6746124502594467657">Premakni dol</translation> <translation id="674632704103926902">Omogoči vlečenje zavihkov</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Natisni določene strani</translation> <translation id="6972180789171089114">Zvok/video</translation> <translation id="6973630695168034713">Mape</translation> -<translation id="6974053822202609517">Od desne proti levi</translation> <translation id="6976108581241006975">Konzola JavaScript</translation> <translation id="6977381486153291903">Različica vdelane programske opreme</translation> <translation id="6978121630131642226">Iskalniki</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Skrij</translation> <translation id="7108634116785509031"><ph name="HOST" /> želi uporabljati kamero</translation> <translation id="7108668606237948702">vnos</translation> -<translation id="7112978678959880812">Prilagajanje je vklopljeno. To lahko spremenite na myaccount.google.com.</translation> <translation id="7113502843173351041">Poznati morate svoj e-poštni naslov</translation> <translation id="7114054701490058191">Gesli se ne ujemata</translation> <translation id="7117228822971127758">Poskusite znova pozneje</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Ponovno naložite to stran</translation> <translation id="7222232353993864120">E-poštni naslov</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Omogoči lupo za zaslon</translation> <translation id="7223775956298141902">Ha ... Nimate razširitev :-(</translation> <translation id="7225179976675429563">Vrsta omrežja manjka</translation> <translation id="7228479291753472782">Spreminjanje nastavitev, ki določajo, ali smejo spletna mesta uporabljati funkcije, kot so geolokacija, mikrofon, fotoaparat ipd.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Razumem.</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> vas z gesli, ki ste jih shranili, samodejno prijavi v ustrezna spletna mesta.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (lastnik)</translation> -<translation id="7647231681210854996">Aktivno okno premaknjeno na desni zaslon</translation> <translation id="7648992873808071793">Shranjevanje datotek v tej napravi</translation> <translation id="7649070708921625228">Pomoč</translation> <translation id="7650511557061837441">»<ph name="TRIGGERING_EXTENSION_NAME" />« želi odstraniti »<ph name="EXTENSION_NAME" />«.</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Začnite govoriti</translation> <translation id="8372369524088641025">Napačen ključ WEP</translation> <translation id="8373553483208508744">Izklop zvoka zavihkov</translation> -<translation id="8377870760189106701">Okno desno</translation> <translation id="8378285435971754261">Dovolite, da Googlova lokacijska storitev aplikacijam pomaga hitreje in natančneje ugotoviti vašo lokacijo, s čimer se lahko zmanjša poraba akumulatorja. Anonimni podatki bodo poslani Googlu, tudi ko se ne bo izvajala nobena aplikacija. <ph name="BEGIN_LINK1" />Več o tem<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Upravljanje nastavitev kamere ...</translation> <translation id="8382913212082956454">Kopiraj &e-poštni naslov</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Pritisnite, če želite naprej, s kontekstnim menijem pa prikažete zgodovino</translation> <translation id="8584280235376696778">&Odpri videoposnetek na novem zavihku</translation> <translation id="8588866096426746242">Prikaži statistične podatke profila</translation> -<translation id="8589652987924574405">Vaši zaznamki, zgodovina, gesla in druge nastavitve bodo sinhronizirani z Google Računom, tako da jih boste uporabljali v vseh svojih napravah. To nastavitev lahko pozneje spremenite v nastavitvah.</translation> <translation id="8590375307970699841">Nastavitev samodejnih posodobitev</translation> <translation id="8594908476761052472">Snemanje videa</translation> <translation id="8596540852772265699">Datoteke po meri</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Stanje gostovanja</translation> <translation id="8620765578342452535">Konfiguriranje omrežnih povezav</translation> -<translation id="8620790565535071193">Iskanje ni uspelo</translation> <translation id="8624205858755890468">Omogoči Pomočniku, da vam prikazuje sorodne informacije, aplikacije in dejanja.</translation> <translation id="862542460444371744">&Razširitve</translation> <translation id="8627151598708688654">Izbira vira</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Gesla, ki jih je shranil Google</translation> <translation id="8714838604780058252">Grafika v ozadju</translation> <translation id="8719653885894320876">Prenos vtičnika <ph name="PLUGIN_NAME" /> ni uspel</translation> -<translation id="8721669057562068233">Aktivno okno premaknjeno na zgornji zaslon</translation> <translation id="8723829621484579639">Podokvirji za način brez beleženja zgodovine za: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Pokaži v mapi</translation> <translation id="8725066075913043281">Poskusite znova</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Pisalo</translation> <translation id="8787254343425541995">Dovoli proxyje za omrežja v skupni rabi</translation> <translation id="8791534160414513928">S prometom brskanja pošlji zahtevo »Ne sledi«</translation> -<translation id="8792609692701651064">Aktivno okno premaknjeno na levi zaslon</translation> <translation id="8794025342371547160">Omejen IP</translation> <translation id="879413103056696865">Medtem ko je dostopna točka vklopljena, bo telefon <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Novo okno</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Odpri v novem zavihku</translation> <translation id="9024331582947483881">celozaslonski način</translation> <translation id="9025098623496448965">V redu, želim nazaj na zaslon za prijavo</translation> -<translation id="902659348151742535">Google lahko vašo zgodovino brskanja uporabi za prilagajanje Iskanja Google, oglasov in drugih Googlovih storitev.</translation> <translation id="9026731007018893674">prenos</translation> <translation id="9027146684281895941">Spremljanje te osebe zaradi nadzora in ogleda spletnih mest, jih obišče v vašem Google Računu.</translation> <translation id="9027459031423301635">Povezavo odpri v novem &zavihku</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb index 74b53c8..815a829 100644 --- a/chrome/app/resources/generated_resources_sr.xtb +++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Нема мрежа</translation> <translation id="1056898198331236512">Упозорење</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Уклањање штетног софтвера није успело</translation> <translation id="1062407476771304334">Замени</translation> <translation id="1062866675591297858">Управљајте корисницима под надзором преко <ph name="BEGIN_LINK" />Контролне табле за кориснике под надзором<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Придруживање приватној мрежи</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Изабери датотеку</translation> <translation id="136802136832547685">Нема корисника под надзором за додавање овом уређају.</translation> <translation id="1368265273904755308">Пријављивање проблема</translation> -<translation id="1368832886055348810">Слева надесно</translation> <translation id="1370646789215800222">Желите ли да уклоните особу?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 ставка за уклањање}one{# ставка за уклањање}few{# ставке за уклањање}other{# ставки за уклањање}}</translation> <translation id="1372841398847029212">Синхронизујте са налогом</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">Уклони овог корисника</translation> <translation id="1609170755653088773">Синхронизујте ову лозинку са iPhone уређајем</translation> <translation id="1609862759711084604">Претходни корисник</translation> -<translation id="1611557582955786626">Пријавите се за персонализовани доживљај прегледања који је синхронизован на свим уређајима</translation> <translation id="1611584202130317952">Ток доделе је прекинут. Пробајте поново или контактирајте власника или администратора уређаја.</translation> <translation id="1611649489706141841">кретање напред</translation> <translation id="1611704746353331382">Извези обележиваче у HTML датотеку...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">Додај локацију...</translation> <translation id="1856813161013948396">Само додирните сензор за отисак прста и прескочићете закључани екран. Кликните да бисте конфигурисали.</translation> <translation id="1858585891038687145">Овај сертификат је поуздан за идентификацију произвођача софтвера</translation> -<translation id="1859234291848436338">Writing Direction (Смер писања)</translation> <translation id="1861262398884155592">Овај директоријум је празан</translation> <translation id="1864111464094315414">Пријављивање</translation> <translation id="1864400682872660285">Хладније</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">Скупи...</translation> <translation id="2737492745329609575">Покрените подешавање</translation> <translation id="2738771556149464852">Не после</translation> -<translation id="2739046699559178272">Сачувај и настави</translation> <translation id="2739191690716947896">Отклони грешке</translation> <translation id="2739240477418971307">Мењање подешавања приступачности</translation> <translation id="2740393541869613458">да прегледате веб-сајтове које је корисник под надзором посетио и</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">Преузето</translation> <translation id="2783661497142353826">Управљање киоск апликацијама</translation> <translation id="2784407158394623927">Активирање услуге мобилног преноса података</translation> -<translation id="2785530881066938471">Учитавање датотеке „<ph name="RELATIVE_PATH" />“ за скрипту садржаја није успело. Нема UTF-8 шифровање.</translation> <translation id="2785873697295365461">Дескриптори датотека</translation> <translation id="2787047795752739979">Замени оригинал</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">Настави блокирање додатних компонената које су изван заштићеног окружења</translation> <translation id="2890678560483811744">Превелика референца за странице</translation> <translation id="2893168226686371498">Подразумевани прегледач</translation> -<translation id="2893453364759632532">Померање прозора надоле</translation> <translation id="289644616180464099">SIM картица је закључана</translation> <translation id="289695669188700754">ИД кључа: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Желите ли стварно да отворите <ph name="TAB_COUNT" /> картицa?</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">Екран се дели</translation> <translation id="3046910703532196514">Веб-страница, комплетна</translation> <translation id="304826556400666995">Укључи звук картица</translation> -<translation id="3051523411789012618">Померање прозора нагоре</translation> <translation id="3053013834507634016">Употреба кључа сертификата</translation> <translation id="3057861065630527966">Направите резервне копије слика и видео снимака</translation> <translation id="3060379269883947824">Омогући услугу Изаберите за говор</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">Приступа се аудио и видео улазу</translation> <translation id="3090819949319990166">Није успело копирање спољне crx датотеке у датотеку <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Упарили сте „<ph name="DEVICE_NAME" />“</translation> -<translation id="3097628171361913691">Инсталирање zip датотека</translation> <translation id="3100609564180505575">Модули (<ph name="TOTAL_COUNT" />) – Позната сукобљавања: <ph name="BAD_COUNT" />, сумњиво: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Датум и време</translation> <translation id="3108967419958202225">Изаберите...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">Потписао/ла</translation> <translation id="33022249435934718">GDI надимци</translation> <translation id="3302340765592941254">Обавештење о довршеном преузимању</translation> -<translation id="3302709122321372472">Није могуће учитати css „<ph name="RELATIVE_PATH" />“ за скрипту садржаја.</translation> <translation id="3303260552072730022">Додатак је активирао режим целог екрана.</translation> <translation id="3303818374450886607">Примерака</translation> <translation id="3303855915957856445">Нису пронађени резултати претраге</translation> @@ -1887,7 +1877,6 @@ <translation id="3856800405688283469">Изаберите временску зону</translation> <translation id="3856921555429624101">Мерење коришћења података је завршено</translation> <translation id="3857228364945137633">Испробајте Smart Lock да бисте откључавали <ph name="DEVICE_TYPE" /> без лозинке кад вам је телефон у близини.</translation> -<translation id="3857732810083914482">Персонализација је искључена. То можете да промените на myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Добро дошли у Hangouts Meet</translation> <translation id="3862134173397075045">Добро дошли у Cast доживљај у Chrome-у!</translation> @@ -1978,7 +1967,6 @@ <translation id="399179161741278232">Увезени</translation> <translation id="3994374631886003300">Откључајте телефон и приближите га да бисте откључали <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Зумирај</translation> -<translation id="39964277676607559">Није могуће учитати javascript „<ph name="RELATIVE_PATH" />“ за скрипту садржаја.</translation> <translation id="4002066346123236978">Наслов</translation> <translation id="40027638859996362">Премештање речи</translation> <translation id="4005817994523282006">Метод откривања временске зоне</translation> @@ -2157,7 +2145,6 @@ <translation id="4336032328163998280">Операција копирања није успела. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Евиденције мреже потражите на: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Да бисте преузели и користили Android апликације, прво треба да инсталирате ажурирање. Док се уређај ажурира, не можете да га користите. <ph name="DEVICE_TYPE" /> ће се поново покренути када се инсталација заврши.</translation> -<translation id="4338683191474220626">Померање прозора улево</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> жели да комуницира са апликацијом „<ph name="EXTENSION_NAME" />“</translation> <translation id="4342311272543222243">Упс, грешка у вези са модулом поуздане платформе.</translation> <translation id="4345587454538109430">Конфигуриши...</translation> @@ -2309,7 +2296,6 @@ <translation id="4615586811063744755">ниједан колачић није изабран</translation> <translation id="4617270414136722281">Опције додатака</translation> <translation id="4619615317237390068">Картице са других уређаја</translation> -<translation id="4620809267248568679">Додатак примењује ово подешавање.</translation> <translation id="4624768044135598934">Успело је!</translation> <translation id="4625078469366263107">Омогући апликацију</translation> <translation id="4627427111733173920">Колачићи су блокирани</translation> @@ -2530,7 +2516,6 @@ <translation id="496226124210045887">Директоријум који сте изабрали садржи осетљиве датотеке. Јесте ли сигурни да желите да одобрите апликацији „$1“ сталан приступ за читање за овај директоријум?</translation> <translation id="4964455510556214366">Распоред</translation> <translation id="4964673849688379040">Проверава се...</translation> -<translation id="4965682129423310439">Chrome је пронашао штетан софтвер на рачунару. Chrome може да га уклони и да врати подешавања да би прегледач поново функционисао као и обично.</translation> <translation id="4965808351167763748">Желите ли стварно да подесите овај уређај за коришћење Hangouts Meet-а?</translation> <translation id="4967749818080339523">Изаберите налог</translation> <translation id="496888482094675990">Апликација Датотеке пружа брз приступ датотекама које сте сачували на Google диску, у спољној меморији или на Chrome ОС уређају.</translation> @@ -3306,10 +3291,8 @@ <translation id="6169666352732958425">Пребацивање радне површине није успело.</translation> <translation id="6171948306033499786">Паузирај штампање</translation> <translation id="6175314957787328458">GUID Microsoft домена</translation> -<translation id="6176032031541598434">Активни прозор је померен на доњи екран</translation> <translation id="6178664161104547336">Избор сертификата</translation> <translation id="6181431612547969857">Преузимање је блокирано</translation> -<translation id="6181803575025675566">Контролишите како ово функционише у <ph name="LINK_START" />подешавањима<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Локација уређаја</translation> <translation id="6185696379715117369">Страница нагоре</translation> <translation id="6189412234224385711">Отвори помоћу додатка <ph name="EXTENSION_NAME" /></translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">Упс, лозинке се не подударају!</translation> <translation id="6736243959894955139">Адреса</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Више не можете да приступате старом профилу, али можете да га уклоните.</translation> <translation id="6739923123728562974">Прикажи пречицу на радној површини</translation> <translation id="6740234557573873150">Преузимање датотеке <ph name="FILE_NAME" /> је паузирано</translation> <translation id="6742339027238151589">Приступачно за скрипту</translation> -<translation id="6743841972744298686">Подешавања синхронизације</translation> <translation id="6745592621698551453">Ажурирај одмах</translation> <translation id="6746124502594467657">Премести надоле</translation> <translation id="674632704103926902">Омогући превлачење додиром</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">Штампање посебних страница</translation> <translation id="6972180789171089114">Аудио/видео</translation> <translation id="6973630695168034713">Директоријуми</translation> -<translation id="6974053822202609517">Здесна налево</translation> <translation id="6976108581241006975">JavaScript конзола</translation> <translation id="6977381486153291903">Ревизија фирмвера</translation> <translation id="6978121630131642226">Претраживачи</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">Сакриј</translation> <translation id="7108634116785509031"><ph name="HOST" /> жели да користи камеру</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Персонализација је укључена. То можете да промените на myaccount.google.com.</translation> <translation id="7113502843173351041">Откривање ваше имејл адресе</translation> <translation id="7114054701490058191">Лозинке се не подударају</translation> <translation id="7117228822971127758">Пробајте поново касније</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">Поново учитајте ову страницу</translation> <translation id="7222232353993864120">Имејл адреса</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Омогући лупу екрана</translation> <translation id="7223775956298141902">Уа... Немате додатака :-(</translation> <translation id="7225179976675429563">Недостаје тип мреже</translation> <translation id="7228479291753472782">Управљајте подешавањима која одређују да ли веб-сајтови могу да користе функције као што су геолоцирање, микрофон, камера итд.</translation> @@ -4204,7 +4182,6 @@ <translation id="7639178625568735185">Важи!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> вас аутоматски пријављује на сајтове који испуњавају услове помоћу лозинки које сте сачували.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (власник)</translation> -<translation id="7647231681210854996">Активни прозор је померен на десни екран</translation> <translation id="7648992873808071793">складишти датотеке на овом уређају</translation> <translation id="7649070708921625228">Помоћ</translation> <translation id="7650511557061837441">„<ph name="TRIGGERING_EXTENSION_NAME" />“ жели да уклони „<ph name="EXTENSION_NAME" />“.</translation> @@ -4664,7 +4641,6 @@ <translation id="8371695176452482769">Почните да говорите</translation> <translation id="8372369524088641025">Неисправна WEP шифра</translation> <translation id="8373553483208508744">Искључи звук картица</translation> -<translation id="8377870760189106701">Прозор надесно</translation> <translation id="8378285435971754261">Дозволите да Google-ова услуга локације помаже апликацијама да брзо и прецизно проналазе вашу локацију, што може да смањи потрошњу батерије. Анонимни подаци о локацији шаљу се Google-у чак и када ниједна апликација није покренута. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Управљај подешавањима камере...</translation> <translation id="8382913212082956454">Копирај &е-адресу</translation> @@ -4784,7 +4760,6 @@ <translation id="8581809080475256101">Притисните да бисте ишли унапред или отворите контекстуални мени да бисте видели историју</translation> <translation id="8584280235376696778">&Отвори видео снимак у новој картици</translation> <translation id="8588866096426746242">Прикажи статистику профила</translation> -<translation id="8589652987924574405">Обележивачи, историја, лозинке и друга подешавања ће се синхронизовати са Google налогом да бисте могли да их користите на свим уређајима. То увек касније можете да промените у подешавањима.</translation> <translation id="8590375307970699841">Подеси аутоматска ажурирања</translation> <translation id="8594908476761052472">Сними видео</translation> <translation id="8596540852772265699">Прилагођене датотеке</translation> @@ -4800,7 +4775,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Статус роминга</translation> <translation id="8620765578342452535">Конфигуриши мрежне везе</translation> -<translation id="8620790565535071193">Скенирање није успело</translation> <translation id="8624205858755890468">Омогућава да Помоћник приказује повезане податке, апликације и радње.</translation> <translation id="862542460444371744">&Додаци</translation> <translation id="8627151598708688654">Изаберите извор</translation> @@ -4878,7 +4852,6 @@ <translation id="871476437400413057">Лозинке сачуване на Google-у</translation> <translation id="8714838604780058252">Графика у позадини</translation> <translation id="8719653885894320876">Преузимање додатне компоненте <ph name="PLUGIN_NAME" /> није успело</translation> -<translation id="8721669057562068233">Активни прозор је померен на горњи екран</translation> <translation id="8723829621484579639">Подоквири без архивирања за: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Прикажи у директоријуму</translation> <translation id="8725066075913043281">Пробајте поново</translation> @@ -4922,7 +4895,6 @@ <translation id="8785622406424941542">Писаљка</translation> <translation id="8787254343425541995">Дозволи проксије за дељене мреже</translation> <translation id="8791534160414513928">Шаљи захтев „Не прати“ уз саобраћај прегледања</translation> -<translation id="8792609692701651064">Активни прозор је померен на леви екран</translation> <translation id="8794025342371547160">Ограничени IP</translation> <translation id="879413103056696865">Када је хотспот укључен, <ph name="PHONE_NAME" /> ће:</translation> <translation id="8795916974678578410">Нови прозор</translation> @@ -5059,7 +5031,6 @@ <translation id="9024127637873500333">&Отвори на новој картици</translation> <translation id="9024331582947483881">цео екран</translation> <translation id="9025098623496448965">Важи, врати ме на екран за пријављивање</translation> -<translation id="902659348151742535">Google може да користи историју прегледања за персонализацију Претраге, огласа и других Google услуга.</translation> <translation id="9026731007018893674">преузимање</translation> <translation id="9027146684281895941">Надгледајте ову особу да бисте контролисали и прегледали веб-сајтове које она посећује са вашег Google налога.</translation> <translation id="9027459031423301635">Отвори везу у новој &картици</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb index 5c2f184..f6465d7c 100644 --- a/chrome/app/resources/generated_resources_sv.xtb +++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Inga nätverk</translation> <translation id="1056898198331236512">Varning</translation> <translation id="1058262162121953039">PUK-kod</translation> -<translation id="106001083577824516">Den skadliga programvaran gick inte att ta bort</translation> <translation id="1062407476771304334">Ersätt</translation> <translation id="1062866675591297858">Hantera dina kontrollerade användare via <ph name="BEGIN_LINK" />översikten för kontrollerade användare<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Anslut till privat nätverk</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Välj fil</translation> <translation id="136802136832547685">Det finns inga kontrollerade användare att lägga till på enheten.</translation> <translation id="1368265273904755308">Rapportera problem</translation> -<translation id="1368832886055348810">Vänster till höger</translation> <translation id="1370646789215800222">Vill du ta bort personen?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 objekt som ska tas bort}other{# objekt som ska tas bort}}</translation> <translation id="1372841398847029212">Synkronisera till ditt konto</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Ta bort den här användaren</translation> <translation id="1609170755653088773">Synkronisera det här lösenordet med iPhone</translation> <translation id="1609862759711084604">Föregående användare</translation> -<translation id="1611557582955786626">Logga in för en anpassad surfupplevelse som synkroniseras på alla enheter</translation> <translation id="1611584202130317952">Administrationsflödet avbröts. Försök igen eller kontakta enhetens ägare eller administratör.</translation> <translation id="1611649489706141841">framåt</translation> <translation id="1611704746353331382">Exportera bokmärken till HTML-fil ...</translation> @@ -570,7 +567,6 @@ <translation id="1856715684130786728">Lägg till plats ...</translation> <translation id="1856813161013948396">Hoppa över låsskärmen genom att trycka på fingeravtryckssensorn. Klicka för att konfigurera.</translation> <translation id="1858585891038687145">Lita på det här certifikatet för identifiering av programskapare</translation> -<translation id="1859234291848436338">Skrivriktning</translation> <translation id="1861262398884155592">Mappen är tom</translation> <translation id="1864111464094315414">Inloggning</translation> <translation id="1864400682872660285">Kallare</translation> @@ -1132,7 +1128,6 @@ <translation id="2737363922397526254">Dölj...</translation> <translation id="2737492745329609575">Börja med konfigureringen</translation> <translation id="2738771556149464852">Inte efter</translation> -<translation id="2739046699559178272">Spara och fortsätt</translation> <translation id="2739191690716947896">Felsökning</translation> <translation id="2739240477418971307">Ändra tillgänglighetsinställningarna</translation> <translation id="2740393541869613458">granska webbplatser som den kontrollerade användaren har besökt och</translation> @@ -1158,7 +1153,6 @@ <translation id="2783298271312924866">Nedladdad</translation> <translation id="2783661497142353826">Hantera appar som används i offentliga miljöer</translation> <translation id="2784407158394623927">Den mobila datatjänsten aktiveras</translation> -<translation id="2785530881066938471">Det gick inte att läsa in filen <ph name="RELATIVE_PATH" /> för innehållsskriptet. Den har inte kodats i UTF-8.</translation> <translation id="2785873697295365461">Filbeskrivningar</translation> <translation id="2787047795752739979">Ersätt original</translation> <translation id="2788135150614412178">+</translation> @@ -1244,7 +1238,6 @@ <translation id="2889925978073739256">Fortsätt att blockera pluginprogram utanför sandlåda</translation> <translation id="2890678560483811744">Sidreferensen faller utanför intervallet</translation> <translation id="2893168226686371498">Standardwebbläsare</translation> -<translation id="2893453364759632532">Flytta ned fönstret</translation> <translation id="289644616180464099">SIM-kortet är låst</translation> <translation id="289695669188700754">Nyckel-ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Vill du verkligen öppna <ph name="TAB_COUNT" /> flikar?</translation> @@ -1357,7 +1350,6 @@ <translation id="304567287000691532">Skärmen delas</translation> <translation id="3046910703532196514">Webbsida, komplett</translation> <translation id="304826556400666995">Slå på ljud från flikar</translation> -<translation id="3051523411789012618">Flytta upp fönstret</translation> <translation id="3053013834507634016">Certifikatnyckelanvändning</translation> <translation id="3057861065630527966">Säkerhetskopiera foton och videor</translation> <translation id="3060379269883947824">Aktivera Textuppläsning</translation> @@ -1387,7 +1379,6 @@ <translation id="3090193911106258841">Får åtkomst till ljud- och videoindata</translation> <translation id="3090819949319990166">Det går inte att kopiera den externa CRX-filen till <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558"><ph name="DEVICE_NAME" /> har kopplats</translation> -<translation id="3097628171361913691">Zip-filsinstallerare</translation> <translation id="3100609564180505575">Moduler (<ph name="TOTAL_COUNT" />) – kända konflikter: <ph name="BAD_COUNT" />, misstänkta: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Datum och tid</translation> <translation id="3108967419958202225">Välj...</translation> @@ -1509,7 +1500,6 @@ <translation id="3300394989536077382">Signerad av</translation> <translation id="33022249435934718">GDI-handtag</translation> <translation id="3302340765592941254">Meddelande om slutförd nedladdning</translation> -<translation id="3302709122321372472">Det gick inte att läsa in CSS-filen <ph name="RELATIVE_PATH" /> för innehållsskriptet.</translation> <translation id="3303260552072730022">Ett tillägg aktiverade helskärmsläge.</translation> <translation id="3303818374450886607">Exemplar</translation> <translation id="3303855915957856445">Inga sökresultat hittades</translation> @@ -1890,7 +1880,6 @@ <translation id="3856800405688283469">Välj tidszon</translation> <translation id="3856921555429624101">Mätningen av dataanvändningen har avslutats</translation> <translation id="3857228364945137633">Testa att låsa upp din <ph name="DEVICE_TYPE" /> utan lösenord när mobilen finns i närheten med Smart Lock.</translation> -<translation id="3857732810083914482">Anpassning är inaktiverad. Du kan ändra detta på myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Välkommen till Hangouts Meet</translation> <translation id="3862134173397075045">Välkommen till Cast-upplevelsen i Chrome!</translation> @@ -1981,7 +1970,6 @@ <translation id="399179161741278232">Importerade</translation> <translation id="3994374631886003300">Lås upp mobilen och håll den närmare din <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Zooma in</translation> -<translation id="39964277676607559">Det gick inte att läsa in JavaScript-filen <ph name="RELATIVE_PATH" /> för innehållsskriptet.</translation> <translation id="4002066346123236978">Titel</translation> <translation id="40027638859996362">Flytta ord</translation> <translation id="4005817994523282006">Metod för tidszonsidentifiering</translation> @@ -2160,7 +2148,6 @@ <translation id="4336032328163998280">Kopieringen misslyckades. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Nätverksloggar finns på <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Om du vill ladda ned och använda Android-appar måste du först installera en uppdatering. Du kan använda enheten medan den uppdateras. <ph name="DEVICE_TYPE" /> startas om när installationen är slutförd.</translation> -<translation id="4338683191474220626">Flytta fönstret till vänster</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> vill kommunicera med appen <ph name="EXTENSION_NAME" /></translation> <translation id="4342311272543222243">Ett TPM-fel inträffade.</translation> <translation id="4345587454538109430">Konfigurera...</translation> @@ -2312,7 +2299,6 @@ <translation id="4615586811063744755">inga cookies har valts</translation> <translation id="4617270414136722281">Tilläggsalternativ</translation> <translation id="4619615317237390068">Flikar från andra enheter</translation> -<translation id="4620809267248568679">Den här inställningen är låst av ett tillägg.</translation> <translation id="4624768044135598934">Klart!</translation> <translation id="4625078469366263107">Aktivera appen</translation> <translation id="4627427111733173920">Cookies har blockeras</translation> @@ -2533,7 +2519,6 @@ <translation id="496226124210045887">Mappen som du valde innehåller känsliga filer. Är du säker på att du vill bevilja $1 permanent läsåtkomst till mappen?</translation> <translation id="4964455510556214366">Ordning</translation> <translation id="4964673849688379040">Kontrollerar …</translation> -<translation id="4965682129423310439">Chrome har upptäckt skadlig programvara på datorn. Du kan låta Chrome ta bort den och återställa inställningarna så att webbläsaren fungerar som den ska igen.</translation> <translation id="4965808351167763748">Vill du konfigurera den här enheten för Hangouts Meet?</translation> <translation id="4967749818080339523">Välj ett konto</translation> <translation id="496888482094675990">Med appen Filer kommer du snabbt åt filer som du har sparat på Google Drive, externa lagringsenheter eller din Chrome OS-enhet.</translation> @@ -3307,10 +3292,8 @@ <translation id="6169666352732958425">Det gick inte att casta skrivbordet.</translation> <translation id="6171948306033499786">Pausa utskriften</translation> <translation id="6175314957787328458">Grafiskt användargränssnitt för Microsoft-domänen</translation> -<translation id="6176032031541598434">Det aktiva fönstret har flyttats till den undre skärmen</translation> <translation id="6178664161104547336">Välj ett certifikat</translation> <translation id="6181431612547969857">Nedladdningen blockerades</translation> -<translation id="6181803575025675566">Styr hur det fungerar i <ph name="LINK_START" />Inställningar<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Enhetsplats</translation> <translation id="6185696379715117369">Uppåt en sida</translation> <translation id="6189412234224385711">Öppna med <ph name="EXTENSION_NAME" /></translation> @@ -3658,11 +3641,9 @@ <translation id="6736045498964449756">Lösenorden är inte identiska!</translation> <translation id="6736243959894955139">Adress</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Den gamla profilen går inte längre att använda, men däremot kan du ta bort den.</translation> <translation id="6739923123728562974">Visa skrivbordsgenväg</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> har pausats</translation> <translation id="6742339027238151589">Tillgänglig för skript</translation> -<translation id="6743841972744298686">Synkroniseringsinställningar</translation> <translation id="6745592621698551453">Uppdatera nu</translation> <translation id="6746124502594467657">Flytta ned</translation> <translation id="674632704103926902">Aktivera "tryck och dra"</translation> @@ -3792,7 +3773,6 @@ <translation id="6970856801391541997">Skriv ut vissa sidor</translation> <translation id="6972180789171089114">Ljud/video</translation> <translation id="6973630695168034713">Mappar</translation> -<translation id="6974053822202609517">Höger till vänster</translation> <translation id="6976108581241006975">JavaScript-konsol</translation> <translation id="6977381486153291903">Revision av firmware</translation> <translation id="6978121630131642226">Sökmotorer</translation> @@ -3891,7 +3871,6 @@ <translation id="7108338896283013870">Dölj</translation> <translation id="7108634116785509031"><ph name="HOST" /> vill använda kameran</translation> <translation id="7108668606237948702">retur</translation> -<translation id="7112978678959880812">Anpassning är aktiverad. Du kan ändra detta på myaccount.google.com.</translation> <translation id="7113502843173351041">Känn till din e-postadress</translation> <translation id="7114054701490058191">Lösenorden matchar inte</translation> <translation id="7117228822971127758">Försök igen senare</translation> @@ -3956,7 +3935,6 @@ <translation id="7221869452894271364">Hämta sidan igen</translation> <translation id="7222232353993864120">E-postadress</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Aktivera skärmförstorare</translation> <translation id="7223775956298141902">Du har tyvärr inga tillägg :-(</translation> <translation id="7225179976675429563">Nätverkstyp saknas</translation> <translation id="7228479291753472782">Ändra inställningar som anger om webbplatser kan använda funktioner som geografisk plats, mikrofon, kamera, med mera.</translation> @@ -4211,7 +4189,6 @@ <translation id="7639178625568735185">Uppfattat!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> loggar automatiskt in på godkända webbplatser med de lösenord du sparat.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (ägare)</translation> -<translation id="7647231681210854996">Det aktiva fönstret har flyttats till den högra skärmen</translation> <translation id="7648992873808071793">Spara filer på enheten</translation> <translation id="7649070708921625228">Hjälp</translation> <translation id="7650511557061837441"><ph name="TRIGGERING_EXTENSION_NAME" /> vill ta bort <ph name="EXTENSION_NAME" />.</translation> @@ -4671,7 +4648,6 @@ <translation id="8371695176452482769">Prata nu</translation> <translation id="8372369524088641025">Felaktig WEP-nyckel</translation> <translation id="8373553483208508744">Stäng av ljud från flikar</translation> -<translation id="8377870760189106701">Fönstret till högra skärmen</translation> <translation id="8378285435971754261">Låt appar ta hjälp av Googles platstjänst för att hitta din plats snabbt och exakt, och minska därmed batteriförbrukningen. Anonyma platsuppgifter skickas till Google, även om inga appar körs. <ph name="BEGIN_LINK1" />Läs mer<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Hantera kamerainställningar …</translation> <translation id="8382913212082956454">Kopiera &e-postadress</translation> @@ -4791,7 +4767,6 @@ <translation id="8581809080475256101">Tryck här om du vill fortsätta till nästa, visa historiken med snabbmenyn</translation> <translation id="8584280235376696778">&Öppna video i ny flik</translation> <translation id="8588866096426746242">Visa profilstatistik</translation> -<translation id="8589652987924574405">Bokmärken, historik, lösenord och andra inställningar synkroniseras till ditt Google-konto så att du kan använda dem på alla enheter. Du kan ändra detta när som helst i inställningarna.</translation> <translation id="8590375307970699841">Konfigurera automatiska uppdateringar</translation> <translation id="8594908476761052472">Spela in video</translation> <translation id="8596540852772265699">Egna filformat</translation> @@ -4807,7 +4782,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Dirigeringsstatus</translation> <translation id="8620765578342452535">Konfigurera nätverksanslutningar</translation> -<translation id="8620790565535071193">Genomsökningen misslyckades</translation> <translation id="8624205858755890468">Tillåter att assistenten visar relaterade uppgifter, appar och åtgärder.</translation> <translation id="862542460444371744">&Tillägg</translation> <translation id="8627151598708688654">Välj källa</translation> @@ -4885,7 +4859,6 @@ <translation id="871476437400413057">Lösenord som Google sparat</translation> <translation id="8714838604780058252">Bakgrundsgrafik</translation> <translation id="8719653885894320876">Det gick inte att ladda ned <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Det aktiva fönstret har flyttats till den övre skärmen</translation> <translation id="8723829621484579639">Underordnade ramar i inkognitoläge för: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Visa i &mapp</translation> <translation id="8725066075913043281">Försök igen</translation> @@ -4929,7 +4902,6 @@ <translation id="8785622406424941542">E-penna</translation> <translation id="8787254343425541995">Tillåt proxyservrar för delade nätverk</translation> <translation id="8791534160414513928">Skicka en begäran om att inte spåra med webbtrafik</translation> -<translation id="8792609692701651064">Det aktiva fönstret har flyttats till den vänstra skärmen</translation> <translation id="8794025342371547160">Begränsad IP</translation> <translation id="879413103056696865">När den trådlösa surfzonen är aktiverad sker följande i <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Nytt fönster</translation> @@ -5066,7 +5038,6 @@ <translation id="9024127637873500333">&Öppna i ny flik</translation> <translation id="9024331582947483881">helskärm</translation> <translation id="9025098623496448965">OK, ta mig till inloggningssidan igen</translation> -<translation id="902659348151742535">Google kan anpassa Sök, annonser och andra Google-tjänster utifrån webbhistoriken.</translation> <translation id="9026731007018893674">ladda ned</translation> <translation id="9027146684281895941">Kontrollera den här personen för att styra och visa webbplatserna de besöker via ditt Google-konto.</translation> <translation id="9027459031423301635">Öppna länk i ny &flik</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb index da11f797..96c4ea6 100644 --- a/chrome/app/resources/generated_resources_sw.xtb +++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Hakuna mitandao</translation> <translation id="1056898198331236512">Ilani</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Imeshindwa kuondoa programu hatari</translation> <translation id="1062407476771304334">Badilisha</translation> <translation id="1062866675591297858">Dhibiti watumiaji wako wanaosimamiwa kupitia <ph name="BEGIN_LINK" />Dashibodi ya Watumiaji Wanaosimamiwa<ph name="END_LINK" /> .</translation> <translation id="1064835277883315402">Jiunge na mtandao binafsi</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Chagua faili</translation> <translation id="136802136832547685">Hakuna watumiaji wanaosimamiwa wa kuongeza kwenye kifaa hiki.</translation> <translation id="1368265273904755308">Ripoti tatizo</translation> -<translation id="1368832886055348810">Kushoto hadi Kulia</translation> <translation id="1370646789215800222">Ungependa kumwondoa?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{Kipengee 1 kitaondolewa}other{Vipengee # vitaondolewa}}</translation> <translation id="1372841398847029212">Sawazisha katika akaunti yako</translation> @@ -401,7 +399,6 @@ <translation id="1608626060424371292">Ondoa mtumiaji huyu</translation> <translation id="1609170755653088773">Sawazisha nenosiri hili kwenye iPhone yako</translation> <translation id="1609862759711084604">Mtumiaji wa awali</translation> -<translation id="1611557582955786626">Ingia katika akaunti ili upate hali ya kuvinjari iliyowekewa mapendeleo yako, iliyosawazishwa kwenye vifaa vyako vyote</translation> <translation id="1611584202130317952">Utaratibu wa utoaji umekatizwa. Tafadhali jaribu tena au uwasiliane na mmiliki au msimamizi wa kifaa chako.</translation> <translation id="1611649489706141841">sambaza</translation> <translation id="1611704746353331382">Hamisha Alamisho kwenye Faili ya HTML...</translation> @@ -569,7 +566,6 @@ <translation id="1856715684130786728">Ongeza eneo...</translation> <translation id="1856813161013948396">Ruka skrini iliyofungwa kwa kugonga kitambua alama ya kidole. Bofya ili uweke mipangilio.</translation> <translation id="1858585891038687145">Amini cheti hiki kwa kutambua watengenezaji programu</translation> -<translation id="1859234291848436338">Mwelekeo wa Maandishi</translation> <translation id="1861262398884155592">Folda hii haina chochote</translation> <translation id="1864111464094315414">Ingia</translation> <translation id="1864400682872660285">Isiyo angavu</translation> @@ -1130,7 +1126,6 @@ <translation id="2737363922397526254">Kunja...</translation> <translation id="2737492745329609575">Anza kuweka mipangilio</translation> <translation id="2738771556149464852">Sio Baadaye</translation> -<translation id="2739046699559178272">Hifadhi na uendelee</translation> <translation id="2739191690716947896">Tatua</translation> <translation id="2739240477418971307">Badilisha mipangilio yako ya ufikiaji</translation> <translation id="2740393541869613458">kagua tovuti ambazo mtumiaji anayesimamiwa ametembelea, na</translation> @@ -1156,7 +1151,6 @@ <translation id="2783298271312924866">Imepakuliwa</translation> <translation id="2783661497142353826">Dhibiti Programu za Kioski</translation> <translation id="2784407158394623927">Huduma yako ya data ya simu ya mkononi inawashwa</translation> -<translation id="2785530881066938471">Isingweza kupakia faili '<ph name="RELATIVE_PATH" />' ya hati ya maudhui. Haijasimbwa kwa UTF-8.</translation> <translation id="2785873697295365461">Vifafanuzi faili</translation> <translation id="2787047795752739979">Futa asili</translation> <translation id="2788135150614412178">+</translation> @@ -1242,7 +1236,6 @@ <translation id="2889925978073739256">Endelea kuzuia programu-jalizi zisizo kwenye sandbox</translation> <translation id="2890678560483811744">Ukurasa wa marejeleo ambao huruhusiwi kuingia</translation> <translation id="2893168226686371498">Kivinjari chaguo-msingi</translation> -<translation id="2893453364759632532">Sogeza dirisha chini</translation> <translation id="289644616180464099">SIM Kadi imefungwa</translation> <translation id="289695669188700754">Utambulisho wa Ufunguo: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Je, una hakika kuwa ungependa kufungua vichupo <ph name="TAB_COUNT" />?</translation> @@ -1355,7 +1348,6 @@ <translation id="304567287000691532">Inashiriki skrini</translation> <translation id="3046910703532196514">Ukurasa wa wavuti, Umekamilika</translation> <translation id="304826556400666995">Rejesha sauti ya Vichupo</translation> -<translation id="3051523411789012618">Sogeza dirisha juu</translation> <translation id="3053013834507634016">Matumizi ya Ufunguo wa Cheti</translation> <translation id="3057861065630527966">Weka hifadhi rudufu ya picha na video zako</translation> <translation id="3060379269883947824">Washa kipengele cha chagua ili izungumze</translation> @@ -1385,7 +1377,6 @@ <translation id="3090193911106258841">Inafikia vifaa vya kuingiza sauti na video</translation> <translation id="3090819949319990166">Haiwezi kunakili faili ya CRX kwenye <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" imeoanishwa</translation> -<translation id="3097628171361913691">Kisakinishaji cha Faili za Zip</translation> <translation id="3100609564180505575">Vipengee (<ph name="TOTAL_COUNT" />) - Migogoro inayojulikana: <ph name="BAD_COUNT" />, inayoshukiwa: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Tarehe na wakati</translation> <translation id="3108967419958202225">Chagua...</translation> @@ -1507,7 +1498,6 @@ <translation id="3300394989536077382">Imetiwa sahihi na</translation> <translation id="33022249435934718">Mishiko ya GDI</translation> <translation id="3302340765592941254">Pakua arifa kamili</translation> -<translation id="3302709122321372472">CSS '<ph name="RELATIVE_PATH" />' haikuweza kupakiwa kwa ajili ya hati ya maudhui.</translation> <translation id="3303260552072730022">Kiendelezi kilisababisha skrini kamili.</translation> <translation id="3303818374450886607">Nakala</translation> <translation id="3303855915957856445">Hakuna matokeo ya utafutaji yaliyopatikana</translation> @@ -1885,7 +1875,6 @@ <translation id="3856800405688283469">Chagua saa za eneo</translation> <translation id="3856921555429624101">Upimaji wa matumizi ya data umekamilika</translation> <translation id="3857228364945137633">Jaribu kutumia Smart Lock kukifungua kifa chako cha <ph name="DEVICE_TYPE" /> bila kutumia nenosiri, simu yako ikiwa karibu.</translation> -<translation id="3857732810083914482">Kipengee cha kuweka mapendeleo kimezimwa. Unaweza kubadilisha hali hii katika myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Karibu kwenye Hangouts Meet</translation> <translation id="3862134173397075045">Karibu kwenye huduma ya Kutuma katika Chrome!</translation> @@ -1976,7 +1965,6 @@ <translation id="399179161741278232">Zilizoingizwa</translation> <translation id="3994374631886003300">Ifungue simu yako na uilete karibu ili ukifungue kifaa chako cha <ph name="DEVICE_TYPE" />.</translation> <translation id="3994878504415702912">&Kuza</translation> -<translation id="39964277676607559">JavaScript '<ph name="RELATIVE_PATH" />' haikuweza kupakiwa kwa ajili ya hati ya maudhui.</translation> <translation id="4002066346123236978">Kichwa</translation> <translation id="40027638859996362">Uhamishaji wa neno</translation> <translation id="4005817994523282006">Mbinu ya kutambua saa za eneo</translation> @@ -2153,7 +2141,6 @@ <translation id="4336032328163998280">Uendeshaji wa nakala haukufanikiwa. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Kwa kumbukumbu za mtandao, angalia: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Ili upakue na utumie programu za Android, kwanza unahitaji kusakinisha sasisho. Huwezi kutumia kifaa chako usasishaji unapoendelea. Kifaa chako cha <ph name="DEVICE_TYPE" /> kitazima na kuwaka baada ya usakinishaji kukamilika.</translation> -<translation id="4338683191474220626">Sogeza dirisha kushoto</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> inataka kuwasiliana na programu "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Lo, hitilafu ya TPM.</translation> <translation id="4345587454538109430">Sanidi...</translation> @@ -2305,7 +2292,6 @@ <translation id="4615586811063744755">hakuna vidakuzi vilivyochaguliwa</translation> <translation id="4617270414136722281">Chaguo za viendelezi</translation> <translation id="4619615317237390068">Vichupo kutoka kwenye vifaa vingine</translation> -<translation id="4620809267248568679">Mpangilio huu unatekelezwa kwa kiendelezi.</translation> <translation id="4624768044135598934">Imefanikiwa!</translation> <translation id="4625078469366263107">Washa Programu</translation> <translation id="4627427111733173920">Vidakuzi vimezuiwa</translation> @@ -2526,7 +2512,6 @@ <translation id="496226124210045887">Folda uliyochagua ina faili nyeti. Je, una uhakika unataka kutoa uwezo wa kudumu wa kufikia kuandika folda hii kwa "$1"?</translation> <translation id="4964455510556214366">Mpangilio</translation> <translation id="4964673849688379040">Inakagua...</translation> -<translation id="4965682129423310439">Chrome imegundua programu hatari kwenye kompyuta yako. Chrome inaweza kuiondoa na kurejesha mipangilio yako ili kuwezesha kivinjari chako kufanya kazi tena kama kawaida.</translation> <translation id="4965808351167763748">Una uhakika ungependa kuweka mipangilio kwenye kifaa hiki ili utumie Hangouts Meet?</translation> <translation id="4967749818080339523">Chagua akaunti</translation> <translation id="496888482094675990">Programu ya Faili inatoa ufikiaji wa haraka kwenye faili ambazo umeweka kwenye Hifadhi ya Google, nafasi ya nje, au kifaa chako cha Chrome OS.</translation> @@ -3300,10 +3285,8 @@ <translation id="6169666352732958425">Imeshindwa kutuma eneo-kazi.</translation> <translation id="6171948306033499786">Sitisha kuchapisha</translation> <translation id="6175314957787328458">GUID ya Vikoa kutoka Microsoft</translation> -<translation id="6176032031541598434">Dirisha linalotumika limehamishiwa chini ya onyesho</translation> <translation id="6178664161104547336">Chagua cheti</translation> <translation id="6181431612547969857">Upakuaji umezuiwa</translation> -<translation id="6181803575025675566">Dhibiti jinsi hali hii hufanya kazi katika <ph name="LINK_START" />Mipangilio<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Mahali Kifaa Kilipo</translation> <translation id="6185696379715117369">Ukurasa mmoja juu</translation> <translation id="6189412234224385711">Fungua ukitumia <ph name="EXTENSION_NAME" /></translation> @@ -3651,11 +3634,9 @@ <translation id="6736045498964449756">Lo! Manenosiri hayalingani!</translation> <translation id="6736243959894955139">Anwani</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Ingawa huwezi kufikia tena wasifu wako wa awali, bado unaweza kuuondoa.</translation> <translation id="6739923123728562974">Onyesha mkato wa eneo-kazi</translation> <translation id="6740234557573873150">Imesitisha <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Kinaweza kufikiwa na hati</translation> -<translation id="6743841972744298686">Mipangilio ya usawazishaji</translation> <translation id="6745592621698551453">Sasisha sasa</translation> <translation id="6746124502594467657">Songa chini</translation> <translation id="674632704103926902">Washa uburutaji wa kugonga</translation> @@ -3785,7 +3766,6 @@ <translation id="6970856801391541997">Chapisha Kurasa Mahsusi</translation> <translation id="6972180789171089114">Sauti/Video</translation> <translation id="6973630695168034713">Folda</translation> -<translation id="6974053822202609517">Kulia hadi Kushoto</translation> <translation id="6976108581241006975">Kidhibiti JavaScript</translation> <translation id="6977381486153291903">Sahihisho la programu dhibiti</translation> <translation id="6978121630131642226">Injini tafuti</translation> @@ -3884,7 +3864,6 @@ <translation id="7108338896283013870">Ficha</translation> <translation id="7108634116785509031"><ph name="HOST" /> inataka kutumia kamera yako</translation> <translation id="7108668606237948702">ingiza</translation> -<translation id="7112978678959880812">Umewasha kipengele cha kuweka mapendeleo. Unaweza kubadilisha hali hii katika myaccount.google.com.</translation> <translation id="7113502843173351041">Kujua anwani yako ya barua pepe</translation> <translation id="7114054701490058191">Nenosiri halilingani</translation> <translation id="7117228822971127758">Tafadhali jaribu tena baadaye</translation> @@ -3949,7 +3928,6 @@ <translation id="7221869452894271364">Pakia ukurasa huu upya</translation> <translation id="7222232353993864120">Anwani ya barua pepe</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Wezesha kikuzaji cha skrini</translation> <translation id="7223775956298141902">Boo... Huna viendelezi :-(</translation> <translation id="7225179976675429563">Aina ya mtandao inakosekana</translation> <translation id="7228479291753472782">Badilisha mipangilio ambayo hubainisha ikiwa tovuti zinaweza kutumia vipengele kama vile kutambulisha mahali, maikrofoni, kamera, nk.</translation> @@ -4205,7 +4183,6 @@ <translation id="7639178625568735185">Nimepata!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> hukuwezesha kuingia katika tovuti zinazofaa kiotomatiki kwa manenosiri uliyohifadhi.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (mmiliki)</translation> -<translation id="7647231681210854996">Dirisha linalotumika limehamishwa kwenye onyesho la kulia</translation> <translation id="7648992873808071793">Hifadhi faili kwenye kifaa hiki</translation> <translation id="7649070708921625228">Usaidizi</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" kingependa kuondoa"<ph name="EXTENSION_NAME" />".</translation> @@ -4667,7 +4644,6 @@ <translation id="8371695176452482769">Ongea sasa</translation> <translation id="8372369524088641025">Kitufe kibovu cha WEP</translation> <translation id="8373553483208508744">Zima vichupo</translation> -<translation id="8377870760189106701">Sogeza dirisha kulia</translation> <translation id="8378285435971754261">Ruhusu huduma ya mahali ya Google isaidie programu kupata mahali ulipo haraka na kwa usahihi, kufanya hivyo kunaweza kupunguza matumizi ya betri. Data ya mahali isiyo na vipengee vinavyoweza kukutambulisha itatumwa kwa Google, hata wakati hakuna programu inayotumika. <ph name="BEGIN_LINK1" />Pata Maelezo zaidi<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Dhibiti mipangilio ya kamera...</translation> <translation id="8382913212082956454">Nakili barua p&epe</translation> @@ -4787,7 +4763,6 @@ <translation id="8581809080475256101">Bonyeza ili kwenda mbele, bonyeza menyu ili uone historia</translation> <translation id="8584280235376696778">&Fungua video katika kichupo kipya</translation> <translation id="8588866096426746242">Onyesha takwimu za wasifu</translation> -<translation id="8589652987924574405">Alamisho, historia, manenosiri na mipangilio yako mingine itasawazishwa kwenye Akaunti yako ya Google ili uweze kuitumia katika vifaa vyako vyote. Unaweza kubadilisha hali hii baadaye katika mipangilio.</translation> <translation id="8590375307970699841">Weka masasisho ya kiotomatiki</translation> <translation id="8594908476761052472">Rekodi video</translation> <translation id="8596540852772265699">Faili Maalum</translation> @@ -4803,7 +4778,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Hali ya kutumia mtandao usio wako wa kawaida</translation> <translation id="8620765578342452535">Sanidi miunganisho ya mtandao</translation> -<translation id="8620790565535071193">Imeshindwa kutafuta</translation> <translation id="8624205858755890468">Huwasha programu ya Mratibu ili kukuonyesha maelezo, programu na hatua zinazohusiana.</translation> <translation id="862542460444371744">Vi&endelezi</translation> <translation id="8627151598708688654">Chagua chanzo</translation> @@ -4881,7 +4855,6 @@ <translation id="871476437400413057">Manenosiri yaliyohifadhiwa kwenye Google</translation> <translation id="8714838604780058252">Michoro ya chinichini</translation> <translation id="8719653885894320876">Upakuaji wa <ph name="PLUGIN_NAME" /> haujafaulu</translation> -<translation id="8721669057562068233">Dirisha linalotumika limehamishwa kwenye onyesho la juu</translation> <translation id="8723829621484579639">fremu ndogo za hali fiche za: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">Onye&sha katika Folda</translation> <translation id="8725066075913043281">Jaribu tena</translation> @@ -4925,7 +4898,6 @@ <translation id="8785622406424941542">Stylus</translation> <translation id="8787254343425541995">Ruhusu proksi za mitandao iliyoshirikiwa</translation> <translation id="8791534160414513928">Tuma ombi la 'Usifuatilie' pamoja na rekodi yako ya shughuli za kuvinjari</translation> -<translation id="8792609692701651064">Dirisha linalotumika limehamishwa kwenye onyesho la kushoto</translation> <translation id="8794025342371547160">IP Iliyodhibitiwa</translation> <translation id="879413103056696865">Mtandao-hewa wako ukiwa umewashwa, kifaa chako cha <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Dirisha Jipya</translation> @@ -5062,7 +5034,6 @@ <translation id="9024127637873500333">&Fungua katika Kichupo Kipya</translation> <translation id="9024331582947483881">skrini nzima</translation> <translation id="9025098623496448965">Sawa, Nirudishe nyuma hadi kwenye skrini ya kuingia katika akaunti</translation> -<translation id="902659348151742535">Google inaweza kutumia historia ya jinsi unavyovinjari ili kuweka mapendeleo kwenye huduma ya Tafuta na Google, matangazo na huduma nyingine za Google.</translation> <translation id="9026731007018893674">pakua</translation> <translation id="9027146684281895941">Msimamie mtu huyu ili udhibiti na uangalie tovuti anazotembelea kwenye Akaunti yako ya Google.</translation> <translation id="9027459031423301635">Fungua Kiungo katika Kichupo &Kipya</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb index 3e2fcd9f..bf276fb 100644 --- a/chrome/app/resources/generated_resources_ta.xtb +++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">நெட்வொர்க்குகள் இல்லை</translation> <translation id="1056898198331236512">எச்சரிக்கை</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">தீங்கிழைக்கும் மென்பொருளை அகற்ற முடியவில்லை</translation> <translation id="1062407476771304334">மாற்றியமை</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />கண்காணிக்கப்படும் பயனர்களின் டாஷ்போர்டு<ph name="END_LINK" /> வழியாக உங்கள் கண்காணிக்கப்படும் பயனர்களை நிர்வகிக்கவும்.</translation> <translation id="1064835277883315402">தனிப்பட்ட பிணையத்துடன் சேர்</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">கோப்பைத் தேர்வுசெய்க</translation> <translation id="136802136832547685">இந்தச் சாதனத்தில் சேர்ப்பதற்கு, கண்காணிக்கப்படும் பயனர்கள் எவருமில்லை.</translation> <translation id="1368265273904755308">சிக்கலைப் புகார் செய்க</translation> -<translation id="1368832886055348810">இடமிருந்து வலம்</translation> <translation id="1370646789215800222">பயனரை அகற்றவா?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 உருப்படியை அகற்ற வேண்டும்}other{# உருப்படிகளை அகற்ற வேண்டும்}}</translation> <translation id="1372841398847029212">எனது கணக்குடன் ஒத்திசை</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">இவரை அகற்று</translation> <translation id="1609170755653088773">இந்தக் கடவுச்சொல்லை iPhone உடன் ஒத்திசைக்கவும்</translation> <translation id="1609862759711084604">முந்தைய பயனர்</translation> -<translation id="1611557582955786626">எல்லாச் சாதனங்களிலும் ஒத்திசைந்த, தனிப்பயனாக்கிய அனுபவத்திற்கு, உள்நுழையவும்</translation> <translation id="1611584202130317952">ஒதுக்கீடு செய்வதற்கான செயல்முறையில் குறுக்கீடு ஏற்பட்டது. மீண்டும் முயலவும் அல்லது உங்கள் சாதன உரிமையாளர்/நிர்வாகியைத் தொடர்புகொள்ளவும்.</translation> <translation id="1611649489706141841">&அடுத்தப் பக்கம்</translation> <translation id="1611704746353331382">புக்மார்க்குகளை HTML கோப்பாக ஏற்றுமதி செய்க...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">இடத்தைச் சேர்...</translation> <translation id="1856813161013948396">கைரேகை உணர்வியைத் தொட்டால் போதும், பூட்டுத் திரைக்குச் செல்லாமலே சாதனத்தைத் திறக்கலாம். உள்ளமைக்க, கிளிக் செய்யவும்.</translation> <translation id="1858585891038687145">மென்பொருள் தயாரிப்பாளர்களை அடையாளங்காண, இந்தச் சான்றிதழை நம்பு</translation> -<translation id="1859234291848436338">எழுதும் திசை</translation> <translation id="1861262398884155592">இந்தக் கோப்புறையில் எதுவுமில்லை</translation> <translation id="1864111464094315414">உள்நுழைவு</translation> <translation id="1864400682872660285">அதிக நீலம்</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">சுருக்கு...</translation> <translation id="2737492745329609575">அமைவைத் தொடங்கு</translation> <translation id="2738771556149464852">இதன்பிறகு அல்ல</translation> -<translation id="2739046699559178272">சேமித்து, தொடர்க</translation> <translation id="2739191690716947896">பிழைத்திருத்து</translation> <translation id="2739240477418971307">உங்கள் அணுகல்தன்மை அமைப்புகளை மாற்றலாம்</translation> <translation id="2740393541869613458">கண்காணிக்கப்படும் பயனர் பார்வையிட்ட இணையதளங்களைச் சரிபார்க்கலாம், மேலும்</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">பதிவிறக்கப்பட்டது</translation> <translation id="2783661497142353826">Kiosk பயன்பாடுகளை நிர்வகித்தல்</translation> <translation id="2784407158394623927">மொபைல் தரவு சேவை இயக்கப்படுகிறது</translation> -<translation id="2785530881066938471">உள்ளடக்க ஸ்கிரிப்டுக்காக கோப்பு '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை. இது UTF-8 குறியாக்கத்தில் இல்லை.</translation> <translation id="2785873697295365461">கோப்பு விளக்கிகள்</translation> <translation id="2787047795752739979">அசலில் மேலெழுது</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">சாண்ட்பாக்ஸ் செய்யப்படாத செருகுநிரல்களைத் தொடர்ந்து தடு</translation> <translation id="2890678560483811744">பக்க வரம்பை மீறிவிட்டது</translation> <translation id="2893168226686371498">இயல்புநிலை உலாவி</translation> -<translation id="2893453364759632532">சாளரத்தைக் கீழே நகர்த்தும்</translation> <translation id="289644616180464099">சிம் கார்டு பூட்டப்பட்டுள்ளது</translation> <translation id="289695669188700754">விசை ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">நிச்சயமாக <ph name="TAB_COUNT" /> தாவல்களைத் திறக்க விரும்புகிறீர்களா?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">திரையைப் பகிர்கிறது</translation> <translation id="3046910703532196514">வலைப்பக்கம், முழுமையாக</translation> <translation id="304826556400666995">தாவல்களை இயக்கு</translation> -<translation id="3051523411789012618">சாளரத்தை மேலே நகர்த்தும்</translation> <translation id="3053013834507634016">சான்றிதழ் விசைப் பயன்பாடு</translation> <translation id="3057861065630527966">உங்கள் படங்கள் மற்றும் வீடியோக்களைக் காப்புப் பிரதியெடுக்கவும்</translation> <translation id="3060379269883947824">பேசும் திரையை இயக்கு</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">ஆடியோ மற்றும் வீடியோ உள்ளீட்டை அணுகுகிறது</translation> <translation id="3090819949319990166">வெளிப்புற crx கோப்பை <ph name="TEMP_CRX_FILE" />க்கு நகலெடுக்க முடியாது.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" இணைக்கப்பட்டது</translation> -<translation id="3097628171361913691">ஜிப் ஃபைல் இன்ஸ்டாலர்</translation> <translation id="3100609564180505575">தொகுதிக்கூறுகள் (<ph name="TOTAL_COUNT" />) - அறியப்பட்ட சிக்கல்கள்: <ph name="BAD_COUNT" />, சந்தேகத்திற்கிடமுள்ளவை: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">தேதி மற்றும் நேரம்</translation> <translation id="3108967419958202225">தேர்வுசெய்க...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">கையொப்பமிட்டவர்</translation> <translation id="33022249435934718">GDI ஹேண்டில்ஸ்</translation> <translation id="3302340765592941254">பதிவிறக்க முடிவு அறிவிப்பு</translation> -<translation id="3302709122321372472">உள்ளடக்க ஸ்கிரிப்டுக்காக css '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை. </translation> <translation id="3303260552072730022">நீட்டிப்பு முழுத்திரையில் தூண்டப்பட்டுள்ளது.</translation> <translation id="3303818374450886607">பிரதிகள்</translation> <translation id="3303855915957856445">தேடல் முடிவுகள் எதுவுமில்லை</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">நேரமண்டலத்தைத் தேர்ந்தெடுக்கவும்</translation> <translation id="3856921555429624101">தரவுப் பயன்பாட்டை அளவிடுதல் முடிந்தது</translation> <translation id="3857228364945137633">உங்கள் மொபைல் அருகில் இருக்கும் போது, கடவுச்சொல்லை உள்ளிடாமல் <ph name="DEVICE_TYPE" /> சாதனத்தைத் திறக்க, Smart Lockஐப் பயன்படுத்திப் பார்க்கவும்.</translation> -<translation id="3857732810083914482">தனிப்பயனாக்கம் முடக்கத்தில் உள்ளது. இதை myaccount.google.com எனும் முகவரிக்குச் சென்று மாற்றலாம்.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meetக்கு வரவேற்கிறோம்</translation> <translation id="3862134173397075045">Chrome இன் அனுப்புதல் அனுபவத்திற்கு வரவேற்கிறோம்!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">இறக்குமதியானது</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" />ஐத் திறக்க, உங்கள் மொபைலைத் திறந்து, சாதனத்திற்கு அருகில் எடுத்து வரவும்.</translation> <translation id="3994878504415702912">&பெரிதாக்கு</translation> -<translation id="39964277676607559">உள்ளடக்க ஸ்கிரிப்டுக்காக javascript '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை.</translation> <translation id="4002066346123236978">தலைப்பு</translation> <translation id="40027638859996362">சொல் நகர்த்தல்</translation> <translation id="4005817994523282006">நேர மண்டலம் கண்டறிதல் முறை</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">நகலெடுக்கும் செயல்பாடு தோல்வி. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">நெட்வொர்க் பதிவுகளுக்கு, இதைப் பார்க்கவும்: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android பயன்பாடுகளைப் பதிவிறக்கிப் பயன்படுத்த, முதலில் புதுப்பிப்பை நிறுவ வேண்டும். சாதனத்தில் புதுப்பிப்பை நிறுவும் போது, அதைப் பயன்படுத்த முடியாது. நிறுவியதும், <ph name="DEVICE_TYPE" /> மீண்டும் தொடங்கும்.</translation> -<translation id="4338683191474220626">சாளரத்தை இடப்புறத்திற்கு நகர்த்தும்</translation> <translation id="4340515029017875942"><ph name="ORIGIN" />, "<ph name="EXTENSION_NAME" />" பயன்பாட்டுடன் தொடர்புகொள்ள விழைகிறது</translation> <translation id="4342311272543222243">அச்சச்சோ, TPM பிழை.</translation> <translation id="4345587454538109430">உள்ளமை...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">குக்கீ எதுவும் தேர்ந்தெடுக்கப்படவில்லை</translation> <translation id="4617270414136722281">நீட்டிப்பு விருப்பங்கள்</translation> <translation id="4619615317237390068">பிற சாதனங்களின் தாவல்கள்</translation> -<translation id="4620809267248568679">இந்த அமைப்பு நீட்டிப்பால் செயல்படுத்தப்படுகிறது.</translation> <translation id="4624768044135598934">வெற்றி!</translation> <translation id="4625078469366263107">பயன்பாட்டை இயக்கு</translation> <translation id="4627427111733173920">குக்கீகள் தடுக்கப்பட்டன</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">நீங்கள் தேர்ந்தெடுத்த கோப்புறையில் முக்கியமான கோப்புகள் உள்ளன. இந்தக் கோப்புறைக்கு "$1" நிரந்தர படிக்கும் அணுகலை நிச்சயமாக வழங்கயுள்ளீர்களா?</translation> <translation id="4964455510556214366">ஒழுங்கமைவு</translation> <translation id="4964673849688379040">சரிபார்க்கிறது...</translation> -<translation id="4965682129423310439">உங்கள் கணினியில் தீங்கிழைக்கும் மென்பொருளை Chrome கண்டறிந்துள்ளது. உங்கள் உலாவியை வழக்கம் போல் மீண்டும் செயல்படுத்துவதற்கு, Chrome அதை அகற்றி, உங்கள் அமைப்புகளை மீட்டமைக்கும்.</translation> <translation id="4965808351167763748">Hangouts Meetஐ இயக்க, இந்தச் சாதனத்தை நிச்சயமாக அமைக்க விரும்புகிறீர்களா?</translation> <translation id="4967749818080339523">கணக்கைத் தேர்ந்தெடுக்கவும்</translation> <translation id="496888482094675990">Google இயக்ககம், வெளிப்புறச் சேமிப்பகம் அல்லது உங்கள் Chrome OS சாதனத்தில் சேமித்துள்ள கோப்புகளுக்கான விரைவான அணுகலைக் கோப்புகள் பயன்பாடு வழங்குகிறது.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">டெஸ்க்டாப்பை அனுப்ப முடியவில்லை.</translation> <translation id="6171948306033499786">அச்சிடுவதை இடைநிறுத்து</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> -<translation id="6176032031541598434">செயலில் உள்ள சாளரம், கீழே உள்ள திரைக்கு நகர்த்தப்பட்டது</translation> <translation id="6178664161104547336">ஒரு சான்றிதழைத் தேர்ந்தெடு</translation> <translation id="6181431612547969857">பதிவிறக்கம் தடுக்கப்பட்டுள்ளது</translation> -<translation id="6181803575025675566">இது வேலை செய்யும் விதத்தை <ph name="LINK_START" />அமைப்புகளில்<ph name="LINK_END" /> கட்டுப்படுத்தலாம்.</translation> <translation id="6185132558746749656">சாதன இருப்பிடம்</translation> <translation id="6185696379715117369">பக்கத்தின் மேலே</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> மூலம் திற</translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">அச்சச்சோ, கடவுச்சொற்கள் பொருந்தவில்லை!</translation> <translation id="6736243959894955139">முகவரி</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">உங்கள் சுயவிவரத்தை இனி அணுக முடியாது என்றாலும், அதை அகற்ற முடியும்.</translation> <translation id="6739923123728562974">டெஸ்க்டாப் குறுக்குவழியைக் காட்டு</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> பதிவிறக்கம் இடைநிறுத்தப்பட்டது</translation> <translation id="6742339027238151589">ஸ்கிரிப்ட் அணுகலாம்</translation> -<translation id="6743841972744298686">ஒத்திசைவு அமைப்புகள்</translation> <translation id="6745592621698551453">இப்போது புதுப்பி</translation> <translation id="6746124502594467657">கீழே நகர்த்து</translation> <translation id="674632704103926902">தட்டி இழுப்பதை இயக்கு</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">குறிப்பிட்ட பக்கங்களை அச்சிடு</translation> <translation id="6972180789171089114">ஆடியோ/வீடியோ</translation> <translation id="6973630695168034713">கோப்புறைகள்</translation> -<translation id="6974053822202609517">வலமிருந்து இடம்</translation> <translation id="6976108581241006975">JavaScript கன்சோல்</translation> <translation id="6977381486153291903">நிலைபொருள் பதிப்பு</translation> <translation id="6978121630131642226">தேடு பொறிகள்</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">மறை</translation> <translation id="7108634116785509031"><ph name="HOST" /> உங்கள் கேமராவைப் பயன்படுத்த விரும்புகிறது</translation> <translation id="7108668606237948702">உள்ளிடு</translation> -<translation id="7112978678959880812">தனிப்பயனாக்கம் இயக்கத்தில் உள்ளது. இதை myaccount.google.com எனும் முகவரிக்குச் சென்று மாற்றலாம்.</translation> <translation id="7113502843173351041">உங்கள் மின்னஞ்சல் முகவரியை அணுகுதல்</translation> <translation id="7114054701490058191">கடவுச்சொற்கள் பொருந்தவில்லை</translation> <translation id="7117228822971127758">பிறகு முயலவும்</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">இந்தப் பக்கத்தை மீண்டும் ஏற்று</translation> <translation id="7222232353993864120">மின்னஞ்சல் முகவரி</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">திரை உருப்பெருக்கியை செயலாக்கு</translation> <translation id="7223775956298141902">அச்சச்சோ... உங்களுக்கு நீட்டிப்புகள் இல்லை :-(</translation> <translation id="7225179976675429563">நெட்வொர்க் வகை இல்லை</translation> <translation id="7228479291753472782">புவி இருப்பிடம், மைக்ரோஃபோன், கேமரா போன்ற அம்சங்களை, இணையதளங்கள் பயன்படுத்தலாமா வேண்டாமா என்பதைக் குறிக்கும் அமைப்புகளை மாற்றலாம்.</translation> @@ -4206,7 +4184,6 @@ <translation id="7639178625568735185">புரிந்தது!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> நீங்கள் சேமித்த கடவுச்சொற்களைப் பயன்படுத்தி தகுதியுள்ள தளங்களில் உங்களைத் தானாக உள்நுழையச் செய்யும்.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (உரிமையாளர்)</translation> -<translation id="7647231681210854996">செயலில் உள்ள சாளரம், வலப்புறத் திரைக்கு நகர்த்தப்பட்டது</translation> <translation id="7648992873808071793">இந்தச் சாதனத்தில் கோப்புகளைச் சேமிக்கும்</translation> <translation id="7649070708921625228">உதவி</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />", "<ph name="EXTENSION_NAME" />" ஐ அகற்ற விரும்புகிறது.</translation> @@ -4666,7 +4643,6 @@ <translation id="8371695176452482769">இப்போது பேசுக</translation> <translation id="8372369524088641025">மோசமான WEP விசை</translation> <translation id="8373553483208508744">தாவல்களை முடக்கு</translation> -<translation id="8377870760189106701">சாளரத்தை வலப்புறம் நகர்த்து</translation> <translation id="8378285435971754261">உங்கள் இருப்பிடத்தை விரைவாகவும் துல்லியமாகவும் கண்டறிய பயன்பாடுகளுக்கு உதவ, Google இன் இருப்பிடச் சேவையை அனுமதிக்கவும் (இது பேட்டரி உபயோகத்தைக் குறைக்கலாம்). எந்தப் பயன்பாடும் இயங்காத போதும், அநாமதேய இருப்பிடத் தரவு Googleக்கு அனுப்பப்படும். <ph name="BEGIN_LINK1" />மேலும் அறிக<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">கேமரா அமைப்புகளை நிர்வகிக்கவும்...</translation> <translation id="8382913212082956454">&மின்னஞ்சல் முகவரியை நகலெடு</translation> @@ -4786,7 +4762,6 @@ <translation id="8581809080475256101">முன்னே செல்ல அழுத்தவும், வரலாற்றைக் காட்டும் சூழல் மெனு</translation> <translation id="8584280235376696778">புதிய தாவலில் வீடியோவைத் &திற</translation> <translation id="8588866096426746242">சுயவிவரப் புள்ளிவிவரங்களைக் காட்டு</translation> -<translation id="8589652987924574405">புத்தகக்குறிகள், வரலாறு, கடவுச்சொற்கள், பிற அமைப்புகள் ஆகியவை உங்கள் Google கணக்குடன் ஒத்திசைக்கப்படும் என்பதால், உங்கள் சாதனங்கள் எல்லாவற்றிலும் அவற்றைப் பயன்படுத்தலாம். இதை அமைப்புகளில் மாற்றலாம்.</translation> <translation id="8590375307970699841">தானாக புதுப்பித்தலை அமைக்கவும்</translation> <translation id="8594908476761052472">வீடியோ எடு</translation> <translation id="8596540852772265699">தனிப்பயன் கோப்புகள்</translation> @@ -4802,7 +4777,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">ரோமிங் நிலை</translation> <translation id="8620765578342452535">நெட்வொர்க் இணைப்புகளை உள்ளமைக்கவும்</translation> -<translation id="8620790565535071193">ஸ்கேன் செய்ய முடியவில்லை</translation> <translation id="8624205858755890468">தொடர்புடைய தகவல், பயன்பாடுகள் மற்றும் செயல்களைக் காட்டுவதற்கு, அசிஸ்டண்ட்டை அனுமதிக்கும்.</translation> <translation id="862542460444371744">&நீட்சிகள்</translation> <translation id="8627151598708688654">ஆதாரத்தைத் தேர்ந்தெடு</translation> @@ -4880,7 +4854,6 @@ <translation id="871476437400413057">Google சேமித்துள்ள கடவுச்சொற்கள்</translation> <translation id="8714838604780058252">பின்னணி கிராஃபிக்ஸ்</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" />ஐப் பதிவிறக்க முடியவில்லை</translation> -<translation id="8721669057562068233">செயலில் உள்ள சாளரம், மேலே உள்ள திரைக்கு நகர்த்தப்பட்டது</translation> <translation id="8723829621484579639">இதற்கான மறைநிலை சப்ஃபிரேம்கள்: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">கோப்புறையில் &காண்பி</translation> <translation id="8725066075913043281">மீண்டும் முயற்சிக்கவும்</translation> @@ -4924,7 +4897,6 @@ <translation id="8785622406424941542">ஸ்டைலஸ்</translation> <translation id="8787254343425541995">பகிர்ந்த பிணையங்களில் புராக்ஸிகளை அனுமதி</translation> <translation id="8791534160414513928">"கண்காணிக்க வேண்டாம்" என்ற கோரிக்கையுடன் எனது உலாவல் ட்ராஃபிக்கை அனுப்பு</translation> -<translation id="8792609692701651064">செயலில் உள்ள சாளரம், இடப்புறம் உள்ள திரைக்கு நகர்த்தப்பட்டது</translation> <translation id="8794025342371547160">வரையறுக்கப்பட்ட IP</translation> <translation id="879413103056696865">ஹாட்ஸ்பாட் இயக்கத்தில் இருக்கும் போது, உங்கள் <ph name="PHONE_NAME" /> இல்:</translation> <translation id="8795916974678578410">புதிய சாளரம்</translation> @@ -5061,7 +5033,6 @@ <translation id="9024127637873500333">புதிய தாவலில் &திற</translation> <translation id="9024331582947483881">முழுத்திரை</translation> <translation id="9025098623496448965">சரி, மீண்டும் என்னை உள்நுழைவுத் திரைக்குக் கொண்டு செல்</translation> -<translation id="902659348151742535">தேடல், விளம்பரங்கள் மற்றும் பிற Google சேவைகளைத் தனிப்பயனாக்க, உங்கள் உலாவல் வரலாற்றை Google பயன்படுத்தக்கூடும்.</translation> <translation id="9026731007018893674">பதிவிறக்கு</translation> <translation id="9027146684281895941">எனது Google கணக்கிலிருந்து இந்தப் பயனர் பார்வையிடும் இணையதளங்களைக் கட்டுப்படுத்தவும் காட்டவும் இந்தப் பயனரைக் கண்காணி.</translation> <translation id="9027459031423301635">இணைப்பை புதிய &தாவலில் திற</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb index 6eb4bc2..f8951f1 100644 --- a/chrome/app/resources/generated_resources_te.xtb +++ b/chrome/app/resources/generated_resources_te.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">నెట్వర్క్లు లేవు</translation> <translation id="1056898198331236512">హెచ్చరిక</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">హానికరమైన సాఫ్ట్వేర్ని తీసివేయడం సాధ్యం కాదు</translation> <translation id="1062407476771304334">భర్తీ చేయి</translation> <translation id="1062866675591297858"><ph name="BEGIN_LINK" />పర్యవేక్షించబడే వినియోగదారుల డాష్బోర్డ్<ph name="END_LINK" /> ద్వారా మీ పర్యవేక్షించబడే వినియోగదారులను నిర్వహించండి.</translation> <translation id="1064835277883315402">వ్యక్తిగత నెట్వర్క్లో చేరండి</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">ఒక ఫైల్ని ఎంచుకోండి</translation> <translation id="136802136832547685">ఈ పరికరానికి జోడించేందుకు పర్యవేక్షిత వినియోగదారులు ఎవరూ లేరు.</translation> <translation id="1368265273904755308">సమస్యను నివేదించు</translation> -<translation id="1368832886055348810">ఎడమ నుండి కుడికి</translation> <translation id="1370646789215800222">వ్యక్తిని తీసివేయాలా?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 అంశం తీసివేయబడాలి}other{# అంశాలు తీసివేయబడాలి}}</translation> <translation id="1372841398847029212">మీ ఖాతాకు సమకాలీకరించండి</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">ఈ వినియోగదారుని తీసివేయండి</translation> <translation id="1609170755653088773">ఈ పాస్వర్డ్ను మీ iPhoneకు సమకాలీకరించండి</translation> <translation id="1609862759711084604">మునుపటి వినియోగదారు</translation> -<translation id="1611557582955786626">వ్యక్తిగతీకరించిన బ్రౌజింగ్ అనుభవం కోసం, మీ పరికరాలకు సమకాలీకరించడానికి సైన్ ఇన్ చేయండి</translation> <translation id="1611584202130317952">కేటాయింపు విధానానికి అంతరాయం ఏర్పడింది. దయచేసి మళ్లీ ప్రయత్నించండి లేదా మీ పరికర యజమాని లేదా నిర్వాహకులను సంప్రదించండి.</translation> <translation id="1611649489706141841">ముందుకు</translation> <translation id="1611704746353331382">HTML ఫైల్కి బుక్మార్క్లను ఎగుమతి చేయి...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">స్థానాన్ని జోడించు...</translation> <translation id="1856813161013948396">వేలిముద్ర సెన్సార్ను నొక్కడం ద్వారా లాక్ స్క్రీన్ను దాటవేయండి. కాన్ఫిగర్ చేయడానికి క్లిక్ చేయండి.</translation> <translation id="1858585891038687145">సాఫ్ట్వేర్ రూపకర్తలను గుర్తించడం కోసం ఈ ప్రమాణపత్రాన్ని విశ్వసిస్తుంది</translation> -<translation id="1859234291848436338">వ్రాసే దిశ</translation> <translation id="1861262398884155592">ఈ ఫోల్డర్ ఖాళీగా ఉంది</translation> <translation id="1864111464094315414">లాగిన్</translation> <translation id="1864400682872660285">చల్లని</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">కుదించు...</translation> <translation id="2737492745329609575">సెటప్ను ప్రారంభించు</translation> <translation id="2738771556149464852">తరువాత కాదు</translation> -<translation id="2739046699559178272">సేవ్ చేసి, కొనసాగించండి</translation> <translation id="2739191690716947896">డీబగ్</translation> <translation id="2739240477418971307">మీ ప్రాప్యత సెట్టింగ్లను మార్చడం</translation> <translation id="2740393541869613458">పర్యవేక్షించబడే వినియోగదారు సందర్శించిన వెబ్సైట్లను సమీక్షించండి మరియు</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">డౌన్లోడ్ చేయబడింది</translation> <translation id="2783661497142353826">కియోస్క్ అనువర్తనాలను నిర్వహించండి</translation> <translation id="2784407158394623927">మీ మొబైల్ డేటా సేవ సక్రియం చెయ్యబడుతుంది</translation> -<translation id="2785530881066938471">కంటెంట్ స్క్రిప్ట్ కోసం '<ph name="RELATIVE_PATH" />' ఫైల్ను లోడ్ చేయలేకపోయింది. ఇది ఎన్కోడ్ చేయబడిన UTF-8 కాదు.</translation> <translation id="2785873697295365461">ఫైల్ వివరణలు</translation> <translation id="2787047795752739979">అసలును భర్తీ చేయి</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">శాండ్బాక్స్ చేయని ప్లగిన్లను బ్లాక్ చేయడం కొనసాగించు</translation> <translation id="2890678560483811744">పేజీ సూచన పరిమితిని దాటిపోయారు</translation> <translation id="2893168226686371498">డిఫాల్ట్ బ్రౌజర్</translation> -<translation id="2893453364759632532">విండోని కిందకు తరలించు</translation> <translation id="289644616180464099">SIM కార్డ్ లాక్ అయింది</translation> <translation id="289695669188700754">కీ ID: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">మీరు <ph name="TAB_COUNT" /> టాబ్లను తెరవాలనుకుంటున్నారా?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">స్క్రీన్ని షేర్ చేస్తోంది</translation> <translation id="3046910703532196514">వెబ్పేజీ, సంపూర్ణం</translation> <translation id="304826556400666995">ట్యాబ్లను అన్మ్యూట్ చేయండి</translation> -<translation id="3051523411789012618">విండోని పైకి తరలించు</translation> <translation id="3053013834507634016">సర్టిఫికెట్ కీ ఉపయోగం</translation> <translation id="3057861065630527966">మీ ఫోటోలను మరియు వీడియోలను బ్యాకప్ చేయండి</translation> <translation id="3060379269883947824">వినడానికి-ఎంచుకోండిని ప్రారంభించు</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">ఆడియో మరియు వీడియో ఇన్పుట్ ప్రాప్యత చేయబడుతోంది</translation> <translation id="3090819949319990166">బాహ్య crx ఫైల్ను <ph name="TEMP_CRX_FILE" />కి కాపీ చేయడం సాధ్యపడదు.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" జత చేయబడింది</translation> -<translation id="3097628171361913691">జిప్ ఫైల్ ఇన్స్టాలర్</translation> <translation id="3100609564180505575">మాడ్యూళ్ళు (<ph name="TOTAL_COUNT" />) - తెలిసిన వైరుధ్యాలు: <ph name="BAD_COUNT" />, అనుమానించినవి: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">తేదీ మరియు సమయం</translation> <translation id="3108967419958202225">ఎంచుకోండి...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">వీరి ద్వారా సైన్ చెయ్యబడింది</translation> <translation id="33022249435934718">GDI నిర్వహించేవి</translation> <translation id="3302340765592941254">పూర్తి నోటిఫికేషన్ను డౌన్లోడ్ చేయండి</translation> -<translation id="3302709122321372472">కంటెంట్ స్క్రిప్ట్ కోసం css '<ph name="RELATIVE_PATH" />' లోడ్ చేయబడలేరు.</translation> <translation id="3303260552072730022">పొడిగింపు పూర్తి స్క్రీన్ని ట్రిగ్గర్ చేసింది.</translation> <translation id="3303818374450886607">కాపీలు</translation> <translation id="3303855915957856445">శోధన ఫలితాలు ఏవీ కనుగొనబడలేదు</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">సమయ మండలిని ఎంచుకోండి</translation> <translation id="3856921555429624101">డేటా వినియోగాన్ని గణించడం ముగిసింది</translation> <translation id="3857228364945137633">మీ ఫోన్ సమీపంలో ఉన్నప్పుడు మీ <ph name="DEVICE_TYPE" />ని పాస్వర్డ్ లేకుండా అన్లాక్ చేయడానికి Smart Lockను ప్రయత్నించండి.</translation> -<translation id="3857732810083914482">వ్యక్తిగతీకరణ ఆఫ్ చేయబడింది. మీరు దీన్ని myaccount.google.comలో మార్చవచ్చు.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts సమావేశానికి స్వాగతం</translation> <translation id="3862134173397075045">Chromeలో Cast అనుభవానికి స్వాగతం!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">దిగుమతి అయ్యింది</translation> <translation id="3994374631886003300">మీ ఫోన్ను అన్లాక్ చేయండి మరియు మీ <ph name="DEVICE_TYPE" />ని అన్లాక్ చేయడానికి దాన్ని సమీపంలోకి తీసుకురండి.</translation> <translation id="3994878504415702912">&జూమ్ చెయ్యి</translation> -<translation id="39964277676607559">కంటెంట్ స్క్రిప్ట్ కోసం javascript '<ph name="RELATIVE_PATH" />' లోడ్ చేయబడలేదు.</translation> <translation id="4002066346123236978">శీర్షిక</translation> <translation id="40027638859996362">పద తరలింపు</translation> <translation id="4005817994523282006">సమయ మండలి గుర్తింపు పద్ధతి</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">కాపీ ఆపరేషన్ విఫలమైంది. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">నెట్వర్క్ లాగ్ల కోసం, దీన్ని చూడండి: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android ఆప్లను డౌన్లోడ్ చేయాలంటే మరియు ఉపయోగించాలంటే, ముందుగా మీరు ఒక అప్డేట్ను ఇన్స్టాల్ చేయాలి. మీ పరికరం అప్డేట్ చేస్తున్నప్పుడు, మీరు దానిని ఉపయోగించలేరు. ఇన్స్టాలేషన్ పూర్తయిన తర్వాత మీ <ph name="DEVICE_TYPE" /> పునఃప్రారంభమవుతుంది.</translation> -<translation id="4338683191474220626">విండోని ఎడమవైపు తరలించు</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> "<ph name="EXTENSION_NAME" />" అనువర్తనంతో కమ్యూనికేట్ చేయాలనుకుంటోంది</translation> <translation id="4342311272543222243">అయ్యో, TPM లోపం.</translation> <translation id="4345587454538109430">కన్ఫిగర్ చెయ్యి...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">కుక్కీలను ఎంచుకోలేదు</translation> <translation id="4617270414136722281">పొడిగింపు ఎంపికలు</translation> <translation id="4619615317237390068">ఇతర పరికరాల్లోని ట్యాబ్లు</translation> -<translation id="4620809267248568679">ఈ సెట్టింగ్ పొడిగింపు ద్వారా అమలు చేయబడింది.</translation> <translation id="4624768044135598934">విజయవంతం!</translation> <translation id="4625078469366263107">అనువర్తనాన్ని ప్రారంభించు</translation> <translation id="4627427111733173920">కుక్కీలు బ్లాక్ చేయబడ్డాయి</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">మీరు ఎంచుకున్న ఫోల్డర్లో ముఖ్యమైన ఫైల్లు ఉన్నాయి. మీరు ఖచ్చితంగా ఈ ఫోల్డర్ కోసం "$1"కు శాశ్వతంగా చదవగల ప్రాప్యతను మంజూరు చేయాలనుకుంటున్నారా?</translation> <translation id="4964455510556214366">అమరిక</translation> <translation id="4964673849688379040">తనిఖీ చేస్తోంది...</translation> -<translation id="4965682129423310439">Chrome మీ కంప్యూటర్లో హానికరమైన సాఫ్ట్వేర్ని కనుగొంది. Chrome దీనిని తీసివేయగలదు మరియు మీ బ్రౌజర్ సాధారణంగా పని చేసేలా చేయడం కోసం మీ సెట్టింగ్లను పునరుద్ధరించగలదు.</translation> <translation id="4965808351167763748">మీరు Hangouts సమావేశాన్ని అమలు చేయడానికి ఈ పరికరాన్ని ఖచ్చితంగా సెటప్ చేయాలనుకుంటున్నారా?</translation> <translation id="4967749818080339523">ఖాతాను ఎంచుకోండి</translation> <translation id="496888482094675990">ఫైల్ల అనువర్తనం మీరు Google డిస్క్, బాహ్య నిల్వ లేదా మీ Chrome OS పరికరంలో సేవ్ చేసిన ఫైల్లకు శీఘ్ర ప్రాప్యతను అందిస్తుంది.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">డెస్క్టాప్ను ప్రసారం చేయడం సాధ్యపడలేదు.</translation> <translation id="6171948306033499786">ముద్రణను పాజ్ చేయి</translation> <translation id="6175314957787328458">Microsoft డొమైన్ GUID</translation> -<translation id="6176032031541598434">సక్రియ విండో దిగువ ప్రదర్శనకు తరలించబడింది</translation> <translation id="6178664161104547336">ఒక సర్టిఫికెట్ని ఎంచుకోండి</translation> <translation id="6181431612547969857">డౌన్లోడ్ బ్లాక్ చేయబడింది</translation> -<translation id="6181803575025675566"><ph name="LINK_START" />సెట్టింగ్లలో<ph name="LINK_END" /> ఇది ఎలా పని చేయాలో నియంత్రించండి.</translation> <translation id="6185132558746749656">పరికర స్థానం</translation> <translation id="6185696379715117369">ఎగువ పేజీకి వెళ్లుతుంది</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" />తో తెరవండి</translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">అయ్యో, పాస్వర్డ్లు సరిపోలలేదు!</translation> <translation id="6736243959894955139">చిరునామా</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">మీరు మీ పాత ప్రొఫైల్ను ఇప్పుడు యాక్సెస్ చేయలేకపోయినప్పటికీ, మీరు దానిని తీసివేయగలరు.</translation> <translation id="6739923123728562974">డెస్క్టాప్ సత్వరమార్గాన్ని చూపు</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> పాజ్ చేయబడింది</translation> <translation id="6742339027238151589">స్క్రిప్ట్కి ప్రాప్యత చేయదగినది</translation> -<translation id="6743841972744298686">సమకాలీకరణ సెట్టింగ్లు</translation> <translation id="6745592621698551453">ఇప్పుడే నవీకరించు</translation> <translation id="6746124502594467657">క్రిందికి తరలించు</translation> <translation id="674632704103926902">నొక్కి లాగడాన్ని ప్రారంభించు</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">ప్రత్యేకించిన పేజీలను ముద్రించు</translation> <translation id="6972180789171089114">ఆడియో/వీడియో</translation> <translation id="6973630695168034713">ఫోల్డర్లు</translation> -<translation id="6974053822202609517">కుడి నుండి ఎడమకు</translation> <translation id="6976108581241006975">జావాస్క్రిప్ట్ కన్సోల్</translation> <translation id="6977381486153291903">ఫర్మ్వేర్ పునర్విమర్శ</translation> <translation id="6978121630131642226">శోధన ఇంజిన్లు</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">దాచిపెట్టు</translation> <translation id="7108634116785509031"><ph name="HOST" /> మీ కెమెరాను ఉపయోగించాలనుకుంటోంది</translation> <translation id="7108668606237948702">ఎంటర్</translation> -<translation id="7112978678959880812">వ్యక్తిగతీకరణ ఆన్లో ఉంది. మీరు దీన్ని myaccount.google.comలో మార్చవచ్చు.</translation> <translation id="7113502843173351041">మీ ఇమెయిల్ చిరునామాను తెలియపరచడానికి అనుమతి</translation> <translation id="7114054701490058191">పాస్వర్డ్లు సరిపోలలేదు</translation> <translation id="7117228822971127758">దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">ఈ పేజీని రీలోడ్ చెయ్యి</translation> <translation id="7222232353993864120">ఇమెయిల్ చిరునామా</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">స్క్రీన్ మాగ్నిఫయర్ను ప్రారంభించు</translation> <translation id="7223775956298141902">అయ్యో... మీకు పొడిగింపులు లేవు :-(</translation> <translation id="7225179976675429563">నెట్వర్క్ రకం లేదు</translation> <translation id="7228479291753472782">వెబ్సైట్లు భౌగోళికస్థానం, మైక్రోఫోన్, కెమెరా మొదలైనటువంటి లక్షణాలను ఉపయోగించవచ్చా లేదా అనేది పేర్కొనే సెట్టింగ్లను సవరించండి</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">అర్థమైంది!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> మీరు సేవ్ చేసిన పాస్వర్డ్లతో అర్హత ఉన్న సైట్లకు మిమ్మల్ని స్వయంచాలకంగా సైన్ ఇన్ చేస్తుంది.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (యజమాని)</translation> -<translation id="7647231681210854996">సక్రియ విండో కుడివైపు ప్రదర్శనకు తరలించబడింది</translation> <translation id="7648992873808071793">ఈ పరికరంలో ఫైల్లను నిల్వ చేయాలనుకుంటోంది</translation> <translation id="7649070708921625228">సహాయం</translation> <translation id="7650511557061837441">"<ph name="EXTENSION_NAME" />"ని "<ph name="TRIGGERING_EXTENSION_NAME" />" తీసివేయాలనుకుంటోంది.</translation> @@ -4670,7 +4647,6 @@ <translation id="8371695176452482769">ఇప్పుడు మాట్లాడండి</translation> <translation id="8372369524088641025">తప్పుడు WEP కీ</translation> <translation id="8373553483208508744">ట్యాబ్లను మ్యూట్ చేయి</translation> -<translation id="8377870760189106701">విండో కుడివైపు</translation> <translation id="8378285435971754261">మీ స్థానాన్ని త్వరగా మరియు ఖచ్చితంగా కనుగొనడంలో అనువర్తనాలకు సహాయపడేందుకు Google స్థాన సేవను అనుమతించండి, ఇది బ్యాటరీ వినియోగ శక్తిని తగ్గించవచ్చు. అనువర్తనాలు ఏవీ అమలులో లేనప్పటికీ అనామక స్థాన డేటా Googleకి పంపబడుతుంది. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">కెమెరా సెట్టింగ్లను నిర్వహించండి...</translation> <translation id="8382913212082956454">&ఇమెయిల్ చిరునామాను కాపీ చెయ్యి</translation> @@ -4790,7 +4766,6 @@ <translation id="8581809080475256101">చరిత్రను చూసేందుకు ముందుకు వెళ్లు, సందర్భ మెను నొక్కండి</translation> <translation id="8584280235376696778">&వీడియోని క్రొత్త టాబ్లో తెరువు</translation> <translation id="8588866096426746242">ప్రొఫైల్ గణాంకాలను చూపు</translation> -<translation id="8589652987924574405">మీ బుక్మార్క్లు, చరిత్ర, పాస్వర్డ్లు మరియు ఇతర సెట్టింగ్లు మీ Google ఖాతాకు సమకాలీకరించబడతాయి, కాబట్టి మీరు వాటిని మీ అన్ని పరికరాల్లో ఉపయోగించవచ్చు. మీరు దీన్ని మీ సెట్టింగ్లలో ఎల్లప్పుడూ మార్చవచ్చు.</translation> <translation id="8590375307970699841">ఆటోమేటిక్ అప్డేట్లను సెట్ అప్ చేయండి</translation> <translation id="8594908476761052472">వీడియోను క్యాప్చర్ చేయి</translation> <translation id="8596540852772265699">అనుకూలీకరించిన ఫైళ్ళు</translation> @@ -4806,7 +4781,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">రోమింగ్ స్థితి</translation> <translation id="8620765578342452535">నెట్వర్క్ కనెక్షన్లను కాన్ఫిగర్ చేయడానికి అనుమతి</translation> -<translation id="8620790565535071193">స్కానింగ్ విఫలమైంది</translation> <translation id="8624205858755890468">మీకు సంబంధిత సమాచారం, యాప్లు మరియు చర్యలను చూపించడానికి సహాయకాన్ని ప్రారంభిస్తుంది.</translation> <translation id="862542460444371744">&పొడిగింపులు</translation> <translation id="8627151598708688654">మూలాన్ని ఎంచుకోండి</translation> @@ -4884,7 +4858,6 @@ <translation id="871476437400413057">Google సేవ్ చేసిన పాస్వర్డ్లు</translation> <translation id="8714838604780058252">నేపథ్య గ్రాఫిక్స్</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> డౌన్లోడ్ విఫలమైంది</translation> -<translation id="8721669057562068233">సక్రియ విండో ఎగువ ప్రదర్శనకు తరలించబడింది</translation> <translation id="8723829621484579639">అజ్ఞాత ఉపఫ్రేమ్లు: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">ఫోల్డర్లో &చూపించు</translation> <translation id="8725066075913043281">మళ్ళీ ప్రయత్నించండి</translation> @@ -4928,7 +4901,6 @@ <translation id="8785622406424941542">స్టైలస్</translation> <translation id="8787254343425541995">భాగస్వామ్య నెట్వర్క్లకు ప్రాక్సీలను అనుమతించండి</translation> <translation id="8791534160414513928">మీ బ్రౌజింగ్ రద్దీతో ‘ట్రాక్ చేయవద్దు’ అభ్యర్థనను పంపండి</translation> -<translation id="8792609692701651064">సక్రియ విండో ఎడమవైపు ప్రదర్శనకు తరలించబడింది</translation> <translation id="8794025342371547160">పరిమితం చేయబడిన IP</translation> <translation id="879413103056696865">హాట్స్పాట్ ఆన్లో ఉన్నప్పుడు, మీ <ph name="PHONE_NAME" /> ఇలా చేస్తుంది:</translation> <translation id="8795916974678578410">క్రొత్త విండో</translation> @@ -5065,7 +5037,6 @@ <translation id="9024127637873500333">&క్రొత్త ట్యాబ్లో తెరువు</translation> <translation id="9024331582947483881">పూర్తి స్క్రీన్</translation> <translation id="9025098623496448965">సరే, నన్ను తిరిగి సైన్-ఇన్ స్క్రీన్కు తీసుకువెళ్లు</translation> -<translation id="902659348151742535">శోధన, ప్రకటనలు మరియు ఇతర Google సేవలను వ్యక్తిగతీకరించడం కోసం Google మీ బ్రౌజింగ్ చరిత్రను ఉపయోగించవచ్చు.</translation> <translation id="9026731007018893674">డౌన్లోడ్</translation> <translation id="9027146684281895941">ఈ వ్యక్తి మీ Google ఖాతా నుండి సందర్శించే వెబ్సైట్లను నియంత్రించడానికి మరియు వీక్షించడానికి వీరిని పర్యవేక్షిస్తుంది.</translation> <translation id="9027459031423301635">లింక్ను క్రొత్త &టాబ్లో తెరువు</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb index 91586d8..5628e93 100644 --- a/chrome/app/resources/generated_resources_th.xtb +++ b/chrome/app/resources/generated_resources_th.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">ไม่พบเครือข่าย</translation> <translation id="1056898198331236512">คำเตือน</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">ไม่สามารถนำซอฟต์แวร์อันตรายออก</translation> <translation id="1062407476771304334">แทนที่</translation> <translation id="1062866675591297858">จัดการผู้ใช้ภายใต้การดูแลของคุณผ่าน<ph name="BEGIN_LINK" />หน้าแดชบอร์ดผู้ใช้ภายใต้การดูแล<ph name="END_LINK" /></translation> <translation id="1064835277883315402">เข้าร่วมเครือข่ายส่วนบุคคล</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">เลือกไฟล์</translation> <translation id="136802136832547685">ไม่มีผู้ใช้ภายใต้การดูแลที่จะเพิ่มลงในอุปกรณ์เครื่องนี้</translation> <translation id="1368265273904755308">รายงานปัญหา</translation> -<translation id="1368832886055348810">ซ้ายไปขวา</translation> <translation id="1370646789215800222">นำบุคคลนี้ออกใช่ไหม</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 รายการที่จะนำออก}other{# รายการที่จะนำออก}}</translation> <translation id="1372841398847029212">ซิงค์กับบัญชีของคุณ</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">ลบผู้ใช้รายนี้</translation> <translation id="1609170755653088773">ซิงค์รหัสผ่านนี้กับ iPhone ของคุณ</translation> <translation id="1609862759711084604">ผู้ใช้ก่อนหน้านี้</translation> -<translation id="1611557582955786626">ลงชื่อเข้าใช้เพื่อรับประสบการณ์การท่องเว็บที่ปรับให้เข้ากับคุณและซิงค์กับอุปกรณ์ทุกเครื่อง</translation> <translation id="1611584202130317952">กระบวนการการจัดสรรขัดข้อง โปรดลองอีกครั้ง หรือติดต่อเจ้าของอุปกรณ์หรือผู้ดูแลระบบ</translation> <translation id="1611649489706141841">ไปข้างหน้า</translation> <translation id="1611704746353331382">ส่งออกบุ๊กมาร์กไปยังไฟล์ HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">เพิ่มตำแหน่ง...</translation> <translation id="1856813161013948396">ข้ามหน้าจอล็อกโดยแตะเซ็นเซอร์ลายนิ้วมือ คลิกเพื่อกำหนดค่า</translation> <translation id="1858585891038687145">เชื่อถือใบรับรองนี้ในการระบุตัวตนผู้ผลิตซอฟต์แวร์</translation> -<translation id="1859234291848436338">การเขียนเส้นทาง</translation> <translation id="1861262398884155592">โฟลเดอร์นี้ว่างเปล่า</translation> <translation id="1864111464094315414">ลงชื่อเข้าใช้</translation> <translation id="1864400682872660285">เย็น</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">ยุบ...</translation> <translation id="2737492745329609575">เริ่มการตั้งค่า</translation> <translation id="2738771556149464852">ไม่เกิน</translation> -<translation id="2739046699559178272">บันทึกและดำเนินการต่อ</translation> <translation id="2739191690716947896">แก้ปัญหา</translation> <translation id="2739240477418971307">เปลี่ยนแปลงการตั้งค่าการเข้าถึง</translation> <translation id="2740393541869613458">ตรวจสอบเว็บไซต์ที่ผู้ใช้ภายใต้การดูแลได้เข้าชมและ</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">ดาวน์โหลดแล้ว</translation> <translation id="2783661497142353826">จัดการแอปพลิเคชันคีออสก์</translation> <translation id="2784407158394623927">กำลังเปิดการใช้งานดาต้าบนมือถือของคุณ</translation> -<translation id="2785530881066938471">ไม่สามารถโหลดไฟล์ "<ph name="RELATIVE_PATH" />" สำหรับสคริปต์เนื้อหา ไม่ใช่การเข้ารหัส UTF-8</translation> <translation id="2785873697295365461">ตัวอธิบายไฟล์</translation> <translation id="2787047795752739979">เขียนทับต้นฉบับ</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">บล็อกปลั๊กอินที่ไม่ได้อยู่ในแซนด์บ็อกซ์ต่อไป</translation> <translation id="2890678560483811744">การอ้างอิงหน้าอยู่นอกขอบเขต</translation> <translation id="2893168226686371498">เบราว์เซอร์เริ่มต้น</translation> -<translation id="2893453364759632532">นำหน้าต่างลง</translation> <translation id="289644616180464099">ซิมการ์ดถูกล็อก</translation> <translation id="289695669188700754">รหัสคีย์: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">คุณแน่ใจหรือไม่ว่าต้องการเปิด <ph name="TAB_COUNT" /> แท็บ</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">กำลังแชร์หน้าจอ</translation> <translation id="3046910703532196514">หน้าเว็บ ทั้งหมด</translation> <translation id="304826556400666995">เปิดเสียงแท็บ</translation> -<translation id="3051523411789012618">นำหน้าต่างขึ้น</translation> <translation id="3053013834507634016">การใช้คีย์ใบรับรอง </translation> <translation id="3057861065630527966">สำรองรูปภาพและวิดีโอ</translation> <translation id="3060379269883947824">เปิดใช้การเลือกเพื่อให้อ่าน</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">กำลังเข้าถึงอินพุตเสียงและวิดีโอ</translation> <translation id="3090819949319990166">ไม่สามารถคัดลอกไฟล์ crx ภายนอกไปยัง <ph name="TEMP_CRX_FILE" /></translation> <translation id="3090871774332213558">จับคู่ "<ph name="DEVICE_NAME" />" แล้ว</translation> -<translation id="3097628171361913691">ตัวติดตั้งไฟล์ Zip</translation> <translation id="3100609564180505575">โมดูล (<ph name="TOTAL_COUNT" />) - ความขัดแย้งที่ทราบ: <ph name="BAD_COUNT" />, ที่สงสัย: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">วันที่และเวลา</translation> <translation id="3108967419958202225">เลือก...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">ลงชื่อโดย</translation> <translation id="33022249435934718">GDI จัดการ</translation> <translation id="3302340765592941254">การแจ้งเตือนการดาวน์โหลดเสร็จสิ้น</translation> -<translation id="3302709122321372472">ไม่สามารถโหลด CSS "<ph name="RELATIVE_PATH" />" เพื่อดูสคริปต์เนื้อหา</translation> <translation id="3303260552072730022">มีส่วนขยายหนึ่งเรียกใช้หน้าจอแบบเต็ม</translation> <translation id="3303818374450886607">จำนวนชุด</translation> <translation id="3303855915957856445">ไม่พบผลการค้นหา</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">เลือกเขตเวลา</translation> <translation id="3856921555429624101">สิ้นสุดการวัดการใช้อินเทอร์เน็ตแล้ว</translation> <translation id="3857228364945137633">ลองใช้ Smart Lock เพื่อปลดล็อก <ph name="DEVICE_TYPE" /> โดยไม่ต้องใช้รหัสผ่านเมื่อมีโทรศัพท์อยู่ใกล้ๆ</translation> -<translation id="3857732810083914482">การปรับเปลี่ยนในแบบของคุณปิดอยู่ เปลี่ยนการตั้งค่านี้ได้ที่ myaccount.google.com</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit</translation> <translation id="3860381078714302691">ยินดีต้อนรับสู่การประชุม Hangouts </translation> <translation id="3862134173397075045">ยินดีต้อนรับสู่ประสบการณ์การใช้ Cast ใน Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">นำเข้า</translation> <translation id="3994374631886003300">ปลดล็อกโทรศัพท์และนำเข้ามาใกล้ๆ เพื่อปลดล็อก <ph name="DEVICE_TYPE" /></translation> <translation id="3994878504415702912">ซู&ม</translation> -<translation id="39964277676607559">ไม่สามารถโหลด javascript "<ph name="RELATIVE_PATH" />" สำหรับสคริปต์เนื้อหา</translation> <translation id="4002066346123236978">ชื่อ</translation> <translation id="40027638859996362">ย้ายคำ</translation> <translation id="4005817994523282006">วิธีการตรวจหาเขตเวลา</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">การคัดลอกล้มเหลว <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">สำหรับบันทึกของเครือข่าย โปรดดูที่ <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">หากต้องการดาวน์โหลดและใช้แอป Android ก่อนอื่นคุณต้องติดตั้งอัปเดต ขณะอุปกรณ์กำลังอัปเดต คุณจะไม่สามารถใช้อุปกรณ์ได้ <ph name="DEVICE_TYPE" /> จะรีสตาร์ทหลังการติดตั้งเสร็จสมบูรณ์</translation> -<translation id="4338683191474220626">นำหน้าต่างไปด้านซ้าย</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> ต้องการสื่อสารกับแอป "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">อ๊ะ เกิดข้อผิดพลาด TPM</translation> <translation id="4345587454538109430">กำหนดค่า...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">ไม่ได้เลือกคุกกี้</translation> <translation id="4617270414136722281">ตัวเลือกส่วนขยาย</translation> <translation id="4619615317237390068">แท็บจากอุปกรณ์อื่นๆ</translation> -<translation id="4620809267248568679">การตั้งค่านี้ได้รับการบังคับใช้โดยส่วนขยาย</translation> <translation id="4624768044135598934">สำเร็จแล้ว!</translation> <translation id="4625078469366263107">เปิดใช้แอป</translation> <translation id="4627427111733173920">บล็อกคุกกี้</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">โฟลเดอร์ที่คุณเลือกมีไฟล์ที่ละเอียดอ่อน คุณต้องการให้สิทธิ์การเข้าถึงในการอ่านโฟลเดอร์นี้อย่างถาวรแก่ "$1" ไหม</translation> <translation id="4964455510556214366">การจัดเรียง</translation> <translation id="4964673849688379040">กำลังตรวจสอบ...</translation> -<translation id="4965682129423310439">Chrome พบซอฟต์แวร์อันตรายในคอมพิวเตอร์ของคุณ Chrome สามารถนำซอฟต์แวร์ดังกล่าวออกและคืนการตั้งค่าเดิมเพื่อให้เบราว์เซอร์ทำงานเป็นปกติอีกครั้ง</translation> <translation id="4965808351167763748">คุณแน่ใจไหมว่าต้องการตั้งค่าอุปกรณ์นี้ให้เรียกใช้การประชุม Hangouts </translation> <translation id="4967749818080339523">เลือกบัญชี</translation> <translation id="496888482094675990">แอป Files มอบการเข้าถึงไฟล์ที่คุณบันทึกไว้ใน Google ไดรฟ์ พื้นที่เก็บข้อมูลภายนอก หรืออุปกรณ์ Chrome OS ของคุณอย่างรวดเร็ว</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">ไม่สามารถแคสต์เดสก์ท็อป</translation> <translation id="6171948306033499786">หยุดการพิมพ์ชั่วคราว</translation> <translation id="6175314957787328458">โดเมน GUID ของ Microsoft</translation> -<translation id="6176032031541598434">ย้ายหน้าต่างที่ใช้งานอยู่ไปไว้ด้านล่างของหน้าจอ</translation> <translation id="6178664161104547336">เลือกใบรับรอง</translation> <translation id="6181431612547969857">การดาวน์โหลดถูกบล็อก</translation> -<translation id="6181803575025675566">ควบคุมการทำงานได้ใน<ph name="LINK_START" />การตั้งค่า<ph name="LINK_END" /></translation> <translation id="6185132558746749656">ตำแหน่งของอุปกรณ์</translation> <translation id="6185696379715117369">เลื่อนหน้าขึ้น</translation> <translation id="6189412234224385711">เปิดด้วย <ph name="EXTENSION_NAME" /></translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">ขออภัย รหัสผ่านไม่ตรง!</translation> <translation id="6736243959894955139">ที่อยู่</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">คุณนำโปรไฟล์เก่าออกได้ แม้จะเข้าถึงโปรไฟล์นั้นไม่ได้แล้วก็ตาม</translation> <translation id="6739923123728562974">แสดงทางลัดในเดสก์ท็อป</translation> <translation id="6740234557573873150">หยุด <ph name="FILE_NAME" /> ชั่วคราว</translation> <translation id="6742339027238151589">การเข้าถึงสคริปต์</translation> -<translation id="6743841972744298686">การตั้งค่าการซิงค์</translation> <translation id="6745592621698551453">อัปเดตเลย</translation> <translation id="6746124502594467657">เลื่อนลง</translation> <translation id="674632704103926902">เปิดใช้งานการแตะลาก</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">พิมพ์หน้าเว็บที่ระบุ</translation> <translation id="6972180789171089114">เสียง/วิดีโอ</translation> <translation id="6973630695168034713">โฟลเดอร์</translation> -<translation id="6974053822202609517">ขวาไปซ้าย</translation> <translation id="6976108581241006975">คอนโซล JavaScript</translation> <translation id="6977381486153291903">การแก้ไขเฟิร์มแวร์</translation> <translation id="6978121630131642226">เครื่องมือค้นหา</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">ซ่อน</translation> <translation id="7108634116785509031"><ph name="HOST" /> ต้องการใช้กล้องถ่ายรูปของคุณ</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">การปรับเปลี่ยนในแบบของคุณเปิดอยู่ เปลี่ยนการตั้งค่านี้ได้ที่ myaccount.google.com</translation> <translation id="7113502843173351041">ทราบที่อยู่อีเมลของคุณ</translation> <translation id="7114054701490058191">รหัสผ่านไม่ตรงกัน</translation> <translation id="7117228822971127758">โปรดลองอีกครั้งในภายหลัง</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">โหลดหน้านี้ใหม่</translation> <translation id="7222232353993864120">ที่อยู่อีเมล</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">เปิดใช้งานแว่นขยายหน้าจอ</translation> <translation id="7223775956298141902">แย่จัง... คุณไม่มีส่วนขยาย :-(</translation> <translation id="7225179976675429563">ไม่มีประเภทเครือข่าย</translation> <translation id="7228479291753472782">แก้ไขการตั้งค่าที่จะกำหนดว่าเว็บไซต์สามารถใช้ฟีเจอร์อย่างตำแหน่งทางภูมิศาสตร์ ไมโครโฟน กล้องถ่ายรูป และอื่นๆ ได้ไหม</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">สำเร็จ!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> ลงชื่อเข้าใช้ให้คุณในเว็บไซต์ที่มีสิทธิ์โดยอัตโนมัติด้วยรหัสผ่านที่คุณบันทึกไว้</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (เจ้าของ)</translation> -<translation id="7647231681210854996">หน้าต่างที่ใช้งานย้ายไปอยู่ด้านขวาของหน้าจอ</translation> <translation id="7648992873808071793">จัดเก็บไฟล์บนอุปกรณ์นี้</translation> <translation id="7649070708921625228">ช่วยเหลือ</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" ต้องการลบ "<ph name="EXTENSION_NAME" />"</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">เชิญพูดเลย</translation> <translation id="8372369524088641025">คีย์ WEP ไม่ถูกต้อง</translation> <translation id="8373553483208508744">ปิดเสียงแท็บ</translation> -<translation id="8377870760189106701">หน้าต่างทางขวา</translation> <translation id="8378285435971754261">ให้บริการตำแหน่งของ Google ช่วยแอปค้นหาตำแหน่งของคุณอย่างรวดเร็วและแม่นยำ ซึ่งจะช่วยประหยัดการใช้แบตเตอรี่ ข้อมูลตำแหน่งที่ไม่ระบุชื่อจะส่งไปยัง Google แม้ในขณะที่แอปไม่ได้ทำงาน <ph name="BEGIN_LINK1" />เรียนรู้เพิ่มเติม<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">จัดการการตั้งค่ากล้องถ่ายรูป...</translation> <translation id="8382913212082956454">คัดลอก&ที่อยู่อีเมล</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">กดเพื่อไปต่อที่เมนูตามบริบทเพื่อดูประวัติ</translation> <translation id="8584280235376696778">เ&ปิดวิดีโอในแท็บใหม่</translation> <translation id="8588866096426746242">แสดงสถิติของโปรไฟล์</translation> -<translation id="8589652987924574405">บุ๊กมาร์ก ประวัติการเข้าชม รหัสผ่าน และการตั้งค่าอื่นๆ ของคุณจะซิงค์กับบัญชี Google เพื่อให้คุณใช้งานได้ในอุปกรณ์ทุกเครื่อง คุณเปลี่ยนแปลงการตั้งค่านี้ได้ทุกเมื่อในการตั้งค่า</translation> <translation id="8590375307970699841">ติดตั้งการอัปเดตอัตโนมัติ</translation> <translation id="8594908476761052472">จับภาพวิดีโอ</translation> <translation id="8596540852772265699">ไฟล์ที่กำหนดเอง</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">สถานะการโรมมิ่ง</translation> <translation id="8620765578342452535">กำหนดค่าการเชื่อมต่อเครือข่าย</translation> -<translation id="8620790565535071193">สแกนไม่สำเร็จ</translation> <translation id="8624205858755890468">เปิดใช้ Assistant เพื่อแสดงข้อมูล แอป และการดำเนินการต่างๆ ที่เกี่ยวข้อง</translation> <translation id="862542460444371744">&ส่วนขยาย</translation> <translation id="8627151598708688654">เลือกแหล่งที่มา</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">รหัสผ่านที่ Google บันทึกไว้</translation> <translation id="8714838604780058252">กราฟิกพื้นหลัง</translation> <translation id="8719653885894320876">การดาวน์โหลด <ph name="PLUGIN_NAME" /> ล้มเหลว</translation> -<translation id="8721669057562068233">หน้าต่างที่ใช้งานย้ายไปอยู่ด้านบนของหน้าจอ</translation> <translation id="8723829621484579639">เฟรมย่อยแบบไม่ระบุตัวตนสำหรับ: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&แสดงในโฟลเดอร์</translation> <translation id="8725066075913043281">ลองอีกครั้ง</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">สไตลัส</translation> <translation id="8787254343425541995">อนุญาตให้ใช้พร็อกซีสำหรับเครือข่ายที่แชร์ไว้</translation> <translation id="8791534160414513928">ส่งคำขอ "ไม่ติดตาม" พร้อมกับการเข้าชมของคุณ</translation> -<translation id="8792609692701651064">หน้าต่างที่ใช้งานย้ายไปอยู่ด้านซ้ายของหน้าจอ</translation> <translation id="8794025342371547160">IP แบบจำกัด</translation> <translation id="879413103056696865">ขณะที่ฮอตสปอตเปิดอยู่ <ph name="PHONE_NAME" /> ของคุณจะ:</translation> <translation id="8795916974678578410">หน้าต่างใหม่</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&เปิดในแท็บใหม่</translation> <translation id="9024331582947483881">เต็มหน้าจอ</translation> <translation id="9025098623496448965">ตกลง นำฉันกลับไปที่หน้าจอลงชื่อเข้าใช้</translation> -<translation id="902659348151742535">Google อาจใช้ประวัติการท่องเว็บของคุณเพื่อปรับเปลี่ยนการค้นหา โฆษณา และบริการอื่นๆ ของ Google ในแบบของคุณ</translation> <translation id="9026731007018893674">ดาวน์โหลด</translation> <translation id="9027146684281895941">แนะนำบุคคลนี้ให้ควบคุมและดูเว็บไซต์ที่เขาเข้าถึงจากบัญชี Google ของคุณ</translation> <translation id="9027459031423301635">เปิดลิงก์ในแ&ท็บใหม่</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb index 1b8363e..8bad00b4 100644 --- a/chrome/app/resources/generated_resources_tr.xtb +++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Hücresel ağ yok</translation> <translation id="1056898198331236512">Uyarı</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Zararlı yazılım kaldırılamıyor</translation> <translation id="1062407476771304334">Değiştir</translation> <translation id="1062866675591297858">Denetlenen kullanıcılarınızı <ph name="BEGIN_LINK" />Denetlenen Kullanıcılar Gösterge Tablosu<ph name="END_LINK" /> aracılığıyla yönetin.</translation> <translation id="1064835277883315402">Özel ağa katıl</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Dosya seç</translation> <translation id="136802136832547685">Bu cihaza eklenebilecek denetlenen kullanıcı yok.</translation> <translation id="1368265273904755308">Sorun bildir</translation> -<translation id="1368832886055348810">Soldan Sağa</translation> <translation id="1370646789215800222">Kişi kaldırılsın mı?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 öğe kaldırılacak}other{# öğe kaldırılacak}}</translation> <translation id="1372841398847029212">Hesabınızla senkronize edin</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Bu kullanıcıyı kaldır</translation> <translation id="1609170755653088773">Bu şifreyi iPhone'unuzla senkronize edin</translation> <translation id="1609862759711084604">Önceki kullanıcı</translation> -<translation id="1611557582955786626">Cihazlarınız arasında senkronize edilen kişiselleştirilmiş bir tarama deneyimi için oturum açın</translation> <translation id="1611584202130317952">Temel hazırlık akışı kesildi. Lütfen tekrar deneyin veya cihaz sahibiyle ya da yöneticisiyle iletişime geçin.</translation> <translation id="1611649489706141841">ileri</translation> <translation id="1611704746353331382">Yer İşaretlerini HTML Dosyasına Aktar...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Konum ekle...</translation> <translation id="1856813161013948396">Parmak izi sensörüne dokunarak kilit ekranını atlayın. Yapılandırmak için tıklayın.</translation> <translation id="1858585891038687145">Yazılım üreticilerini tanımlamak için bu sertifikaya güvenin</translation> -<translation id="1859234291848436338">Yazma Yönü</translation> <translation id="1861262398884155592">Bu klasör boş</translation> <translation id="1864111464094315414">Oturum Aç</translation> <translation id="1864400682872660285">Daha Soğuk</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Daralt...</translation> <translation id="2737492745329609575">Kurulumu başlat</translation> <translation id="2738771556149464852">Şundan Sonra Değil:</translation> -<translation id="2739046699559178272">Kaydet ve devam et</translation> <translation id="2739191690716947896">Hata ayıkla</translation> <translation id="2739240477418971307">Erişilebilirlik ayarlarını değiştirme</translation> <translation id="2740393541869613458">Denetlenen kullanıcının ziyaret ettiği web sitelerini inceleyebilir ve</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">İndirildi</translation> <translation id="2783661497142353826">Kiosk Uygulamalarını yönet</translation> <translation id="2784407158394623927">Mobil veri hizmetiniz etkinleştiriliyor</translation> -<translation id="2785530881066938471">İçerik komut dosyası için '<ph name="RELATIVE_PATH" />' dosyası yüklenemedi. Dosya UTF-8 olarak kodlanmamış.</translation> <translation id="2785873697295365461">Dosya açıklayıcıları</translation> <translation id="2787047795752739979">Orijinalin üzerine yaz</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Korumalı alanda olmayan eklentileri engellemeye devam et</translation> <translation id="2890678560483811744">Sayfa sınırlarının dışına başvuru</translation> <translation id="2893168226686371498">Varsayılan tarayıcı</translation> -<translation id="2893453364759632532">Pencere aşağı</translation> <translation id="289644616180464099">SIM Kart kilitli</translation> <translation id="289695669188700754">Anahtar Kimliği: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870"><ph name="TAB_COUNT" /> sekmeyi açmak istediğinizden emin misiniz?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Ekran paylaşılıyor</translation> <translation id="3046910703532196514">Web Sayfası, Tamamı</translation> <translation id="304826556400666995">Sekmelerin Sesini Aç</translation> -<translation id="3051523411789012618">Pencere yukarı</translation> <translation id="3053013834507634016">Sertifika Anahtarı Kullanımı</translation> <translation id="3057861065630527966">Fotoğraflarınızı ve videolarınızı yedekleyin</translation> <translation id="3060379269883947824">Seç ve Dinle'yi etkinleştir</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Ses ve video girişlerine erişiliyor</translation> <translation id="3090819949319990166">Harici crx dosyası <ph name="TEMP_CRX_FILE" /> hedefine kopyalanamıyor.</translation> <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" eşlendi</translation> -<translation id="3097628171361913691">Zip Dosyası Yükleyici</translation> <translation id="3100609564180505575">Modüller (<ph name="TOTAL_COUNT" />) - Bilinen çakışmalar: <ph name="BAD_COUNT" />, şüpheli: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Tarih ve saat</translation> <translation id="3108967419958202225">Seç...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">İmzalayan:</translation> <translation id="33022249435934718">GDI İşleyicileri</translation> <translation id="3302340765592941254">İndirme tamamlanma bildirimi</translation> -<translation id="3302709122321372472">İçerik komut dosyasına ilişkin css '<ph name="RELATIVE_PATH" />' yüklenemedi.</translation> <translation id="3303260552072730022">Bir uzantı tam ekranı etkinleştirdi.</translation> <translation id="3303818374450886607">Kopya</translation> <translation id="3303855915957856445">Arama sonucu bulunamadı</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Saat dilimi seçin</translation> <translation id="3856921555429624101">Veri kullanım ölçümü sona erdi</translation> <translation id="3857228364945137633">Telefonunuz yakındayken şifre girmeden <ph name="DEVICE_TYPE" /> cihazınızın kilidini açmak için Smart Lock'u deneyin.</translation> -<translation id="3857732810083914482">Kişiselleştirme kapalı. Bu ayarı myaccount.google.com adresinden değiştirebilirsiniz.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Hangouts Meet'e hoş geldiniz</translation> <translation id="3862134173397075045">Chrome'da Google Cast deneyimine hoş geldiniz!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">İçe aktarılanlar</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" /> cihazınızın kilidini açmak için telefonunuzun kilidini açın ve cihaza yaklaştırın.</translation> <translation id="3994878504415702912">Y&aklaştır</translation> -<translation id="39964277676607559">İçerik komut dosyasına ilişkin '<ph name="RELATIVE_PATH" />' javascript'i yüklenemedi.</translation> <translation id="4002066346123236978">Başlık</translation> <translation id="40027638859996362">Kelime taşıma</translation> <translation id="4005817994523282006">Saat dilimi algılama yöntemi</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Kopyalama işlemi başarısız oldu. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Ağ günlükleri için bkz: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Android uygulamalarını indirmek ve kullanmak için öncelikle bir güncelleme yüklemeniz gerekiyor. Güncelleme işlemi sırasında cihazınızı kullanamazsınız. <ph name="DEVICE_TYPE" /> cihazınız kurulum tamamlandıktan sonra yeniden başlatılacaktır.</translation> -<translation id="4338683191474220626">Pencere sola</translation> <translation id="4340515029017875942"><ph name="ORIGIN" />, "<ph name="EXTENSION_NAME" />" uygulamasıyla iletişim kurmak istiyor</translation> <translation id="4342311272543222243">Hata! TPM hatası.</translation> <translation id="4345587454538109430">Yapılandır...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">çerez seçilmedi</translation> <translation id="4617270414136722281">Uzantı seçenekleri</translation> <translation id="4619615317237390068">Diğer cihazlardan sekmeler</translation> -<translation id="4620809267248568679">Bu ayar bir uzantı tarafından zorunlu tutuluyor.</translation> <translation id="4624768044135598934">Başarılı!</translation> <translation id="4625078469366263107">Uygulamayı Etkinleştir</translation> <translation id="4627427111733173920">Çerezler engellendi</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">Seçtiğiniz klasör hassas dosyalar içeriyor. "$1" için bu klasöre kalıcı okuma erişimi vermek istediğinizden emin misiniz?</translation> <translation id="4964455510556214366">Düzenleme</translation> <translation id="4964673849688379040">Denetleniyor...</translation> -<translation id="4965682129423310439">Chrome, bilgisayarınızda zararlı yazılım buldu. Chrome bunu kaldırabilir ve tarayıcınızın tekrar normal şekilde çalışması için ayarlarınızı geri yükleyebilir.</translation> <translation id="4965808351167763748">Bu cihazı Hangouts Meet'i çalıştırmak üzere ayarlamak istediğinizden emin misiniz?</translation> <translation id="4967749818080339523">Bir hesap seçin</translation> <translation id="496888482094675990">Dosyalar uygulaması; Google Drive'a, harici depolama birimine veya Chrome OS cihazınıza kaydettiğiniz dosyalara hızlı bir şekilde erişebilmenizi sağlar.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Masaüstü yayınlanamıyor.</translation> <translation id="6171948306033499786">Yazdırmayı duraklat</translation> <translation id="6175314957787328458">Microsoft Etki Alanı GUID'si</translation> -<translation id="6176032031541598434">Etkin pencere alt ekrana taşındı</translation> <translation id="6178664161104547336">Sertifika seç</translation> <translation id="6181431612547969857">İndirme engellendi</translation> -<translation id="6181803575025675566">Bunun nasıl çalışacağını <ph name="LINK_START" />Ayarlar<ph name="LINK_END" />'dan kontrol edin.</translation> <translation id="6185132558746749656">Cihaz Konumu</translation> <translation id="6185696379715117369">Bir sayfa yukarı</translation> <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ile aç</translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Hata! Şifreler eşleşmiyor!</translation> <translation id="6736243959894955139">Adres</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Artık eski profilinize erişemeseniz de onu kaldırabilirsiniz.</translation> <translation id="6739923123728562974">Masaüstü kısayolunu göster</translation> <translation id="6740234557573873150"><ph name="FILE_NAME" /> duraklatıldı</translation> <translation id="6742339027238151589">Komut dosyasınca erişilebilir</translation> -<translation id="6743841972744298686">Senkronizasyon ayarları</translation> <translation id="6745592621698551453">Şimdi güncelle</translation> <translation id="6746124502594467657">Aşağı taşı</translation> <translation id="674632704103926902">Hafifçe vurarak sürüklemeyi etkinleştir</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">Belirli Sayfaları Yazdır</translation> <translation id="6972180789171089114">Ses/Video</translation> <translation id="6973630695168034713">Klasörler</translation> -<translation id="6974053822202609517">Sağdan Sola</translation> <translation id="6976108581241006975">JavaScript konsolu</translation> <translation id="6977381486153291903">Donanım yazılımı düzeltmesi</translation> <translation id="6978121630131642226">Arama Motorları</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Gizle</translation> <translation id="7108634116785509031"><ph name="HOST" /> kameranızı kullanmak istiyor</translation> <translation id="7108668606237948702">enter</translation> -<translation id="7112978678959880812">Kişiselleştirme açık. Bu ayarı myaccount.google.com adresinden değiştirebilirsiniz.</translation> <translation id="7113502843173351041">E-posta adresinizi öğrenme</translation> <translation id="7114054701490058191">Şifreler eşleşmiyor</translation> <translation id="7117228822971127758">Lütfen daha sonra tekrar deneyin</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Bu sayfayı yeniden yükle</translation> <translation id="7222232353993864120">E-posta Adresi</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Ekran büyütecini etkinleştir</translation> <translation id="7223775956298141902">Maalesef hiç uzantınız yok :-(</translation> <translation id="7225179976675429563">Ağ türü eksik</translation> <translation id="7228479291753472782">Web sitelerinin coğrafi konum, mikrofon, kamera vb. özellikleri kullanıp kullanamayacağını belirten ayarları kendi çıkarları için kullanma</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Anlaşıldı!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" />, kaydettiğiniz şifrelerle uygun sitelerde otomatik olarak oturum açmanızı sağlar.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (cihaz sahibi)</translation> -<translation id="7647231681210854996">Etkin pencere sağ ekrana taşındı</translation> <translation id="7648992873808071793">Dosyaları bu cihazda depolama</translation> <translation id="7649070708921625228">Yardım</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />", "<ph name="EXTENSION_NAME" />" uzantısını kaldırmak istiyor.</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Şimdi konuşun</translation> <translation id="8372369524088641025">Hatalı WEP anahtarı</translation> <translation id="8373553483208508744">Sekmelerin sesini kapat</translation> -<translation id="8377870760189106701">Pencere sağa</translation> <translation id="8378285435971754261">Uygulamaların, konumunuzu hızlı ve doğru bir şekilde bulması için Google'ın konum hizmetine izin verin. Bu seçenek, pil tüketimini azaltabilir. Hiçbir uygulama çalışmıyorken bile konum bilgileri Google'a anonim olarak gönderilir. <ph name="BEGIN_LINK1" />Daha Fazla Bilgi Edinin<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Kamera ayarlarını yönet...</translation> <translation id="8382913212082956454">E-posta &adresini kopyala</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">İleri gitmek için içerik menüsüne basarak geçmişi görüntüleyin</translation> <translation id="8584280235376696778">Videoyu yeni sekmede &aç</translation> <translation id="8588866096426746242">Profil istatistiklerini göster</translation> -<translation id="8589652987924574405">Yer işaretleriniz, geçmişiniz, şifreleriniz ve diğer ayarlarınız Google Hesabınızla senkronize edilecek. İsterseniz bunu daha sonra ayarlarınızdan değiştirebilirsiniz.</translation> <translation id="8590375307970699841">Otomatik güncellemeleri ayarla</translation> <translation id="8594908476761052472">Video çek</translation> <translation id="8596540852772265699">Özel Dosyalar</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Dolaşım durumu</translation> <translation id="8620765578342452535">Ağ bağlantılarını yapılandırma</translation> -<translation id="8620790565535071193">Tarama işlemi başarısız oldu</translation> <translation id="8624205858755890468">Asistan'ın ilgili bilgi, uygulama ve işlemleri göstermesini sağlar.</translation> <translation id="862542460444371744">&Uzantılar</translation> <translation id="8627151598708688654">Kaynak seçin</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Google tarafından kaydedilen şifreler</translation> <translation id="8714838604780058252">Arka plan grafikleri</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> indirilemedi</translation> -<translation id="8721669057562068233">Etkin pencere üst ekrana taşındı</translation> <translation id="8723829621484579639"><ph name="PARENT_SITE" /> için gizli alt çerçeveler</translation> <translation id="8724859055372736596">Klasörde &Göster</translation> <translation id="8725066075913043281">Yeniden dene</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Ekran kalemi</translation> <translation id="8787254343425541995">Paylaşılan ağlar için proxy'lere izin ver</translation> <translation id="8791534160414513928">Göz atma trafiğimle birlikte bir "Do Not Track" isteği gönder</translation> -<translation id="8792609692701651064">Etkin pencere sol ekrana taşındı</translation> <translation id="8794025342371547160">Kısıtlı IP</translation> <translation id="879413103056696865">Hotspot açıkken <ph name="PHONE_NAME" /> telefonunuz:</translation> <translation id="8795916974678578410">Yeni Pencere</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Yeni Sekmede Aç</translation> <translation id="9024331582947483881">tam ekran</translation> <translation id="9025098623496448965">Tamam, oturum açma ekranına geri dönelim</translation> -<translation id="902659348151742535">Google; Arama, reklamlar ve diğer Google hizmetlerini kişiselleştirmek için tarama geçmişinizi kullanabilir.</translation> <translation id="9026731007018893674">indir</translation> <translation id="9027146684281895941">Bu kişinin Google Hesabınızdan ziyaret ettiği web sitelerini kontrol etmek ve görüntülemek için bu kişiyi denetleyin.</translation> <translation id="9027459031423301635">Bağlantıyı Yeni &Sekmede Aç</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb index 3ecc4335..177ae870 100644 --- a/chrome/app/resources/generated_resources_uk.xtb +++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Немає мереж</translation> <translation id="1056898198331236512">Застереження</translation> <translation id="1058262162121953039">PUK-код</translation> -<translation id="106001083577824516">Не вдається вилучити зловмисне програмне забезпечення</translation> <translation id="1062407476771304334">Замінити</translation> <translation id="1062866675591297858">Керуйте своїми контрольованими користувачами на <ph name="BEGIN_LINK" />Інформаційній панелі контрольованих користувачів<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Приєднатися до приватної мережі</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Вибрати файл</translation> <translation id="136802136832547685">Немає контрольованих користувачів, яких можна додати на цей пристрій.</translation> <translation id="1368265273904755308">Повідомити про проблему</translation> -<translation id="1368832886055348810">Зліва направо</translation> <translation id="1370646789215800222">Видалити користувача?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 елемент буде видалено}one{# елемент буде видалено}few{# елементи буде видалено}many{# елементів буде видалено}other{# елемента буде видалено}}</translation> <translation id="1372841398847029212">Синхронізувати з обліковим записом</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">Вилучити цього користувача</translation> <translation id="1609170755653088773">Синхронізуйте цей пароль з iPhone</translation> <translation id="1609862759711084604">Попередній користувач</translation> -<translation id="1611557582955786626">Увійдіть в обліковий запис, щоб персоналізувати роботу у веб-переглядачі на всіх пристроях</translation> <translation id="1611584202130317952">Перевірку перервано. Повторіть спробу або зв’яжіться з власником пристрою чи адміністратором.</translation> <translation id="1611649489706141841">уперед</translation> <translation id="1611704746353331382">Експортувати закладки у файл HTML...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">Додати розташування…</translation> <translation id="1856813161013948396">Торкніться сканера відбитків пальців, щоб пропустити заблокований екран. Натисніть, щоб налаштувати.</translation> <translation id="1858585891038687145">Довіряти цьому сертифікату для ідентифікації виробників програмного забезпечення</translation> -<translation id="1859234291848436338">Напрямок письма</translation> <translation id="1861262398884155592">Ця папка порожня</translation> <translation id="1864111464094315414">Вхід</translation> <translation id="1864400682872660285">Холод</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">Згорнути...</translation> <translation id="2737492745329609575">Розпочати налаштування</translation> <translation id="2738771556149464852">Не пізніше</translation> -<translation id="2739046699559178272">Зберегти та продовжити</translation> <translation id="2739191690716947896">Налагоджувати</translation> <translation id="2739240477418971307">Змінювати налаштування доступності</translation> <translation id="2740393541869613458">переглядати веб-сайти, які відвідував контрольований користувач, і</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">Завантажено</translation> <translation id="2783661497142353826">Керувати додатками-терміналами</translation> <translation id="2784407158394623927">Активація служби пересилання мобільних даних</translation> -<translation id="2785530881066938471">Неможливо завантажити файл "<ph name="RELATIVE_PATH" />" для сценарію вмісту. Кодування файлу не UTF-8.</translation> <translation id="2785873697295365461">Опис файлу</translation> <translation id="2787047795752739979">Замінити оригінал</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">Продовжити блокувати плагіни з неізольованим програмним середовищем</translation> <translation id="2890678560483811744">Сторінка поза діапазоном</translation> <translation id="2893168226686371498">Веб-переглядач за умовчанням</translation> -<translation id="2893453364759632532">Перемістити вікно вниз</translation> <translation id="289644616180464099">SIM-карту заблоковано</translation> <translation id="289695669188700754">Ідентифікатор ключа: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Ви дійсно бажаєте відкрити <ph name="TAB_COUNT" /> вкладки?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">Показ екрана</translation> <translation id="3046910703532196514">Веб-сторінка, повністю</translation> <translation id="304826556400666995">Увімкнути звук на вкладках</translation> -<translation id="3051523411789012618">Перемістити вікно вгору</translation> <translation id="3053013834507634016">Використання ключа сертифіката</translation> <translation id="3057861065630527966">Створити резервні копії фотографій і відео</translation> <translation id="3060379269883947824">Увімкнути службу Читання з екрана</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">Отримання доступу до аудіо- й відеовходу</translation> <translation id="3090819949319990166">Не вдається скопіювати зовнішній файл .crx у файл <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558"><ph name="DEVICE_NAME" />: підключено</translation> -<translation id="3097628171361913691">Засіб розпакування файлів .zip</translation> <translation id="3100609564180505575">Модулі (<ph name="TOTAL_COUNT" />) – відомих конфліктів: <ph name="BAD_COUNT" />, імовірних: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Дата та час</translation> <translation id="3108967419958202225">Вибрати...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">Підписано</translation> <translation id="33022249435934718">Обробка GDI</translation> <translation id="3302340765592941254">Сповіщення про завершення завантаження</translation> -<translation id="3302709122321372472">Не вдалося завантажити файл .css "<ph name="RELATIVE_PATH" />" для сценарію вмісту.</translation> <translation id="3303260552072730022">Розширення запустило повноекранний режим.</translation> <translation id="3303818374450886607">Копії</translation> <translation id="3303855915957856445">Немає результатів</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">Виберіть часовий пояс</translation> <translation id="3856921555429624101">Використання трафіку більше не відстежується</translation> <translation id="3857228364945137633">Спробуйте розблокувати пристрій <ph name="DEVICE_TYPE" /> за допомогою Smart Lock, не вводячи пароль, коли телефон поблизу.</translation> -<translation id="3857732810083914482">Персоналізацію вимкнено. Її можна ввімкнути на сторінці myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Вітаємо в Hangouts Meet</translation> <translation id="3862134173397075045">Вітаємо в Cast для Chrome!</translation> @@ -1982,7 +1971,6 @@ <translation id="399179161741278232">Імпортовано</translation> <translation id="3994374631886003300">Щоб розблокувати пристрій <ph name="DEVICE_TYPE" />, розблокуйте свій телефон і розташуйте його ближче до пристрою.</translation> <translation id="3994878504415702912">&Масштаб</translation> -<translation id="39964277676607559">Не вдалося завантажити javascript "<ph name="RELATIVE_PATH" />" для сценарію вмісту.</translation> <translation id="4002066346123236978">Назва</translation> <translation id="40027638859996362">Перенести слово</translation> <translation id="4005817994523282006">Спосіб визначення часового поясу</translation> @@ -2161,7 +2149,6 @@ <translation id="4336032328163998280">Помилка операції копіювання. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Журнали мережі можна переглянути на сторінці <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Щоб завантажувати та використовувати додатки Android, спершу потрібно встановити оновлення. Пристроєм не можна користуватися, доки він оновлюється. Коли встановляться оновлення, пристрій <ph name="DEVICE_TYPE" /> перезавантажиться.</translation> -<translation id="4338683191474220626">Перемістити вікно ліворуч</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> хоче обмінюватися даними з додатком <ph name="EXTENSION_NAME" /></translation> <translation id="4342311272543222243">Помилка TPM.</translation> <translation id="4345587454538109430">Налаштувати...</translation> @@ -2313,7 +2300,6 @@ <translation id="4615586811063744755">файли cookie не вибрано</translation> <translation id="4617270414136722281">Параметри розширень</translation> <translation id="4619615317237390068">Вкладки з інших пристроїв</translation> -<translation id="4620809267248568679">Це налаштування встановлюється розширенням.</translation> <translation id="4624768044135598934">Операцію виконано.</translation> <translation id="4625078469366263107">Увімкнути додаток</translation> <translation id="4627427111733173920">Файли cookie заблоковано</translation> @@ -2534,7 +2520,6 @@ <translation id="496226124210045887">У вибраній папці містяться файли з приватною інформацією. Справді надати програмі "$1" постійний доступ для читання з цієї папки?</translation> <translation id="4964455510556214366">Упорядкування</translation> <translation id="4964673849688379040">Перевірка…</translation> -<translation id="4965682129423310439">Chrome виявив зловмисне програмне забезпечення на вашому комп’ютері. Chrome може вилучити його та відновити налаштування для роботи веб-переглядача у звичайному режимі.</translation> <translation id="4965808351167763748">Налаштувати пристрій для роботи Hangouts Meet?</translation> <translation id="4967749818080339523">Виберіть обліковий запис</translation> <translation id="496888482094675990">Додаток Файли надає швидкий доступ до файлів, збережених на Google Диску, у зовнішній пам’яті або на пристрої з ОС Chrome.</translation> @@ -3308,10 +3293,8 @@ <translation id="6169666352732958425">Не вдається транслювати робочий стіл.</translation> <translation id="6171948306033499786">Призупинити друк</translation> <translation id="6175314957787328458">GUID домену Microsoft</translation> -<translation id="6176032031541598434">Активне вікно переміщено на нижній дисплей</translation> <translation id="6178664161104547336">Вибір сертифіката</translation> <translation id="6181431612547969857">Завантаження заблоковано</translation> -<translation id="6181803575025675566">Цей параметр можна змінити в <ph name="LINK_START" />Налаштуваннях<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Місцезнаходження пристрою</translation> <translation id="6185696379715117369">Сторінка вгору</translation> <translation id="6189412234224385711">Відкрити за допомогою розширення "<ph name="EXTENSION_NAME" />"</translation> @@ -3659,11 +3642,9 @@ <translation id="6736045498964449756">На жаль, паролі не збігаються.</translation> <translation id="6736243959894955139">Адреса</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Хоча у вас більше немає доступу до старого профілю, ви можете видалити його.</translation> <translation id="6739923123728562974">Показувати ярлик на робочому столі</translation> <translation id="6740234557573873150">Завантаження файлу "<ph name="FILE_NAME" />" призупинено</translation> <translation id="6742339027238151589">Доступний для сценарію</translation> -<translation id="6743841972744298686">Налаштування синхронізації</translation> <translation id="6745592621698551453">Оновити зараз</translation> <translation id="6746124502594467657">Вниз</translation> <translation id="674632704103926902">Увімкнути перетягування дотиком</translation> @@ -3793,7 +3774,6 @@ <translation id="6970856801391541997">Друкувати певні сторінки</translation> <translation id="6972180789171089114">Звук і відео</translation> <translation id="6973630695168034713">Папки</translation> -<translation id="6974053822202609517">Справа наліво</translation> <translation id="6976108581241006975">Консоль JavaScript</translation> <translation id="6977381486153291903">Мікропрограма</translation> <translation id="6978121630131642226">Пошукові системи</translation> @@ -3892,7 +3872,6 @@ <translation id="7108338896283013870">Сховати</translation> <translation id="7108634116785509031">Сайт <ph name="HOST" /> хоче отримати доступ до вашої камери</translation> <translation id="7108668606237948702">Enter</translation> -<translation id="7112978678959880812">Персоналізацію ввімкнено. Її можна вимкнути на сторінці myaccount.google.com.</translation> <translation id="7113502843173351041">Бачити вашу електронну адресу</translation> <translation id="7114054701490058191">Паролі не збігаються</translation> <translation id="7117228822971127758">Повторіть спробу пізніше</translation> @@ -3957,7 +3936,6 @@ <translation id="7221869452894271364">Перезавантажити цю сторінку</translation> <translation id="7222232353993864120">Електронна адреса</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Увімкнути лупу</translation> <translation id="7223775956298141902">Шкода... У вас немає жодного розширення :-(</translation> <translation id="7225179976675429563">Відсутній тип мережі</translation> <translation id="7228479291753472782">Керувати налаштуваннями, які вказують, чи можуть веб-сайти використовувати такі функції, як геолокація, мікрофон, камера тощо.</translation> @@ -4213,7 +4191,6 @@ <translation id="7639178625568735185">Готово!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> зберігає ваші паролі й автоматично входить в облікові записи на сайтах.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (власник)</translation> -<translation id="7647231681210854996">Активне вікно переміщено на правий дисплей</translation> <translation id="7648992873808071793">Зберігати файли на цьому пристрої</translation> <translation id="7649070708921625228">Довідка</translation> <translation id="7650511557061837441">Розширення "<ph name="TRIGGERING_EXTENSION_NAME" />" хоче вилучити розширення "<ph name="EXTENSION_NAME" />".</translation> @@ -4673,7 +4650,6 @@ <translation id="8371695176452482769">Диктуйте</translation> <translation id="8372369524088641025">Поганий WEP-ключ</translation> <translation id="8373553483208508744">Вимкнути звук на вкладках</translation> -<translation id="8377870760189106701">Вікно вправо</translation> <translation id="8378285435971754261">Завдяки службі локації Google додатки швидко й точно визначають ваше місцезнаходження та споживають менше заряду акумулятора. Анонімні геодані надсилаються в Google, навіть коли додатки не запущено. <ph name="BEGIN_LINK1" />Докладніше<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Налаштувати камеру…</translation> <translation id="8382913212082956454">Копіювати &адресу електронної пошти</translation> @@ -4793,7 +4769,6 @@ <translation id="8581809080475256101">Натисніть, щоб перейти далі, або відкрийте контекстне меню, щоб переглянути історію</translation> <translation id="8584280235376696778">&Відкрити відео в новій вкладці</translation> <translation id="8588866096426746242">Показати статистику профілю</translation> -<translation id="8589652987924574405">Ваші закладки, історія, паролі й інші налаштування синхронізуватимуться з обліковим записом Google, щоб ви могли користуватися ними на всіх своїх пристроях. Цей параметр можна будь-коли змінити в налаштуваннях.</translation> <translation id="8590375307970699841">Налаштувати автоматичні оновлення</translation> <translation id="8594908476761052472">Зняти відео</translation> <translation id="8596540852772265699">Нетипові файли</translation> @@ -4809,7 +4784,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Статус роумінгу</translation> <translation id="8620765578342452535">Налаштувати з’єднання з мережею</translation> -<translation id="8620790565535071193">Не вдалося просканувати</translation> <translation id="8624205858755890468">Дозволяє Асистенту показувати вам пов’язані дані, додатки та дії.</translation> <translation id="862542460444371744">&Розширення</translation> <translation id="8627151598708688654">Виберіть джерело</translation> @@ -4887,7 +4861,6 @@ <translation id="871476437400413057">Збережені паролі Google</translation> <translation id="8714838604780058252">Фонові зображення</translation> <translation id="8719653885894320876">Не вдалося завантажити плагін <ph name="PLUGIN_NAME" /></translation> -<translation id="8721669057562068233">Активне вікно переміщено на верхній дисплей</translation> <translation id="8723829621484579639">Анонімні додаткові фрейми для сайту <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Показати в папці</translation> <translation id="8725066075913043281">Повторити спробу</translation> @@ -4931,7 +4904,6 @@ <translation id="8785622406424941542">Стилус</translation> <translation id="8787254343425541995">Дозволити проксі-сервери для спільних мереж</translation> <translation id="8791534160414513928">Надсилати запит "Не відстежувати" разом із трафіком веб-перегляду</translation> -<translation id="8792609692701651064">Активне вікно переміщено на лівий дисплей</translation> <translation id="8794025342371547160">IP-адреса з обмеженим доступом</translation> <translation id="879413103056696865">Коли ввімкнено точку доступу, пристрій <ph name="PHONE_NAME" />:</translation> <translation id="8795916974678578410">Нове вікно</translation> @@ -5068,7 +5040,6 @@ <translation id="9024127637873500333">&Відкрити в новій вкладці</translation> <translation id="9024331582947483881">повноекранний режим</translation> <translation id="9025098623496448965">ОК, повернутися до екрана входу</translation> -<translation id="902659348151742535">Google може використовувати вашу історію веб-перегляду, щоб персоналізувати Пошук, рекламу та інші служби Google.</translation> <translation id="9026731007018893674">завантаження</translation> <translation id="9027146684281895941">Щоб контролювати й переглядати веб-сайти, які цей користувач відвідує з облікового запису Google, ви маєте стати його адміністратором.</translation> <translation id="9027459031423301635">Відкрити посилання в новій &вкладці</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb index 648246d6..5daa31f 100644 --- a/chrome/app/resources/generated_resources_vi.xtb +++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">Không có mạng</translation> <translation id="1056898198331236512">Cảnh báo</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">Không thể xóa phần mềm độc hại</translation> <translation id="1062407476771304334">Thay thế</translation> <translation id="1062866675591297858">Quản lý người dùng được giám sát của bạn qua <ph name="BEGIN_LINK" />Bảng điều khiển người dùng được giám sát<ph name="END_LINK" />.</translation> <translation id="1064835277883315402">Tham gia mạng riêng</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">Chọn tệp</translation> <translation id="136802136832547685">Không có người dùng được giám sát nào để thêm vào thiết bị này.</translation> <translation id="1368265273904755308">Báo cáo sự cố</translation> -<translation id="1368832886055348810">Trái sang Phải</translation> <translation id="1370646789215800222">Bạn muốn xóa người này?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{1 mục sẽ bị xóa}other{# mục sẽ bị xóa}}</translation> <translation id="1372841398847029212">Đồng bộ hóa với tài khoản của bạn</translation> @@ -404,7 +402,6 @@ <translation id="1608626060424371292">Xóa người dùng này</translation> <translation id="1609170755653088773">Đồng bộ hóa mật khẩu này với iPhone của bạn</translation> <translation id="1609862759711084604">Người dùng trước đây</translation> -<translation id="1611557582955786626">Đăng nhập để có trải nghiệm duyệt web tùy chỉnh theo cá nhân, được đồng bộ hóa giữa các thiết bị</translation> <translation id="1611584202130317952">Quy trình cấp phép đã bị gián đoạn. Vui lòng thử lại hoặc liên hệ với chủ sở hữu hoặc quản trị viên thiết bị của bạn.</translation> <translation id="1611649489706141841">chuyển tiếp</translation> <translation id="1611704746353331382">Xuất dấu trang sang tệp HTML...</translation> @@ -572,7 +569,6 @@ <translation id="1856715684130786728">Thêm vị trí...</translation> <translation id="1856813161013948396">Bỏ qua màn hình khóa bằng cách chỉ cần nhấn vào cảm biến vân tay. Nhấp để định cấu hình.</translation> <translation id="1858585891038687145">Tin tưởng chứng chỉ này khi nhận dạng nhà sản xuất phần mềm</translation> -<translation id="1859234291848436338">Hướng Ghi</translation> <translation id="1861262398884155592">Thư mục này trống</translation> <translation id="1864111464094315414">Đăng nhập</translation> <translation id="1864400682872660285">Mát hơn</translation> @@ -1134,7 +1130,6 @@ <translation id="2737363922397526254">Thu gọn...</translation> <translation id="2737492745329609575">Bắt đầu thiết lập</translation> <translation id="2738771556149464852">Không được Sau</translation> -<translation id="2739046699559178272">Lưu và tiếp tục</translation> <translation id="2739191690716947896">Gỡ lỗi</translation> <translation id="2739240477418971307">Thay đổi cài đặt trợ năng của bạn</translation> <translation id="2740393541869613458">xem lại các trang web mà người dùng được giám sát đã truy cập và</translation> @@ -1160,7 +1155,6 @@ <translation id="2783298271312924866">Đã tải xuống</translation> <translation id="2783661497142353826">Quản lý ứng dụng kiosk</translation> <translation id="2784407158394623927">Đang kích hoạt dịch vụ dữ liệu di động của bạn</translation> -<translation id="2785530881066938471">Không thể tải tệp '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung. Tệp không được mã hóa UTF-8.</translation> <translation id="2785873697295365461">Phần mô tả tệp</translation> <translation id="2787047795752739979">Ghi đè tệp gốc</translation> <translation id="2788135150614412178">+</translation> @@ -1246,7 +1240,6 @@ <translation id="2889925978073739256">Tiếp tục chặn plugin không có hộp cát</translation> <translation id="2890678560483811744">Vượt quá phạm vi trang</translation> <translation id="2893168226686371498">Trình duyệt mặc định</translation> -<translation id="2893453364759632532">Di chuyển cửa sổ xuống dưới</translation> <translation id="289644616180464099">Thẻ SIM bị khóa</translation> <translation id="289695669188700754">ID Khoá: <ph name="KEY_ID" /></translation> <translation id="2897878306272793870">Bạn có chắc chắn muốn mở <ph name="TAB_COUNT" /> tab không?</translation> @@ -1359,7 +1352,6 @@ <translation id="304567287000691532">Đang chia sẻ màn hình</translation> <translation id="3046910703532196514">Trang web, toàn bộ</translation> <translation id="304826556400666995">Bật âm thanh tab</translation> -<translation id="3051523411789012618">Di chuyển cửa sổ lên trên</translation> <translation id="3053013834507634016">Sử dụng Khoá Chứng chỉ</translation> <translation id="3057861065630527966">Sao lưu ảnh và video của bạn</translation> <translation id="3060379269883947824">Bật chọn để nói</translation> @@ -1389,7 +1381,6 @@ <translation id="3090193911106258841">Đang truy cập thiết bị đầu vào video và âm thanh</translation> <translation id="3090819949319990166">Không thể sao chép tệp crx bên ngoài sang <ph name="TEMP_CRX_FILE" />.</translation> <translation id="3090871774332213558">Đã ghép nối "<ph name="DEVICE_NAME" />"</translation> -<translation id="3097628171361913691">Trình cài đặt tệp nén</translation> <translation id="3100609564180505575">Mô-đun (<ph name="TOTAL_COUNT" />) - Các xung đột đã biết: <ph name="BAD_COUNT" />, bị nghi ngờ: <ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">Ngày và giờ</translation> <translation id="3108967419958202225">Chọn...</translation> @@ -1511,7 +1502,6 @@ <translation id="3300394989536077382">Được ký bởi</translation> <translation id="33022249435934718">Xử lý GDI</translation> <translation id="3302340765592941254">Thông báo hoàn tất tải xuống</translation> -<translation id="3302709122321372472">Không thể tải css '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung.</translation> <translation id="3303260552072730022">Một tiện ích đã kích hoạt chế độ toàn màn hình.</translation> <translation id="3303818374450886607">Bản sao</translation> <translation id="3303855915957856445">Không tìm thấy kết quả tìm kiếm nào</translation> @@ -1892,7 +1882,6 @@ <translation id="3856800405688283469">Chọn múi giờ</translation> <translation id="3856921555429624101">Đã kết thúc đo lường mức sử dụng dữ liệu</translation> <translation id="3857228364945137633">Dùng thử Smart Lock để mở khóa <ph name="DEVICE_TYPE" /> của bạn mà không cần mật khẩu khi điện thoại của bạn ở gần.</translation> -<translation id="3857732810083914482">Cá nhân hóa đang tắt. Bạn có thể thay đổi trạng thái này tại myaccount.google.com.</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">Chào mừng bạn đến với Hangouts Meet</translation> <translation id="3862134173397075045">Chào mừng bạn đến với trải nghiệm Truyền trong Chrome!</translation> @@ -1983,7 +1972,6 @@ <translation id="399179161741278232">Đã nhập</translation> <translation id="3994374631886003300">Mở khóa điện thoại và mang điện thoại tới gần hơn để mở khóa <ph name="DEVICE_TYPE" /> của bạn.</translation> <translation id="3994878504415702912">Thu &phóng</translation> -<translation id="39964277676607559">Không thể tải javascript '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung.</translation> <translation id="4002066346123236978">Tiêu đề</translation> <translation id="40027638859996362">Di chuyển từ</translation> <translation id="4005817994523282006">Phương pháp phát hiện múi giờ</translation> @@ -2162,7 +2150,6 @@ <translation id="4336032328163998280">Thao tác sao chép không thành công. <ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">Để xem nhật ký mạng, hãy xem: <ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">Để tải xuống và sử dụng các ứng dụng Android, trước tiên, bạn cần cài đặt bản cập nhật. Trong khi thiết bị của bạn đang cập nhật, bạn không thể sử dụng thiết bị. <ph name="DEVICE_TYPE" /> của bạn sẽ khởi động lại sau khi cài đặt xong.</translation> -<translation id="4338683191474220626">Di chuyển cửa sổ sang trái</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> muốn giao tiếp với ứng dụng "<ph name="EXTENSION_NAME" />"</translation> <translation id="4342311272543222243">Rất tiếc, lỗi TPM.</translation> <translation id="4345587454538109430">Định cấu hình...</translation> @@ -2314,7 +2301,6 @@ <translation id="4615586811063744755">chưa chọn cookie nào</translation> <translation id="4617270414136722281">Tùy chọn tiện ích</translation> <translation id="4619615317237390068">Tab từ các thiết bị khác</translation> -<translation id="4620809267248568679">Cài đặt này được tiện ích thực hiện.</translation> <translation id="4624768044135598934">Thành công!</translation> <translation id="4625078469366263107">Bật ứng dụng</translation> <translation id="4627427111733173920">Đã chặn cookie</translation> @@ -2535,7 +2521,6 @@ <translation id="496226124210045887">Thư mục bạn đã chọn chứa các tệp nhạy cảm. Bạn có chắc chắn muốn cấp quyền truy cập đọc vĩnh viễn "$1" cho thư mục này không?</translation> <translation id="4964455510556214366">Sắp xếp</translation> <translation id="4964673849688379040">Đang kiểm tra...</translation> -<translation id="4965682129423310439">Chrome đã tìm thấy phần mềm độc hại trên máy tính của bạn. Chrome có thể xóa phần mềm này và khôi phục cài đặt của bạn để làm cho trình duyệt hoạt động bình thường trở lại.</translation> <translation id="4965808351167763748">Bạn có chắc chắn muốn thiết lập thiết bị này để chạy Hangouts Meet không?</translation> <translation id="4967749818080339523">Chọn tài khoản</translation> <translation id="496888482094675990">Ứng dụng Tệp cho phép truy cập nhanh các tệp mà bạn đã lưu trên Google Drive, bộ nhớ ngoài hoặc thiết bị Chrome OS của bạn.</translation> @@ -3309,10 +3294,8 @@ <translation id="6169666352732958425">Không thể truyền màn hình nền.</translation> <translation id="6171948306033499786">Tạm dừng in</translation> <translation id="6175314957787328458">GUID Tên miền của Microsoft</translation> -<translation id="6176032031541598434">Cửa sổ đang hoạt động được di chuyển đến màn hình bên dưới</translation> <translation id="6178664161104547336">Chọn một chứng chỉ</translation> <translation id="6181431612547969857">Tải xuống bị chặn</translation> -<translation id="6181803575025675566">Kiểm soát cách hoạt động của tùy chọn này trong <ph name="LINK_START" />Cài đặt<ph name="LINK_END" />.</translation> <translation id="6185132558746749656">Vị trí thiết bị</translation> <translation id="6185696379715117369">Trang trên</translation> <translation id="6189412234224385711">Mở bằng <ph name="EXTENSION_NAME" /></translation> @@ -3660,11 +3643,9 @@ <translation id="6736045498964449756">Rất tiếc, mật khẩu không khớp!</translation> <translation id="6736243959894955139">Địa chỉ</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">Mặc dù không thể truy cập vào hồ sơ cũ của mình nữa nhưng bạn vẫn có thể xóa hồ sơ đó.</translation> <translation id="6739923123728562974">Hiển thị lối tắt trên màn hình</translation> <translation id="6740234557573873150">Đã tạm dừng <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">Tập lệnh có thể truy cập</translation> -<translation id="6743841972744298686">Cài đặt đồng bộ hóa</translation> <translation id="6745592621698551453">Cập nhật ngay bây giờ</translation> <translation id="6746124502594467657">Di chuyển xuống</translation> <translation id="674632704103926902">Bật tính năng kéo nhấn</translation> @@ -3794,7 +3775,6 @@ <translation id="6970856801391541997">In các trang cụ thể</translation> <translation id="6972180789171089114">Âm thanh/video</translation> <translation id="6973630695168034713">Thư mục</translation> -<translation id="6974053822202609517">Phải sang Trái</translation> <translation id="6976108581241006975">Bảng điều khiển JavaScript</translation> <translation id="6977381486153291903">Hiệu chỉnh chương trình cơ sở</translation> <translation id="6978121630131642226">Công cụ Tìm kiếm</translation> @@ -3893,7 +3873,6 @@ <translation id="7108338896283013870">Ẩn</translation> <translation id="7108634116785509031"><ph name="HOST" /> muốn sử dụng máy ảnh của bạn</translation> <translation id="7108668606237948702">nhập</translation> -<translation id="7112978678959880812">Cá nhân hóa đang bật. Bạn có thể thay đổi trạng thái này tại myaccount.google.com.</translation> <translation id="7113502843173351041">Biết địa chỉ email của bạn</translation> <translation id="7114054701490058191">Mật khẩu không khớp</translation> <translation id="7117228822971127758">Vui lòng thử lại sau</translation> @@ -3958,7 +3937,6 @@ <translation id="7221869452894271364">Tải lại trang này</translation> <translation id="7222232353993864120">Địa chỉ Email</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">Bật kính lúp</translation> <translation id="7223775956298141902">Này... Bạn không có tiện ích nào :-(</translation> <translation id="7225179976675429563">Thiếu loại mạng</translation> <translation id="7228479291753472782">Thực hiện cài đặt chỉ định liệu trang web có thể sử dụng các tính năng như vị trí địa lý, micrô, máy ảnh, v.v. hay không.</translation> @@ -4214,7 +4192,6 @@ <translation id="7639178625568735185">Bỏ qua!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> tự động đăng nhập bạn vào các trang web đủ điều kiện bằng mật khẩu bạn đã lưu.</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (chủ sở hữu)</translation> -<translation id="7647231681210854996">Cửa sổ đang hoạt động được di chuyển đến màn hình bên phải</translation> <translation id="7648992873808071793">Lưu trữ tệp trên thiết bị này</translation> <translation id="7649070708921625228">Trợ giúp</translation> <translation id="7650511557061837441">"<ph name="TRIGGERING_EXTENSION_NAME" />" muốn xóa "<ph name="EXTENSION_NAME" />".</translation> @@ -4674,7 +4651,6 @@ <translation id="8371695176452482769">Nói ngay bây giờ</translation> <translation id="8372369524088641025">Khóa WEP sai</translation> <translation id="8373553483208508744">Tắt tiếng tab</translation> -<translation id="8377870760189106701">Di chuyển cửa sổ đang hoạt động sang phải</translation> <translation id="8378285435971754261">Cho phép dịch vụ vị trí của Google giúp các ứng dụng tìm vị trí của bạn nhanh chóng và chính xác để có thể giảm mức tiêu thụ pin. Dữ liệu vị trí ẩn danh sẽ được gửi tới Google ngay cả khi không có ứng dụng nào đang chạy. <ph name="BEGIN_LINK1" />Tìm hiểu thêm<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">Quản lý cài đặt máy ảnh...</translation> <translation id="8382913212082956454">Sao chép địa chỉ &email</translation> @@ -4794,7 +4770,6 @@ <translation id="8581809080475256101">Nhấn để tiếp tục, nhấn menu ngữ cảnh để xem lịch sử</translation> <translation id="8584280235376696778">&Mở video trong tab mới</translation> <translation id="8588866096426746242">Hiển thị số liệu thống kê hồ sơ</translation> -<translation id="8589652987924574405">Dấu trang, lịch sử, mật khẩu và các cài đặt khác sẽ được đồng bộ hóa với Tài khoản Google của bạn để bạn có thể sử dụng trên tất cả các thiết bị của mình. Bạn luôn có thể thay đổi tùy chọn này trong phần cài đặt.</translation> <translation id="8590375307970699841">Thiết lập cập nhật tự động</translation> <translation id="8594908476761052472">Quay video</translation> <translation id="8596540852772265699">Tệp tùy chỉnh</translation> @@ -4810,7 +4785,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />: <ph name="ERROR" /></translation> <translation id="8620617069779373398">Trạng thái chuyển vùng</translation> <translation id="8620765578342452535">Định cấu hình kết nối mạng</translation> -<translation id="8620790565535071193">Quét không thành công</translation> <translation id="8624205858755890468">Cho phép Trợ lý hiển thị cho bạn các hành động, ứng dụng và thông tin có liên quan.</translation> <translation id="862542460444371744">&Tiện ích mở rộng</translation> <translation id="8627151598708688654">Chọn nguồn</translation> @@ -4888,7 +4862,6 @@ <translation id="871476437400413057">Các mật khẩu đã lưu trên Google</translation> <translation id="8714838604780058252">Đồ họa nền</translation> <translation id="8719653885894320876">Không tải <ph name="PLUGIN_NAME" /> xuống được</translation> -<translation id="8721669057562068233">Cửa sổ đang hoạt động được di chuyển lên màn hình phía trên</translation> <translation id="8723829621484579639">Khung phụ ẩn danh cho: <ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">&Hiển thị trong Thư mục</translation> <translation id="8725066075913043281">Thử lại</translation> @@ -4932,7 +4905,6 @@ <translation id="8785622406424941542">Bút cảm ứng</translation> <translation id="8787254343425541995">Cho phép các proxy đối với mạng chia sẻ</translation> <translation id="8791534160414513928">Gửi yêu cầu "Không theo dõi" kèm theo lưu lượng duyệt web của bạn</translation> -<translation id="8792609692701651064">Cửa sổ đang hoạt động được di chuyển sang màn hình bên trái</translation> <translation id="8794025342371547160">IP bị hạn chế</translation> <translation id="879413103056696865">Khi điểm phát sóng bật, <ph name="PHONE_NAME" /> của bạn sẽ:</translation> <translation id="8795916974678578410">Cửa sổ mới</translation> @@ -5069,7 +5041,6 @@ <translation id="9024127637873500333">&Mở trong Tab mới</translation> <translation id="9024331582947483881">toàn màn hình</translation> <translation id="9025098623496448965">OK, đưa tôi quay lại màn hình đăng nhập</translation> -<translation id="902659348151742535">Google có thể sử dụng lịch sử duyệt web của bạn để cá nhân hóa Tìm kiếm, quảng cáo và các dịch vụ khác của Google.</translation> <translation id="9026731007018893674">tải xuống</translation> <translation id="9027146684281895941">Giám sát người này để kiểm soát và xem các trang web mà họ truy cập từ Tài khoản Google của bạn.</translation> <translation id="9027459031423301635">Mở Liên kết trong &Tab Mới</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb index df4ed8b..31d901a9 100644 --- a/chrome/app/resources/generated_resources_zh-CN.xtb +++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">找不到任何网络</translation> <translation id="1056898198331236512">警告</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">无法移除有害软件</translation> <translation id="1062407476771304334">替换</translation> <translation id="1062866675591297858">请通过<ph name="BEGIN_LINK" />受监管用户信息中心<ph name="END_LINK" />管理您的受监管用户。</translation> <translation id="1064835277883315402">加入专用网络</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">选择文件</translation> <translation id="136802136832547685">没有任何可添加到此设备中的受监管用户。</translation> <translation id="1368265273904755308">报告问题</translation> -<translation id="1368832886055348810">从左向右</translation> <translation id="1370646789215800222">要移除用户吗?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{将移除 1 项内容}other{将移除 # 项内容}}</translation> <translation id="1372841398847029212">同步到您的帐号中</translation> @@ -400,7 +398,6 @@ <translation id="1608626060424371292">移除此用户</translation> <translation id="1609170755653088773">将此密码同步到您的 iPhone</translation> <translation id="1609862759711084604">上一位用户</translation> -<translation id="1611557582955786626">登录后即可畅享合乎个人需求的浏览体验,并可在不同设备间保持同步</translation> <translation id="1611584202130317952">配置流程中断了。请重试,或与您的设备所有者/管理员联系。</translation> <translation id="1611649489706141841">前进</translation> <translation id="1611704746353331382">将书签导出到 HTML 文件...</translation> @@ -568,7 +565,6 @@ <translation id="1856715684130786728">添加位置…</translation> <translation id="1856813161013948396">轻触指纹传感器即可略过锁定屏幕。点按一下即可进行配置。</translation> <translation id="1858585891038687145">信任该证书,以便标识软件编写者的身份</translation> -<translation id="1859234291848436338">书写方向</translation> <translation id="1861262398884155592">此文件夹中没有内容</translation> <translation id="1864111464094315414">登录</translation> <translation id="1864400682872660285">冷色调</translation> @@ -1129,7 +1125,6 @@ <translation id="2737363922397526254">收起...</translation> <translation id="2737492745329609575">开始设置</translation> <translation id="2738771556149464852">不晚于</translation> -<translation id="2739046699559178272">保存并继续</translation> <translation id="2739191690716947896">调试</translation> <translation id="2739240477418971307">更改您的无障碍设置</translation> <translation id="2740393541869613458">审核此受监管用户访问过的网站,以及</translation> @@ -1155,7 +1150,6 @@ <translation id="2783298271312924866">已下载</translation> <translation id="2783661497142353826">管理自助服务终端应用</translation> <translation id="2784407158394623927">正在激活您的移动数据服务</translation> -<translation id="2785530881066938471">无法为内容脚本加载“<ph name="RELATIVE_PATH" />”文件。该文件采用的不是 UTF-8 编码。</translation> <translation id="2785873697295365461">文件描述符数量</translation> <translation id="2787047795752739979">覆盖原始文件</translation> <translation id="2788135150614412178">+</translation> @@ -1241,7 +1235,6 @@ <translation id="2889925978073739256">继续拦截未经过沙盒屏蔽的插件</translation> <translation id="2890678560483811744">页面引用超出范围</translation> <translation id="2893168226686371498">默认浏览器</translation> -<translation id="2893453364759632532">下移窗口</translation> <translation id="289644616180464099">SIM 卡已被锁定</translation> <translation id="289695669188700754">密钥 ID:<ph name="KEY_ID" /></translation> <translation id="2897878306272793870">是否确实要打开 <ph name="TAB_COUNT" /> 个标签页?</translation> @@ -1354,7 +1347,6 @@ <translation id="304567287000691532">正在共享屏幕</translation> <translation id="3046910703532196514">网页,全部</translation> <translation id="304826556400666995">将所有标签页取消静音</translation> -<translation id="3051523411789012618">上移窗口</translation> <translation id="3053013834507634016">证书密钥用法</translation> <translation id="3057861065630527966">备份您的照片和视频</translation> <translation id="3060379269883947824">启用“随选朗读”</translation> @@ -1384,7 +1376,6 @@ <translation id="3090193911106258841">正在存取音频和视频输入</translation> <translation id="3090819949319990166">无法将外部 crx 文件复制到 <ph name="TEMP_CRX_FILE" />。</translation> <translation id="3090871774332213558">“<ph name="DEVICE_NAME" />”已配对</translation> -<translation id="3097628171361913691">Zip 文件安装程序</translation> <translation id="3100609564180505575">模块数 (<ph name="TOTAL_COUNT" />) - 已知冲突数:<ph name="BAD_COUNT" />,可疑冲突数:<ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">日期和时间</translation> <translation id="3108967419958202225">选择...</translation> @@ -1506,7 +1497,6 @@ <translation id="3300394989536077382">签名方:</translation> <translation id="33022249435934718">GDI 句柄</translation> <translation id="3302340765592941254">下载完成通知</translation> -<translation id="3302709122321372472">无法为内容脚本加载重叠样式表“<ph name="RELATIVE_PATH" />”。</translation> <translation id="3303260552072730022">某个扩展程序触发了全屏模式。</translation> <translation id="3303818374450886607">份数</translation> <translation id="3303855915957856445">未找到任何搜索结果</translation> @@ -1885,7 +1875,6 @@ <translation id="3856800405688283469">选择时区</translation> <translation id="3856921555429624101">已停止衡量数据使用情况</translation> <translation id="3857228364945137633">当您的手机就在附近时,您便可尝试使用 Smart Lock(无需使用密码)来解锁您的 <ph name="DEVICE_TYPE" />。</translation> -<translation id="3857732810083914482">个性化功能现处于关闭状态。若想更改此设置,请前往 myaccount.google.com。</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">欢迎使用 Hangouts Meet</translation> <translation id="3862134173397075045">欢迎体验 Chrome 中的投射功能!</translation> @@ -1975,7 +1964,6 @@ <translation id="399179161741278232">已导入</translation> <translation id="3994374631886003300">请解锁您的手机并将它靠近您的 <ph name="DEVICE_TYPE" />,以解锁此设备。</translation> <translation id="3994878504415702912">缩放(&Z)</translation> -<translation id="39964277676607559">无法为内容脚本加载 JavaScript“<ph name="RELATIVE_PATH" />”。</translation> <translation id="4002066346123236978">标题</translation> <translation id="40027638859996362">字词移动</translation> <translation id="4005817994523282006">时区检测方法</translation> @@ -2154,7 +2142,6 @@ <translation id="4336032328163998280">复制操作失败。<ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">如需查看网络日志,请点击以下链接:<ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">要下载并使用 Android 应用,请先安装更新。设备更新期间,您无法使用设备。安装完毕后,<ph name="DEVICE_TYPE" /> 将重启。</translation> -<translation id="4338683191474220626">左移窗口</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> 希望与“<ph name="EXTENSION_NAME" />”应用通信</translation> <translation id="4342311272543222243">糟糕!出现 TPM 错误。</translation> <translation id="4345587454538109430">配置...</translation> @@ -2306,7 +2293,6 @@ <translation id="4615586811063744755">未选择任何 Cookie</translation> <translation id="4617270414136722281">扩展程序选项</translation> <translation id="4619615317237390068">从其他设备打开的标签页</translation> -<translation id="4620809267248568679">此设置是由扩展程序强制设置的。</translation> <translation id="4624768044135598934">成功!</translation> <translation id="4625078469366263107">启用应用</translation> <translation id="4627427111733173920">已拦截 Cookie</translation> @@ -2527,7 +2513,6 @@ <translation id="496226124210045887">您选择的文件夹中包含敏感文件。确定要授予“$1”对此文件夹的永久读取权限吗?</translation> <translation id="4964455510556214366">排列方式</translation> <translation id="4964673849688379040">正在检查…</translation> -<translation id="4965682129423310439">Chrome 在您的计算机上发现了有害软件。Chrome 可移除该软件并恢复您的设置,以确保您的浏览器重新正常运行。</translation> <translation id="4965808351167763748">确定要将此设备设为运行 Hangouts Meet 吗?</translation> <translation id="4967749818080339523">选择帐号</translation> <translation id="496888482094675990">通过“文件”应用,您可以快速存取自己保存在Google云端硬盘、外部存储设备和Chrome操作系统设备上的文件。</translation> @@ -3295,10 +3280,8 @@ <translation id="6169666352732958425">无法投射桌面。</translation> <translation id="6171948306033499786">暂停打印</translation> <translation id="6175314957787328458">Microsoft 域 GUID</translation> -<translation id="6176032031541598434">活动窗口已移至下方显示屏</translation> <translation id="6178664161104547336">选择证书</translation> <translation id="6181431612547969857">下载已被阻止</translation> -<translation id="6181803575025675566">您可在<ph name="LINK_START" />设置<ph name="LINK_END" />中控制该功能的运作方式。</translation> <translation id="6185132558746749656">设备位置</translation> <translation id="6185696379715117369">向上翻页</translation> <translation id="6189412234224385711">使用“<ph name="EXTENSION_NAME" />”打开</translation> @@ -3645,11 +3628,9 @@ <translation id="6736045498964449756">糟糕,密码不正确!</translation> <translation id="6736243959894955139">地址</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">既然您已无法再访问自己的旧个人资料,不妨将其移除。</translation> <translation id="6739923123728562974">显示桌面快捷方式</translation> <translation id="6740234557573873150">“<ph name="FILE_NAME" />”已暂停</translation> <translation id="6742339027238151589">脚本可访问</translation> -<translation id="6743841972744298686">同步设置</translation> <translation id="6745592621698551453">立即更新</translation> <translation id="6746124502594467657">下移</translation> <translation id="674632704103926902">启用点按拖动功能</translation> @@ -3779,7 +3760,6 @@ <translation id="6970856801391541997">打印特定页面</translation> <translation id="6972180789171089114">音频/视频</translation> <translation id="6973630695168034713">文件夹</translation> -<translation id="6974053822202609517">从右向左</translation> <translation id="6976108581241006975">JavaScript 控制台</translation> <translation id="6977381486153291903">固件版本</translation> <translation id="6978121630131642226">搜索引擎</translation> @@ -3878,7 +3858,6 @@ <translation id="7108338896283013870">隐藏</translation> <translation id="7108634116785509031"><ph name="HOST" /> 想使用您的摄像头</translation> <translation id="7108668606237948702">输入</translation> -<translation id="7112978678959880812">个性化功能现处于开启状态。若想更改此设置,请前往 myaccount.google.com。</translation> <translation id="7113502843173351041">获取您的电子邮件地址</translation> <translation id="7114054701490058191">密码不符</translation> <translation id="7117228822971127758">请稍后重试</translation> @@ -3943,7 +3922,6 @@ <translation id="7221869452894271364">重新加载此页</translation> <translation id="7222232353993864120">电子邮件地址</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">启用放大镜</translation> <translation id="7223775956298141902">啊哦,您没有任何扩展程序 :-(</translation> <translation id="7225179976675429563">缺少网络类型</translation> <translation id="7228479291753472782">管理用于指定网站可否使用地理位置信息、麦克风、摄像头等功能的设置</translation> @@ -4190,7 +4168,6 @@ <translation id="7639178625568735185">知道了!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> 会使用您保存的密码让您自动登录到符合条件的网站。</translation> <translation id="7645176681409127223"><ph name="USER_NAME" />(所有者)</translation> -<translation id="7647231681210854996">活动窗口已移至右侧显示屏</translation> <translation id="7648992873808071793">在此设备上存储文件</translation> <translation id="7649070708921625228">帮助</translation> <translation id="7650511557061837441">“<ph name="TRIGGERING_EXTENSION_NAME" />”想要移除“<ph name="EXTENSION_NAME" />”。</translation> @@ -4650,7 +4627,6 @@ <translation id="8371695176452482769">请开始说话</translation> <translation id="8372369524088641025">WEP 密钥错误</translation> <translation id="8373553483208508744">将所有标签页静音</translation> -<translation id="8377870760189106701">向右移动窗口</translation> <translation id="8378285435971754261">让 Google 的位置信息服务协助应用快速准确地找到您的位置,从而减少电量消耗。系统会将匿名位置数据发送给 Google(即使未运行任何应用)。<ph name="BEGIN_LINK1" />了解详情<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">管理摄像头设置…</translation> <translation id="8382913212082956454">复制电子邮件地址(&E)</translation> @@ -4770,7 +4746,6 @@ <translation id="8581809080475256101">点按该按钮可前进,点按上下文菜单可查看历史记录</translation> <translation id="8584280235376696778">在新标签页中打开视频(&O)</translation> <translation id="8588866096426746242">显示个人资料统计信息</translation> -<translation id="8589652987924574405">Chrome 同步功能可将您的书签、历史记录、密码及其他设置同步到您的 Google 帐号中,以便您在自己的任意设备上使用。日后您随时可在“设置”中更改此项设置。</translation> <translation id="8590375307970699841">设置自动更新</translation> <translation id="8594908476761052472">拍摄视频</translation> <translation id="8596540852772265699">自定义文件</translation> @@ -4786,7 +4761,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />:<ph name="ERROR" /></translation> <translation id="8620617069779373398">漫游状态</translation> <translation id="8620765578342452535">配置网络连接</translation> -<translation id="8620790565535071193">扫描失败</translation> <translation id="8624205858755890468">允许智能助理向您显示相关的信息、应用和操作。</translation> <translation id="862542460444371744">扩展程序(&E)</translation> <translation id="8627151598708688654">选择来源</translation> @@ -4864,7 +4838,6 @@ <translation id="871476437400413057">Google 保存的密码</translation> <translation id="8714838604780058252">背景图形</translation> <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> 下载失败</translation> -<translation id="8721669057562068233">活动窗口已移至上方显示屏</translation> <translation id="8723829621484579639">以下网址的隐身辅助框架:<ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">在文件夹中显示(&S)</translation> <translation id="8725066075913043281">重试</translation> @@ -4908,7 +4881,6 @@ <translation id="8785622406424941542">触控笔</translation> <translation id="8787254343425541995">允许共享网络使用代理</translation> <translation id="8791534160414513928">随浏览流量一起发送“不跟踪”请求</translation> -<translation id="8792609692701651064">活动窗口已移至左侧显示屏</translation> <translation id="8794025342371547160">受限 IP</translation> <translation id="879413103056696865">开启热点后,您的 <ph name="PHONE_NAME" /> 将会:</translation> <translation id="8795916974678578410">打开新的窗口</translation> @@ -5045,7 +5017,6 @@ <translation id="9024127637873500333">在新标签页中打开(&O)</translation> <translation id="9024331582947483881">全屏</translation> <translation id="9025098623496448965">确定,返回登录屏幕</translation> -<translation id="902659348151742535">Google 可能会利用您的浏览记录为您提供个性化的 Google 搜索、广告和其他 Google 服务。</translation> <translation id="9026731007018893674">下载</translation> <translation id="9027146684281895941">监管此人,以通过您的 Google 帐号控制和查看其访问的网站。</translation> <translation id="9027459031423301635">在新标签页中打开链接(&T)</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb index e60d109..1a36c27 100644 --- a/chrome/app/resources/generated_resources_zh-TW.xtb +++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -42,7 +42,6 @@ <translation id="1056775291175587022">沒有網路</translation> <translation id="1056898198331236512">警告</translation> <translation id="1058262162121953039">PUK</translation> -<translation id="106001083577824516">無法移除有害軟體</translation> <translation id="1062407476771304334">取代</translation> <translation id="1062866675591297858">前往<ph name="BEGIN_LINK" />受監管的使用者資訊主頁<ph name="END_LINK" />管理你的受監管使用者。</translation> <translation id="1064835277883315402">加入私人網路</translation> @@ -239,7 +238,6 @@ <translation id="1367951781824006909">選擇檔案</translation> <translation id="136802136832547685">沒有受監管的使用者可以新增至這部裝置。</translation> <translation id="1368265273904755308">回報問題</translation> -<translation id="1368832886055348810">由左至右</translation> <translation id="1370646789215800222">是否移除使用者?</translation> <translation id="1372681413396468867">{NUM_ITEMS,plural, =1{將移除 1 個項目}other{將移除 # 個項目}}</translation> <translation id="1372841398847029212">同步到你的帳戶</translation> @@ -403,7 +401,6 @@ <translation id="1608626060424371292">移除這位使用者</translation> <translation id="1609170755653088773">將這組密碼在 iPhone 上保持同步</translation> <translation id="1609862759711084604">上一位使用者</translation> -<translation id="1611557582955786626">登入即可享有個人化瀏覽體驗,各項設定在所有裝置都能保持同步</translation> <translation id="1611584202130317952">佈建作業中斷。請再試一次,或是與裝置擁有者或管理員聯絡。</translation> <translation id="1611649489706141841">往前</translation> <translation id="1611704746353331382">將書籤匯出為 HTML 檔案...</translation> @@ -571,7 +568,6 @@ <translation id="1856715684130786728">新增位置...</translation> <translation id="1856813161013948396">輕觸指紋感應器即可略過螢幕鎖定。按一下以進行設定。</translation> <translation id="1858585891038687145">信任這個用於識別軟體製造商的憑證</translation> -<translation id="1859234291848436338">文字方向</translation> <translation id="1861262398884155592">這個資料夾是空的</translation> <translation id="1864111464094315414">登入</translation> <translation id="1864400682872660285">冷色調</translation> @@ -1133,7 +1129,6 @@ <translation id="2737363922397526254">收合...</translation> <translation id="2737492745329609575">開始設定</translation> <translation id="2738771556149464852">此日期之前:</translation> -<translation id="2739046699559178272">儲存並繼續</translation> <translation id="2739191690716947896">偵錯</translation> <translation id="2739240477418971307">變更你的協助工具設定</translation> <translation id="2740393541869613458">查看受監管使用者瀏覽過的網站;以及</translation> @@ -1159,7 +1154,6 @@ <translation id="2783298271312924866">已下載</translation> <translation id="2783661497142353826">管理 Kiosk 應用程式</translation> <translation id="2784407158394623927">正在啟用行動數據服務</translation> -<translation id="2785530881066938471">無法載入內容指令碼的「<ph name="RELATIVE_PATH" />」檔案,因為該檔案未使用 UTF-8 編碼。</translation> <translation id="2785873697295365461">檔案描述元</translation> <translation id="2787047795752739979">覆寫原始檔案</translation> <translation id="2788135150614412178">+</translation> @@ -1245,7 +1239,6 @@ <translation id="2889925978073739256">繼續封鎖無沙箱防護的外掛程式</translation> <translation id="2890678560483811744">參照的網頁超出範圍</translation> <translation id="2893168226686371498">預設瀏覽器</translation> -<translation id="2893453364759632532">視窗靠下</translation> <translation id="289644616180464099">SIM 卡已鎖定</translation> <translation id="289695669188700754">金鑰識別碼:<ph name="KEY_ID" /></translation> <translation id="2897878306272793870">你確定要開啟 <ph name="TAB_COUNT" /> 分頁嗎?</translation> @@ -1358,7 +1351,6 @@ <translation id="304567287000691532">正在分享螢幕畫面</translation> <translation id="3046910703532196514">完整的網頁</translation> <translation id="304826556400666995">開啟多個分頁音訊</translation> -<translation id="3051523411789012618">視窗靠上</translation> <translation id="3053013834507634016">憑證金鑰用途</translation> <translation id="3057861065630527966">備份您的相片和影片</translation> <translation id="3060379269883947824">啟用隨選朗讀功能</translation> @@ -1388,7 +1380,6 @@ <translation id="3090193911106258841">正在存取音訊和視訊輸入</translation> <translation id="3090819949319990166">無法將外部 crx 檔案複製到 <ph name="TEMP_CRX_FILE" />。</translation> <translation id="3090871774332213558">「<ph name="DEVICE_NAME" />」已配對</translation> -<translation id="3097628171361913691">壓縮檔安裝程式</translation> <translation id="3100609564180505575">模組數 (<ph name="TOTAL_COUNT" />) - 已知衝突數目:<ph name="BAD_COUNT" />,可疑衝突數目:<ph name="SUSPICIOUS_COUNT" /></translation> <translation id="3101709781009526431">日期與時間</translation> <translation id="3108967419958202225">選擇...</translation> @@ -1510,7 +1501,6 @@ <translation id="3300394989536077382">簽署者</translation> <translation id="33022249435934718">GDI 控制代碼</translation> <translation id="3302340765592941254">下載完成通知</translation> -<translation id="3302709122321372472">無法載入內容指令碼的 css「<ph name="RELATIVE_PATH" />」。</translation> <translation id="3303260552072730022">某個擴充功能啟用了全螢幕。</translation> <translation id="3303818374450886607">份數</translation> <translation id="3303855915957856445">找不到相符的搜尋結果</translation> @@ -1891,7 +1881,6 @@ <translation id="3856800405688283469">選取時區</translation> <translation id="3856921555429624101">已停止監測數據用量</translation> <translation id="3857228364945137633">當手機在適當距離範圍內時,不需密碼即可使用 Smart Lock 為你的 <ph name="DEVICE_TYPE" /> 解鎖。</translation> -<translation id="3857732810083914482">個人化功能已關閉。你可以前往 myaccount.google.com 進行變更。</translation> <translation id="3857773447683694438">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</translation> <translation id="3860381078714302691">歡迎使用 Hangouts Meet</translation> <translation id="3862134173397075045">歡迎在 Chrome 中體驗 Cast 服務!</translation> @@ -1981,7 +1970,6 @@ <translation id="399179161741278232">已匯入</translation> <translation id="3994374631886003300">解除手機的鎖定狀態,並且讓你的手機與 <ph name="DEVICE_TYPE" /> 更靠近,即可進入解鎖模式。</translation> <translation id="3994878504415702912">縮放(&Z)</translation> -<translation id="39964277676607559">無法載入內容指令碼的 javascript「<ph name="RELATIVE_PATH" />」。</translation> <translation id="4002066346123236978">標題</translation> <translation id="40027638859996362">文字移動</translation> <translation id="4005817994523282006">時區偵測方法</translation> @@ -2160,7 +2148,6 @@ <translation id="4336032328163998280">複製作業失敗,<ph name="ERROR_MESSAGE" /></translation> <translation id="4336979451636460645">如需網路紀錄,請查看:<ph name="DEVICE_LOG_LINK" /></translation> <translation id="4337028641069424358">如要下載並使用 Android 應用程式,請先安裝更新。在更新期間,你無法使用裝置。安裝完成後,<ph name="DEVICE_TYPE" /> 將會重新啟動。</translation> -<translation id="4338683191474220626">視窗靠左</translation> <translation id="4340515029017875942"><ph name="ORIGIN" /> 要求與「<ph name="EXTENSION_NAME" />」應用程式通訊</translation> <translation id="4342311272543222243">糟糕,發生 TPM 錯誤。</translation> <translation id="4345587454538109430">設定...</translation> @@ -2312,7 +2299,6 @@ <translation id="4615586811063744755">未選取任何 Cookie</translation> <translation id="4617270414136722281">擴充功能選項</translation> <translation id="4619615317237390068">在其他裝置上開啟的分頁</translation> -<translation id="4620809267248568679">這項設定是由擴充功能執行。</translation> <translation id="4624768044135598934">已成功匯入!</translation> <translation id="4625078469366263107">啟用應用程式</translation> <translation id="4627427111733173920">已封鎖 Cookie</translation> @@ -2533,7 +2519,6 @@ <translation id="496226124210045887">你選取的資料夾包含敏感檔案。你確定要將這個資料夾的讀取權限永久授予「$1」嗎?</translation> <translation id="4964455510556214366">排列</translation> <translation id="4964673849688379040">檢查中...</translation> -<translation id="4965682129423310439">Chrome 在你的電腦上找到有害軟體,並可將它移除及還原相關設定,讓你的瀏覽器恢復正常運作。</translation> <translation id="4965808351167763748">你確定要設定這個裝置以執行 Hangouts Meet 嗎?</translation> <translation id="4967749818080339523">請選取帳戶</translation> <translation id="496888482094675990">「檔案」應用程式可供快速存取你存放在 Google 雲端硬碟、外部儲存空間或 Chrome 作業系統裝置中的檔案。</translation> @@ -3306,10 +3291,8 @@ <translation id="6169666352732958425">無法投放桌面。</translation> <translation id="6171948306033499786">暫停列印</translation> <translation id="6175314957787328458">Microsoft 網域 GUID</translation> -<translation id="6176032031541598434">使用中的視窗已移至畫面下方</translation> <translation id="6178664161104547336">選取憑證</translation> <translation id="6181431612547969857">下載遭封鎖</translation> -<translation id="6181803575025675566">你可以在「<ph name="LINK_START" />設定<ph name="LINK_END" />」頁面中管理這項功能的運作方式。</translation> <translation id="6185132558746749656">裝置位置</translation> <translation id="6185696379715117369">Page Up 鍵</translation> <translation id="6189412234224385711">使用「<ph name="EXTENSION_NAME" />」開啟</translation> @@ -3656,11 +3639,9 @@ <translation id="6736045498964449756">糟糕,密碼不符!</translation> <translation id="6736243959894955139">位址</translation> <translation id="6736329909263487977"><ph name="ISSUED_BY" /> [<ph name="ISSUED_TO" />]</translation> -<translation id="673970589316422346">雖然你無法再使用舊的設定檔,但可將其移除。</translation> <translation id="6739923123728562974">顯示桌面捷徑</translation> <translation id="6740234557573873150">已暫停下載 <ph name="FILE_NAME" /></translation> <translation id="6742339027238151589">可透過指令碼存取</translation> -<translation id="6743841972744298686">同步處理設定</translation> <translation id="6745592621698551453">立即更新</translation> <translation id="6746124502594467657">下移</translation> <translation id="674632704103926902">啟用輕觸拖曳</translation> @@ -3790,7 +3771,6 @@ <translation id="6970856801391541997">列印特定網頁</translation> <translation id="6972180789171089114">音效/影片</translation> <translation id="6973630695168034713">資料夾</translation> -<translation id="6974053822202609517">由右至左</translation> <translation id="6976108581241006975">JavaScript 控制台</translation> <translation id="6977381486153291903">韌體版本</translation> <translation id="6978121630131642226">搜尋引擎</translation> @@ -3889,7 +3869,6 @@ <translation id="7108338896283013870">隱藏</translation> <translation id="7108634116785509031"><ph name="HOST" /> 要求使用攝影機</translation> <translation id="7108668606237948702">輸入</translation> -<translation id="7112978678959880812">個人化功能已開啟。你可以前往 myaccount.google.com 進行變更。</translation> <translation id="7113502843173351041">存取你的電子郵件地址</translation> <translation id="7114054701490058191">密碼不符</translation> <translation id="7117228822971127758">請稍後再試</translation> @@ -3954,7 +3933,6 @@ <translation id="7221869452894271364">重新載入此頁</translation> <translation id="7222232353993864120">電子郵件地址</translation> <translation id="7222373446505536781">F11</translation> -<translation id="722363467515709460">啟用畫面放大鏡</translation> <translation id="7223775956298141902">唉... 你沒有任何擴充程式 :-(</translation> <translation id="7225179976675429563">找不到網路類型</translation> <translation id="7228479291753472782">控制可指定網站能否使用地理位置、麥克風、攝影機等功能的設定。</translation> @@ -4207,7 +4185,6 @@ <translation id="7639178625568735185">我瞭解了!</translation> <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> 會使用您儲存的密碼,讓您自動登入符合資格的網站。</translation> <translation id="7645176681409127223"><ph name="USER_NAME" /> (擁有者)</translation> -<translation id="7647231681210854996">使用中的視窗已移至畫面右側</translation> <translation id="7648992873808071793">在這個裝置上儲存檔案</translation> <translation id="7649070708921625228">說明</translation> <translation id="7650511557061837441">「<ph name="TRIGGERING_EXTENSION_NAME" />」要求移除「<ph name="EXTENSION_NAME" />」。</translation> @@ -4667,7 +4644,6 @@ <translation id="8371695176452482769">請說話</translation> <translation id="8372369524088641025">WEP 金鑰有誤</translation> <translation id="8373553483208508744">關閉多個分頁音訊</translation> -<translation id="8377870760189106701">視窗靠右</translation> <translation id="8378285435971754261">讓 Google 的定位服務協助應用程式快速找到您的準確位置,減少耗電量。系統會傳送匿名位置資料給 Google (即使未執行任何應用程式)。<ph name="BEGIN_LINK1" />瞭解詳情<ph name="END_LINK1" /></translation> <translation id="8381179624334829711">管理攝影機設定...</translation> <translation id="8382913212082956454">複製電子郵件地址(&E)</translation> @@ -4787,7 +4763,6 @@ <translation id="8581809080475256101">按下即可繼續,內容選單會顯示歷史紀錄</translation> <translation id="8584280235376696778">在新分頁中開啟影片(&O)</translation> <translation id="8588866096426746242">顯示設定檔統計資料</translation> -<translation id="8589652987924574405">你的書籤、歷史紀錄、密碼和其他設定都會在你的 Google 帳戶中保持同步,讓你在所有個人裝置上使用。日後你隨時可以在設定中變更這項設定。</translation> <translation id="8590375307970699841">設定自動更新</translation> <translation id="8594908476761052472">錄影</translation> <translation id="8596540852772265699">自訂檔</translation> @@ -4803,7 +4778,6 @@ <translation id="8619892228487928601"><ph name="CERTIFICATE_NAME" />:<ph name="ERROR" /></translation> <translation id="8620617069779373398">漫遊狀態</translation> <translation id="8620765578342452535">設定網路連線</translation> -<translation id="8620790565535071193">掃描失敗</translation> <translation id="8624205858755890468">允許個人助理向你顯示相關資訊、應用程式和操作。</translation> <translation id="862542460444371744">擴充功能(&E)</translation> <translation id="8627151598708688654">選取來源</translation> @@ -4881,7 +4855,6 @@ <translation id="871476437400413057">Google 儲存的密碼</translation> <translation id="8714838604780058252">背景圖形</translation> <translation id="8719653885894320876">「<ph name="PLUGIN_NAME" />」下載失敗</translation> -<translation id="8721669057562068233">使用中的視窗已移至畫面上方</translation> <translation id="8723829621484579639">無痕模式子頁框:<ph name="PARENT_SITE" /></translation> <translation id="8724859055372736596">在資料夾中顯示(&S)</translation> <translation id="8725066075913043281">再試一次</translation> @@ -4925,7 +4898,6 @@ <translation id="8785622406424941542">觸控筆</translation> <translation id="8787254343425541995">允許共用網路使用 Proxy</translation> <translation id="8791534160414513928">將「不追蹤」要求與瀏覽流量一併送出</translation> -<translation id="8792609692701651064">使用中的視窗已移至畫面左側</translation> <translation id="8794025342371547160">受限 IP</translation> <translation id="879413103056696865">無線基地台開啟時,你的「<ph name="PHONE_NAME" />」會:</translation> <translation id="8795916974678578410">開新視窗</translation> @@ -5062,7 +5034,6 @@ <translation id="9024127637873500333">在新分頁中開啟(&O)</translation> <translation id="9024331582947483881">全螢幕鍵</translation> <translation id="9025098623496448965">確定,返回登入畫面</translation> -<translation id="902659348151742535">Google 可能會使用您的瀏覽紀錄,為您提供個人化的搜尋服務、廣告內容和其他各項 Google 服務。</translation> <translation id="9026731007018893674">下載</translation> <translation id="9027146684281895941">監管這位使用者,以控制及查看該使用者透過您的 Google 帳戶造訪的網站。</translation> <translation id="9027459031423301635">在新分頁中開啟連結(T)</translation>
diff --git a/chrome/app/resources/google_chrome_strings_am.xtb b/chrome/app/resources/google_chrome_strings_am.xtb index 78b636a2..8a77ed2 100644 --- a/chrome/app/resources/google_chrome_strings_am.xtb +++ b/chrome/app/resources/google_chrome_strings_am.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">ኮምፒውተር ይጋራሉ? አሁን Chromeን ልክ እንደሚፈልጉት አድርገው ማዋቀር ይችላሉ።</translation> <translation id="4953650215774548573">Google Chromeን እንደ ነባሪ አሳሽዎ አድርገው ያቀናብሩ</translation> <translation id="495931528404527476">በChrome ውስጥ</translation> -<translation id="4965682129423310439">Chrome በእርስዎ ኮምፒውተር ላይ ጎጂ ሶፍትዌር አግኝቷል። የእርስዎን አሳሽ እንደገና በጤናማ ሁኔታ እንዲሠራ ለማድረግ Chrome ጎጂ ሶፍትዌሩን ሊያስወግደውና ቅንብሮችዎን ወደነበሩበት ሊመልሳቸው ይችላል።</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome የእርስዎን ውሂብ ማመሳሰል አልቻለም። እባክዎ የእርስዎን የማመሳሰያ የይለፍ ሐረግ ያዘምኑ።</translation> <translation id="5037239767309817516">ለውጡ እንዲተገበር እባክዎ ሁሉንም የGoogle Chrome መስኮቶችን ይዝጉና እንደገና ያስጀምሩት።</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb index 97faf95..89d24a3 100644 --- a/chrome/app/resources/google_chrome_strings_ar.xtb +++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">هل تشارك جهاز كمبيوتر؟ يمكنك الآن إعداد Chrome بالطريقة التي تعجبك تمامًا.</translation> <translation id="4953650215774548573">تعيين Google Chrome المتصفح الافتراضي</translation> <translation id="495931528404527476">في Chrome</translation> -<translation id="4965682129423310439">عثر Chrome على برنامج ضار على الكمبيوتر. يمكن لمتصفح Chrome إزالته، واستعادة إعداداتك لجعل متصفحك يعمل بشكلٍ طبيعي مرة أخرى.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">تعذر على Google Chrome مزامنة البيانات. يُرجى تحديث عبارة مرور المزامنة.</translation> <translation id="5037239767309817516">يُرجى إغلاق جميع نوافذ Google Chrome وإعادة تشغيله حتى يسري هذا التغيير.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb index a4d4f372..715987d3 100644 --- a/chrome/app/resources/google_chrome_strings_bg.xtb +++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">Споделяте компютър? Вече можете да настроите Chrome точно по свой вкус.</translation> <translation id="4953650215774548573">Задаване на Google Chrome като браузър по подразбиране</translation> <translation id="495931528404527476">В Chrome</translation> -<translation id="4965682129423310439">Chrome откри опасен софтуер на компютъра ви. Браузърът може да го премахне и да възстанови настройките ви, така че отново да заработи нормално.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome не можа да синхронизира данните ви. Моля, актуализирайте пропуска си за синхронизиране.</translation> <translation id="5037239767309817516">Моля, затворете всички прозорци на Google Chrome и го стартирайте отново, за да влезе в сила промяната.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb index 66864677..c1a1b45 100644 --- a/chrome/app/resources/google_chrome_strings_bn.xtb +++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">একটি কম্পিউটার শেয়ার করবেন? এখন আপনি আপনার পছন্দমতো উপায়ে Chrome কে সেট আপ করতে পারেন৷</translation> <translation id="4953650215774548573">আপনার ডিফল্ট ব্রাউজার হিসাবে Google Chrome কে সেট করুন</translation> <translation id="495931528404527476">Chrome-এ</translation> -<translation id="4965682129423310439">Chrome আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার খুঁজে পেয়েছে। Chrome এটিকে সরিয়ে দিতে ও আপনার সেটিংস রিস্টোর করতে পারে যাতে আপনার ব্রাউজার আবার স্বাভাবিকভাবে কাজ করে।</translation> <translation id="4990567037958725628">Google Chrome ক্যানারি</translation> <translation id="5028489144783860647">Google Chrome আপনার ডেটা সিঙ্ক করতে পারেনি৷ দয়া করে আপনার সিঙ্ক পাসফ্রেজ আপডেট করুন৷</translation> <translation id="5037239767309817516">দয়া করে সব Google Chrome উইন্ডো বন্ধ করুন এবং এই পরিবর্তনকে প্রভাবশালী করতে এটিকে পুনঃলঞ্চ করুন৷ </translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb index 4ba502e..fe411ee42 100644 --- a/chrome/app/resources/google_chrome_strings_ca.xtb +++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Si compartiu un ordinador, ara podeu configurar Chrome com vulgueu.</translation> <translation id="4953650215774548573">Defineix Google Chrome com a navegador predeterminat</translation> <translation id="495931528404527476">A Chrome</translation> -<translation id="4965682129423310439">Chrome ha trobat programari maliciós al teu ordinador. Chrome el pot suprimir i restaurar la teva configuració perquè el teu navegador torni a funcionar amb normalitat.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome no ha pogut sincronitzar les dades. Actualitzeu la frase de contrasenya de sincronització.</translation> <translation id="5037239767309817516">Tanqueu totes les finestres de Google Chrome i torneu a iniciar el programa perquè aquest canvi tingui efecte.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb index 301c7cb2..f15ad301 100644 --- a/chrome/app/resources/google_chrome_strings_cs.xtb +++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Sdílíte počítač s dalšími uživateli? Nyní si Chrome můžete nastavit podle svých představ.</translation> <translation id="4953650215774548573">Nastavit Google Chrome jako výchozí prohlížeč</translation> <translation id="495931528404527476">V Chromu</translation> -<translation id="4965682129423310439">Chrome ve vašem počítači našel škodlivý software. Chrome ho může odstranit a obnovit vaše nastavení, aby prohlížeč opět fungoval jako obvykle.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome vaše data nemohl synchronizovat. Aktualizujte prosím heslovou frázi pro synchronizaci.</translation> <translation id="5037239767309817516">Aby se změna projevila, zavřete prosím všechna okna aplikace Google Chrome a spusťte ji znovu.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb index d134a4f2..0e404bf 100644 --- a/chrome/app/resources/google_chrome_strings_da.xtb +++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Deler du computer med andre? Nu kan du konfigurere Chrome, præcist som du vil.</translation> <translation id="4953650215774548573">Angiv Google Chrome som din standardbrowser</translation> <translation id="495931528404527476">I Chrome</translation> -<translation id="4965682129423310439">Chrome fandt skadelig software på din computer. Chrome kan slette den og gendanne dine indstillinger, så din browser fungerer normalt igen.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome kunne ikke synkronisere dine data. Opdater din adgangssætning til synkronisering.</translation> <translation id="5037239767309817516">Luk alle vinduer i Google Chrome, og genstart, så denne ændring kan træde i kraft.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb index f4b12f7..6546e85 100644 --- a/chrome/app/resources/google_chrome_strings_de.xtb +++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Sie nutzen einen Computer gemeinsam mit anderen? Jetzt können Sie Chrome nach Ihren Wünschen einrichten.</translation> <translation id="4953650215774548573">Google Chrome als Standardbrowser festlegen</translation> <translation id="495931528404527476">In Chrome</translation> -<translation id="4965682129423310439">Chrome hat schädliche Software auf Ihrem Computer gefunden, die entfernt werden kann. Ihre Einstellungen werden dann wiederhergestellt, sodass Ihr Browser wieder wie gewohnt funktioniert.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome konnte Ihre Daten nicht synchronisieren. Bitte aktualisieren Sie Ihre Passphrase für die Synchronisierung.</translation> <translation id="5037239767309817516">Schließen Sie alle Google Chrome-Fenster und starten Sie die App neu, damit diese Änderung wirksam wird.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb index ad8b33a..0228374 100644 --- a/chrome/app/resources/google_chrome_strings_el.xtb +++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">Μοιράζεστε έναν υπολογιστή; Τώρα μπορείτε να ρυθμίσετε το Chrome όπως ακριβώς σας αρέσει.</translation> <translation id="4953650215774548573">Ορίστε το Google Chrome ως προεπιλεγμένο πρόγραμμα περιήγησης</translation> <translation id="495931528404527476">Στο Chrome</translation> -<translation id="4965682129423310439">Το Chrome εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας. Το Chrome μπορεί να το καταργήσει και να επαναφέρει τις ρυθμίσεις σας ώστε το πρόγραμμα περιήγησης να λειτουργεί και πάλι κανονικά.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Το Google Chrome δεν κατάφερε να συγχρονίσει τα δεδομένα σας. Ενημερώστε τη φράση πρόσβασης συγχρονισμού.</translation> <translation id="5037239767309817516">Κλείστε όλα τα παράθυρα του Google Chrome και επανεκκινήστε τον για να εφαρμοστεί αυτή η αλλαγή.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb index 69f2906..fa70d6e 100644 --- a/chrome/app/resources/google_chrome_strings_en-GB.xtb +++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Share a computer? Now you can set up Chrome just the way you like it.</translation> <translation id="4953650215774548573">Set Google Chrome as your default browser</translation> <translation id="495931528404527476">In Chrome</translation> -<translation id="4965682129423310439">Chrome found harmful software on your computer. Chrome can remove it and restore your settings to make your browser work normally again.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome could not sync your data. Please update your Sync passphrase.</translation> <translation id="5037239767309817516">Please close all Google Chrome windows and relaunch it for this change to take effect.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es-419.xtb b/chrome/app/resources/google_chrome_strings_es-419.xtb index 9f79a93..b6fe3d32 100644 --- a/chrome/app/resources/google_chrome_strings_es-419.xtb +++ b/chrome/app/resources/google_chrome_strings_es-419.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">¿Compartes una computadora? Ahora puedes configurar Chrome como a ti te gusta.</translation> <translation id="4953650215774548573">Establecer Google Chrome como navegador predeterminado</translation> <translation id="495931528404527476">En Chrome</translation> -<translation id="4965682129423310439">Se encontró software dañino en tu computadora. Chrome puede quitarlo y restablecer la configuración para que el navegador vuelva a funcionar correctamente.</translation> <translation id="4990567037958725628">Google Chrome Canario</translation> <translation id="5028489144783860647">Google Chrome no pudo sincronizar los datos. Actualiza la frase de contraseña de sincronización.</translation> <translation id="5037239767309817516">Cierra todas las ventanas de Google Chrome y reinicia el navegador para que se aplique el cambio.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb index 9b1a578a..4a040a7 100644 --- a/chrome/app/resources/google_chrome_strings_es.xtb +++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Si compartes un ordenador, ahora puedes configurar Chrome como quieras.</translation> <translation id="4953650215774548573">Establecer Google Chrome como navegador predeterminado</translation> <translation id="495931528404527476">En Chrome</translation> -<translation id="4965682129423310439">Chrome ha encontrado software dañino en tu ordenador. Chrome puede eliminarlo y restaurar tu configuración para que el navegador vuelva a funcionar con normalidad.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome no ha podido sincronizar los datos. Actualiza la frase de contraseña de sincronización.</translation> <translation id="5037239767309817516">Cierra todas las ventanas de Google Chrome y reinicia el navegador para que se aplique el cambio.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb index ef18ea0b..3111a4a 100644 --- a/chrome/app/resources/google_chrome_strings_et.xtb +++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">Kas jagage arvutit? Saate nüüd seadistada Chrome'i just nii, nagu teile meeldib.</translation> <translation id="4953650215774548573">Määra Google Chrome vaikebrauseriks</translation> <translation id="495931528404527476">Chrome'is</translation> -<translation id="4965682129423310439">Chrome leidis teie arvutist kahjulikku tarkvara. Chrome saab selle eemaldada ja teie seaded taastada, et brauser töötaks jälle normaalselt.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome ei saanud teie andmeid sünkroonida. Värskendage oma sünkroonimisparooli.</translation> <translation id="5037239767309817516">Muudatuse rakendamiseks sulgege kõik Google Chrome'i aknad ja taaskäivitage Chrome.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb index 3c14c230..39f0a01 100644 --- a/chrome/app/resources/google_chrome_strings_fa.xtb +++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">از رایانه بهطور مشترک استفاده میکنید؟ اکنون میتوانید Chrome را هر طور که دوست دارید، تنظیم کنید.</translation> <translation id="4953650215774548573">تنظیم Google Chrome به عنوان مرورگر پیشفرضتان</translation> <translation id="495931528404527476">در Chrome</translation> -<translation id="4965682129423310439">Chrome نرمافزار مضری را در رایانهتان پیدا کرد. Chrome میتواند آن را پاک و تنظیماتتان را بازیابی کند تا عملکرد مرورگرتان دوباره عادی شود.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome قادر به همگامسازی دادههای شما نبود. لطفاً رمز عبارتی همگامسازی خود را بهروز کنید.</translation> <translation id="5037239767309817516">لطفاً همه پنجرههای Google Chrome را ببندید و برای اعمال این تغییر، دوباره آن را راهاندازی کنید.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb index 2705e8d..1ab5f1d 100644 --- a/chrome/app/resources/google_chrome_strings_fi.xtb +++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">Jaatko tietokoneen jonkun kanssa? Nyt voit määrittää Chromen juuri sellaiseksi kuin haluat.</translation> <translation id="4953650215774548573">Aseta Google Chrome oletusselaimeksi</translation> <translation id="495931528404527476">Chromessa</translation> -<translation id="4965682129423310439">Chrome löysi haitallisia ohjelmia tietokoneestasi. Chrome voi poistaa ne ja palauttaa asetukset ennalleen, jotta selain toimii taas normaalisti.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome ei voinut synkronoida tietoja. Päivitä synkronoinnin tunnuslause.</translation> <translation id="5037239767309817516">Sulje kaikki Chrome-ikkunat ja käynnistä selain uudelleen, jotta muutos tulee voimaan.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb index 401c01de..e68de522 100644 --- a/chrome/app/resources/google_chrome_strings_fil.xtb +++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Magbabahagi ng computer? Ngayon, maaari mong i-set up ang Chrome sa paraang gusto mo.</translation> <translation id="4953650215774548573">Itakda ang Google Chrome bilang iyong default na browser</translation> <translation id="495931528404527476">Sa Chrome</translation> -<translation id="4965682129423310439">May nakitang mapaminsalang software ang Chrome sa iyong computer. Maaari itong alisin ng Chrome at i-restore ang mga setting mo upang mapaganang muli nang normal ang iyong browser.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Hindi mai-sync ng Google Chrome ang iyong data. Paki-update ang iyong passphrase sa Pag-sync.</translation> <translation id="5037239767309817516">Pakisara ang lahat ng mga window ng Google Chrome at ilunsad itong muli para magkaroon ng epekto ang pagbabagong ito.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb index 77d5c4bf..ffa32689 100644 --- a/chrome/app/resources/google_chrome_strings_fr.xtb +++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Vous partagez un ordinateur ? Vous pouvez désormais configurer Chrome selon vos besoins.</translation> <translation id="4953650215774548573">Définir Google Chrome en tant que navigateur par défaut</translation> <translation id="495931528404527476">Dans Chrome</translation> -<translation id="4965682129423310439">Chrome a détecté un logiciel malveillant sur votre ordinateur. Il peut supprimer ce logiciel et restaurer vos paramètres pour que votre navigateur fonctionne à nouveau normalement.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Impossible de synchroniser vos données dans Google Chrome. Veuillez mettre à jour votre phrase secrète de synchronisation.</translation> <translation id="5037239767309817516">Fermez toutes les fenêtres et relancez Google Chrome afin que cette modification soit prise en compte.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb index 8c4183d..f248c10 100644 --- a/chrome/app/resources/google_chrome_strings_gu.xtb +++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">કમ્પ્યુટર શેર કરીએ? હવે તમે તમને ગમે તે રીતે Chrome ને સેટ કરી શકો છો.</translation> <translation id="4953650215774548573">Google Chrome ને તમારા ડિફોલ્ટ બ્રાઉઝર તરીકે સેટ કરો</translation> <translation id="495931528404527476">Chrome માં</translation> -<translation id="4965682129423310439">Chromeને તમારા કમ્પ્યુટરમાં નુકસાનકારક સૉફ્ટવેર મળ્યું છે. તમારું બ્રાઉઝર ફરીથી સામાન્ય રીતે કાર્ય કરે તે માટે Chrome તેને દૂર કરીને તમારી સેટિંગ્સ પુનઃસ્થાપિત કરી શકે છે.</translation> <translation id="4990567037958725628">Google Chrome કૅનેરી</translation> <translation id="5028489144783860647">Google Chrome તમારા ડેટાને સમન્વયિત કરી શક્યું નથી. કૃપા કરીને તમારા સમન્વયન પાસફ્રેઝને અપડેટ કરો.</translation> <translation id="5037239767309817516">આ ફેરફારને પ્રભાવમાં લાવવા માટે કૃપા કરીને બધી Google Chrome વિંડોને બંધ કરો અને તેને ફરીથી લોંચ કરો.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb index 4b5fe25c..5417ed7 100644 --- a/chrome/app/resources/google_chrome_strings_hi.xtb +++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">कंप्यूटर साझा करते हैं? अब आप Chrome जैसा चाहें वैसा सेट कर सकते हैं.</translation> <translation id="4953650215774548573">Google Chrome को अपने डिफ़ॉल्ट ब्राउज़र के रूप में सेट करना</translation> <translation id="495931528404527476">Chrome में</translation> -<translation id="4965682129423310439">Chrome को आपके कंप्यूटर पर नुकसान पहुंचाने वाला सॉफ़्टवेयर मिला है. Chrome उसे निकाल सकता है और आपकी सेटिंग बहाल कर सकता है ताकि आपका ब्राउज़र फिर से सामान्य रूप से काम करने लगे.</translation> <translation id="4990567037958725628">Google Chrome कैनरी</translation> <translation id="5028489144783860647">Google Chrome आपका डेटा समन्वयित नहीं कर सका. कृपया अपना समन्वयन पासफ़्रेज़ अपडेट करें.</translation> <translation id="5037239767309817516">यह परिवर्तन लागू करने के लिए कृपया सभी Google Chrome विंडो बंद करें और इसे पुन: लॉन्च करें.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb index b751a5d..d2e41ed 100644 --- a/chrome/app/resources/google_chrome_strings_hr.xtb +++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Dijelite računalo? Sada možete prilagoditi Chrome baš kako želite.</translation> <translation id="4953650215774548573">Postavite Google Chrome kao svoj zadani preglednik</translation> <translation id="495931528404527476">U Chromeu</translation> -<translation id="4965682129423310439">Chrome je pronašao štetni softver na računalu. Može ga ukloniti i vratiti vaše postavke kako bi vaš preglednik ponovno funkcionirao normalno.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome nije mogao sinkronizirati vaše podatke. Ažurirajte zaporku za sinkronizaciju.</translation> <translation id="5037239767309817516">Zatvorite sve prozore preglednika Google Chrome i ponovo ga pokrenite kako bi ova promjena stupila na snagu.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb index 8ea1c21..3c59a2d 100644 --- a/chrome/app/resources/google_chrome_strings_hu.xtb +++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Közösen használ valakivel egy számítógépet? Mostantól úgy állíthatja be a Chrome-ot, ahogy Ön szeretné.</translation> <translation id="4953650215774548573">A Google Chrome beállítása alapértelmezett böngészőként</translation> <translation id="495931528404527476">A Chrome-ban</translation> -<translation id="4965682129423310439">A Chrome kártékony szoftvert talált a számítógépen. A Chrome képes a szoftver eltávolítására, és arra, hogy visszaállítsa a beállításokat, így a böngésző újra a megszokott módon működhet.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">A Google Chrome nem tudta szinkronizálni az adatokat. Kérjük, frissítse a szinkronizálás jelszavát.</translation> <translation id="5037239767309817516">Ahhoz, hogy a módosítás hatályba lépjen, zárja be az összes Google Chrome ablakot, és indítsa újra az alkalmazást.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb index 4b248a4..0aaa4b2d 100644 --- a/chrome/app/resources/google_chrome_strings_id.xtb +++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Membagikan komputer? Kini Anda dapat menyiapkan Chrome seperti yang Anda inginkan.</translation> <translation id="4953650215774548573">Setel Google Chrome sebagai browser default Anda</translation> <translation id="495931528404527476">Di Chrome</translation> -<translation id="4965682129423310439">Chrome menemukan software berbahaya di komputer. Chrome dapat menghapusnya dan memulihkan setelan agar browser Anda dapat berfungsi kembali secara normal.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome tidak dapat menyinkronkan data Anda. Perbarui frasa sandi Sinkronisasi Anda.</translation> <translation id="5037239767309817516">Harap tutup semua jendela Google Chrome dan luncurkan kembali agar perubahan ini berlaku.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb index 9aa8d4b2..c3ca5b5c 100644 --- a/chrome/app/resources/google_chrome_strings_it.xtb +++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">Condividi un computer con altre persone? Ora puoi configurare Chrome come preferisci.</translation> <translation id="4953650215774548573">Imposta Google Chrome come browser predefinito</translation> <translation id="495931528404527476">In Chrome</translation> -<translation id="4965682129423310439">Chrome ha trovato software dannoso sul computer. Può rimuoverlo e ripristinare le tue impostazioni per ristabilire il normale funzionamento del browser.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Impossibile sincronizzare i dati in Google Chrome. Aggiorna la passphrase di sincronizzazione.</translation> <translation id="5037239767309817516">Chiudi tutte le finestre di Google Chrome e riavvialo per rendere effettiva la modifica.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb index fd76595..df4c5e5 100644 --- a/chrome/app/resources/google_chrome_strings_iw.xtb +++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">משתף את המחשב? עכשיו תוכל להגדיר את Chrome בדיוק כמו שאתה אוהב.</translation> <translation id="4953650215774548573">הגדר את Google Chrome כדפדפן ברירת המחדל</translation> <translation id="495931528404527476">ב-Chrome</translation> -<translation id="4965682129423310439">Chrome מצא תוכנה מזיקה במחשב. כדי להחזיר את הדפדפן לפעילות רגילה, Chrome יכול להסיר את התוכנה ולשחזר את ההגדרות שלך.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome לא הצליח לסנכרן את הנתונים שלך. עדכן את משפט הסיסמה שלך עבור סנכרון.</translation> <translation id="5037239767309817516">כדי ששינוי זה ייכנס לתוקף, סגור את כל החלונות של Google Chrome והפעל אותו מחדש.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb index 9980620..7503b1c4 100644 --- a/chrome/app/resources/google_chrome_strings_ja.xtb +++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">共有パソコンにするなど、Chrome をお好みの方法で設定できるようになりました。</translation> <translation id="4953650215774548573">Google Chrome を既定のブラウザとして設定する</translation> <translation id="495931528404527476">Chrome 専用</translation> -<translation id="4965682129423310439">お使いのパソコン上に有害なソフトウェアが見つかりました。Chrome ではこのソフトウェアを削除し、設定を復元して、ブラウザを正常な動作に戻すことができます。</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome はデータを同期できませんでした。同期パスフレーズを更新してください。</translation> <translation id="5037239767309817516">この変更を反映するには、すべての Google Chrome ウィンドウを閉じてからもう一度起動してください。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb index c354314..f2d02da 100644 --- a/chrome/app/resources/google_chrome_strings_kn.xtb +++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದೇ? ಇದೀಗ ನೀವು ಇಷ್ಟಪಡುವ ಮಾರ್ಗದ ಮೂಲಕ ಇದೀಗ ನೀವು Chrome ಹೊಂದಿಸಬಹುದು.</translation> <translation id="4953650215774548573">Google Chrome ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ರೂಪದಲ್ಲಿ ಹೊಂದಿಸಿ</translation> <translation id="495931528404527476">Chrome ನಲ್ಲಿ</translation> -<translation id="4965682129423310439">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್ವೇರ್ಗಳನ್ನು Chrome ಕಂಡುಹಿಡಿದಿದೆ. ನಿಮ್ಮ ಬ್ರೌಸರ್ ಪುನಃ ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು Chrome ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕಬಹುದು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬಹುದು.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome ನಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಿಂಕ್ ಪಾಸ್ಫ್ರೇಸ್ ಅನ್ನು ನವೀಕರಿಸಿ.</translation> <translation id="5037239767309817516">ಈ ಬದಲಾವಣೆಯು ಕಾರ್ಯಗತಗೊಳ್ಳಲು ದಯವಿಟ್ಟು ಎಲ್ಲ Google Chrome ವಿಂಡೊಗಳನ್ನು ಮುಚ್ಚಿ ಹಾಗೂ ಅದನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb index a99182f9..e99dfbad 100644 --- a/chrome/app/resources/google_chrome_strings_ko.xtb +++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">컴퓨터를 공유하시겠습니까? 이제 원하는 대로 Chrome을 설정할 수 있습니다.</translation> <translation id="4953650215774548573">Chrome을 기본 브라우저로 설정</translation> <translation id="495931528404527476">Chrome</translation> -<translation id="4965682129423310439">Chrome이 컴퓨터에서 유해한 소프트웨어를 찾았습니다. Chrome에서 해당 소프트웨어를 삭제하고 설정을 복원하여 브라우저가 다시 정상적으로 작동하도록 할 수 있습니다.</translation> <translation id="4990567037958725628">Chrome 카나리아</translation> <translation id="5028489144783860647">Chrome에서 데이터를 동기화하지 못했습니다. 동기화 암호를 업데이트하시기 바랍니다.</translation> <translation id="5037239767309817516">변경사항을 적용하려면 모든 Chrome 창을 닫은 다음 다시 시작하시기 바랍니다.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb index 876fcb2..8a79972 100644 --- a/chrome/app/resources/google_chrome_strings_lt.xtb +++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -148,7 +148,6 @@ <translation id="4921569541910214635">Bendrinate kompiuterį? Dabar galite nustatyti „Chrome“ kaip tik norite.</translation> <translation id="4953650215774548573">Nustatyti „Google Chrome“ kaip numatytąją naršyklę</translation> <translation id="495931528404527476">Naudojant „Chrome“</translation> -<translation id="4965682129423310439">„Chrome“ rado žalingos programinės įrangos jūsų kompiuteryje. „Chrome“ gali ją pašalinti ir atkurti nustatymus, kad naršyklė vėl veiktų įprastai.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">„Google Chrome“ negali sinchronizuoti duomenų. Atnaujinkite sinchronizavimo slaptafrazę.</translation> <translation id="5037239767309817516">Uždarykite visus „Google Chrome“ langus ir paleiskite iš naujo, kad įsigaliotų šis pakeitimas.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb index cb632fa8..3d8d37f1 100644 --- a/chrome/app/resources/google_chrome_strings_lv.xtb +++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">Vai datoru izmanto vairāki lietotāji? Tagad varat iestatīt pārlūku Chrome atbilstoši savām vajadzībām.</translation> <translation id="4953650215774548573">Iestatīt Google Chrome kā manu noklusējuma pārlūku</translation> <translation id="495931528404527476">Pārlūkprogrammā Chrome</translation> -<translation id="4965682129423310439">Chrome atrada kaitīgu programmatūru jūsu datorā. Chrome var to noņemt un atjaunot jūsu iestatījumus, lai pārlūks atkal darbotos, kā paredzēts.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome nevarēja sinhronizēt jūsu datus. Lūdzu, atjauniniet savu sinhronizācijas ieejas frāzi.</translation> <translation id="5037239767309817516">Lai izmaiņas stātos spēkā, aizveriet visus Google Chrome logus un restartējiet pārlūku.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb index f0922107..6d74465e 100644 --- a/chrome/app/resources/google_chrome_strings_ml.xtb +++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">ഒരു കമ്പ്യൂട്ടർ പങ്കിടണോ? ഇപ്പോൾ നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ട രീതിയിൽ Chrome സജ്ജീകരിക്കാനാകും.</translation> <translation id="4953650215774548573">Google Chrome-നെ നിങ്ങളുടെ സ്ഥിര ബ്രൗസറായി സജ്ജീകരിക്കുക</translation> <translation id="495931528404527476">Chrome-ൽ</translation> -<translation id="4965682129423310439">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ Chrome ദോഷകരമായ സോഫ്റ്റ്വെയർ കണ്ടെത്തി. നിങ്ങളുടെ ബ്രൗസറിനെ വീണ്ടും സാധാരണഗതിയിൽ പ്രവർത്തിപ്പിക്കുന്നതിന് Chrome-ന് അത് നീക്കംചെയ്യാനും ക്രമീകരണം പുനഃസ്ഥാപിക്കാനും കഴിയും.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome-ന് നിങ്ങളുടെ ഡാറ്റ സമന്വയിപ്പിക്കാനായില്ല. നിങ്ങളുടെ സമന്വയ പാസ്ഫ്രെയ്സ് അപ്ഡേറ്റ് ചെയ്യുക.</translation> <translation id="5037239767309817516">ഈ മാറ്റങ്ങള് നടപ്പിലാകുന്നതിനായി ദയവായി എല്ലാ Google Chrome വിന്ഡോകളും അടച്ച് ഇത് വീണ്ടും സമാരംഭിക്കുക.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb index 17703ca..8919d4ec 100644 --- a/chrome/app/resources/google_chrome_strings_mr.xtb +++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">एक कॉंप्युटर सामायिक करायचा? आपल्याला आवडते त्या प्रकारे आपण आता Chrome सेट करू शकता.</translation> <translation id="4953650215774548573">आपला डीफॉल्ट ब्राउझर म्हणून Google Chrome सेट करा</translation> <translation id="495931528404527476">Chrome मध्ये</translation> -<translation id="4965682129423310439">Chrome ला तुमच्या काँप्युटरवर धोकादायक सॉफ्टवेअर आढळले. Chrome ते काढून टाकून तुमचा ब्राउझर पुन्हा नीट चालावा यासाठी तुमच्या सेटिंग्ज रीस्टोअर करू शकते.</translation> <translation id="4990567037958725628">Google Chrome कॅनरी</translation> <translation id="5028489144783860647">Google Chrome आपला डेटा संकालित करू शकले नाही. कृपया आपला संकालन वाक्यांश अपडेट करा.</translation> <translation id="5037239767309817516">कृपया सर्व Google Chrome विंडो बंद करा आणि हा बदल प्रभावी करण्यासाठी त्या पुन्हा लाँच करा.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb index 6c2b15f..f3901e9 100644 --- a/chrome/app/resources/google_chrome_strings_ms.xtb +++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Berkongsi komputer? Kini anda boleh sediakan Chrome menurut cara yang anda suka.</translation> <translation id="4953650215774548573">Tetapkan Google Chrome sebagai penyemak imbas lalai anda</translation> <translation id="495931528404527476">Dalam Chrome</translation> -<translation id="4965682129423310439">Chrome menemui perisian yang berbahaya pada komputer anda. Chrome boleh mengalih keluar perisian tersebut dan memulihkan tetapan anda supaya penyemak imbas anda berfungsi seperti biasa semula.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome tidak dapat menyegerakkan data anda. Sila kemas kini frasa laluan Segerak anda.</translation> <translation id="5037239767309817516">Sila tutup semua tetingkap dan lancarkannya semula untuk perubahan ini berkesan.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb index be8e3eec..80e939a 100644 --- a/chrome/app/resources/google_chrome_strings_nl.xtb +++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Deel je een computer? Je kunt Chrome nu precies instellen zoals jij dat wilt.</translation> <translation id="4953650215774548573">Google Chrome instellen als je standaardbrowser</translation> <translation id="495931528404527476">In Chrome</translation> -<translation id="4965682129423310439">Chrome heeft schadelijke software gevonden op je computer. Chrome kan deze software verwijderen en je instellingen herstellen zodat je browser weer normaal werkt.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome kan je gegevens niet synchroniseren. Update je synchronisatiewachtwoord.</translation> <translation id="5037239767309817516">Sluit alle Google Chrome-vensters en start Google Chrome opnieuw om deze wijziging door te voeren.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_no.xtb b/chrome/app/resources/google_chrome_strings_no.xtb index 9bbc1d9..7a18132 100644 --- a/chrome/app/resources/google_chrome_strings_no.xtb +++ b/chrome/app/resources/google_chrome_strings_no.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Deler du datamaskinen din med andre? Nå kan du konfigurere Chrome akkurat slik du vil.</translation> <translation id="4953650215774548573">Bruk Google Chrome som standard nettleser</translation> <translation id="495931528404527476">I Chrome</translation> -<translation id="4965682129423310439">Chrome fant skadelig programvare på datamaskinen du bruker. Chrome kan fjerne den og gjenopprette innstillingene dine, sånn at nettleseren fungerer normalt igjen.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome kunne ikke synkronisere dataene dine. Oppdater passordfrasen for synkronisering.</translation> <translation id="5037239767309817516">For at endringen skal tre i kraft, må du lukke alle vinduer og starte Google Chrome på nytt.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb index caf9663..ee42c2f 100644 --- a/chrome/app/resources/google_chrome_strings_pl.xtb +++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">Używasz komputera, z którego korzystają inne osoby? Teraz możesz skonfigurować Chrome tak, jak chcesz.</translation> <translation id="4953650215774548573">Ustaw Google Chrome jako domyślną przeglądarkę</translation> <translation id="495931528404527476">W Chrome</translation> -<translation id="4965682129423310439">Przeglądarka Chrome znalazła na Twoim komputerze szkodliwe oprogramowanie. Może je usunąć i przywrócić ustawienia, by znów mogła działać normalnie.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome nie może zsynchronizować danych. Zaktualizuj hasło synchronizacji.</translation> <translation id="5037239767309817516">Zamknij wszystkie okna przeglądarki Google Chrome i uruchom ją ponownie, aby zastosować zmiany.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb index ff1260b..7f3f65ea 100644 --- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb +++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">Você compartilha um computador? Agora é possível configurar o Google Chrome do jeito que você gosta.</translation> <translation id="4953650215774548573">Definir o Google Chrome como seu navegador padrão</translation> <translation id="495931528404527476">No Google Chrome</translation> -<translation id="4965682129423310439">O Chrome encontrou software perigoso no seu computador. O Chrome pode removê-lo e restaurar as configurações para que o navegador volte a funcionar normalmente.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">O Google Chrome não pôde sincronizar seus dados. Atualize sua senha de sincronização.</translation> <translation id="5037239767309817516">Feche todas as janelas do Google Chrome e reinicie-o para que essa alteração entre em vigor.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-PT.xtb b/chrome/app/resources/google_chrome_strings_pt-PT.xtb index 1aa6f60..b6f59209 100644 --- a/chrome/app/resources/google_chrome_strings_pt-PT.xtb +++ b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Partilha um computador? Agora pode configurar o Chrome exatamente como pretende.</translation> <translation id="4953650215774548573">Definir o Google Chrome como o navegador predefinido</translation> <translation id="495931528404527476">No Chrome</translation> -<translation id="4965682129423310439">O Chrome encontrou software prejudicial no seu computador. O Chrome pode removê-lo e restaurar as suas definições para que o navegador volte a funcionar normalmente.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">O Google Chrome não conseguiu sincronizar os dados. Atualize a frase de acesso da Sincronização.</translation> <translation id="5037239767309817516">Feche todas as janelas do Google Chrome e reinicie-o para que esta alteração tenha efeito.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb index 480b9c3..bac5391b 100644 --- a/chrome/app/resources/google_chrome_strings_ro.xtb +++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Folosești un computer în comun? Acum poți să configurezi Chrome exact cum îți place.</translation> <translation id="4953650215774548573">Setați Google Chrome ca browser prestabilit</translation> <translation id="495931528404527476">În Chrome</translation> -<translation id="4965682129423310439">Chrome a găsit software dăunător pe computer. Chrome poate să-l elimine și să restabilească setările pentru ca browserul să funcționeze normal din nou.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome nu a putut sincroniza datele. Actualizați expresia de acces pentru sincronizare.</translation> <translation id="5037239767309817516">Pentru ca această modificare să aibă efect, închide toate ferestrele Google Chrome și repornește-l.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ru.xtb b/chrome/app/resources/google_chrome_strings_ru.xtb index 20c15636..a9c493f2 100644 --- a/chrome/app/resources/google_chrome_strings_ru.xtb +++ b/chrome/app/resources/google_chrome_strings_ru.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Пользуетесь компьютером вместе с коллегой или другом? Теперь каждый из вас сможет настроить Chrome по своему вкусу.</translation> <translation id="4953650215774548573">Сделать Google Chrome браузером по умолчанию</translation> <translation id="495931528404527476">В Chrome</translation> -<translation id="4965682129423310439">На вашем компьютере обнаружено вредоносное ПО. Chrome может удалить его и восстановить настройки, чтобы вернуть браузер в обычное состояние.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome не удалось синхронизировать данные. Обновите кодовую фразу в Sync.</translation> <translation id="5037239767309817516">Чтобы изменения вступили в силу, закройте все окна Google Chrome и перезапустите браузер.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb index d491461..8fc025f6 100644 --- a/chrome/app/resources/google_chrome_strings_sk.xtb +++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -145,7 +145,6 @@ <translation id="4921569541910214635">Zdieľať počítač? Teraz si môžete prehliadač Chrome nastaviť podľa vlastných predstáv.</translation> <translation id="4953650215774548573">Nastaviť Google Chrome ako predvolený prehliadač</translation> <translation id="495931528404527476">V prehliadači Chrome</translation> -<translation id="4965682129423310439">Chrome našiel vo vašom počítači škodlivý softvér. Môže ho odstrániť a uložiť vaše nastavenia, aby prehliadač znova normálne fungoval.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Prehliadaču Google Chrome sa nepodarilo synchronizovať vaše údaje. Aktualizujte prístupovú frázu synchronizácie.</translation> <translation id="5037239767309817516">Táto zmena sa prejaví po zavretí všetkých okien prehliadača Google Chrome a jeho opätovnom spustení.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sl.xtb b/chrome/app/resources/google_chrome_strings_sl.xtb index be1223db..2cbf5e1 100644 --- a/chrome/app/resources/google_chrome_strings_sl.xtb +++ b/chrome/app/resources/google_chrome_strings_sl.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Imate računalnik v skupni rabi? Zdaj lahko nastavite Chrome po svojih željah.</translation> <translation id="4953650215774548573">Nastavitev Google Chroma za privzeti brskalnik</translation> <translation id="495931528404527476">V Chromu</translation> -<translation id="4965682129423310439">Chrome je v računalniku našel škodljivo programsko opremo. Chrome jo lahko odstrani in obnovi nastavitve, da bo brskalnik znova deloval kot običajno.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome ni mogel sinhronizirati podatkov. Posodobite geslo za sinhroniziranje.</translation> <translation id="5037239767309817516">Zaprite vsa okna brskalnika Google Chrome in ga znova zaženite, da uveljavite spremembe.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb index 3d9ffd9..dc5d13d6 100644 --- a/chrome/app/resources/google_chrome_strings_sr.xtb +++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Делите рачунар? Сада можете да подесите Chrome баш онако како вама одговара.</translation> <translation id="4953650215774548573">Подеси Google Chrome као подразумевани прегледач</translation> <translation id="495931528404527476">У Chrome-у</translation> -<translation id="4965682129423310439">Chrome је пронашао штетан софтвер на рачунару. Chrome може да га уклони и да врати подешавања да би прегледач поново функционисао као и обично.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome не може да синхронизује податке. Ажурирајте приступну фразу за Синхронизацију.</translation> <translation id="5037239767309817516">Затворите све прозоре Google Chrome прегледача и поново га покрените да би ова промена ступила на снагу.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb index 5805d43..4ac47eb 100644 --- a/chrome/app/resources/google_chrome_strings_sv.xtb +++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Delar du dator? Nu kan du konfigurera Chrome precis som du vill.</translation> <translation id="4953650215774548573">Ange Google Chrome som standardwebbläsare</translation> <translation id="495931528404527476">I Chrome</translation> -<translation id="4965682129423310439">Chrome har upptäckt skadlig programvara på datorn. Du kan låta Chrome ta bort den och återställa inställningarna så att webbläsaren fungerar som den ska igen.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome kunde inte synkronisera data. Uppdatera lösenfrasen för synkroniseringen.</translation> <translation id="5037239767309817516">Stäng alla fönster i Google Chrome och starta om så att ändringen genomförs.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sw.xtb b/chrome/app/resources/google_chrome_strings_sw.xtb index b546ef3..7798a77 100644 --- a/chrome/app/resources/google_chrome_strings_sw.xtb +++ b/chrome/app/resources/google_chrome_strings_sw.xtb
@@ -147,7 +147,6 @@ <translation id="4921569541910214635">Ungependa kushiriki kompyuta? Sasa unaweza kusanidi Chrome kama tu unavyoipenda.</translation> <translation id="4953650215774548573">Weka Google Chrome iwe kivinjari chako chaguo-msingi</translation> <translation id="495931528404527476">Katika Chrome</translation> -<translation id="4965682129423310439">Chrome imegundua programu hatari kwenye kompyuta yako. Chrome inaweza kuiondoa na kurejesha mipangilio yako ili kuwezesha kivinjari chako kufanya kazi tena kama kawaida.</translation> <translation id="4990567037958725628">Kanari ya Google Chrome</translation> <translation id="5028489144783860647">Google Chrome haikuweza kusawazisha data yako. Tafadhali sasisha kauli siri yako ya Usawazishaji.</translation> <translation id="5037239767309817516">Tafadhali funga madirisha yote ya Google Chrome na uianzishe upya ili mabadiliko haya yatekelezwe.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb index 22a58517..eb61863 100644 --- a/chrome/app/resources/google_chrome_strings_ta.xtb +++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">கணினியைப் பகிர்ந்து கொண்டுள்ளீர்களா? இப்போது நீங்கள் விரும்பும் விதத்தில் Chromeஐ அமைக்கலாம்.</translation> <translation id="4953650215774548573">Google Chrome ஐ உங்கள் இயல்புநிலை உலாவியாக அமைக்கவும்</translation> <translation id="495931528404527476">Chrome இல்</translation> -<translation id="4965682129423310439">உங்கள் கணினியில் தீங்கிழைக்கும் மென்பொருளை Chrome கண்டறிந்துள்ளது. உங்கள் உலாவியை வழக்கம் போல் மீண்டும் செயல்படுத்துவதற்கு, Chrome அதை அகற்றி, உங்கள் அமைப்புகளை மீட்டமைக்கும்.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">உங்கள் தரவை Google Chrome ஆல் ஒத்திசைக்க முடியவில்லை. உங்கள் கடவுச்சொற்றொடரைப் புதுப்பிக்கவும்.</translation> <translation id="5037239767309817516">இந்த மாற்றம் செயல்பட, எல்லா Google Chrome சாளரங்களையும் மூடி, அதை மீண்டும் தொடங்குக.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb index f90c82e..700527e 100644 --- a/chrome/app/resources/google_chrome_strings_te.xtb +++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">కంప్యూటర్ను భాగస్వామ్యం చేయాలా? ఇప్పుడు మీరు కోరుకున్న విధంగా Chromeను సెటప్ చేయవచ్చు.</translation> <translation id="4953650215774548573">Google Chromeను మీ డిఫాల్ట్ బ్రౌజర్గా సెట్ చేయండి</translation> <translation id="495931528404527476">Chromeలో</translation> -<translation id="4965682129423310439">Chrome మీ కంప్యూటర్లో హానికరమైన సాఫ్ట్వేర్ని కనుగొంది. Chrome దీనిని తీసివేయగలదు మరియు మీ బ్రౌజర్ సాధారణంగా పని చేసేలా చేయడం కోసం మీ సెట్టింగ్లను పునరుద్ధరించగలదు.</translation> <translation id="4990567037958725628">Google Chrome కేనరీ</translation> <translation id="5028489144783860647">Google Chrome మీ డేటాను సమకాలీకరించలేకపోయింది. దయచేసి మీ సమకాలీకరణ రహస్య పదబంధాన్ని నవీకరించండి.</translation> <translation id="5037239767309817516">దయచేసి ఈ మార్పు అమలులోకి రావడానికి అన్ని Google Chrome విండోలను మూసివేయండి మరియు దీన్ని మళ్ళీ ప్రారంభించండి.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb index cee741d5..fc35923 100644 --- a/chrome/app/resources/google_chrome_strings_th.xtb +++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">หากต้องการแชร์คอมพิวเตอร์ ตอนนี้คุณสามารถตั้งค่า Chrome ในแบบที่คุณชอบได้แล้ว</translation> <translation id="4953650215774548573">ตั้ง Google Chrome เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation> <translation id="495931528404527476">ใน Chrome</translation> -<translation id="4965682129423310439">Chrome พบซอฟต์แวร์อันตรายในคอมพิวเตอร์ของคุณ Chrome สามารถนำซอฟต์แวร์ดังกล่าวออกและคืนการตั้งค่าเดิมเพื่อให้เบราว์เซอร์ทำงานเป็นปกติอีกครั้ง</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome ไม่สามารถซิงค์ข้อมูลของคุณ โปรดอัปเดตข้อความรหัสผ่านการซิงค์</translation> <translation id="5037239767309817516">โปรดปิดหน้าต่าง Google Chrome ทั้งหมด แล้วเปิดใหม่อีกครั้งเพื่อให้การเปลี่ยนแปลงนี้มีผล</translation>
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb index 6b5fdfe..be225332 100644 --- a/chrome/app/resources/google_chrome_strings_tr.xtb +++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">Bilgisayarı paylaşıyor musunuz? Artık Chrome'u tam olarak istediğiniz gibi kurabilirsiniz.</translation> <translation id="4953650215774548573">Google Chrome'u varsayılan tarayıcım olarak ayarla</translation> <translation id="495931528404527476">Chrome'da</translation> -<translation id="4965682129423310439">Chrome, bilgisayarınızda zararlı yazılım buldu. Chrome bunu kaldırabilir ve tarayıcınızın tekrar normal şekilde çalışması için ayarlarınızı geri yükleyebilir.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome, verilerinizi senkronize edemedi. Lütfen Senkronizasyon parolanızı güncelleyin.</translation> <translation id="5037239767309817516">Bu değişikliğin geçerli olması için, lütfen tüm Google Chrome pencerelerini kapatın ve Google Chrome'u yeniden başlatın.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb index 1b4bc4ef..8fb3da0b 100644 --- a/chrome/app/resources/google_chrome_strings_uk.xtb +++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">Користуєтеся комп’ютером спільно з іншими? Тепер ви можете налаштувати Chrome на свій смак.</translation> <translation id="4953650215774548573">Зробити Google Chrome веб-переглядачем за умовчанням</translation> <translation id="495931528404527476">У Chrome</translation> -<translation id="4965682129423310439">Chrome виявив зловмисне програмне забезпечення на вашому комп’ютері. Chrome може вилучити його та відновити налаштування для роботи веб-переглядача у звичайному режимі.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome не вдалося синхронізувати ваші дані. Оновіть свою парольну фразу для синхронізації.</translation> <translation id="5037239767309817516">Щоб зміна почала діяти, закрийте всі вікна Google Chrome і перезапустіть веб-переглядач.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb index c89000d..b6e1136 100644 --- a/chrome/app/resources/google_chrome_strings_vi.xtb +++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -146,7 +146,6 @@ <translation id="4921569541910214635">Bạn muốn chia sẻ máy tính? Giờ đây, bạn có thể thiết lập Chrome theo cách mình muốn.</translation> <translation id="4953650215774548573">Đặt Google Chrome làm trình duyệt mặc định của bạn</translation> <translation id="495931528404527476">Trong Chrome</translation> -<translation id="4965682129423310439">Chrome đã tìm thấy phần mềm độc hại trên máy tính của bạn. Chrome có thể xóa phần mềm này và khôi phục cài đặt của bạn để làm cho trình duyệt hoạt động bình thường trở lại.</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome không thể đồng bộ hóa dữ liệu của bạn. Vui lòng cập nhật cụm mật khẩu Đồng bộ hóa của bạn.</translation> <translation id="5037239767309817516">Hãy đóng tất cả các cửa sổ Google Chrome và chạy lại Google Chrome để thay đổi này có hiệu lực.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb index 2f000fe..0606669 100644 --- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb +++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -144,7 +144,6 @@ <translation id="4921569541910214635">与其他人共用计算机?现在,您可以随心所欲地设置Chrome。</translation> <translation id="4953650215774548573">将Google Chrome设为默认浏览器</translation> <translation id="495931528404527476">在 Chrome 中</translation> -<translation id="4965682129423310439">Chrome 在您的计算机上发现了有害软件。Chrome 可移除该软件并恢复您的设置,以确保您的浏览器重新正常运行。</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome无法同步您的数据。请更新您的同步密码。</translation> <translation id="5037239767309817516">请关闭所有 Google Chrome 窗口,然后重新启动,以使此更改生效。</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb index 2b77bce..b4b2bd9 100644 --- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb +++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -143,7 +143,6 @@ <translation id="4921569541910214635">如果你與他人共用電腦,現在可以依自己的喜好和習慣設定 Chrome。</translation> <translation id="4953650215774548573">將 Google Chrome 設為預設瀏覽器</translation> <translation id="495931528404527476">在 Chrome 中</translation> -<translation id="4965682129423310439">Chrome 在你的電腦上找到有害軟體,並可將它移除及還原相關設定,讓你的瀏覽器恢復正常運作。</translation> <translation id="4990567037958725628">Google Chrome Canary</translation> <translation id="5028489144783860647">Google Chrome 無法同步處理你的資料,請更新你的同步通關密語。</translation> <translation id="5037239767309817516">為了讓這項變更生效,請關閉所有 Google Chrome 視窗,並重新啟動瀏覽器。</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 8b8a6a9f..6e7222d 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -1755,8 +1755,8 @@ "//content/app/resources", "//content/public/browser", "//content/public/common", + "//content/public/common:buildflags", "//content/public/common:feature_h264_with_openh264_ffmpeg", - "//content/public/common:features", "//content/public/common:service_names", "//courgette:courgette_lib", "//crypto", @@ -2965,6 +2965,8 @@ "conflicts/msi_util_win.h", "conflicts/problematic_programs_updater_win.cc", "conflicts/problematic_programs_updater_win.h", + "conflicts/registry_key_watcher_win.cc", + "conflicts/registry_key_watcher_win.h", "conflicts/third_party_conflicts_manager_win.cc", "conflicts/third_party_conflicts_manager_win.h", "conflicts/uninstall_application_win.cc", @@ -3620,33 +3622,6 @@ "//media/cast:net", "//services/device/public/mojom", ] - - if (is_chromeos) { - sources += [ - "signin/chrome_proximity_auth_client.cc", - "signin/chrome_proximity_auth_client.h", - "signin/easy_unlock_app_manager.cc", - "signin/easy_unlock_app_manager.h", - "signin/easy_unlock_auth_attempt.cc", - "signin/easy_unlock_auth_attempt.h", - "signin/easy_unlock_metrics.cc", - "signin/easy_unlock_metrics.h", - "signin/easy_unlock_notification_controller.cc", - "signin/easy_unlock_notification_controller.h", - "signin/easy_unlock_notification_controller_chromeos.cc", - "signin/easy_unlock_notification_controller_chromeos.h", - "signin/easy_unlock_screenlock_state_handler.cc", - "signin/easy_unlock_screenlock_state_handler.h", - "signin/easy_unlock_service.cc", - "signin/easy_unlock_service.h", - "signin/easy_unlock_service_factory.cc", - "signin/easy_unlock_service_factory.h", - "signin/easy_unlock_service_regular.cc", - "signin/easy_unlock_service_regular.h", - "signin/easy_unlock_service_signin_chromeos.cc", - "signin/easy_unlock_service_signin_chromeos.h", - ] - } } if (enable_mdns) {
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index a179200..1f3ff691 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -90,10 +90,10 @@ #include "components/translate/core/browser/translate_ranker_impl.h" #include "components/version_info/version_info.h" #include "components/viz/common/features.h" +#include "content/public/common/buildflags.h" #include "content/public/common/content_features.h" #include "content/public/common/content_switches.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "device/base/features.h" #include "device/vr/features/features.h" #include "extensions/features/features.h" @@ -1856,14 +1856,6 @@ flag_descriptions::kChromeHomeBottomNavLabelsName, flag_descriptions::kChromeHomeBottomNavLabelsDescription, kOsAndroid, FEATURE_VALUE_TYPE(chrome::android::kChromeHomeBottomNavLabels)}, - {"enable-chrome-home-clear-url-on-open", - flag_descriptions::kChromeHomeClearUrlOnOpenName, - flag_descriptions::kChromeHomeClearUrlOnOpenDescription, kOsAndroid, - FEATURE_VALUE_TYPE(chrome::android::kChromeHomeClearUrlOnOpen)}, - {"enable-chrome-home-show-google-g", - flag_descriptions::kChromeHomeShowGoogleGName, - flag_descriptions::kChromeHomeShowGoogleGDescription, kOsAndroid, - FEATURE_VALUE_TYPE(chrome::android::kChromeHomeShowGoogleGWhenUrlCleared)}, {"enable-chrome-home-bottom-sheet-inactivity-expansion", flag_descriptions::kChromeHomeInactivitySheetExpansionName, flag_descriptions::kChromeHomeInactivitySheetExpansionDescription, @@ -1873,11 +1865,6 @@ flag_descriptions::kChromeHomeMenuItemsName, flag_descriptions::kChromeHomeMenuItemsDescription, kOsAndroid, FEATURE_VALUE_TYPE(chrome::android::kChromeHomeMenuItemsExpandSheet)}, - {"enable-chrome-home-personalized-omnibox-suggestions", - flag_descriptions::kChromeHomePersonalizedOmniboxSuggestionsName, - flag_descriptions::kChromeHomePersonalizedOmniboxSuggestionsDescription, - kOsAndroid, - FEATURE_VALUE_TYPE(omnibox::kAndroidChromeHomePersonalizedSuggestions)}, {"chrome-home-swipe-logic", flag_descriptions::kChromeHomeSwipeLogicName, flag_descriptions::kChromeHomeSwipeLogicDescription, kOsAndroid, MULTI_VALUE_TYPE(kChromeHomeSwipeLogicChoices)},
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc index ac4148a..9813ee90 100644 --- a/chrome/browser/android/chrome_feature_list.cc +++ b/chrome/browser/android/chrome_feature_list.cc
@@ -18,7 +18,6 @@ #include "components/ntp_snippets/features.h" #include "components/ntp_tiles/constants.h" #include "components/offline_pages/core/offline_page_feature.h" -#include "components/omnibox/browser/omnibox_field_trial.h" #include "components/password_manager/core/common/password_manager_features.h" #include "components/payments/core/features.h" #include "components/safe_browsing/features.h" @@ -65,14 +64,12 @@ &kCCTRedirectPreconnect, &kChromeDuplexFeature, &kChromeHomeBottomNavLabels, - &kChromeHomeClearUrlOnOpen, &kChromeHomeDestroySuggestions, &kChromeHomeDropAllButFirstThumbnail, &kChromeHomeInactivitySheetExpansion, &kChromeHomeMenuItemsExpandSheet, &kChromeHomePersistentIph, &kChromeHomePullToRefreshIphAtTop, - &kChromeHomeShowGoogleGWhenUrlCleared, &kChromeHomeSurvey, &kChromeHomeSwipeLogic, &kChromeHomeSwipeLogicVelocity, @@ -144,7 +141,6 @@ &offline_pages::kOfflinePagesCTV2Feature, // See crbug.com/734753. &offline_pages::kOfflinePagesDescriptivePendingStatusFeature, &offline_pages::kOfflinePagesSharingFeature, - &omnibox::kAndroidChromeHomePersonalizedSuggestions, &password_manager::features::kPasswordExport, &password_manager::features::kPasswordSearchMobile, &subresource_filter::kSafeBrowsingSubresourceFilterExperimentalUI, @@ -197,9 +193,6 @@ const base::Feature kChromeHomeBottomNavLabels{ "ChromeHomeBottomNavLabels", base::FEATURE_DISABLED_BY_DEFAULT}; -const base::Feature kChromeHomeClearUrlOnOpen{ - "ChromeHomeClearUrlOnOpen", base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kChromeHomeDestroySuggestions{ "ChromeHomeDestroySuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -218,9 +211,6 @@ const base::Feature kChromeHomePullToRefreshIphAtTop{ "ChromeHomePullToRefreshIphAtTop", base::FEATURE_DISABLED_BY_DEFAULT}; -const base::Feature kChromeHomeShowGoogleGWhenUrlCleared{ - "ChromeHomeShowGoogleGWhenUrlCleared", base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kChromeHomeSurvey{"ChromeHomeSurvey", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/android/chrome_feature_list.h b/chrome/browser/android/chrome_feature_list.h index cbc8dc0a..a2990b1 100644 --- a/chrome/browser/android/chrome_feature_list.h +++ b/chrome/browser/android/chrome_feature_list.h
@@ -23,14 +23,12 @@ extern const base::Feature kCCTRedirectPreconnect; extern const base::Feature kChromeDuplexFeature; extern const base::Feature kChromeHomeBottomNavLabels; -extern const base::Feature kChromeHomeClearUrlOnOpen; extern const base::Feature kChromeHomeDestroySuggestions; extern const base::Feature kChromeHomeDropAllButFirstThumbnail; extern const base::Feature kChromeHomeInactivitySheetExpansion; extern const base::Feature kChromeHomeMenuItemsExpandSheet; extern const base::Feature kChromeHomePersistentIph; extern const base::Feature kChromeHomePullToRefreshIphAtTop; -extern const base::Feature kChromeHomeShowGoogleGWhenUrlCleared; extern const base::Feature kChromeHomeSurvey; extern const base::Feature kChromeHomeSwipeLogic; extern const base::Feature kChromeHomeSwipeLogicVelocity;
diff --git a/chrome/browser/android/omnibox/autocomplete_controller_android.cc b/chrome/browser/android/omnibox/autocomplete_controller_android.cc index 7fa03c5..149dbc8 100644 --- a/chrome/browser/android/omnibox/autocomplete_controller_android.cc +++ b/chrome/browser/android/omnibox/autocomplete_controller_android.cc
@@ -618,8 +618,7 @@ if (!profile) return; - if (!OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial( - profile->GetPrefs())) + if (!OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial()) return; // ZeroSuggestPrefetcher deletes itself after it's done prefetching.
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc index eb41accb..74a6c30 100644 --- a/chrome/browser/android/preferences/pref_service_bridge.cc +++ b/chrome/browser/android/preferences/pref_service_bridge.cc
@@ -42,7 +42,6 @@ #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/pref_names.h" #include "components/metrics/metrics_pref_names.h" -#include "components/omnibox/browser/omnibox_pref_names.h" #include "components/password_manager/core/common/password_manager_pref_names.h" #include "components/prefs/pref_service.h" #include "components/safe_browsing/common/safe_browsing_prefs.h" @@ -1149,15 +1148,6 @@ ConvertJavaStringToUTF8(env, pref)); } -static void -JNI_PrefServiceBridge_SetChromeHomePersonalizedOmniboxSuggestionsEnabled( - JNIEnv* env, - const JavaParamRef<jobject>& obj, - jboolean is_enabled) { - GetPrefService()->SetBoolean(omnibox::kZeroSuggestChromeHomePersonalized, - is_enabled); -} - static void JNI_PrefServiceBridge_GetChromeAcceptLanguages( JNIEnv* env, const JavaParamRef<jobject>& obj,
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index bc72201..e54a72a 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -125,6 +125,7 @@ "//components/sync_wifi", "//components/toolbar", "//components/tracing:startup_tracing", + "//components/translate/core/browser:browser", "//components/ukm/content", "//components/user_manager", "//components/viz/host", @@ -860,6 +861,12 @@ "login/demo_mode/demo_app_launcher.h", "login/demo_mode/demo_mode_detector.cc", "login/demo_mode/demo_mode_detector.h", + "login/easy_unlock/chrome_proximity_auth_client.cc", + "login/easy_unlock/chrome_proximity_auth_client.h", + "login/easy_unlock/easy_unlock_app_manager.cc", + "login/easy_unlock/easy_unlock_app_manager.h", + "login/easy_unlock/easy_unlock_auth_attempt.cc", + "login/easy_unlock/easy_unlock_auth_attempt.h", "login/easy_unlock/easy_unlock_challenge_wrapper.cc", "login/easy_unlock/easy_unlock_challenge_wrapper.h", "login/easy_unlock/easy_unlock_create_keys_operation.cc", @@ -868,12 +875,28 @@ "login/easy_unlock/easy_unlock_get_keys_operation.h", "login/easy_unlock/easy_unlock_key_manager.cc", "login/easy_unlock/easy_unlock_key_manager.h", + "login/easy_unlock/easy_unlock_metrics.cc", + "login/easy_unlock/easy_unlock_metrics.h", + "login/easy_unlock/easy_unlock_notification_controller.cc", + "login/easy_unlock/easy_unlock_notification_controller.h", + "login/easy_unlock/easy_unlock_notification_controller_chromeos.cc", + "login/easy_unlock/easy_unlock_notification_controller_chromeos.h", "login/easy_unlock/easy_unlock_reauth.cc", "login/easy_unlock/easy_unlock_reauth.h", "login/easy_unlock/easy_unlock_refresh_keys_operation.cc", "login/easy_unlock/easy_unlock_refresh_keys_operation.h", "login/easy_unlock/easy_unlock_remove_keys_operation.cc", "login/easy_unlock/easy_unlock_remove_keys_operation.h", + "login/easy_unlock/easy_unlock_screenlock_state_handler.cc", + "login/easy_unlock/easy_unlock_screenlock_state_handler.h", + "login/easy_unlock/easy_unlock_service.cc", + "login/easy_unlock/easy_unlock_service.h", + "login/easy_unlock/easy_unlock_service_factory.cc", + "login/easy_unlock/easy_unlock_service_factory.h", + "login/easy_unlock/easy_unlock_service_regular.cc", + "login/easy_unlock/easy_unlock_service_regular.h", + "login/easy_unlock/easy_unlock_service_signin_chromeos.cc", + "login/easy_unlock/easy_unlock_service_signin_chromeos.h", "login/easy_unlock/easy_unlock_tpm_key_manager.cc", "login/easy_unlock/easy_unlock_tpm_key_manager.h", "login/easy_unlock/easy_unlock_tpm_key_manager_factory.cc",
diff --git a/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc b/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc index 8e8e37b..24acb5a0 100644 --- a/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc +++ b/chrome/browser/chromeos/accessibility/select_to_speak_browsertest.cc
@@ -256,13 +256,7 @@ EXPECT_EQ(focus_rings.size(), 0u); } -// Disabled due to use-after-free; see https://crbug.com/818603. -#if defined(ADDRESS_SANITIZER) -#define MAYBE_ContinuesReadingDuringResize DISABLED_ContinuesReadingDuringResize -#else -#define MAYBE_ContinuesReadingDuringResize ContinuesReadingDuringResize -#endif -IN_PROC_BROWSER_TEST_F(SelectToSpeakTest, MAYBE_ContinuesReadingDuringResize) { +IN_PROC_BROWSER_TEST_F(SelectToSpeakTest, ContinuesReadingDuringResize) { ActivateSelectToSpeakInWindowBounds( "data:text/html;charset=utf-8,<p>First paragraph</p>" "<div id='resize' style='width:300px; font-size: 10em'>"
diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc index e089228..b587083 100644 --- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc +++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
@@ -420,12 +420,6 @@ return true; } -void AXTreeSourceArc::GetChildrenForTest( - mojom::AccessibilityNodeInfoData* node, - std::vector<mojom::AccessibilityNodeInfoData*>* out_children) const { - GetChildren(node, out_children); -} - mojom::AccessibilityNodeInfoData* AXTreeSourceArc::GetRoot() const { mojom::AccessibilityNodeInfoData* root = GetFromId(root_id_); return root; @@ -539,21 +533,21 @@ // String properties. int labelled_by = -1; - // Accessible name computation picks (in-order) content description, text, or - // labelled by text. + // Accessible name computation picks the first non-empty string from content + // description, text, or labelled by text. std::string name; - bool has_name = false; - if (GetStringProperty(node, AXStringProperty::CONTENT_DESCRIPTION, &name) || - GetStringProperty(node, AXStringProperty::TEXT, &name)) { - has_name = true; - } else if (GetIntProperty(node, - arc::mojom::AccessibilityIntProperty::LABELED_BY, - &labelled_by)) { + bool has_name = + GetStringProperty(node, AXStringProperty::CONTENT_DESCRIPTION, &name); + if (name.empty()) + has_name |= GetStringProperty(node, AXStringProperty::TEXT, &name); + if (name.empty() && + GetIntProperty(node, arc::mojom::AccessibilityIntProperty::LABELED_BY, + &labelled_by)) { mojom::AccessibilityNodeInfoData* labelled_by_node = GetFromId(labelled_by); if (labelled_by_node) { ui::AXNodeData labelled_by_data; SerializeNode(labelled_by_node, &labelled_by_data); - has_name = labelled_by_data.GetStringAttribute( + has_name |= labelled_by_data.GetStringAttribute( ax::mojom::StringAttribute::kName, &name); } }
diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h index 0efbf11..9d55f09 100644 --- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h +++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h
@@ -23,6 +23,7 @@ } namespace arc { +class AXTreeSourceArcTest; using AXTreeArcSerializer = ui::AXTreeSerializer<mojom::AccessibilityNodeInfoData*, @@ -59,12 +60,8 @@ // Gets the window id of this tree. int32_t window_id() const { return window_id_; } - // Gets children for testing. - void GetChildrenForTest( - mojom::AccessibilityNodeInfoData* node, - std::vector<mojom::AccessibilityNodeInfoData*>* out_children) const; - private: + friend class arc::AXTreeSourceArcTest; class FocusStealer; // AXTreeSource overrides.
diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc index ba960ecb..2a4a39c 100644 --- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc +++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc
@@ -13,16 +13,35 @@ class AXTreeSourceArcTest : public testing::Test, public AXTreeSourceArc::Delegate { public: - AXTreeSourceArcTest() = default; + AXTreeSourceArcTest() : tree_(new AXTreeSourceArc(this)) {} + + protected: + void CallNotifyAccessibilityEvent(mojom::AccessibilityEventData* event_data) { + tree_->NotifyAccessibilityEvent(event_data); + } + + void CallGetChildren( + mojom::AccessibilityNodeInfoData* node, + std::vector<mojom::AccessibilityNodeInfoData*>* out_children) const { + tree_->GetChildren(node, out_children); + } + + void CallSerializeNode(mojom::AccessibilityNodeInfoData* node, + std::unique_ptr<ui::AXNodeData>* out_data) const { + ASSERT_TRUE(out_data); + *out_data = std::make_unique<ui::AXNodeData>(); + tree_->SerializeNode(node, out_data->get()); + } private: void OnAction(const ui::AXActionData& data) const override {} + std::unique_ptr<AXTreeSourceArc> tree_; + DISALLOW_COPY_AND_ASSIGN(AXTreeSourceArcTest); }; TEST_F(AXTreeSourceArcTest, ReorderChildrenByLayout) { - AXTreeSourceArc tree(this); auto event1 = arc::mojom::AccessibilityEventData::New(); event1->source_id = 0; @@ -66,7 +85,7 @@ arc::mojom::AccessibilityBooleanProperty::VISIBLE_TO_USER, true)); // Populate the tree source with the data. - tree.NotifyAccessibilityEvent(event1.get()); + CallNotifyAccessibilityEvent(event1.get()); // Live edit the data sources to exercise each layout. @@ -74,7 +93,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(0, 0, 50, 50); std::vector<mojom::AccessibilityNodeInfoData*> top_to_bottom; - tree.GetChildrenForTest(event1->node_data[0].get(), &top_to_bottom); + CallGetChildren(event1->node_data[0].get(), &top_to_bottom); ASSERT_EQ(2U, top_to_bottom.size()); ASSERT_EQ(2, top_to_bottom[0]->id); ASSERT_EQ(1, top_to_bottom[1]->id); @@ -83,7 +102,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(0, 0, 50, 50); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); top_to_bottom.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &top_to_bottom); + CallGetChildren(event1->node_data[0].get(), &top_to_bottom); ASSERT_EQ(2U, top_to_bottom.size()); ASSERT_EQ(1, top_to_bottom[0]->id); ASSERT_EQ(2, top_to_bottom[1]->id); @@ -92,7 +111,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(101, 100, 99, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); std::vector<mojom::AccessibilityNodeInfoData*> left_to_right; - tree.GetChildrenForTest(event1->node_data[0].get(), &left_to_right); + CallGetChildren(event1->node_data[0].get(), &left_to_right); ASSERT_EQ(2U, left_to_right.size()); ASSERT_EQ(2, left_to_right[0]->id); ASSERT_EQ(1, left_to_right[1]->id); @@ -101,7 +120,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(101, 100, 99, 100); left_to_right.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &left_to_right); + CallGetChildren(event1->node_data[0].get(), &left_to_right); ASSERT_EQ(2U, left_to_right.size()); ASSERT_EQ(1, left_to_right[0]->id); ASSERT_EQ(2, left_to_right[1]->id); @@ -110,7 +129,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 99, 100, 100); top_to_bottom.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &top_to_bottom); + CallGetChildren(event1->node_data[0].get(), &top_to_bottom); ASSERT_EQ(2U, top_to_bottom.size()); ASSERT_EQ(2, top_to_bottom[0]->id); ASSERT_EQ(1, top_to_bottom[1]->id); @@ -119,7 +138,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 99, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); top_to_bottom.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &top_to_bottom); + CallGetChildren(event1->node_data[0].get(), &top_to_bottom); ASSERT_EQ(2U, top_to_bottom.size()); ASSERT_EQ(1, top_to_bottom[0]->id); ASSERT_EQ(2, top_to_bottom[1]->id); @@ -128,7 +147,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 10); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); std::vector<mojom::AccessibilityNodeInfoData*> dimension; - tree.GetChildrenForTest(event1->node_data[0].get(), &dimension); + CallGetChildren(event1->node_data[0].get(), &dimension); ASSERT_EQ(2U, dimension.size()); ASSERT_EQ(2, dimension[0]->id); ASSERT_EQ(1, dimension[1]->id); @@ -136,7 +155,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 10, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); dimension.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &dimension); + CallGetChildren(event1->node_data[0].get(), &dimension); ASSERT_EQ(2U, dimension.size()); ASSERT_EQ(2, dimension[0]->id); ASSERT_EQ(1, dimension[1]->id); @@ -145,7 +164,7 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 100, 10); dimension.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &dimension); + CallGetChildren(event1->node_data[0].get(), &dimension); ASSERT_EQ(2U, dimension.size()); ASSERT_EQ(1, dimension[0]->id); ASSERT_EQ(2, dimension[1]->id); @@ -153,10 +172,73 @@ event1->node_data[1]->bounds_in_screen = gfx::Rect(100, 100, 100, 100); event1->node_data[2]->bounds_in_screen = gfx::Rect(100, 100, 10, 100); dimension.clear(); - tree.GetChildrenForTest(event1->node_data[0].get(), &dimension); + CallGetChildren(event1->node_data[0].get(), &dimension); ASSERT_EQ(2U, dimension.size()); ASSERT_EQ(1, dimension[0]->id); ASSERT_EQ(2, dimension[1]->id); } +TEST_F(AXTreeSourceArcTest, AccessibleNameComputation) { + auto event = arc::mojom::AccessibilityEventData::New(); + event->source_id = 0; + event->task_id = 1; + event->event_type = arc::mojom::AccessibilityEventType::VIEW_FOCUSED; + event->node_data.push_back(arc::mojom::AccessibilityNodeInfoData::New()); + event->node_data[0]->id = 0; + event->node_data[0]->string_properties = + std::unordered_map<arc::mojom::AccessibilityStringProperty, + std::string>(); + + // Populate the tree source with the data. + CallNotifyAccessibilityEvent(event.get()); + + // Live edit name related attributes. + + // No attributes. + std::unique_ptr<ui::AXNodeData> data; + CallSerializeNode(event->node_data[0].get(), &data); + std::string name; + ASSERT_FALSE( + data->GetStringAttribute(ax::mojom::StringAttribute::kName, &name)); + + // Text (empty). + event->node_data[0]->string_properties.value().insert( + std::make_pair(arc::mojom::AccessibilityStringProperty::TEXT, "")); + + CallSerializeNode(event->node_data[0].get(), &data); + ASSERT_TRUE( + data->GetStringAttribute(ax::mojom::StringAttribute::kName, &name)); + ASSERT_EQ("", name); + + // Text (non-empty). + event->node_data[0]->string_properties->clear(); + event->node_data[0]->string_properties.value().insert(std::make_pair( + arc::mojom::AccessibilityStringProperty::TEXT, "label text")); + + CallSerializeNode(event->node_data[0].get(), &data); + ASSERT_TRUE( + data->GetStringAttribute(ax::mojom::StringAttribute::kName, &name)); + ASSERT_EQ("label text", name); + + // Content description (empty), text (non-empty). + event->node_data[0]->string_properties.value().insert(std::make_pair( + arc::mojom::AccessibilityStringProperty::CONTENT_DESCRIPTION, "")); + + CallSerializeNode(event->node_data[0].get(), &data); + ASSERT_TRUE( + data->GetStringAttribute(ax::mojom::StringAttribute::kName, &name)); + ASSERT_EQ("label text", name); + + // Content description (non-empty), text (non-empty). + event->node_data[0] + ->string_properties + .value()[arc::mojom::AccessibilityStringProperty::CONTENT_DESCRIPTION] = + "label content description"; + + CallSerializeNode(event->node_data[0].get(), &data); + ASSERT_TRUE( + data->GetStringAttribute(ax::mojom::StringAttribute::kName, &name)); + ASSERT_EQ("label content description", name); +} + } // namespace arc
diff --git a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.cc b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.cc index 2b7f9c794..aaccd1a 100644 --- a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.cc +++ b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.cc
@@ -9,13 +9,13 @@ #include <utility> #include "base/stl_util.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_factory.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_storage.h" #include "chrome/browser/chromeos/login/supervised/supervised_user_authentication.h" #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/common/pref_names.h" #include "chromeos/login/auth/extended_authenticator.h" #include "chromeos/login/auth/user_context.h" @@ -378,7 +378,7 @@ if (!AreModesEqual(initial_modes, updated_modes)) FireEvent(updated_modes); - EasyUnlockService::Get(chrome_details_.GetProfile()) + chromeos::EasyUnlockService::Get(chrome_details_.GetProfile()) ->HandleUserReauth(user_context); Respond(ArgumentList(SetModes::Results::Create(true)));
diff --git a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc index c2a4bdb..1c35436 100644 --- a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc +++ b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc
@@ -11,13 +11,13 @@ #include "base/bind.h" #include "base/memory/ptr_util.h" #include "base/stl_util.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_factory.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_storage.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_utils.h" #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" #include "chrome/browser/extensions/extension_api_unittest.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" #include "chrome/common/pref_names.h" #include "chromeos/login/auth/fake_extended_authenticator.h" #include "components/user_manager/scoped_user_manager.h"
diff --git a/chrome/browser/signin/chrome_proximity_auth_client.cc b/chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.cc similarity index 76% rename from chrome/browser/signin/chrome_proximity_auth_client.cc rename to chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.cc index 0fbe990..2419b1ea 100644 --- a/chrome/browser/signin/chrome_proximity_auth_client.cc +++ b/chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/chrome_proximity_auth_client.h" +#include "chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h" #include <stdint.h> @@ -11,11 +11,13 @@ #include "base/sys_info.h" #include "base/version.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h" +#include "chrome/browser/chromeos/login/easy_unlock/secure_message_delegate_chromeos.h" #include "chrome/browser/cryptauth/chrome_cryptauth_service_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_window.h" -#include "chrome/browser/signin/easy_unlock_service.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "components/cryptauth/cryptauth_client_impl.h" @@ -29,19 +31,12 @@ #include "components/signin/core/browser/signin_manager_base.h" #include "components/version_info/version_info.h" -#if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/login/easy_unlock/secure_message_delegate_chromeos.h" -#include "chrome/browser/signin/easy_unlock_service_signin_chromeos.h" -#endif - using proximity_auth::ScreenlockState; ChromeProximityAuthClient::ChromeProximityAuthClient(Profile* profile) - : profile_(profile) { -} + : profile_(profile) {} -ChromeProximityAuthClient::~ChromeProximityAuthClient() { -} +ChromeProximityAuthClient::~ChromeProximityAuthClient() {} std::string ChromeProximityAuthClient::GetAuthenticatedUsername() const { const SigninManagerBase* signin_manager = @@ -53,19 +48,22 @@ } void ChromeProximityAuthClient::UpdateScreenlockState(ScreenlockState state) { - EasyUnlockService* service = EasyUnlockService::Get(profile_); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_); if (service) service->UpdateScreenlockState(state); } void ChromeProximityAuthClient::FinalizeUnlock(bool success) { - EasyUnlockService* service = EasyUnlockService::Get(profile_); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_); if (service) service->FinalizeUnlock(success); } void ChromeProximityAuthClient::FinalizeSignin(const std::string& secret) { - EasyUnlockService* service = EasyUnlockService::Get(profile_); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_); if (service) service->FinalizeSignin(secret); } @@ -75,26 +73,25 @@ const std::string& remote_public_key, const std::string& channel_binding_data, base::Callback<void(const std::string& challenge)> callback) { -#if defined(OS_CHROMEOS) - EasyUnlockService* easy_unlock_service = EasyUnlockService::Get(profile_); - if (easy_unlock_service->GetType() == EasyUnlockService::TYPE_REGULAR) { + chromeos::EasyUnlockService* easy_unlock_service = + chromeos::EasyUnlockService::Get(profile_); + if (easy_unlock_service->GetType() == + chromeos::EasyUnlockService::TYPE_REGULAR) { PA_LOG(ERROR) << "Unable to get challenge when user is logged in."; callback.Run(std::string()); return; } - static_cast<EasyUnlockServiceSignin*>(easy_unlock_service) + static_cast<chromeos::EasyUnlockServiceSignin*>(easy_unlock_service) ->WrapChallengeForUserAndDevice(AccountId::FromUserEmail(user_id), remote_public_key, channel_binding_data, callback); -#else - callback.Run(std::string()); -#endif } proximity_auth::ProximityAuthPrefManager* ChromeProximityAuthClient::GetPrefManager() { - EasyUnlockService* service = EasyUnlockService::Get(profile_); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_); if (service) return service->GetProximityAuthPrefManager(); return nullptr; @@ -102,14 +99,10 @@ std::unique_ptr<cryptauth::SecureMessageDelegate> ChromeProximityAuthClient::CreateSecureMessageDelegate() { -// Note: Although CryptAuthService::CreateSecureMessageDelegate() exists, we -// don't use it here (as opposed to other methods in this class) because the -// CryptAuthService is not available on the ChromeOS login screen. -#if defined(OS_CHROMEOS) + // Note: Although CryptAuthService::CreateSecureMessageDelegate() exists, we + // don't use it here (as opposed to other methods in this class) because the + // CryptAuthService is not available on the ChromeOS login screen. return std::make_unique<chromeos::SecureMessageDelegateChromeOS>(); -#else - return nullptr; -#endif } std::unique_ptr<cryptauth::CryptAuthClientFactory>
diff --git a/chrome/browser/signin/chrome_proximity_auth_client.h b/chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h similarity index 88% rename from chrome/browser/signin/chrome_proximity_auth_client.h rename to chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h index bf46cec..7369eb985 100644 --- a/chrome/browser/signin/chrome_proximity_auth_client.h +++ b/chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_CHROME_PROXIMITY_AUTH_CLIENT_H_ -#define CHROME_BROWSER_SIGNIN_CHROME_PROXIMITY_AUTH_CLIENT_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_CHROME_PROXIMITY_AUTH_CLIENT_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_CHROME_PROXIMITY_AUTH_CLIENT_H_ #include "base/macros.h" #include "components/proximity_auth/proximity_auth_client.h" @@ -51,4 +51,4 @@ DISALLOW_COPY_AND_ASSIGN(ChromeProximityAuthClient); }; -#endif // CHROME_BROWSER_SIGNIN_CHROME_PROXIMITY_AUTH_CLIENT_H_ +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_CHROME_PROXIMITY_AUTH_CLIENT_H_
diff --git a/chrome/browser/signin/easy_unlock_app_manager.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.cc similarity index 95% rename from chrome/browser/signin/easy_unlock_app_manager.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.cc index 4f68217..8afe5df 100644 --- a/chrome/browser/signin/easy_unlock_app_manager.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_app_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include <utility> @@ -24,6 +24,8 @@ #include "extensions/browser/extension_system.h" #include "extensions/common/one_shot_event.h" +namespace chromeos { + namespace { class EasyUnlockAppManagerImpl : public EasyUnlockAppManager { @@ -64,11 +66,9 @@ : extension_system_(extension_system), app_id_(extension_misc::kEasyUnlockAppId), manifest_id_(manifest_id), - app_path_(app_path) { -} + app_path_(app_path) {} -EasyUnlockAppManagerImpl::~EasyUnlockAppManagerImpl() { -} +EasyUnlockAppManagerImpl::~EasyUnlockAppManagerImpl() {} void EasyUnlockAppManagerImpl::EnsureReady( const base::Closure& ready_callback) { @@ -188,8 +188,7 @@ } // namespace -EasyUnlockAppManager::~EasyUnlockAppManager() { -} +EasyUnlockAppManager::~EasyUnlockAppManager() {} // static std::unique_ptr<EasyUnlockAppManager> EasyUnlockAppManager::Create( @@ -199,3 +198,5 @@ return std::unique_ptr<EasyUnlockAppManager>( new EasyUnlockAppManagerImpl(extension_system, manifest_id, app_path)); } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_app_manager.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h similarity index 85% rename from chrome/browser/signin/easy_unlock_app_manager.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h index 42372e9e..c89a156 100644 --- a/chrome/browser/signin/easy_unlock_app_manager.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_APP_MANAGER_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_APP_MANAGER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_APP_MANAGER_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_APP_MANAGER_H_ #include <memory> #include <string> @@ -16,6 +16,8 @@ class ExtensionSystem; } +namespace chromeos { + // Used to manage Easy Unlock app's lifetime and to dispatch events to the app. // It's main purpose is to abstract extension system from the rest of easy // unlock code. @@ -55,4 +57,6 @@ virtual bool SendAuthAttemptEvent() = 0; }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_APP_MANAGER_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_APP_MANAGER_H_
diff --git a/chrome/browser/signin/easy_unlock_app_manager_unittest.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager_unittest.cc similarity index 98% rename from chrome/browser/signin/easy_unlock_app_manager_unittest.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager_unittest.cc index 5134c93..da58023 100644 --- a/chrome/browser/signin/easy_unlock_app_manager_unittest.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_app_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include <stddef.h> @@ -214,7 +214,7 @@ base::CommandLine::ForCurrentProcess()->AppendSwitch( proximity_auth::switches::kForceLoadEasyUnlockAppInTests); extensions::ExtensionSystem* extension_system = SetUpExtensionSystem(); - app_manager_ = EasyUnlockAppManager::Create( + app_manager_ = chromeos::EasyUnlockAppManager::Create( extension_system, IDR_EASY_UNLOCK_MANIFEST, GetAppPath()); } @@ -267,14 +267,14 @@ event_router_->AddEventObserver(&event_consumer_); event_router_->set_expected_extension_id(extension_misc::kEasyUnlockAppId); - extension_service_->component_loader()-> - set_ignore_whitelist_for_testing(true); + extension_service_->component_loader()->set_ignore_whitelist_for_testing( + true); return test_extension_system; } protected: - std::unique_ptr<EasyUnlockAppManager> app_manager_; + std::unique_ptr<chromeos::EasyUnlockAppManager> app_manager_; // Needed by extension system. content::TestBrowserThreadBundle thread_bundle_;
diff --git a/chrome/browser/signin/easy_unlock_auth_attempt.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.cc similarity index 96% rename from chrome/browser/signin/easy_unlock_auth_attempt.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.cc index b485fc59..b7424aea 100644 --- a/chrome/browser/signin/easy_unlock_auth_attempt.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.cc
@@ -2,19 +2,21 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_auth_attempt.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h" #include "base/bind.h" #include "base/command_line.h" #include "base/logging.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" #include "components/proximity_auth/screenlock_bridge.h" #include "components/proximity_auth/switches.h" #include "crypto/encryptor.h" #include "crypto/symmetric_key.h" +namespace chromeos { + namespace { // Decrypts the secret that should be used to login from |wrapped_secret| using @@ -186,3 +188,5 @@ finalized_callback_.Run(type_, kFailure, account_id, std::string(), std::string()); } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_auth_attempt.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h similarity index 85% rename from chrome/browser/signin/easy_unlock_auth_attempt.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h index 3cd683fc..11778c528 100644 --- a/chrome/browser/signin/easy_unlock_auth_attempt.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_AUTH_ATTEMPT_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_AUTH_ATTEMPT_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_AUTH_ATTEMPT_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_AUTH_ATTEMPT_H_ #include <string> @@ -11,6 +11,8 @@ #include "base/macros.h" #include "components/signin/core/account_id/account_id.h" +namespace chromeos { + class EasyUnlockAppManager; // Class responsible for handling easy unlock auth attempts (both for unlocking @@ -23,10 +25,7 @@ class EasyUnlockAuthAttempt { public: // The auth type. - enum Type { - TYPE_UNLOCK, - TYPE_SIGNIN - }; + enum Type { TYPE_UNLOCK, TYPE_SIGNIN }; // A callback to be invoked after the auth attempt is finalized. |success| // indicates whether the attempt is successful or not. |account_id| is the @@ -36,7 +35,8 @@ bool success, const AccountId& account_id, const std::string& key_secret, - const std::string& key_label)> FinalizedCallback; + const std::string& key_label)> + FinalizedCallback; EasyUnlockAuthAttempt(EasyUnlockAppManager* app_manager, const AccountId& account_id, @@ -64,11 +64,7 @@ private: // The internal attempt state. - enum State { - STATE_IDLE, - STATE_RUNNING, - STATE_DONE - }; + enum State { STATE_IDLE, STATE_RUNNING, STATE_DONE }; // Cancels the attempt. void Cancel(const AccountId& account_id); @@ -83,4 +79,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttempt); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_AUTH_ATTEMPT_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_AUTH_ATTEMPT_H_
diff --git a/chrome/browser/signin/easy_unlock_auth_attempt_unittest.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt_unittest.cc similarity index 92% rename from chrome/browser/signin/easy_unlock_auth_attempt_unittest.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt_unittest.cc index f719eede..9d77e3e7 100644 --- a/chrome/browser/signin/easy_unlock_auth_attempt_unittest.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt_unittest.cc
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_auth_attempt.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h" #include <stddef.h> #include "base/command_line.h" #include "base/macros.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" #include "components/proximity_auth/screenlock_bridge.h" #include "components/proximity_auth/switches.h" #include "testing/gtest/include/gtest/gtest.h" @@ -21,21 +21,18 @@ const char kTestUser1[] = "user1"; const char kTestUser2[] = "user2"; -const unsigned char kSecret[] = { - 0x7c, 0x85, 0x82, 0x7d, 0x00, 0x1f, 0x6a, 0x29, 0x2f, 0xc4, 0xb5, 0x60, - 0x08, 0x9b, 0xb0, 0x5b -}; +const unsigned char kSecret[] = {0x7c, 0x85, 0x82, 0x7d, 0x00, 0x1f, + 0x6a, 0x29, 0x2f, 0xc4, 0xb5, 0x60, + 0x08, 0x9b, 0xb0, 0x5b}; -const unsigned char kSessionKey[] = { - 0xc3, 0xd9, 0x83, 0x16, 0x52, 0xde, 0x99, 0xd7, 0x4e, 0x60, 0xf9, 0xec, - 0xa8, 0x9c, 0x0e, 0xbe -}; +const unsigned char kSessionKey[] = {0xc3, 0xd9, 0x83, 0x16, 0x52, 0xde, + 0x99, 0xd7, 0x4e, 0x60, 0xf9, 0xec, + 0xa8, 0x9c, 0x0e, 0xbe}; const unsigned char kWrappedSecret[] = { - 0x3a, 0xea, 0x51, 0xd9, 0x64, 0x64, 0xe1, 0xcd, 0xd8, 0xee, 0x99, 0xf5, - 0xb1, 0xd4, 0x9f, 0xc4, 0x28, 0xd6, 0xfd, 0x69, 0x0b, 0x9e, 0x06, 0x21, - 0xfc, 0x40, 0x1f, 0xeb, 0x75, 0x64, 0x52, 0xd8 -}; + 0x3a, 0xea, 0x51, 0xd9, 0x64, 0x64, 0xe1, 0xcd, 0xd8, 0xee, 0x99, + 0xf5, 0xb1, 0xd4, 0x9f, 0xc4, 0x28, 0xd6, 0xfd, 0x69, 0x0b, 0x9e, + 0x06, 0x21, 0xfc, 0x40, 0x1f, 0xeb, 0x75, 0x64, 0x52, 0xd8}; std::string GetSecret() { return std::string(reinterpret_cast<const char*>(kSecret), @@ -54,7 +51,7 @@ // Fake app manager used by the EasyUnlockAuthAttempt during tests. // It tracks screenlockPrivate.onAuthAttempted events. -class FakeAppManager : public EasyUnlockAppManager { +class FakeAppManager : public chromeos::EasyUnlockAppManager { public: FakeAppManager() : auth_attempt_count_(0u), auth_attempt_should_fail_(false) {} @@ -209,10 +206,10 @@ void SetUp() override { app_manager_.reset(new FakeAppManager()); - auth_attempt_.reset( - new EasyUnlockAuthAttempt(app_manager_.get(), test_account_id1_, - EasyUnlockAuthAttempt::TYPE_UNLOCK, - EasyUnlockAuthAttempt::FinalizedCallback())); + auth_attempt_.reset(new chromeos::EasyUnlockAuthAttempt( + app_manager_.get(), test_account_id1_, + chromeos::EasyUnlockAuthAttempt::TYPE_UNLOCK, + chromeos::EasyUnlockAuthAttempt::FinalizedCallback())); } void TearDown() override { @@ -228,7 +225,7 @@ lock_handler_.get()); } - std::unique_ptr<EasyUnlockAuthAttempt> auth_attempt_; + std::unique_ptr<chromeos::EasyUnlockAuthAttempt> auth_attempt_; std::unique_ptr<FakeAppManager> app_manager_; std::unique_ptr<TestLockHandler> lock_handler_; @@ -368,10 +365,10 @@ void SetUp() override { app_manager_.reset(new FakeAppManager()); - auth_attempt_.reset( - new EasyUnlockAuthAttempt(app_manager_.get(), test_account_id1_, - EasyUnlockAuthAttempt::TYPE_SIGNIN, - EasyUnlockAuthAttempt::FinalizedCallback())); + auth_attempt_.reset(new chromeos::EasyUnlockAuthAttempt( + app_manager_.get(), test_account_id1_, + chromeos::EasyUnlockAuthAttempt::TYPE_SIGNIN, + chromeos::EasyUnlockAuthAttempt::FinalizedCallback())); } void TearDown() override { @@ -387,7 +384,7 @@ lock_handler_.get()); } - std::unique_ptr<EasyUnlockAuthAttempt> auth_attempt_; + std::unique_ptr<chromeos::EasyUnlockAuthAttempt> auth_attempt_; std::unique_ptr<FakeAppManager> app_manager_; std::unique_ptr<TestLockHandler> lock_handler_;
diff --git a/chrome/browser/signin/easy_unlock_metrics.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.cc similarity index 87% rename from chrome/browser/signin/easy_unlock_metrics.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.cc index 9fa81ee0..1182260 100644 --- a/chrome/browser/signin/easy_unlock_metrics.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.cc
@@ -2,11 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_metrics.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" #include "base/logging.h" #include "base/metrics/histogram_macros.h" +namespace chromeos { + void RecordEasyUnlockDidUserManuallyUnlockPhone(bool did_unlock) { UMA_HISTOGRAM_BOOLEAN("EasyUnlock.AuthEvent.DidUserManuallyUnlockPhone", did_unlock); @@ -34,7 +36,8 @@ void RecordEasyUnlockTrialRunEvent(EasyUnlockTrialRunEvent event) { DCHECK_LT(event, EASY_UNLOCK_TRIAL_RUN_EVENT_COUNT); - UMA_HISTOGRAM_ENUMERATION("EasyUnlock.TrialRun.Events", - event, + UMA_HISTOGRAM_ENUMERATION("EasyUnlock.TrialRun.Events", event, EASY_UNLOCK_TRIAL_RUN_EVENT_COUNT); } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_metrics.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h similarity index 93% rename from chrome/browser/signin/easy_unlock_metrics.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h index 4c1e0b66..aedbbb1a 100644 --- a/chrome/browser/signin/easy_unlock_metrics.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h
@@ -2,13 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_METRICS_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_METRICS_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_METRICS_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_METRICS_H_ namespace base { class TimeDelta; } +namespace chromeos { + // Tracking login events for Easy unlock metrics. // This enum is used to define the buckets for an enumerated UMA histogram. // Hence, @@ -87,4 +89,6 @@ void RecordEasyUnlockScreenUnlockEvent(EasyUnlockAuthEvent event); void RecordEasyUnlockTrialRunEvent(EasyUnlockTrialRunEvent event); -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_METRICS_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_METRICS_H_
diff --git a/chrome/browser/signin/easy_unlock_notification_controller.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.cc similarity index 63% rename from chrome/browser/signin/easy_unlock_notification_controller.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.cc index babbf33..fa9a43b 100644 --- a/chrome/browser/signin/easy_unlock_notification_controller.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.cc
@@ -2,13 +2,17 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_notification_controller.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h" #include "base/memory/ptr_util.h" #include "build/build_config.h" -#include "chrome/browser/signin/easy_unlock_notification_controller_chromeos.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h" + +namespace chromeos { std::unique_ptr<EasyUnlockNotificationController> EasyUnlockNotificationController::Create(Profile* profile) { return std::make_unique<EasyUnlockNotificationControllerChromeOS>(profile); } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_notification_controller.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h similarity index 76% rename from chrome/browser/signin/easy_unlock_notification_controller.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h index 87ce351..98d7b65 100644 --- a/chrome/browser/signin/easy_unlock_notification_controller.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_ #include <memory> #include <string> @@ -13,6 +13,8 @@ class Profile; +namespace chromeos { + // Responsible for displaying all notifications for EasyUnlock. class EasyUnlockNotificationController : public proximity_auth::NotificationController { @@ -32,4 +34,6 @@ void ShowPromotionNotification() override = 0; }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_H_
diff --git a/chrome/browser/signin/easy_unlock_notification_controller_chromeos.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.cc similarity index 97% rename from chrome/browser/signin/easy_unlock_notification_controller_chromeos.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.cc index 0e77fdc..8974982 100644 --- a/chrome/browser/signin/easy_unlock_notification_controller_chromeos.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_notification_controller_chromeos.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h" #include "base/guid.h" #include "base/memory/ptr_util.h" @@ -17,6 +17,8 @@ #include "ui/chromeos/devicetype_utils.h" #include "ui/message_center/public/cpp/notification_types.h" +namespace chromeos { + namespace { const char kEasyUnlockChromebookAddedNotifierId[] = @@ -200,3 +202,5 @@ } } } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_notification_controller_chromeos.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h similarity index 82% rename from chrome/browser/signin/easy_unlock_notification_controller_chromeos.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h index 2d0125f..a0858d5 100644 --- a/chrome/browser/signin/easy_unlock_notification_controller_chromeos.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_ #include <memory> #include <string> @@ -11,12 +11,14 @@ #include "base/callback.h" #include "base/macros.h" #include "base/memory/weak_ptr.h" -#include "chrome/browser/signin/easy_unlock_notification_controller.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h" #include "ui/message_center/public/cpp/notification.h" #include "ui/message_center/public/cpp/notification_delegate.h" class Profile; +namespace chromeos { + // Implementation of EasyUnlockNotificationController for ChromeOS. class EasyUnlockNotificationControllerChromeOS : public EasyUnlockNotificationController { @@ -71,4 +73,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockNotificationControllerChromeOS); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_NOTIFICATION_CONTROLLER_CHROMEOS_H_
diff --git a/chrome/browser/signin/easy_unlock_notification_controller_chromeos_unittest.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos_unittest.cc similarity index 96% rename from chrome/browser/signin/easy_unlock_notification_controller_chromeos_unittest.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos_unittest.cc index fbfec84..ccc2730f 100644 --- a/chrome/browser/signin/easy_unlock_notification_controller_chromeos_unittest.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_notification_controller_chromeos.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/notifications/notification_display_service_tester.h" @@ -16,7 +16,7 @@ const char kPhoneName[] = "Nexus 6"; class TestableNotificationController - : public EasyUnlockNotificationControllerChromeOS { + : public chromeos::EasyUnlockNotificationControllerChromeOS { public: explicit TestableNotificationController(Profile* profile) : EasyUnlockNotificationControllerChromeOS(profile) {}
diff --git a/chrome/browser/signin/easy_unlock_screenlock_state_handler.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.cc similarity index 98% rename from chrome/browser/signin/easy_unlock_screenlock_state_handler.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.cc index 9f8e2aa..a2ff7f5 100644 --- a/chrome/browser/signin/easy_unlock_screenlock_state_handler.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h" #include <stddef.h> @@ -10,13 +10,15 @@ #include "base/strings/string16.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" -#include "chrome/browser/signin/easy_unlock_metrics.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" #include "chrome/grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/chromeos/devicetype_utils.h" using proximity_auth::ScreenlockState; +namespace chromeos { + namespace { proximity_auth::ScreenlockBridge::UserPodCustomIcon GetIconForState( @@ -384,3 +386,5 @@ base::string16()); } } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_screenlock_state_handler.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h similarity index 92% rename from chrome/browser/signin/easy_unlock_screenlock_state_handler.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h index 3fa33f0..65cdc4fd3 100644 --- a/chrome/browser/signin/easy_unlock_screenlock_state_handler.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ #include <string> @@ -13,6 +13,8 @@ #include "components/proximity_auth/screenlock_state.h" #include "components/signin/core/account_id/account_id.h" +namespace chromeos { + // Profile specific class responsible for updating screenlock UI for the user // associated with the profile when their Easy Unlock state changes. class EasyUnlockScreenlockStateHandler @@ -113,4 +115,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockScreenlockStateHandler); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_
diff --git a/chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler_unittest.cc similarity index 91% rename from chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler_unittest.cc index 2cbedd2..8d164c4f 100644 --- a/chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h" #include <stddef.h> @@ -15,8 +15,8 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/test/histogram_tester.h" -#include "chrome/browser/signin/easy_unlock_metrics.h" -#include "chrome/browser/signin/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/grit/generated_resources.h" #include "components/proximity_auth/screenlock_bridge.h" #include "components/proximity_auth/screenlock_state.h" @@ -105,9 +105,7 @@ return auth_type_; } - ScreenType GetScreenType() const override { - return LOCK_SCREEN; - } + ScreenType GetScreenType() const override { return LOCK_SCREEN; } void Unlock(const AccountId& account_id) override { ASSERT_FALSE(true) << "Should not be reached."; @@ -122,14 +120,10 @@ // Utility methods used by tests: // Gets last set auth value. - base::string16 GetAuthValue() const { - return auth_value_; - } + base::string16 GetAuthValue() const { return auth_value_; } // Sets the auth value. - void SetAuthValue(const base::string16& value) { - auth_value_ = value; - } + void SetAuthValue(const base::string16& value) { auth_value_ = value; } // Returns the number of times an icon was shown since the last call to this // method. @@ -227,8 +221,8 @@ screenlock_bridge->SetLockHandler(lock_handler_.get()); // Create the screenlock state handler object that will be tested. - state_handler_.reset(new EasyUnlockScreenlockStateHandler( - account_id_, EasyUnlockScreenlockStateHandler::NO_HARDLOCK, + state_handler_.reset(new chromeos::EasyUnlockScreenlockStateHandler( + account_id_, chromeos::EasyUnlockScreenlockStateHandler::NO_HARDLOCK, screenlock_bridge)); } @@ -240,7 +234,7 @@ protected: // The state handler that is being tested. - std::unique_ptr<EasyUnlockScreenlockStateHandler> state_handler_; + std::unique_ptr<chromeos::EasyUnlockScreenlockStateHandler> state_handler_; // The user associated with |state_handler_|. const AccountId account_id_ = AccountId::FromUserEmail("test_user@gmail.com"); @@ -317,7 +311,7 @@ lock_handler_->GetAuthType(account_id_)); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); EXPECT_EQ(proximity_auth::mojom::AuthType::OFFLINE_PASSWORD, @@ -330,7 +324,7 @@ EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); ASSERT_TRUE(lock_handler_->HasCustomIcon()); @@ -344,7 +338,7 @@ lock_handler_->GetAuthType(account_id_)); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::NO_PAIRING); + chromeos::EasyUnlockScreenlockStateHandler::NO_PAIRING); EXPECT_FALSE(lock_handler_->HasCustomIcon()); EXPECT_EQ(proximity_auth::mojom::AuthType::OFFLINE_PASSWORD, @@ -495,8 +489,7 @@ } } -TEST_F(EasyUnlockScreenlockStateHandlerTest, - NoPairingHardlockClearsIcon) { +TEST_F(EasyUnlockScreenlockStateHandlerTest, NoPairingHardlockClearsIcon) { state_handler_->ChangeState(ScreenlockState::PHONE_LOCKED); EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); @@ -504,7 +497,7 @@ EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::NO_PAIRING); + chromeos::EasyUnlockScreenlockStateHandler::NO_PAIRING); EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); ASSERT_FALSE(lock_handler_->HasCustomIcon()); @@ -518,7 +511,7 @@ EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); + chromeos::EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); ASSERT_TRUE(lock_handler_->HasCustomIcon()); @@ -542,7 +535,7 @@ EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); + chromeos::EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); ASSERT_TRUE(lock_handler_->HasCustomIcon()); @@ -567,9 +560,9 @@ state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); - EXPECT_EQ(l10n_util::GetStringUTF16( - IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE), - lock_handler_->GetAuthValue()); + EXPECT_EQ( + l10n_util::GetStringUTF16(IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE), + lock_handler_->GetAuthValue()); state_handler_->ChangeState(ScreenlockState::NO_PHONE); @@ -600,7 +593,7 @@ lock_handler_->GetAuthType(account_id_)); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); EXPECT_EQ(proximity_auth::mojom::AuthType::OFFLINE_PASSWORD, @@ -624,11 +617,11 @@ state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::NO_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::NO_HARDLOCK); proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); lock_handler_.reset(new TestLockHandler(account_id_)); @@ -662,7 +655,7 @@ TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockStatePersistsOverUnlocks) { state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); state_handler_->SetHardlockState( - EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); @@ -708,13 +701,20 @@ EXPECT_FALSE(lock_handler_->HasCustomIcon()); } - std::vector<EasyUnlockScreenlockStateHandler::HardlockState> hardlock_states; - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_HARDLOCK); - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::USER_HARDLOCK); - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::PAIRING_ADDED); - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_PAIRING); - hardlock_states.push_back(EasyUnlockScreenlockStateHandler::LOGIN_FAILED); + std::vector<chromeos::EasyUnlockScreenlockStateHandler::HardlockState> + hardlock_states; + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::NO_HARDLOCK); + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::USER_HARDLOCK); + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::PAIRING_ADDED); + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::NO_PAIRING); + hardlock_states.push_back( + chromeos::EasyUnlockScreenlockStateHandler::LOGIN_FAILED); for (size_t i = 0; i < hardlock_states.size(); ++i) { state_handler_->SetHardlockState(hardlock_states[i]); @@ -739,11 +739,12 @@ state_handler_->RecordClickOnLockIcon(); state_handler_->RecordClickOnLockIcon(); histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 4); - histogram_tester.ExpectBucketCount("EasyUnlock.TrialRun.Events", - EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1); histogram_tester.ExpectBucketCount( "EasyUnlock.TrialRun.Events", - EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3); + chromeos::EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1); + histogram_tester.ExpectBucketCount( + "EasyUnlock.TrialRun.Events", + chromeos::EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3); } } // namespace
diff --git a/chrome/browser/signin/easy_unlock_service.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc similarity index 94% rename from chrome/browser/signin/easy_unlock_service.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc index e0849e9..811f44d 100644 --- a/chrome/browser/signin/easy_unlock_service.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include <utility> @@ -22,17 +22,17 @@ #include "base/version.h" #include "build/build_config.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_factory.h" #include "chrome/browser/chromeos/login/easy_unlock/secure_message_delegate_chromeos.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/chrome_proximity_auth_client.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" -#include "chrome/browser/signin/easy_unlock_service_observer.h" #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/common/chrome_switches.h" @@ -66,6 +66,8 @@ using proximity_auth::ScreenlockState; +namespace chromeos { + namespace { PrefService* GetLocalState() { @@ -93,8 +95,7 @@ public apps::AppLifetimeMonitor::Observer { public: explicit BluetoothDetector(EasyUnlockService* service) - : service_(service), - weak_ptr_factory_(this) { + : service_(service), weak_ptr_factory_(this) { apps::AppLifetimeMonitorFactory::GetForBrowserContext(service_->profile()) ->AddObserver(this); } @@ -169,16 +170,14 @@ : public chromeos::PowerManagerClient::Observer { public: explicit PowerMonitor(EasyUnlockService* service) - : service_(service), - waking_up_(false), - weak_ptr_factory_(this) { - chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> - AddObserver(this); + : service_(service), waking_up_(false), weak_ptr_factory_(this) { + chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver( + this); } ~PowerMonitor() override { - chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> - RemoveObserver(this); + chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver( + this); } // Called when the remote device has been authenticated to record the time @@ -187,9 +186,8 @@ void RecordStartUpTime() { if (wake_up_time_.is_null()) return; - UMA_HISTOGRAM_MEDIUM_TIMES( - "EasyUnlock.StartupTimeFromSuspend", - base::Time::Now() - wake_up_time_); + UMA_HISTOGRAM_MEDIUM_TIMES("EasyUnlock.StartupTimeFromSuspend", + base::Time::Now() - wake_up_time_); wake_up_time_ = base::Time(); } @@ -233,11 +231,9 @@ bluetooth_detector_(new BluetoothDetector(this)), shut_down_(false), tpm_key_checked_(false), - weak_ptr_factory_(this) { -} + weak_ptr_factory_(this) {} -EasyUnlockService::~EasyUnlockService() { -} +EasyUnlockService::~EasyUnlockService() {} // static void EasyUnlockService::RegisterProfilePrefs( @@ -357,9 +353,8 @@ const base::DictionaryValue* dict = local_state->GetDictionary(prefs::kEasyUnlockHardlockState); int state_int; - if (dict && - dict->GetIntegerWithoutPathExpansion(account_id.GetUserEmail(), - &state_int)) { + if (dict && dict->GetIntegerWithoutPathExpansion(account_id.GetUserEmail(), + &state_int)) { *state = static_cast<EasyUnlockScreenlockStateHandler::HardlockState>(state_int); return true; @@ -369,7 +364,7 @@ } EasyUnlockScreenlockStateHandler* - EasyUnlockService::GetScreenlockStateHandler() { +EasyUnlockService::GetScreenlockStateHandler() { if (!IsAllowed()) return NULL; if (!screenlock_state_handler_) { @@ -589,9 +584,8 @@ // If the service is not allowed due to bluetooth not being detected just // after system suspend is done, give bluetooth more time to be detected // before disabling the app (and resetting screenlock state). - bluetooth_waking_up = - power_monitor_.get() && power_monitor_->waking_up() && - !bluetooth_detector_->IsPresent(); + bluetooth_waking_up = power_monitor_.get() && power_monitor_->waking_up() && + !bluetooth_detector_->IsPresent(); if (!bluetooth_waking_up) { app_manager_->DisableAppIfLoaded(); @@ -815,9 +809,10 @@ // TODO(tbarzic): Set check_private_key only if previous sign-in attempt // failed. - EasyUnlockTpmKeyManagerFactory::GetInstance()->Get(profile_) - ->PrepareTpmKey(true /* check_private_key */, - base::Closure()); + EasyUnlockTpmKeyManagerFactory::GetInstance()->Get(profile_)->PrepareTpmKey( + true /* check_private_key */, base::Closure()); tpm_key_checked_ = true; } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_service.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h similarity index 94% rename from chrome/browser/signin/easy_unlock_service.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h index e72d32cb..254e811 100644 --- a/chrome/browser/signin/easy_unlock_service.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_H_ #include <memory> #include <set> @@ -14,11 +14,11 @@ #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_types.h" -#include "chrome/browser/signin/chrome_proximity_auth_client.h" -#include "chrome/browser/signin/easy_unlock_auth_attempt.h" -#include "chrome/browser/signin/easy_unlock_metrics.h" -#include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" #include "components/cryptauth/remote_device.h" #include "components/keyed_service/core/keyed_service.h" #include "components/proximity_auth/screenlock_state.h" @@ -28,11 +28,7 @@ namespace base { class DictionaryValue; class ListValue; -} - -namespace chromeos { -class UserContext; -} +} // namespace base namespace user_manager { class User; @@ -45,12 +41,16 @@ namespace proximity_auth { class ProximityAuthPrefManager; class ProximityAuthSystem; -} +} // namespace proximity_auth + +class Profile; +class PrefRegistrySimple; + +namespace chromeos { class EasyUnlockAppManager; class EasyUnlockServiceObserver; -class Profile; -class PrefRegistrySimple; +class UserContext; class EasyUnlockService : public KeyedService { public: @@ -60,10 +60,7 @@ FAIL, }; - enum Type { - TYPE_REGULAR, - TYPE_SIGNIN - }; + enum Type { TYPE_REGULAR, TYPE_SIGNIN }; // Gets EasyUnlockService instance. static EasyUnlockService* Get(Profile* profile); @@ -373,4 +370,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockService); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_H_
diff --git a/chrome/browser/signin/easy_unlock_service_factory.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.cc similarity index 88% rename from chrome/browser/signin/easy_unlock_service_factory.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.cc index 4916f4a..703d2fb63 100644 --- a/chrome/browser/signin/easy_unlock_service_factory.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.cc
@@ -2,20 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" #include "base/command_line.h" #include "base/memory/singleton.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_factory.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/cryptauth/chrome_cryptauth_service_factory.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" -#include "chrome/browser/signin/easy_unlock_service.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" -#include "chrome/browser/signin/easy_unlock_service_signin_chromeos.h" #include "chrome/common/chrome_switches.h" #include "chrome/grit/browser_resources.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" @@ -24,6 +24,8 @@ #include "extensions/browser/extension_system_provider.h" #include "extensions/browser/extensions_browser_client.h" +namespace chromeos { + namespace { // Gets the file path from which easy unlock app should be loaded. @@ -68,8 +70,7 @@ DependsOn(EasyUnlockTpmKeyManagerFactory::GetInstance()); } -EasyUnlockServiceFactory::~EasyUnlockServiceFactory() { -} +EasyUnlockServiceFactory::~EasyUnlockServiceFactory() {} KeyedService* EasyUnlockServiceFactory::BuildServiceInstanceFor( content::BrowserContext* context) const { @@ -113,7 +114,7 @@ } content::BrowserContext* EasyUnlockServiceFactory::GetBrowserContextToUse( - content::BrowserContext* context) const { + content::BrowserContext* context) const { if (chromeos::ProfileHelper::IsSigninProfile( Profile::FromBrowserContext(context))) { return chrome::GetBrowserContextOwnInstanceInIncognito(context); @@ -132,3 +133,5 @@ // a MessageLoop that does not exit in many unit_tests cases. return true; } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_service_factory.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h similarity index 81% rename from chrome/browser/signin/easy_unlock_service_factory.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h index 2ebc004d..4ebe0d6 100644 --- a/chrome/browser/signin/easy_unlock_service_factory.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_FACTORY_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_FACTORY_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_FACTORY_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_FACTORY_H_ #include "base/files/file_path.h" #include "base/macros.h" @@ -14,9 +14,12 @@ } namespace base { -template <typename T> struct DefaultSingletonTraits; +template <typename T> +struct DefaultSingletonTraits; } +namespace chromeos { + class EasyUnlockService; // Singleton factory that builds and owns all EasyUnlockService. @@ -52,4 +55,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockServiceFactory); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_FACTORY_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_FACTORY_H_
diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h new file mode 100644 index 0000000..ff32617a --- /dev/null +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h
@@ -0,0 +1,27 @@ +// Copyright 2014 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 CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_OBSERVER_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_OBSERVER_H_ + +#include "components/proximity_auth/screenlock_state.h" + +namespace chromeos { + +class EasyUnlockServiceObserver { + public: + // Invoked when turn-off operation status changes. + virtual void OnTurnOffOperationStatusChanged() {} + + // Invoked when screenlock state changes. + virtual void OnScreenlockStateChanged(proximity_auth::ScreenlockState state) { + } + + protected: + virtual ~EasyUnlockServiceObserver() {} +}; + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_OBSERVER_H_
diff --git a/chrome/browser/signin/easy_unlock_service_regular.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.cc similarity index 97% rename from chrome/browser/signin/easy_unlock_service_regular.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.cc index 100b38d..b802c4f 100644 --- a/chrome/browser/signin/easy_unlock_service_regular.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_service_regular.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" #include <stdint.h> @@ -22,15 +22,15 @@ #include "base/values.h" #include "build/build_config.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_reauth.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/cryptauth/chrome_cryptauth_service_factory.h" #include "chrome/browser/gcm/gcm_profile_service_factory.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/chrome_proximity_auth_client.h" -#include "chrome/browser/signin/easy_unlock_notification_controller.h" #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/common/chrome_features.h" @@ -69,6 +69,8 @@ #include "ui/display/manager/display_manager.h" #include "ui/display/manager/managed_display_info.h" +namespace chromeos { + namespace { // Key name of the local device permit record dictonary in kEasyUnlockPairing. @@ -420,7 +422,7 @@ } EasyUnlockService::TurnOffFlowStatus - EasyUnlockServiceRegular::GetTurnOffFlowStatus() const { +EasyUnlockServiceRegular::GetTurnOffFlowStatus() const { return turn_off_flow_status_; } @@ -463,9 +465,8 @@ extension_misc::kEasyUnlockAppId, std::move(event)); } -void EasyUnlockServiceRegular::SetAutoPairingResult( - bool success, - const std::string& error) { +void EasyUnlockServiceRegular::SetAutoPairingResult(bool success, + const std::string& error) { DCHECK(!auto_pairing_callback_.is_null()); auto_pairing_callback_.Run(success, error); @@ -584,10 +585,10 @@ if (public_keys_before_sync == public_keys_after_sync) return; -// Show the appropriate notification if an unlock key is first synced or if it -// changes an existing key. -// Note: We do not show a notification when EasyUnlock is disabled by sync nor -// if EasyUnlock was enabled through the setup app. + // Show the appropriate notification if an unlock key is first synced or if it + // changes an existing key. + // Note: We do not show a notification when EasyUnlock is disabled by sync nor + // if EasyUnlock was enabled through the setup app. bool is_setup_fresh = short_lived_user_context_ && short_lived_user_context_->user_context(); @@ -750,3 +751,5 @@ CheckCryptohomeKeysAndMaybeHardlock(); } } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_service_regular.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h similarity index 91% rename from chrome/browser/signin/easy_unlock_service_regular.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h index b43492b..9cd8f2f 100644 --- a/chrome/browser/signin/easy_unlock_service_regular.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_REGULAR_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_REGULAR_H_ #include <memory> #include <string> @@ -12,8 +12,8 @@ #include "base/macros.h" #include "base/time/time.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/easy_unlock/short_lived_user_context.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "components/cryptauth/cryptauth_device_manager.h" #include "components/prefs/pref_change_registrar.h" #include "components/proximity_auth/screenlock_bridge.h" @@ -21,7 +21,7 @@ namespace base { class DictionaryValue; class ListValue; -} +} // namespace base namespace cryptauth { class CryptAuthClient; @@ -30,15 +30,18 @@ class LocalDeviceDataProvider; class RemoteDeviceLoader; class ToggleEasyUnlockResponse; -} +} // namespace cryptauth namespace proximity_auth { class PromotionManager; class ProximityAuthProfilePrefManager; -} +} // namespace proximity_auth + +class Profile; + +namespace chromeos { class EasyUnlockNotificationController; -class Profile; // EasyUnlockService instance that should be used for regular, non-signin // profiles. @@ -105,10 +108,9 @@ // CryptAuthDeviceManager::Observer: void OnSyncStarted() override; - void OnSyncFinished( - cryptauth::CryptAuthDeviceManager::SyncResult sync_result, - cryptauth::CryptAuthDeviceManager::DeviceChangeResult - device_change_result) override; + void OnSyncFinished(cryptauth::CryptAuthDeviceManager::SyncResult sync_result, + cryptauth::CryptAuthDeviceManager::DeviceChangeResult + device_change_result) override; // proximity_auth::ScreenlockBridge::Observer implementation: void OnScreenDidLock(proximity_auth::ScreenlockBridge::LockHandler::ScreenType @@ -210,4 +212,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockServiceRegular); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_REGULAR_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_REGULAR_H_
diff --git a/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.cc similarity index 94% rename from chrome/browser/signin/easy_unlock_service_signin_chromeos.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.cc index f789a99..61aac9a 100644 --- a/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_service_signin_chromeos.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h" #include <stdint.h> @@ -17,13 +17,13 @@ #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_challenge_wrapper.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_factory.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" -#include "chrome/browser/signin/easy_unlock_metrics.h" #include "chrome/common/pref_names.h" #include "chromeos/login/auth/user_context.h" #include "chromeos/tpm/tpm_token_loader.h" @@ -34,6 +34,8 @@ using proximity_auth::ScreenlockState; +namespace chromeos { + namespace { // The maximum allowed backoff interval when waiting for cryptohome to start. @@ -156,8 +158,7 @@ } // namespace EasyUnlockServiceSignin::UserData::UserData() - : state(EasyUnlockServiceSignin::USER_DATA_STATE_INITIAL) { -} + : state(EasyUnlockServiceSignin::USER_DATA_STATE_INITIAL) {} EasyUnlockServiceSignin::UserData::~UserData() {} @@ -167,8 +168,7 @@ user_pod_last_focused_timestamp_(base::TimeTicks::Now()), weak_ptr_factory_(this) {} -EasyUnlockServiceSignin::~EasyUnlockServiceSignin() { -} +EasyUnlockServiceSignin::~EasyUnlockServiceSignin() {} void EasyUnlockServiceSignin::SetCurrentUser(const AccountId& account_id) { OnFocusedUserChanged(account_id); @@ -244,8 +244,7 @@ return &data->remote_devices_value; } -void EasyUnlockServiceSignin::SetRemoteDevices( - const base::ListValue& devices) { +void EasyUnlockServiceSignin::SetRemoteDevices(const base::ListValue& devices) { NOTREACHED(); } @@ -263,7 +262,7 @@ } EasyUnlockService::TurnOffFlowStatus - EasyUnlockServiceSignin::GetTurnOffFlowStatus() const { +EasyUnlockServiceSignin::GetTurnOffFlowStatus() const { return EasyUnlockService::IDLE; } @@ -292,11 +291,11 @@ << "GetAccountId()=" << GetAccountId().Serialize() << " != account_id=" << account_id.Serialize(); - RecordEasyUnlockSigninEvent( - success ? EASY_UNLOCK_SUCCESS : EASY_UNLOCK_FAILURE); + RecordEasyUnlockSigninEvent(success ? EASY_UNLOCK_SUCCESS + : EASY_UNLOCK_FAILURE); if (success) { - RecordEasyUnlockSigninDuration( - base::TimeTicks::Now() - user_pod_last_focused_timestamp_); + RecordEasyUnlockSigninDuration(base::TimeTicks::Now() - + user_pod_last_focused_timestamp_); } DVLOG(1) << "Easy sign-in " << (success ? "success" : "failure"); } @@ -321,9 +320,8 @@ NOTREACHED(); } -void EasyUnlockServiceSignin::SetAutoPairingResult( - bool success, - const std::string& error) { +void EasyUnlockServiceSignin::SetAutoPairingResult(bool success, + const std::string& error) { NOTREACHED(); } @@ -402,7 +400,7 @@ // In production code, the screen type should always be the signin screen; but // in tests, the screen type might be different. if (screen_type != - proximity_auth::ScreenlockBridge::LockHandler::SIGNIN_SCREEN) + proximity_auth::ScreenlockBridge::LockHandler::SIGNIN_SCREEN) return; // Update initial UI is when the account picker on login screen is ready. @@ -415,7 +413,7 @@ // In production code, the screen type should always be the signin screen; but // in tests, the screen type might be different. if (screen_type != - proximity_auth::ScreenlockBridge::LockHandler::SIGNIN_SCREEN) + proximity_auth::ScreenlockBridge::LockHandler::SIGNIN_SCREEN) return; DisableAppWithoutResettingScreenlockState(); @@ -516,8 +514,7 @@ // CheckCryptohomeKeysAndMaybeHardlock finishes. Set NO_PAIRING state // and update UI to remove the confusing spinner in this case. EasyUnlockScreenlockStateHandler::HardlockState hardlock_state; - if (devices.empty() && - GetPersistedHardlockState(&hardlock_state) && + if (devices.empty() && GetPersistedHardlockState(&hardlock_state) && hardlock_state == EasyUnlockScreenlockStateHandler::NO_HARDLOCK) { SetHardlockStateForUser(account_id, EasyUnlockScreenlockStateHandler::NO_PAIRING); @@ -583,7 +580,7 @@ } const EasyUnlockServiceSignin::UserData* - EasyUnlockServiceSignin::FindLoadedDataForCurrentUser() const { +EasyUnlockServiceSignin::FindLoadedDataForCurrentUser() const { if (!account_id_.is_valid()) return nullptr; @@ -613,3 +610,5 @@ UpdateScreenlockState(ScreenlockState::BLUETOOTH_CONNECTING); } } + +} // namespace chromeos
diff --git a/chrome/browser/signin/easy_unlock_service_signin_chromeos.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h similarity index 94% rename from chrome/browser/signin/easy_unlock_service_signin_chromeos.h rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h index 33f6914..c0586803 100644 --- a/chrome/browser/signin/easy_unlock_service_signin_chromeos.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_signin_chromeos.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_ +#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_ +#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_ #include <map> #include <memory> @@ -13,19 +13,19 @@ #include "base/memory/weak_ptr.h" #include "base/time/time.h" #include "base/values.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_types.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chromeos/login/login_state.h" #include "components/proximity_auth/screenlock_bridge.h" -namespace chromeos { -class EasyUnlockChallengeWrapper; -} - namespace proximity_auth { class ProximityAuthLocalStatePrefManager; } +namespace chromeos { + +class EasyUnlockChallengeWrapper; + // EasyUnlockService instance that should be used for signin profile. class EasyUnlockServiceSignin : public EasyUnlockService, @@ -171,4 +171,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockServiceSignin); }; -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_ +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_SERVICE_SIGNIN_CHROMEOS_H_
diff --git a/chrome/browser/signin/easy_unlock_service_unittest_chromeos.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_unittest_chromeos.cc similarity index 87% rename from chrome/browser/signin/easy_unlock_service_unittest_chromeos.cc rename to chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_unittest_chromeos.cc index 53be564..f06e16d 100644 --- a/chrome/browser/signin/easy_unlock_service_unittest_chromeos.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_unittest_chromeos.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/signin/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include <stddef.h> @@ -15,12 +15,12 @@ #include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "base/values.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_notification_controller.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" #include "chrome/browser/chromeos/login/users/mock_user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" -#include "chrome/browser/signin/easy_unlock_notification_controller.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_profile.h" @@ -54,7 +54,7 @@ const char kSecondaryGaiaId[] = "2222222222"; class MockEasyUnlockNotificationController - : public EasyUnlockNotificationController { + : public chromeos::EasyUnlockNotificationController { public: MockEasyUnlockNotificationController() {} ~MockEasyUnlockNotificationController() override {} @@ -71,7 +71,7 @@ // App manager to be used in EasyUnlockService tests. // This effectivelly abstracts the extension system from the tests. -class TestAppManager : public EasyUnlockAppManager { +class TestAppManager : public chromeos::EasyUnlockAppManager { public: TestAppManager() : state_(STATE_NOT_LOADED), @@ -202,14 +202,14 @@ if (!app_manager_factory) return nullptr; - std::unique_ptr<EasyUnlockAppManager> app_manager = + std::unique_ptr<chromeos::EasyUnlockAppManager> app_manager = app_manager_factory->Create(context); EXPECT_TRUE(app_manager.get()); if (!app_manager.get()) return nullptr; - std::unique_ptr<EasyUnlockServiceRegular> service( - new EasyUnlockServiceRegular( + std::unique_ptr<chromeos::EasyUnlockServiceRegular> service( + new chromeos::EasyUnlockServiceRegular( Profile::FromBrowserContext(context), std::make_unique<MockEasyUnlockNotificationController>())); service->Initialize(std::move(app_manager)); @@ -246,8 +246,8 @@ ON_CALL(*mock_user_manager_, IsCurrentUserNonCryptohomeDataEphemeral()) .WillByDefault(Return(false)); - SetUpProfile(&profile_, AccountId::FromUserEmailGaiaId( - kTestUserPrimary, kPrimaryGaiaId)); + SetUpProfile(&profile_, AccountId::FromUserEmailGaiaId(kTestUserPrimary, + kPrimaryGaiaId)); } void TearDown() override { @@ -291,9 +291,9 @@ } void SetUpSecondaryProfile() { - SetUpProfile(&secondary_profile_, - AccountId::FromUserEmailGaiaId(kTestUserSecondary, - kSecondaryGaiaId)); + SetUpProfile( + &secondary_profile_, + AccountId::FromUserEmailGaiaId(kTestUserSecondary, kSecondaryGaiaId)); } private: @@ -304,7 +304,7 @@ ASSERT_FALSE(profile->get()); TestingProfile::Builder builder; - builder.AddTestingFactory(EasyUnlockServiceFactory::GetInstance(), + builder.AddTestingFactory(chromeos::EasyUnlockServiceFactory::GetInstance(), &CreateEasyUnlockServiceForTest); *profile = builder.Build(); @@ -343,7 +343,8 @@ // This should start easy unlock service initialization. SetAppManagerReady(profile_.get()); - EasyUnlockService* service = EasyUnlockService::Get(profile_.get()); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_.get()); ASSERT_TRUE(service); EXPECT_FALSE(service->IsAllowed()); @@ -355,7 +356,8 @@ // This should start easy unlock service initialization. SetAppManagerReady(profile_.get()); - EasyUnlockService* service = EasyUnlockService::Get(profile_.get()); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile_.get()); ASSERT_TRUE(service); EXPECT_TRUE(service->IsAllowed()); @@ -375,7 +377,8 @@ TEST_F(EasyUnlockServiceTest, NotAllowedForSecondaryProfile) { SetAppManagerReady(profile_.get()); - EasyUnlockService* primary_service = EasyUnlockService::Get(profile_.get()); + chromeos::EasyUnlockService* primary_service = + chromeos::EasyUnlockService::Get(profile_.get()); ASSERT_TRUE(primary_service); // A sanity check for the test to confirm that the primary profile service @@ -385,8 +388,8 @@ SetUpSecondaryProfile(); SetAppManagerReady(secondary_profile_.get()); - EasyUnlockService* secondary_service = - EasyUnlockService::Get(secondary_profile_.get()); + chromeos::EasyUnlockService* secondary_service = + chromeos::EasyUnlockService::Get(secondary_profile_.get()); ASSERT_TRUE(secondary_service); EXPECT_FALSE(secondary_service->IsAllowed()); @@ -399,19 +402,20 @@ .WillByDefault(Return(true)); SetAppManagerReady(profile_.get()); - EXPECT_FALSE(EasyUnlockService::Get(profile_.get())->IsAllowed()); + EXPECT_FALSE(chromeos::EasyUnlockService::Get(profile_.get())->IsAllowed()); EXPECT_TRUE( EasyUnlockAppInState(profile_.get(), TestAppManager::STATE_NOT_LOADED)); } TEST_F(EasyUnlockServiceTest, GetAccountId) { EXPECT_EQ(AccountId::FromUserEmailGaiaId(kTestUserPrimary, kPrimaryGaiaId), - EasyUnlockService::Get(profile_.get())->GetAccountId()); + chromeos::EasyUnlockService::Get(profile_.get())->GetAccountId()); SetUpSecondaryProfile(); - EXPECT_EQ(AccountId::FromUserEmailGaiaId(kTestUserSecondary, - kSecondaryGaiaId), - EasyUnlockService::Get(secondary_profile_.get())->GetAccountId()); + EXPECT_EQ( + AccountId::FromUserEmailGaiaId(kTestUserSecondary, kSecondaryGaiaId), + chromeos::EasyUnlockService::Get(secondary_profile_.get()) + ->GetAccountId()); } } // namespace
diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.cc b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.cc index 026080a..3eb0cbd1 100644 --- a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.cc +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.cc
@@ -4,8 +4,10 @@ #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" -#include "chrome/browser/signin/easy_unlock_service.h" + +namespace chromeos { EasyUnlockUserLoginFlow::EasyUnlockUserLoginFlow(const AccountId& account_id) : chromeos::ExtendedUserFlow(account_id) {} @@ -61,3 +63,5 @@ bool EasyUnlockUserLoginFlow::SupportsEarlyRestartToApplyFlags() { return true; } + +} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.h index 65465d4..69641353 100644 --- a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.h +++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_user_login_flow.h
@@ -12,6 +12,8 @@ class AccountId; +namespace chromeos { + // Handler for login flow initiazted by Easy Signin login attempt. // The only difference to the default login flow is hanlding of the auth // failure. @@ -37,4 +39,6 @@ DISALLOW_COPY_AND_ASSIGN(EasyUnlockUserLoginFlow); }; +} // namespace chromeos + #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_USER_LOGIN_FLOW_H_
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc index 443d3da..4272471 100644 --- a/chrome/browser/chromeos/login/existing_user_controller.cc +++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -30,6 +30,7 @@ #include "chrome/browser/chromeos/customization/customization_document.h" #include "chrome/browser/chromeos/login/arc_kiosk_controller.h" #include "chrome/browser/chromeos/login/auth/chrome_login_performer.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/enterprise_user_session_metrics.h" #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/screens/encryption_migration_screen.h" @@ -50,7 +51,6 @@ #include "chrome/browser/chromeos/settings/cros_settings.h" #include "chrome/browser/chromeos/system/device_disabling_manager.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/ui/aura/accessibility/automation_manager_aura.h" #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" #include "chrome/common/channel_info.h"
diff --git a/chrome/browser/chromeos/login/lock/screen_locker.cc b/chrome/browser/chromeos/login/lock/screen_locker.cc index 5f522bf..a56bede 100644 --- a/chrome/browser/chromeos/login/lock/screen_locker.cc +++ b/chrome/browser/chromeos/login/lock/screen_locker.cc
@@ -26,6 +26,7 @@ #include "base/threading/thread_task_runner_handle.h" #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/lock/views_screen_locker.h" #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h" @@ -38,7 +39,6 @@ #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/lifetime/application_lifetime.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/browser/ui/ash/ash_util.h" #include "chrome/browser/ui/ash/login_screen_client.h"
diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.cc b/chrome/browser/chromeos/login/screens/user_selection_screen.cc index a7ac8a2c..fa4ef00 100644 --- a/chrome/browser/chromeos/login/screens/user_selection_screen.cc +++ b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
@@ -19,6 +19,7 @@ #include "base/values.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process_platform_part.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/lock/screen_locker.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_factory.h" #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_storage.h" @@ -30,7 +31,6 @@ #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" #include "chrome/grit/generated_resources.h"
diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.h b/chrome/browser/chromeos/login/screens/user_selection_screen.h index 2022c57..fca09d8b 100644 --- a/chrome/browser/chromeos/login/screens/user_selection_screen.h +++ b/chrome/browser/chromeos/login/screens/user_selection_screen.h
@@ -23,10 +23,10 @@ #include "ui/base/user_activity/user_activity_observer.h" class AccountId; -class EasyUnlockService; namespace chromeos { +class EasyUnlockService; class LoginDisplayWebUIHandler; class UserBoardView;
diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc index 062697d..6eaff82 100644 --- a/chrome/browser/chromeos/login/session/user_session_manager.cc +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
@@ -44,6 +44,7 @@ #include "chrome/browser/chromeos/login/chrome_restart_request.h" #include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/existing_user_controller.h" #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/lock/screen_locker.h" @@ -76,7 +77,6 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/signin/account_tracker_service_factory.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/signin/signin_error_controller_factory.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/browser/supervised_user/child_accounts/child_account_service.h"
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc index 083c05f4..ce7845c 100644 --- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc +++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -39,6 +39,7 @@ #include "chrome/browser/chromeos/extensions/extension_tab_util_delegate_chromeos.h" #include "chrome/browser/chromeos/extensions/permissions_updater_delegate_chromeos.h" #include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/enterprise_user_session_metrics.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" #include "chrome/browser/chromeos/login/signin/auth_sync_observer.h" @@ -62,7 +63,6 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_attributes_storage.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/supervised_user/chromeos/manager_password_service_factory.h" #include "chrome/browser/supervised_user/chromeos/supervised_user_password_service_factory.h" #include "chrome/browser/ui/ash/wallpaper_controller_client.h"
diff --git a/chrome/browser/chromeos/policy/app_install_event_log.cc b/chrome/browser/chromeos/policy/app_install_event_log.cc index e70ec26..1b829e12 100644 --- a/chrome/browser/chromeos/policy/app_install_event_log.cc +++ b/chrome/browser/chromeos/policy/app_install_event_log.cc
@@ -20,7 +20,7 @@ namespace policy { namespace { -static const int64_t kLogFileVersion = 1; +static const int64_t kLogFileVersion = 2; static const ssize_t kMaxLogs = 1024; } // namespace
diff --git a/chrome/browser/chromeos/policy/app_install_event_log_collector.cc b/chrome/browser/chromeos/policy/app_install_event_log_collector.cc index 0e14bd8..27e4a62 100644 --- a/chrome/browser/chromeos/policy/app_install_event_log_collector.cc +++ b/chrome/browser/chromeos/policy/app_install_event_log_collector.cc
@@ -6,7 +6,12 @@ #include "base/command_line.h" #include "chromeos/chromeos_switches.h" #include "chromeos/dbus/dbus_thread_manager.h" +#include "chromeos/network/network_handler.h" +#include "chromeos/network/network_state.h" +#include "chromeos/network/network_state_handler.h" +#include "chromeos/network/network_type_pattern.h" #include "components/policy/proto/device_management_backend.pb.h" +#include "third_party/cros_system_api/dbus/service_constants.h" namespace em = enterprise_management; @@ -23,20 +28,37 @@ return event; } +bool GetOnlineState() { + chromeos::NetworkStateHandler::NetworkStateList network_state_list; + chromeos::NetworkHandler::Get() + ->network_state_handler() + ->GetNetworkListByType( + chromeos::NetworkTypePattern::Default(), true /* configured_only */, + false /* visible_only */, 0 /* limit */, &network_state_list); + for (const chromeos::NetworkState* network_state : network_state_list) { + if (network_state->connection_state() == shill::kStateOnline) { + return true; + } + } + return false; +} + } // namespace AppInstallEventLogCollector::AppInstallEventLogCollector( Delegate* delegate, Profile* profile, const std::set<std::string>& pending_packages) - : delegate_(delegate), profile_(profile) { + : delegate_(delegate), profile_(profile), online_(GetOnlineState()) { chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver( this); + net::NetworkChangeNotifier::AddNetworkChangeObserver(this); } AppInstallEventLogCollector::~AppInstallEventLogCollector() { chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver( this); + net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); } void AppInstallEventLogCollector::OnPendingPackagesChanged( @@ -51,8 +73,10 @@ return; } - delegate_->AddForAllPackages( - CreateSessionChangeEvent(em::AppInstallReportLogEvent::LOGIN)); + std::unique_ptr<em::AppInstallReportLogEvent> event = + CreateSessionChangeEvent(em::AppInstallReportLogEvent::LOGIN); + event->set_online(online_); + delegate_->AddForAllPackages(std::move(event)); } void AppInstallEventLogCollector::AddLogoutEvent() { @@ -72,4 +96,19 @@ CreateSessionChangeEvent(em::AppInstallReportLogEvent::RESUME)); } +void AppInstallEventLogCollector::OnNetworkChanged( + net::NetworkChangeNotifier::ConnectionType type) { + const bool currently_online = GetOnlineState(); + if (currently_online == online_) { + return; + } + online_ = currently_online; + + std::unique_ptr<em::AppInstallReportLogEvent> event = + std::make_unique<em::AppInstallReportLogEvent>(); + event->set_event_type(em::AppInstallReportLogEvent::CONNECTIVITY_CHANGE); + event->set_online(online_); + delegate_->AddForAllPackages(std::move(event)); +} + } // namespace policy
diff --git a/chrome/browser/chromeos/policy/app_install_event_log_collector.h b/chrome/browser/chromeos/policy/app_install_event_log_collector.h index c15d249..21b45d5 100644 --- a/chrome/browser/chromeos/policy/app_install_event_log_collector.h +++ b/chrome/browser/chromeos/policy/app_install_event_log_collector.h
@@ -13,6 +13,7 @@ #include "base/macros.h" #include "chrome/browser/profiles/profile.h" #include "chromeos/dbus/power_manager_client.h" +#include "net/base/network_change_notifier.h" class Profile; @@ -23,7 +24,8 @@ // Listens for and logs events related to app push-installs. class AppInstallEventLogCollector - : public chromeos::PowerManagerClient::Observer { + : public chromeos::PowerManagerClient::Observer, + public net::NetworkChangeNotifier::NetworkChangeObserver { public: // The delegate that events are forwarded to for inclusion in the log. class Delegate { @@ -57,6 +59,7 @@ // Called in case of login and pending apps. void AddLoginEvent(); + // Called in case of logout and pending apps. void AddLogoutEvent(); @@ -64,10 +67,17 @@ void SuspendImminent(power_manager::SuspendImminent::Reason reason) override; void SuspendDone(const base::TimeDelta& sleep_duration) override; + // net::NetworkChangeNotifier::NetworkChangeObserver: + void OnNetworkChanged( + net::NetworkChangeNotifier::ConnectionType type) override; + private: Delegate* const delegate_; Profile* const profile_; + // Whether the device is currently online. + bool online_ = false; + DISALLOW_COPY_AND_ASSIGN(AppInstallEventLogCollector); };
diff --git a/chrome/browser/chromeos/policy/app_install_event_log_collector_unittest.cc b/chrome/browser/chromeos/policy/app_install_event_log_collector_unittest.cc index 8582c0e..1e47f0e9 100644 --- a/chrome/browser/chromeos/policy/app_install_event_log_collector_unittest.cc +++ b/chrome/browser/chromeos/policy/app_install_event_log_collector_unittest.cc
@@ -6,13 +6,18 @@ #include "base/command_line.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" +#include "base/run_loop.h" #include "chrome/test/base/testing_profile.h" #include "chromeos/chromeos_switches.h" #include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/fake_power_manager_client.h" +#include "chromeos/dbus/shill_service_client.h" +#include "chromeos/network/network_handler.h" #include "components/policy/proto/device_management_backend.pb.h" #include "content/public/test/test_browser_thread_bundle.h" #include "testing/gtest/include/gtest/gtest.h" +#include "third_party/cros_system_api/dbus/service_constants.h" namespace em = enterprise_management; @@ -20,6 +25,11 @@ namespace { +constexpr char kEthernetServicePath[] = "/service/eth1"; +constexpr char kWifiServicePath[] = "/service/wifi1"; + +constexpr char kPackageName[] = "com.example.app"; + class FakeAppInstallEventLogCollectorDelegate : public AppInstallEventLogCollector::Delegate { public: @@ -56,7 +66,7 @@ } // namespace class AppInstallEventLogCollectorTest : public testing::Test { - public: + protected: AppInstallEventLogCollectorTest() = default; ~AppInstallEventLogCollectorTest() override = default; @@ -68,21 +78,64 @@ std::move(power_manager_client)); chromeos::DBusThreadManager::Initialize(); + chromeos::NetworkHandler::Initialize(); profile_ = std::make_unique<TestingProfile>(); + network_change_notifier_ = + base::WrapUnique(net::NetworkChangeNotifier::CreateMock()); + + service_test_ = chromeos::DBusThreadManager::Get() + ->GetShillServiceClient() + ->GetTestInterface(); + service_test_->AddService(kEthernetServicePath, "eth1_guid", "eth1", + shill::kTypeEthernet, shill::kStateOffline, + true /* visible */); + service_test_->AddService(kWifiServicePath, "wifi1_guid", "wifi1", + shill::kTypeEthernet, shill::kStateOffline, + true /* visible */); + base::RunLoop().RunUntilIdle(); } void TearDown() override { profile_.reset(); + chromeos::NetworkHandler::Shutdown(); chromeos::DBusThreadManager::Shutdown(); } - protected: + void SetNetworkState(const std::string& service_path, + const std::string& state) { + service_test_->SetServiceProperty(service_path, shill::kStateProperty, + base::Value(state)); + base::RunLoop().RunUntilIdle(); + + net::NetworkChangeNotifier::ConnectionType connection_type = + net::NetworkChangeNotifier::CONNECTION_NONE; + std::string network_state; + service_test_->GetServiceProperties(kWifiServicePath) + ->GetString(shill::kStateProperty, &network_state); + if (network_state == shill::kStateOnline) { + connection_type = net::NetworkChangeNotifier::CONNECTION_WIFI; + } + service_test_->GetServiceProperties(kEthernetServicePath) + ->GetString(shill::kStateProperty, &network_state); + if (network_state == shill::kStateOnline) { + connection_type = net::NetworkChangeNotifier::CONNECTION_ETHERNET; + } + net::NetworkChangeNotifier::NotifyObserversOfNetworkChangeForTests( + connection_type); + base::RunLoop().RunUntilIdle(); + } + TestingProfile* profile() { return profile_.get(); } FakeAppInstallEventLogCollectorDelegate* delegate() { return &delegate_; } chromeos::FakePowerManagerClient* power_manager_client() { return power_manager_client_; } + const std::set<std::string> packages_ = {kPackageName}; + + std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier_; + chromeos::ShillServiceClient::TestInterface* service_test_ = nullptr; + private: content::TestBrowserThreadBundle thread_bundle_; std::unique_ptr<TestingProfile> profile_; @@ -96,12 +149,9 @@ // session. In this case no event is generated. This happens for example when // all apps are installed in context of the same user session. TEST_F(AppInstallEventLogCollectorTest, NoEventsByDefault) { - std::set<std::string> pending_packages; - pending_packages.insert("test"); - std::unique_ptr<AppInstallEventLogCollector> collector = std::make_unique<AppInstallEventLogCollector>(delegate(), profile(), - pending_packages); + packages_); collector.reset(); EXPECT_EQ(0, delegate()->add_count()); @@ -109,12 +159,9 @@ } TEST_F(AppInstallEventLogCollectorTest, LoginLogout) { - std::set<std::string> pending_packages; - pending_packages.insert("test"); - std::unique_ptr<AppInstallEventLogCollector> collector = std::make_unique<AppInstallEventLogCollector>(delegate(), profile(), - pending_packages); + packages_); EXPECT_EQ(0, delegate()->add_for_all_count()); @@ -124,6 +171,8 @@ delegate()->last_event().event_type()); EXPECT_EQ(em::AppInstallReportLogEvent::LOGIN, delegate()->last_event().session_state_change_type()); + EXPECT_TRUE(delegate()->last_event().has_online()); + EXPECT_FALSE(delegate()->last_event().online()); collector->AddLogoutEvent(); EXPECT_EQ(2, delegate()->add_for_all_count()); @@ -131,6 +180,7 @@ delegate()->last_event().event_type()); EXPECT_EQ(em::AppInstallReportLogEvent::LOGOUT, delegate()->last_event().session_state_change_type()); + EXPECT_FALSE(delegate()->last_event().has_online()); collector.reset(); @@ -139,18 +189,16 @@ } TEST_F(AppInstallEventLogCollectorTest, LoginTypes) { - std::set<std::string> pending_packages; - pending_packages.insert("test"); - { - AppInstallEventLogCollector collector(delegate(), profile(), - pending_packages); + AppInstallEventLogCollector collector(delegate(), profile(), packages_); collector.AddLoginEvent(); EXPECT_EQ(1, delegate()->add_for_all_count()); EXPECT_EQ(em::AppInstallReportLogEvent::SESSION_STATE_CHANGE, delegate()->last_event().event_type()); EXPECT_EQ(em::AppInstallReportLogEvent::LOGIN, delegate()->last_event().session_state_change_type()); + EXPECT_TRUE(delegate()->last_event().has_online()); + EXPECT_FALSE(delegate()->last_event().online()); } { @@ -164,12 +212,9 @@ } TEST_F(AppInstallEventLogCollectorTest, SuspendResume) { - std::set<std::string> pending_packages; - pending_packages.insert("test"); - std::unique_ptr<AppInstallEventLogCollector> collector = std::make_unique<AppInstallEventLogCollector>(delegate(), profile(), - pending_packages); + packages_); power_manager_client()->SendSuspendImminent( power_manager::SuspendImminent_Reason_OTHER); @@ -191,4 +236,54 @@ EXPECT_EQ(0, delegate()->add_count()); } +// Connect to Ethernet. Start log collector. Verify that a login event with +// network state online is recorded. Then, connect to WiFi and disconnect from +// Ethernet, in this order. Verify that no event is recorded. Then, disconnect +// from WiFi. Verify that a connectivity change event is recorded. Then, connect +// to WiFi with a pending captive portal. Verify that no event is recorded. +// Then, pass the captive portal. Verify that a connectivity change is recorded. +TEST_F(AppInstallEventLogCollectorTest, ConnectivityChanges) { + SetNetworkState(kEthernetServicePath, shill::kStateOnline); + + std::unique_ptr<AppInstallEventLogCollector> collector = + std::make_unique<AppInstallEventLogCollector>(delegate(), profile(), + packages_); + + EXPECT_EQ(0, delegate()->add_for_all_count()); + + collector->AddLoginEvent(); + EXPECT_EQ(1, delegate()->add_for_all_count()); + EXPECT_EQ(em::AppInstallReportLogEvent::SESSION_STATE_CHANGE, + delegate()->last_event().event_type()); + EXPECT_EQ(em::AppInstallReportLogEvent::LOGIN, + delegate()->last_event().session_state_change_type()); + EXPECT_TRUE(delegate()->last_event().online()); + + SetNetworkState(kWifiServicePath, shill::kStateOnline); + EXPECT_EQ(1, delegate()->add_for_all_count()); + + SetNetworkState(kEthernetServicePath, shill::kStateOffline); + EXPECT_EQ(1, delegate()->add_for_all_count()); + + SetNetworkState(kWifiServicePath, shill::kStateOffline); + EXPECT_EQ(2, delegate()->add_for_all_count()); + EXPECT_EQ(em::AppInstallReportLogEvent::CONNECTIVITY_CHANGE, + delegate()->last_event().event_type()); + EXPECT_FALSE(delegate()->last_event().online()); + + SetNetworkState(kWifiServicePath, shill::kStatePortal); + EXPECT_EQ(2, delegate()->add_for_all_count()); + + SetNetworkState(kWifiServicePath, shill::kStateOnline); + EXPECT_EQ(3, delegate()->add_for_all_count()); + EXPECT_EQ(em::AppInstallReportLogEvent::CONNECTIVITY_CHANGE, + delegate()->last_event().event_type()); + EXPECT_TRUE(delegate()->last_event().online()); + + collector.reset(); + + EXPECT_EQ(3, delegate()->add_for_all_count()); + EXPECT_EQ(0, delegate()->add_count()); +} + } // namespace policy
diff --git a/chrome/browser/conflicts/installed_programs_win.cc b/chrome/browser/conflicts/installed_programs_win.cc index fab511c..5868600 100644 --- a/chrome/browser/conflicts/installed_programs_win.cc +++ b/chrome/browser/conflicts/installed_programs_win.cc
@@ -325,3 +325,11 @@ if (on_initialized_callback) std::move(on_initialized_callback).Run(); } + +bool operator<(const InstalledPrograms::ProgramInfo& lhs, + const InstalledPrograms::ProgramInfo& rhs) { + return std::tie(lhs.name, lhs.registry_root, lhs.registry_key_path, + lhs.registry_wow64_access) < + std::tie(rhs.name, rhs.registry_root, rhs.registry_key_path, + rhs.registry_wow64_access); +}
diff --git a/chrome/browser/conflicts/installed_programs_win.h b/chrome/browser/conflicts/installed_programs_win.h index e352107e..075bf54f 100644 --- a/chrome/browser/conflicts/installed_programs_win.h +++ b/chrome/browser/conflicts/installed_programs_win.h
@@ -133,4 +133,7 @@ DISALLOW_COPY_AND_ASSIGN(InstalledPrograms); }; +bool operator<(const InstalledPrograms::ProgramInfo& lhs, + const InstalledPrograms::ProgramInfo& rhs); + #endif // CHROME_BROWSER_CONFLICTS_INSTALLED_PROGRAMS_WIN_H_
diff --git a/chrome/browser/conflicts/module_database_win.cc b/chrome/browser/conflicts/module_database_win.cc index 7bf1887b..1868ec19a 100644 --- a/chrome/browser/conflicts/module_database_win.cc +++ b/chrome/browser/conflicts/module_database_win.cc
@@ -49,6 +49,10 @@ #endif weak_ptr_factory_(this) { AddObserver(&third_party_metrics_); + +#if defined(GOOGLE_CHROME_BUILD) + AddObserver(&third_party_conflicts_manager_); +#endif } ModuleDatabase::~ModuleDatabase() {
diff --git a/chrome/browser/conflicts/problematic_programs_updater_win.cc b/chrome/browser/conflicts/problematic_programs_updater_win.cc index 80111026..07fa38b 100644 --- a/chrome/browser/conflicts/problematic_programs_updater_win.cc +++ b/chrome/browser/conflicts/problematic_programs_updater_win.cc
@@ -11,6 +11,7 @@ #include "base/bind.h" #include "base/strings/utf_string_conversions.h" +#include "base/values.h" #include "base/win/registry.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/conflicts/module_database_win.h" @@ -21,6 +22,123 @@ #include "components/prefs/scoped_user_pref_update.h" #include "content/public/browser/browser_thread.h" +namespace { + +// Helper function to serialize a vector of ProblematicPrograms to JSON. +base::Value ConvertToDictionary( + const std::vector<ProblematicProgramsUpdater::ProblematicProgram>& + programs) { + base::Value result(base::Value::Type::DICTIONARY); + + for (const auto& program : programs) { + base::Value element(base::Value::Type::DICTIONARY); + + // The registry location is necessary to quickly figure out if that program + // is still installed on the computer. + element.SetKey("registry_is_hkcu", base::Value(program.info.registry_root == + HKEY_CURRENT_USER)); + element.SetKey("registry_key_path", + base::Value(program.info.registry_key_path)); + element.SetKey( + "registry_wow64_access", + base::Value(static_cast<int>(program.info.registry_wow64_access))); + + // And then the actual information needed to display a warning to the user. + element.SetKey("allow_load", + base::Value(program.blacklist_action->allow_load())); + element.SetKey("type", + base::Value(program.blacklist_action->message_type())); + element.SetKey("message_url", + base::Value(program.blacklist_action->message_url())); + + result.SetKey(base::UTF16ToUTF8(program.info.name), std::move(element)); + } + + return result; +} + +// Helper function to deserialize a vector of ProblematicPrograms. +std::vector<ProblematicProgramsUpdater::ProblematicProgram> +ConvertToProblematicProgramsVector(const base::Value& programs) { + std::vector<ProblematicProgramsUpdater::ProblematicProgram> result; + + for (const auto& element : programs.DictItems()) { + const std::string& name = element.first; + const base::Value& value = element.second; + + if (!value.is_dict()) + continue; + + const base::Value* registry_is_hkcu_value = + value.FindKeyOfType("registry_is_hkcu", base::Value::Type::BOOLEAN); + const base::Value* registry_key_path_value = + value.FindKeyOfType("registry_key_path", base::Value::Type::STRING); + const base::Value* registry_wow64_access_value = value.FindKeyOfType( + "registry_wow64_access", base::Value::Type::INTEGER); + const base::Value* allow_load_value = + value.FindKeyOfType("allow_load", base::Value::Type::BOOLEAN); + const base::Value* type_value = + value.FindKeyOfType("type", base::Value::Type::INTEGER); + const base::Value* message_url_value = + value.FindKeyOfType("message_url", base::Value::Type::STRING); + + // All of the above are required. If any is missing, the element is skipped. + if (!registry_is_hkcu_value || !registry_key_path_value || + !registry_wow64_access_value || !allow_load_value || !type_value || + !message_url_value) { + continue; + } + + InstalledPrograms::ProgramInfo program_info = { + base::UTF8ToUTF16(name), + registry_is_hkcu_value->GetBool() ? HKEY_CURRENT_USER + : HKEY_LOCAL_MACHINE, + base::UTF8ToUTF16(registry_key_path_value->GetString()), + static_cast<REGSAM>(registry_wow64_access_value->GetInt())}; + + auto blacklist_action = + std::make_unique<chrome::conflicts::BlacklistAction>(); + blacklist_action->set_allow_load(allow_load_value->GetBool()); + blacklist_action->set_message_type( + static_cast<chrome::conflicts::BlacklistMessageType>( + type_value->GetInt())); + blacklist_action->set_message_url(message_url_value->GetString()); + + result.emplace_back(std::move(program_info), std::move(blacklist_action)); + } + + return result; +} + +// Removes stale programs from the cache. This can happen if a program was +// uninstalled between the time it was found and Chrome was relaunched. +// Returns true if any problematic programs are installed after trimming +// completes (i.e., HasCachedPrograms() would return true). +void RemoveStaleEntriesAndUpdateCache( + std::vector<ProblematicProgramsUpdater::ProblematicProgram>* programs) { + // Remove entries that can no longer be found in the registry. + programs->erase(std::remove_if(programs->begin(), programs->end(), + [](const auto& program) { + base::win::RegKey registry_key( + program.info.registry_root, + program.info.registry_key_path.c_str(), + KEY_QUERY_VALUE | + program.info.registry_wow64_access); + return !registry_key.Valid(); + }), + programs->end()); + + // Write it back. + if (programs->empty()) { + g_browser_process->local_state()->ClearPref(prefs::kProblematicPrograms); + } else { + g_browser_process->local_state()->Set(prefs::kProblematicPrograms, + ConvertToDictionary(*programs)); + } +} + +} // namespace + const base::Feature kIncompatibleApplicationsWarning{ "IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -68,74 +186,40 @@ } // static -bool ProblematicProgramsUpdater::TrimCache() { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - if (!base::FeatureList::IsEnabled(kIncompatibleApplicationsWarning)) - return false; - - std::vector<ProblematicProgram> programs = ConvertToProblematicProgramsVector( - *g_browser_process->local_state() - ->FindPreference(prefs::kProblematicPrograms) - ->GetValue()); - - // Remove entries that can no longer be found in the registry. - programs.erase(std::remove_if(programs.begin(), programs.end(), - [](const ProblematicProgram& element) { - base::win::RegKey registry_key( - element.info.registry_root, - element.info.registry_key_path.c_str(), - KEY_QUERY_VALUE | - element.info.registry_wow64_access); - return !registry_key.Valid(); - }), - programs.end()); - - // Write it back. - if (programs.empty()) { - g_browser_process->local_state()->ClearPref(prefs::kProblematicPrograms); - } else { - g_browser_process->local_state()->Set(prefs::kProblematicPrograms, - ConvertToDictionary(programs)); - } - return !programs.empty(); -} - -// static bool ProblematicProgramsUpdater::HasCachedPrograms() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); if (!base::FeatureList::IsEnabled(kIncompatibleApplicationsWarning)) return false; - return !g_browser_process->local_state() - ->GetDictionary(prefs::kProblematicPrograms) - ->empty(); -} - -// static -base::Value ProblematicProgramsUpdater::GetCachedPrograms() { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - - base::Value program_names(base::Value::Type::LIST); - - if (!base::FeatureList::IsEnabled(kIncompatibleApplicationsWarning)) - return program_names; - std::vector<ProblematicProgram> programs = ConvertToProblematicProgramsVector( *g_browser_process->local_state() ->FindPreference(prefs::kProblematicPrograms) ->GetValue()); - for (const auto& program : programs) { - base::Value dict(base::Value::Type::DICTIONARY); - dict.SetKey("name", base::Value(program.info.name)); - dict.SetKey("type", base::Value(program.blacklist_action->message_type())); - dict.SetKey("url", base::Value(program.blacklist_action->message_url())); - program_names.GetList().push_back(std::move(dict)); - } + RemoveStaleEntriesAndUpdateCache(&programs); - return program_names; + return !programs.empty(); +} + +// static +std::vector<ProblematicProgramsUpdater::ProblematicProgram> +ProblematicProgramsUpdater::GetCachedPrograms() { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + + std::vector<ProblematicProgram> programs; + + if (!base::FeatureList::IsEnabled(kIncompatibleApplicationsWarning)) + return programs; + + programs = ConvertToProblematicProgramsVector( + *g_browser_process->local_state() + ->FindPreference(prefs::kProblematicPrograms) + ->GetValue()); + + RemoveStaleEntriesAndUpdateCache(&programs); + + return programs; } void ProblematicProgramsUpdater::OnNewModuleFound( @@ -216,89 +300,3 @@ const InstalledPrograms& installed_programs) : module_list_filter_(module_list_filter), installed_programs_(installed_programs) {} - -// static -base::Value ProblematicProgramsUpdater::ConvertToDictionary( - const std::vector<ProblematicProgram>& programs) { - base::Value result(base::Value::Type::DICTIONARY); - - for (const ProblematicProgram& program : programs) { - base::Value element(base::Value::Type::DICTIONARY); - - // The registry location is necessary to quickly figure out if that program - // is still installed on the computer. - element.SetKey("registry_is_hkcu", base::Value(program.info.registry_root == - HKEY_CURRENT_USER)); - element.SetKey("registry_key_path", - base::Value(program.info.registry_key_path)); - element.SetKey( - "registry_wow64_access", - base::Value(static_cast<int>(program.info.registry_wow64_access))); - - // And then the actual information needed to display a warning to the user. - element.SetKey("allow_load", - base::Value(program.blacklist_action->allow_load())); - element.SetKey("type", - base::Value(program.blacklist_action->message_type())); - element.SetKey("message_url", - base::Value(program.blacklist_action->message_url())); - - result.SetKey(base::UTF16ToUTF8(program.info.name), std::move(element)); - } - - return result; -} - -// static -std::vector<ProblematicProgramsUpdater::ProblematicProgram> -ProblematicProgramsUpdater::ConvertToProblematicProgramsVector( - const base::Value& programs) { - std::vector<ProblematicProgram> result; - - for (const auto& element : programs.DictItems()) { - const std::string& name = element.first; - const base::Value& value = element.second; - - if (!value.is_dict()) - continue; - - const base::Value* registry_is_hkcu_value = - value.FindKeyOfType("registry_is_hkcu", base::Value::Type::BOOLEAN); - const base::Value* registry_key_path_value = - value.FindKeyOfType("registry_key_path", base::Value::Type::STRING); - const base::Value* registry_wow64_access_value = value.FindKeyOfType( - "registry_wow64_access", base::Value::Type::INTEGER); - const base::Value* allow_load_value = - value.FindKeyOfType("allow_load", base::Value::Type::BOOLEAN); - const base::Value* type_value = - value.FindKeyOfType("type", base::Value::Type::INTEGER); - const base::Value* message_url_value = - value.FindKeyOfType("message_url", base::Value::Type::STRING); - - // All of the above are required. If any is missing, the element is skipped. - if (!registry_is_hkcu_value || !registry_key_path_value || - !registry_wow64_access_value || !allow_load_value || !type_value || - !message_url_value) { - continue; - } - - InstalledPrograms::ProgramInfo program_info = { - base::UTF8ToUTF16(name), - registry_is_hkcu_value->GetBool() ? HKEY_CURRENT_USER - : HKEY_LOCAL_MACHINE, - base::UTF8ToUTF16(registry_key_path_value->GetString()), - static_cast<REGSAM>(registry_wow64_access_value->GetInt())}; - - auto blacklist_action = - std::make_unique<chrome::conflicts::BlacklistAction>(); - blacklist_action->set_allow_load(allow_load_value->GetBool()); - blacklist_action->set_message_type( - static_cast<chrome::conflicts::BlacklistMessageType>( - type_value->GetInt())); - blacklist_action->set_message_url(message_url_value->GetString()); - - result.emplace_back(std::move(program_info), std::move(blacklist_action)); - } - - return result; -}
diff --git a/chrome/browser/conflicts/problematic_programs_updater_win.h b/chrome/browser/conflicts/problematic_programs_updater_win.h index 9d991c1..90ffabe3 100644 --- a/chrome/browser/conflicts/problematic_programs_updater_win.h +++ b/chrome/browser/conflicts/problematic_programs_updater_win.h
@@ -10,7 +10,6 @@ #include "base/feature_list.h" #include "base/macros.h" -#include "base/values.h" #include "chrome/browser/conflicts/installed_programs_win.h" #include "chrome/browser/conflicts/module_database_observer_win.h" #include "chrome/browser/conflicts/proto/module_list.pb.h" @@ -26,44 +25,13 @@ // These programs cause unwanted DLLs to be loaded into Chrome. // // Because the list is expensive to build, it is cached into the Local State -// file so that it is available at startup, albeit somewhat out-of-date. To -// remove stale elements from the list, use TrimCache(). +// file so that it is available at startup. // // When kIncompatibleApplicationsWarning is disabled, this class always behaves // as-if there are no problematic programs on the computer. This makes it safe // to use all of the class' static functions unconditionally. class ProblematicProgramsUpdater : public ModuleDatabaseObserver { public: - ~ProblematicProgramsUpdater() override; - - static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); - - // Creates an instance of the updater. Returns nullptr if the - // kIncompatibleApplicationsWarning experiment is disabled. - // - // |installed_programs| must outlive the lifetime of this class. - static std::unique_ptr<ProblematicProgramsUpdater> MaybeCreate( - const ModuleListFilter& module_list_filter, - const InstalledPrograms& installed_programs); - - // Removes stale programs from the cache. This can happen if a program was - // uninstalled between the time it was found and Chrome was relaunched. - // Returns true if any problematic programs are installed after trimming - // completes (i.e., HasCachedPrograms() would return true). - static bool TrimCache(); - - // Returns true if the cache contains at least one problematic program. - static bool HasCachedPrograms(); - - // Returns all the cached problematic programs in a list Value. - static base::Value GetCachedPrograms(); - - // ModuleDatabaseObserver: - void OnNewModuleFound(const ModuleInfoKey& module_key, - const ModuleInfoData& module_data) override; - void OnModuleDatabaseIdle() override; - - private: struct ProblematicProgram { ProblematicProgram( InstalledPrograms::ProgramInfo info, @@ -78,17 +46,33 @@ std::unique_ptr<chrome::conflicts::BlacklistAction> blacklist_action; }; + ~ProblematicProgramsUpdater() override; + + static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); + + // Creates an instance of the updater. Returns nullptr if the + // kIncompatibleApplicationsWarning experiment is disabled. + // + // |installed_programs| must outlive the lifetime of this class. + static std::unique_ptr<ProblematicProgramsUpdater> MaybeCreate( + const ModuleListFilter& module_list_filter, + const InstalledPrograms& installed_programs); + + // Returns true if the cache contains at least one problematic program. + static bool HasCachedPrograms(); + + // Returns all the cached problematic programs. + static std::vector<ProblematicProgram> GetCachedPrograms(); + + // ModuleDatabaseObserver: + void OnNewModuleFound(const ModuleInfoKey& module_key, + const ModuleInfoData& module_data) override; + void OnModuleDatabaseIdle() override; + + private: ProblematicProgramsUpdater(const ModuleListFilter& module_list_filter, const InstalledPrograms& installed_programs); - // Helper function to serialize a vector of ProblematicPrograms to JSON. - static base::Value ConvertToDictionary( - const std::vector<ProblematicProgram>& programs); - - // Helper function to deserialize a vector of ProblematicPrograms. - static std::vector<ProblematicProgram> ConvertToProblematicProgramsVector( - const base::Value& programs); - const ModuleListFilter& module_list_filter_; const InstalledPrograms& installed_programs_;
diff --git a/chrome/browser/conflicts/problematic_programs_updater_win_unittest.cc b/chrome/browser/conflicts/problematic_programs_updater_win_unittest.cc index eae7cff..faa57f8 100644 --- a/chrome/browser/conflicts/problematic_programs_updater_win_unittest.cc +++ b/chrome/browser/conflicts/problematic_programs_updater_win_unittest.cc
@@ -148,8 +148,7 @@ // returned. TEST_F(ProblematicProgramsUpdaterTest, EmptyCache) { EXPECT_FALSE(ProblematicProgramsUpdater::HasCachedPrograms()); - EXPECT_TRUE( - ProblematicProgramsUpdater::GetCachedPrograms().GetList().empty()); + EXPECT_TRUE(ProblematicProgramsUpdater::GetCachedPrograms().empty()); } // ProblematicProgramsUpdater doesn't do anything when there is no registered @@ -164,8 +163,7 @@ problematic_programs_updater->OnModuleDatabaseIdle(); EXPECT_FALSE(ProblematicProgramsUpdater::HasCachedPrograms()); - EXPECT_TRUE( - ProblematicProgramsUpdater::GetCachedPrograms().GetList().empty()); + EXPECT_TRUE(ProblematicProgramsUpdater::GetCachedPrograms().empty()); } TEST_F(ProblematicProgramsUpdaterTest, OneConflict) { @@ -180,9 +178,9 @@ problematic_programs_updater->OnModuleDatabaseIdle(); EXPECT_TRUE(ProblematicProgramsUpdater::HasCachedPrograms()); - base::Value program_names = ProblematicProgramsUpdater::GetCachedPrograms(); - ASSERT_EQ(1u, program_names.GetList().size()); - EXPECT_EQ("Foo", program_names.GetList()[0].FindKey("name")->GetString()); + auto program_names = ProblematicProgramsUpdater::GetCachedPrograms(); + ASSERT_EQ(1u, program_names.size()); + EXPECT_EQ(L"Foo", program_names[0].info.name); } TEST_F(ProblematicProgramsUpdaterTest, MultipleCallsToOnModuleDatabaseIdle) { @@ -203,8 +201,8 @@ problematic_programs_updater->OnModuleDatabaseIdle(); EXPECT_TRUE(ProblematicProgramsUpdater::HasCachedPrograms()); - base::Value program_names = ProblematicProgramsUpdater::GetCachedPrograms(); - ASSERT_EQ(2u, program_names.GetList().size()); + auto program_names = ProblematicProgramsUpdater::GetCachedPrograms(); + ASSERT_EQ(2u, program_names.size()); } // This is meant to test that cached problematic programs are persisted @@ -232,8 +230,8 @@ EXPECT_TRUE(ProblematicProgramsUpdater::HasCachedPrograms()); } -// Tests that TrimCache() removes programs that do not have a registry entry. -TEST_F(ProblematicProgramsUpdaterTest, TrimCache) { +// Tests that programs that do not have a registry entry are removed. +TEST_F(ProblematicProgramsUpdaterTest, StaleEntriesRemoved) { AddProblematicProgram(dll1_, L"Foo", Option::ADD_REGISTRY_ENTRY); AddProblematicProgram(dll2_, L"Bar", Option::NO_REGISTRY_ENTRY); @@ -248,13 +246,7 @@ problematic_programs_updater->OnModuleDatabaseIdle(); EXPECT_TRUE(ProblematicProgramsUpdater::HasCachedPrograms()); - EXPECT_EQ(2u, - ProblematicProgramsUpdater::GetCachedPrograms().GetList().size()); - - ProblematicProgramsUpdater::TrimCache(); - - EXPECT_TRUE(ProblematicProgramsUpdater::HasCachedPrograms()); - base::Value program_names = ProblematicProgramsUpdater::GetCachedPrograms(); - ASSERT_EQ(1u, program_names.GetList().size()); - EXPECT_EQ("Foo", program_names.GetList()[0].FindKey("name")->GetString()); + auto program_names = ProblematicProgramsUpdater::GetCachedPrograms(); + ASSERT_EQ(1u, program_names.size()); + EXPECT_EQ(L"Foo", program_names[0].info.name); }
diff --git a/chrome/browser/conflicts/registry_key_watcher_win.cc b/chrome/browser/conflicts/registry_key_watcher_win.cc new file mode 100644 index 0000000..bb64949d --- /dev/null +++ b/chrome/browser/conflicts/registry_key_watcher_win.cc
@@ -0,0 +1,72 @@ +// Copyright 2018 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 "chrome/browser/conflicts/registry_key_watcher_win.h" + +#include <windows.h> + +#include <utility> + +#include "base/bind.h" + +// static +std::unique_ptr<RegistryKeyWatcher> RegistryKeyWatcher::Create( + HKEY root, + const base::string16& subkey, + REGSAM wow64access, + base::OnceClosure on_registry_key_deleted) { + std::unique_ptr<RegistryKeyWatcher> instance(new RegistryKeyWatcher( + root, subkey, wow64access, std::move(on_registry_key_deleted))); + + if (!instance->IsWatching()) + return nullptr; + + return instance; +} + +RegistryKeyWatcher::~RegistryKeyWatcher() = default; + +RegistryKeyWatcher::RegistryKeyWatcher( + HKEY root, + const base::string16& subkey, + REGSAM wow64access, + base::OnceClosure on_registry_key_deleted) + : registry_key_(std::make_unique<base::win::RegKey>( + root, + subkey.c_str(), + KEY_NOTIFY | KEY_QUERY_VALUE | wow64access)), + on_registry_key_deleted_(std::move(on_registry_key_deleted)) { + if (registry_key_->Valid()) + StartWatching(); +} + +void RegistryKeyWatcher::StartWatching() { + if (!registry_key_->StartWatching(base::BindRepeating( + &RegistryKeyWatcher::OnRegistryKeyChanged, base::Unretained(this)))) { + registry_key_.reset(); + } +} + +bool RegistryKeyWatcher::IsWatching() { + return registry_key_ && registry_key_->Valid(); +} + +void RegistryKeyWatcher::OnRegistryKeyChanged() { + // This callback may be invoked for any modification on the registry key. + // Since this class cares only about the deletion of the key, read the default + // value of the key to figure out if it still exists. + base::string16 value; + if (registry_key_->ReadValue(nullptr, &value) == ERROR_KEY_DELETED) { + // The registry key is no longer needed. + registry_key_.reset(); + + // Run the callback last, because it may delete the RegistryKeyWatcher + // instance during its execution. + std::move(on_registry_key_deleted_).Run(); + return; + } + + // Keep watching. + StartWatching(); +}
diff --git a/chrome/browser/conflicts/registry_key_watcher_win.h b/chrome/browser/conflicts/registry_key_watcher_win.h new file mode 100644 index 0000000..1be7789 --- /dev/null +++ b/chrome/browser/conflicts/registry_key_watcher_win.h
@@ -0,0 +1,52 @@ +// Copyright 2018 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 CHROME_BROWSER_CONFLICTS_REGISTRY_KEY_WATCHER_WIN_H_ +#define CHROME_BROWSER_CONFLICTS_REGISTRY_KEY_WATCHER_WIN_H_ + +#include <memory> + +#include "base/callback.h" +#include "base/macros.h" +#include "base/win/registry.h" + +// This class monitors a registry key to detect if it gets deleted. Delete the +// watcher to stop the monitoring. +class RegistryKeyWatcher { + public: + // Creates a watcher that immediately starts monitoring the |subkey|. Returns + // null if there was an error during the initialization. + static std::unique_ptr<RegistryKeyWatcher> Create( + HKEY root, + const base::string16& subkey, + REGSAM wow64access, + base::OnceClosure on_registry_key_deleted); + + ~RegistryKeyWatcher(); + + private: + RegistryKeyWatcher(HKEY root, + const base::string16& subkey, + REGSAM wow64access, + base::OnceClosure on_registry_key_deleted); + + // Starts the monitoring on the registry key. + void StartWatching(); + + // Returns true if the registry key is being watched. + bool IsWatching(); + + // Callback for modifications on the registry key. + void OnRegistryKeyChanged(); + + // The registry key being watched. + std::unique_ptr<base::win::RegKey> registry_key_; + + // Invoked when the registry key is deleted. + base::OnceClosure on_registry_key_deleted_; + + DISALLOW_COPY_AND_ASSIGN(RegistryKeyWatcher); +}; + +#endif // CHROME_BROWSER_CONFLICTS_REGISTRY_KEY_WATCHER_WIN_H_
diff --git a/chrome/browser/conflicts/registry_key_watcher_win_unittest.cc b/chrome/browser/conflicts/registry_key_watcher_win_unittest.cc new file mode 100644 index 0000000..4a4262f --- /dev/null +++ b/chrome/browser/conflicts/registry_key_watcher_win_unittest.cc
@@ -0,0 +1,61 @@ +// Copyright 2018 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 "chrome/browser/conflicts/registry_key_watcher_win.h" + +#include "base/run_loop.h" +#include "base/test/scoped_task_environment.h" +#include "base/test/test_reg_util_win.h" +#include "testing/gtest/include/gtest/gtest.h" + +class RegistryKeyWatcherTest : public testing::Test { + protected: + RegistryKeyWatcherTest() = default; + ~RegistryKeyWatcherTest() override = default; + + void SetUp() override { + ASSERT_NO_FATAL_FAILURE( + registry_override_manager_.OverrideRegistry(HKEY_CURRENT_USER)); + } + + // Creates a registry key. + static bool CreateKey(HKEY root, const wchar_t* subkey) { + return base::win::RegKey(root, subkey, KEY_SET_VALUE).Valid(); + } + + // Deletes a registry key. + static bool DeleteKey(HKEY root, const wchar_t* subkey) { + base::win::RegKey registry_key(root); + return registry_key.Valid() && + registry_key.DeleteKey(subkey) == ERROR_SUCCESS; + } + + private: + base::test::ScopedTaskEnvironment scoped_task_environment_; + registry_util::RegistryOverrideManager registry_override_manager_; + + DISALLOW_COPY_AND_ASSIGN(RegistryKeyWatcherTest); +}; + +TEST_F(RegistryKeyWatcherTest, InvalidKey) { + auto registry_key_watcher = RegistryKeyWatcher::Create( + HKEY_CURRENT_USER, L"Foo\\Bar", 0, base::OnceClosure()); + EXPECT_FALSE(registry_key_watcher); +} + +TEST_F(RegistryKeyWatcherTest, WatchKeyDeletion) { + static constexpr wchar_t kRegistryKeyPath[] = L"Foo\\Bar"; + + // Create an existing key to watch. + ASSERT_TRUE(CreateKey(HKEY_CURRENT_USER, kRegistryKeyPath)); + + base::RunLoop run_loop; + auto registry_key_watcher = RegistryKeyWatcher::Create( + HKEY_CURRENT_USER, kRegistryKeyPath, 0, run_loop.QuitClosure()); + EXPECT_TRUE(registry_key_watcher); + + // Deleting the key must invoke the quit closure of the RunLoop. + ASSERT_TRUE(DeleteKey(HKEY_CURRENT_USER, kRegistryKeyPath)); + run_loop.Run(); +}
diff --git a/chrome/browser/conflicts/third_party_conflicts_manager_win.cc b/chrome/browser/conflicts/third_party_conflicts_manager_win.cc index 434cf648..adcfbe0 100644 --- a/chrome/browser/conflicts/third_party_conflicts_manager_win.cc +++ b/chrome/browser/conflicts/third_party_conflicts_manager_win.cc
@@ -17,6 +17,17 @@ ThirdPartyConflictsManager::~ThirdPartyConflictsManager() = default; +void ThirdPartyConflictsManager::OnModuleDatabaseIdle() { + if (installed_programs_.initialized()) + return; + + // ThirdPartyConflictsManager owns |installed_programs_|, so it is safe to use + // base::Unretained(). + installed_programs_.Initialize(base::BindOnce( + &ThirdPartyConflictsManager::OnInstalledProgramsInitialized, + base::Unretained(this))); +} + void ThirdPartyConflictsManager::LoadModuleList(const base::FilePath& path) { // No attempt is made to dynamically reconcile a new module list version. The // next Chrome launch will pick it up. @@ -33,14 +44,18 @@ // another attempt will be made with a newer version. module_list_received_ = true; - // ThirdPartyConflictsManager owns |installed_programs_|, so it is safe to use - // base::Unretained(). - installed_programs_.Initialize(base::BindOnce( - &ThirdPartyConflictsManager::OnInstalledProgramsInitialized, - base::Unretained(this))); + if (installed_programs_.initialized()) + InitializeProblematicProgramsUpdater(); } void ThirdPartyConflictsManager::OnInstalledProgramsInitialized() { + if (module_list_received_) + InitializeProblematicProgramsUpdater(); +} + +void ThirdPartyConflictsManager::InitializeProblematicProgramsUpdater() { + DCHECK(module_list_received_); + DCHECK(installed_programs_.initialized()); problematic_programs_updater_ = ProblematicProgramsUpdater::MaybeCreate( *module_list_filter_, installed_programs_); if (problematic_programs_updater_)
diff --git a/chrome/browser/conflicts/third_party_conflicts_manager_win.h b/chrome/browser/conflicts/third_party_conflicts_manager_win.h index e28dc69..5f78a964 100644 --- a/chrome/browser/conflicts/third_party_conflicts_manager_win.h +++ b/chrome/browser/conflicts/third_party_conflicts_manager_win.h
@@ -21,18 +21,25 @@ // This class owns all the third-party conflicts-related classes and is // responsible for their initialization. -class ThirdPartyConflictsManager { +class ThirdPartyConflictsManager : public ModuleDatabaseObserver { public: explicit ThirdPartyConflictsManager(ModuleDatabase* module_database); - ~ThirdPartyConflictsManager(); + ~ThirdPartyConflictsManager() override; - // Gets modules + // ModuleDatabaseObserver: + void OnModuleDatabaseIdle() override; + + // Loads the |module_list_filter_| using the Module List at |path|. void LoadModuleList(const base::FilePath& path); private: // Called when |installed_programs_| finishes its initialization. void OnInstalledProgramsInitialized(); + // Initializes |problematic_programs_updater_| when both the ModuleListFilter + // and the InstalledPrograms are available. + void InitializeProblematicProgramsUpdater(); + ModuleDatabase* module_database_; // Indicates if the initial Module List has been received.
diff --git a/chrome/browser/extensions/DEPS b/chrome/browser/extensions/DEPS index d1ad1f6a..5e0ad1d 100644 --- a/chrome/browser/extensions/DEPS +++ b/chrome/browser/extensions/DEPS
@@ -37,4 +37,7 @@ # TODO(mash): Remove. http://crbug.com/678705 "+ash/shell.h", ], + "test_extension_system.cc": [ + "+services/data_decoder", + ], }
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc index f005243..849602a 100644 --- a/chrome/browser/extensions/api/debugger/debugger_api.cc +++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -104,8 +104,10 @@ ~ExtensionDevToolsClientHost() override; + bool Attach(); const std::string& extension_id() { return extension_id_; } DevToolsAgentHost* agent_host() { return agent_host_.get(); } + void RespondDetachedToPendingRequests(); void Close(); void SendMessageToBackend(DebuggerSendCommandFunction* function, const std::string& method, @@ -138,6 +140,7 @@ Profile* profile_; scoped_refptr<DevToolsAgentHost> agent_host_; std::string extension_id_; + std::string extension_name_; Debuggee debuggee_; content::NotificationRegistrar registrar_; int last_request_id_; @@ -161,6 +164,7 @@ : profile_(profile), agent_host_(agent_host), extension_id_(extension_id), + extension_name_(extension_name), last_request_id_(0), infobar_(nullptr), detach_reason_(api::debugger::DETACH_REASON_TARGET_CLOSED), @@ -178,27 +182,34 @@ // Disconnect explicitly to make sure that |this| observer is not leaked. registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING, content::NotificationService::AllSources()); +} +bool ExtensionDevToolsClientHost::Attach() { // Attach to debugger and tell it we are ready. - agent_host_->AttachClient(this); + if (!agent_host_->AttachRestrictedClient(this)) + return false; if (base::CommandLine::ForCurrentProcess()->HasSwitch( ::switches::kSilentDebuggerExtensionAPI)) { - return; + return true; } // We allow policy-installed extensions to circumvent the normal // infobar warning. See crbug.com/693621. const Extension* extension = - ExtensionRegistry::Get(profile)->enabled_extensions().GetByID( - extension_id); + ExtensionRegistry::Get(profile_)->enabled_extensions().GetByID( + extension_id_); + // TODO(dgozman): null-checking |extension| below is sketchy. + // We probably should not allow debugging in this case. Or maybe + // it's never null? if (extension && Manifest::IsPolicyLocation(extension->location())) - return; + return true; infobar_ = ExtensionDevToolsInfoBar::Create( - extension_id, extension_name, this, + extension_id_, extension_name_, this, base::Bind(&ExtensionDevToolsClientHost::InfoBarDismissed, base::Unretained(this))); + return true; } ExtensionDevToolsClientHost::~ExtensionDevToolsClientHost() { @@ -211,6 +222,7 @@ void ExtensionDevToolsClientHost::AgentHostClosed( DevToolsAgentHost* agent_host) { DCHECK(agent_host == agent_host_.get()); + RespondDetachedToPendingRequests(); SendDetachedEvent(); delete this; } @@ -241,10 +253,17 @@ void ExtensionDevToolsClientHost::InfoBarDismissed() { detach_reason_ = api::debugger::DETACH_REASON_CANCELED_BY_USER; + RespondDetachedToPendingRequests(); SendDetachedEvent(); Close(); } +void ExtensionDevToolsClientHost::RespondDetachedToPendingRequests() { + for (const auto& it : pending_requests_) + it.second->SendDetachedError(); + pending_requests_.clear(); +} + void ExtensionDevToolsClientHost::SendDetachedEvent() { if (!EventRouter::Get(profile_)) return; @@ -447,9 +466,16 @@ return false; } - new ExtensionDevToolsClientHost(GetProfile(), agent_host_.get(), - extension()->id(), extension()->name(), - debuggee_); + auto host = std::make_unique<ExtensionDevToolsClientHost>( + GetProfile(), agent_host_.get(), extension()->id(), extension()->name(), + debuggee_); + + if (!host->Attach()) { + FormatErrorMessage(keys::kRestrictedError); + return false; + } + + host.release(); // An attached client host manages its own lifetime. SendResponse(true); return true; } @@ -471,6 +497,7 @@ if (!InitClientHost()) return false; + client_host_->RespondDetachedToPendingRequests(); client_host_->Close(); SendResponse(true); return true; @@ -517,6 +544,10 @@ SendResponse(true); } +void DebuggerSendCommandFunction::SendDetachedError() { + error_ = keys::kDetachedWhileHandlingError; + SendResponse(false); +} // DebuggerGetTargetsFunction -------------------------------------------------
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.h b/chrome/browser/extensions/api/debugger/debugger_api.h index 4aa4667..e716e7e 100644 --- a/chrome/browser/extensions/api/debugger/debugger_api.h +++ b/chrome/browser/extensions/api/debugger/debugger_api.h
@@ -77,6 +77,7 @@ DebuggerSendCommandFunction(); void SendResponseBody(base::DictionaryValue* result); + void SendDetachedError(); protected: ~DebuggerSendCommandFunction() override;
diff --git a/chrome/browser/extensions/api/debugger/debugger_api_constants.cc b/chrome/browser/extensions/api/debugger/debugger_api_constants.cc index 7ddcd82..e008366 100644 --- a/chrome/browser/extensions/api/debugger/debugger_api_constants.cc +++ b/chrome/browser/extensions/api/debugger/debugger_api_constants.cc
@@ -17,6 +17,8 @@ "Requested protocol version is not supported: *."; const char kSilentDebuggingRequired[] = "Cannot attach to this target unless '*' flag is enabled."; +const char kRestrictedError[] = "Cannot attach to this target."; +const char kDetachedWhileHandlingError[] = "Detached while handling command."; const char kTabTargetType[] = "tab"; const char kBackgroundPageTargetType[] = "background page";
diff --git a/chrome/browser/extensions/api/debugger/debugger_api_constants.h b/chrome/browser/extensions/api/debugger/debugger_api_constants.h index f79b7b8..1384a837 100644 --- a/chrome/browser/extensions/api/debugger/debugger_api_constants.h +++ b/chrome/browser/extensions/api/debugger/debugger_api_constants.h
@@ -20,6 +20,8 @@ extern const char kNotAttachedError[]; extern const char kProtocolVersionNotSupportedError[]; extern const char kSilentDebuggingRequired[]; +extern const char kRestrictedError[]; +extern const char kDetachedWhileHandlingError[]; // Target types. extern const char kTabTargetType[];
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc index 20fe947..b0199498 100644 --- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc +++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
@@ -20,14 +20,14 @@ #include "base/timer/timer.h" #include "base/values.h" #include "build/build_config.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_factory.h" #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.h" #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" -#include "chrome/browser/signin/easy_unlock_service.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" #include "chrome/browser/ui/proximity_auth/proximity_auth_error_bubble.h" #include "chrome/common/extensions/api/easy_unlock_private.h" #include "chrome/grit/generated_resources.h" @@ -519,7 +519,7 @@ EXTENSION_FUNCTION_VALIDATE(params.get()); Profile* profile = Profile::FromBrowserContext(browser_context()); - if (EasyUnlockService::Get(profile)->UpdateScreenlockState( + if (chromeos::EasyUnlockService::Get(profile)->UpdateScreenlockState( ToScreenlockState(params->state))) { return RespondNow(NoArguments()); } @@ -541,8 +541,8 @@ EXTENSION_FUNCTION_VALIDATE(params.get()); Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService::Get(profile) - ->SetPermitAccess(*params->permit_access.ToValue()); + chromeos::EasyUnlockService::Get(profile)->SetPermitAccess( + *params->permit_access.ToValue()); return RespondNow(NoArguments()); } @@ -563,7 +563,7 @@ Profile* profile = Profile::FromBrowserContext(browser_context()); const base::DictionaryValue* permit_value = - EasyUnlockService::Get(profile)->GetPermitAccess(); + chromeos::EasyUnlockService::Get(profile)->GetPermitAccess(); if (permit_value) { std::unique_ptr<easy_unlock_private::PermitRecord> permit = @@ -580,7 +580,7 @@ std::string* user_private_key) { Profile* profile = Profile::FromBrowserContext(browser_context()); cryptauth::CryptAuthEnrollmentManager* enrollment_manager = - EasyUnlockService::Get(profile) + chromeos::EasyUnlockService::Get(profile) ->proximity_auth_client() ->GetCryptAuthEnrollmentManager(); base::Base64UrlEncode(enrollment_manager->GetUserPublicKey(), @@ -595,8 +595,10 @@ EasyUnlockPrivateGetPermitAccessFunction::GetPermitAccessForExperiment() { // Check that we are inside a user session. Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService* easy_unlock_service = EasyUnlockService::Get(profile); - if (easy_unlock_service->GetType() != EasyUnlockService::TYPE_REGULAR) { + chromeos::EasyUnlockService* easy_unlock_service = + chromeos::EasyUnlockService::Get(profile); + if (easy_unlock_service->GetType() != + chromeos::EasyUnlockService::TYPE_REGULAR) { return RespondNow( Error("This function must be called inside a user session.")); } @@ -633,7 +635,7 @@ ExtensionFunction::ResponseAction EasyUnlockPrivateClearPermitAccessFunction::Run() { Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService::Get(profile)->ClearPermitAccess(); + chromeos::EasyUnlockService::Get(profile)->ClearPermitAccess(); return RespondNow(NoArguments()); } @@ -659,9 +661,9 @@ // Store the BLE device if we are trying out the BLE experiment. if (!base::CommandLine::ForCurrentProcess()->HasSwitch( proximity_auth::switches::kDisableBluetoothLowEnergyDiscovery)) { - EasyUnlockService::Get(profile)->SetRemoteBleDevices(devices); + chromeos::EasyUnlockService::Get(profile)->SetRemoteBleDevices(devices); } else { - EasyUnlockService::Get(profile)->SetRemoteDevices(devices); + chromeos::EasyUnlockService::Get(profile)->SetRemoteDevices(devices); } return RespondNow(NoArguments()); @@ -684,7 +686,7 @@ } else { Profile* profile = Profile::FromBrowserContext(browser_context()); const base::ListValue* devices = - EasyUnlockService::Get(profile)->GetRemoteDevices(); + chromeos::EasyUnlockService::Get(profile)->GetRemoteDevices(); SetResult(devices ? devices->CreateDeepCopy() : std::make_unique<base::ListValue>()); SendResponse(true); @@ -696,7 +698,7 @@ std::string EasyUnlockPrivateGetRemoteDevicesFunction::GetUserPrivateKey() { Profile* profile = Profile::FromBrowserContext(browser_context()); proximity_auth::ProximityAuthClient* client = - EasyUnlockService::Get(profile)->proximity_auth_client(); + chromeos::EasyUnlockService::Get(profile)->proximity_auth_client(); cryptauth::CryptAuthEnrollmentManager* enrollment_manager = client->GetCryptAuthEnrollmentManager(); return enrollment_manager->GetUserPrivateKey(); @@ -706,7 +708,7 @@ EasyUnlockPrivateGetRemoteDevicesFunction::GetUnlockKeys() { Profile* profile = Profile::FromBrowserContext(browser_context()); proximity_auth::ProximityAuthClient* client = - EasyUnlockService::Get(profile)->proximity_auth_client(); + chromeos::EasyUnlockService::Get(profile)->proximity_auth_client(); cryptauth::CryptAuthDeviceManager* device_manager = client->GetCryptAuthDeviceManager(); return device_manager->GetUnlockKeys(); @@ -715,8 +717,10 @@ void EasyUnlockPrivateGetRemoteDevicesFunction::ReturnDevicesForExperiment() { // Check that we are inside a user profile. Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService* easy_unlock_service = EasyUnlockService::Get(profile); - if (easy_unlock_service->GetType() != EasyUnlockService::TYPE_REGULAR) { + chromeos::EasyUnlockService* easy_unlock_service = + chromeos::EasyUnlockService::Get(profile); + if (easy_unlock_service->GetType() != + chromeos::EasyUnlockService::TYPE_REGULAR) { SetError("This function must be called inside a user session."); SendResponse(true); return; @@ -814,7 +818,7 @@ Profile* profile = Profile::FromBrowserContext(browser_context()); const std::string challenge = - EasyUnlockService::Get(profile)->GetChallenge(); + chromeos::EasyUnlockService::Get(profile)->GetChallenge(); if (!challenge.empty() && !params->nonce.empty()) { EasyUnlockTpmKeyManager* key_manager = EasyUnlockTpmKeyManagerFactory::GetInstance()->Get(profile); @@ -823,7 +827,7 @@ return false; } key_manager->SignUsingTpmKey( - EasyUnlockService::Get(profile)->GetAccountId(), + chromeos::EasyUnlockService::Get(profile)->GetAccountId(), std::string(params->nonce.begin(), params->nonce.end()), base::Bind(&EasyUnlockPrivateGetSignInChallengeFunction::OnDone, this, challenge)); @@ -857,7 +861,7 @@ EXTENSION_FUNCTION_VALIDATE(params.get()); Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService::Get(profile)->FinalizeSignin(std::string( + chromeos::EasyUnlockService::Get(profile)->FinalizeSignin(std::string( params->sign_in_secret.begin(), params->sign_in_secret.end())); return RespondNow(NoArguments()); } @@ -869,18 +873,19 @@ } ExtensionFunction::ResponseAction EasyUnlockPrivateGetUserInfoFunction::Run() { - EasyUnlockService* service = - EasyUnlockService::Get(Profile::FromBrowserContext(browser_context())); + chromeos::EasyUnlockService* service = chromeos::EasyUnlockService::Get( + Profile::FromBrowserContext(browser_context())); std::vector<easy_unlock_private::UserInfo> users; const AccountId& account_id = service->GetAccountId(); if (account_id.is_valid()) { easy_unlock_private::UserInfo user; user.user_id = account_id.GetUserEmail(); - user.logged_in = service->GetType() == EasyUnlockService::TYPE_REGULAR; + user.logged_in = + service->GetType() == chromeos::EasyUnlockService::TYPE_REGULAR; user.data_ready = user.logged_in || service->GetRemoteDevices() != NULL; user.device_user_id = cryptauth::CalculateDeviceUserId( - EasyUnlockService::GetDeviceId(), account_id.GetUserEmail()); + chromeos::EasyUnlockService::GetDeviceId(), account_id.GetUserEmail()); user.ble_discovery_enabled = !base::CommandLine::ForCurrentProcess()->HasSwitch( @@ -1012,8 +1017,8 @@ error_message = *params->result.error_message; Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService::Get(profile) - ->SetAutoPairingResult(params->result.success, error_message); + chromeos::EasyUnlockService::Get(profile)->SetAutoPairingResult( + params->result.success, error_message); return RespondNow(NoArguments()); }
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc index 69a148da..d4f3cbb 100644 --- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc +++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc
@@ -13,14 +13,14 @@ #include "base/macros.h" #include "base/threading/thread_task_runner_handle.h" #include "base/values.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_app_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_regular.h" #include "chrome/browser/extensions/extension_api_unittest.h" #include "chrome/browser/extensions/extension_function_test_utils.h" #include "chrome/browser/extensions/extension_system_factory.h" #include "chrome/browser/extensions/test_extension_system.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/easy_unlock_app_manager.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" -#include "chrome/browser/signin/easy_unlock_service_regular.h" #include "chrome/common/extensions/api/easy_unlock_private.h" #include "chrome/common/extensions/extension_constants.h" #include "chromeos/dbus/dbus_thread_manager.h" @@ -467,11 +467,12 @@ // Test factory to register EasyUnlockService. std::unique_ptr<KeyedService> BuildTestEasyUnlockService( content::BrowserContext* context) { - std::unique_ptr<EasyUnlockServiceRegular> service( - new EasyUnlockServiceRegular(Profile::FromBrowserContext(context))); - service->Initialize( - EasyUnlockAppManager::Create(extensions::ExtensionSystem::Get(context), - -1 /* manifest id */, base::FilePath())); + std::unique_ptr<chromeos::EasyUnlockServiceRegular> service( + new chromeos::EasyUnlockServiceRegular( + Profile::FromBrowserContext(context))); + service->Initialize(chromeos::EasyUnlockAppManager::Create( + extensions::ExtensionSystem::Get(context), -1 /* manifest id */, + base::FilePath())); return std::move(service); } @@ -480,13 +481,14 @@ extensions::CreateAndUseTestEventRouter(profile()); event_router->set_expected_extension_id(extension_misc::kEasyUnlockAppId); - EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( + chromeos::EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( profile(), &BuildTestEasyUnlockService); AutoPairingResult result; // Dispatch OnStartAutoPairing event on EasyUnlockService::StartAutoPairing. - EasyUnlockService* service = EasyUnlockService::Get(profile()); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile()); service->StartAutoPairing(base::Bind(&AutoPairingResult::SetResult, base::Unretained(&result))); EXPECT_EQ(1, @@ -516,7 +518,7 @@ // Checks that the chrome.easyUnlockPrivate.getRemoteDevices API returns the // stored value if the kEnableBluetoothLowEnergyDiscovery switch is not set. TEST_F(EasyUnlockPrivateApiTest, GetRemoteDevicesNonExperimental) { - EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( + chromeos::EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( profile(), &BuildTestEasyUnlockService); scoped_refptr<TestableGetRemoteDevicesFunction> function( @@ -534,7 +536,7 @@ // Checks that the chrome.easyUnlockPrivate.getPermitAccess API returns the // stored value if the kEnableBluetoothLowEnergyDiscovery switch is not set. TEST_F(EasyUnlockPrivateApiTest, GetPermitAccessNonExperimental) { - EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( + chromeos::EasyUnlockServiceFactory::GetInstance()->SetTestingFactoryAndUse( profile(), &BuildTestEasyUnlockService); scoped_refptr<TestableGetPermitAccessFunction> function(
diff --git a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc index c2bef6db..c4b193e3 100644 --- a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc +++ b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc
@@ -9,9 +9,9 @@ #include "base/lazy_instance.h" #include "base/values.h" +#include "chrome/browser/chromeos/login/easy_unlock/chrome_proximity_auth_client.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/chrome_proximity_auth_client.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/common/extensions/api/screenlock_private.h" #include "chrome/common/extensions/extension_constants.h" #include "components/proximity_auth/screenlock_bridge.h" @@ -69,7 +69,8 @@ std::unique_ptr<screenlock::SetLocked::Params> params( screenlock::SetLocked::Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params.get()); - EasyUnlockService* service = EasyUnlockService::Get(GetProfile()); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(GetProfile()); if (params->locked) { if (extension()->id() == extension_misc::kEasyUnlockAppId && AppWindowRegistry::Get(browser_context()) @@ -102,7 +103,8 @@ EXTENSION_FUNCTION_VALIDATE(params.get()); Profile* profile = Profile::FromBrowserContext(browser_context()); - EasyUnlockService* service = EasyUnlockService::Get(profile); + chromeos::EasyUnlockService* service = + chromeos::EasyUnlockService::Get(profile); if (service) service->FinalizeUnlock(params->accept); return RespondNow(NoArguments());
diff --git a/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc b/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc index a4700be..422b46c 100644 --- a/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc +++ b/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc
@@ -9,12 +9,12 @@ #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h" #include "chrome/browser/extensions/extension_apitest.h" #include "chrome/browser/profiles/profile_attributes_entry.h" #include "chrome/browser/profiles/profile_attributes_storage.h" #include "chrome/browser/profiles/profile_manager.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/signin/signin_manager_factory.h" #include "components/proximity_auth/screenlock_bridge.h" #include "components/signin/core/browser/signin_manager.h" @@ -80,7 +80,8 @@ proximity_auth::ScreenlockBridge::Get()->lock_handler()->SetAuthType( test_account_id_, proximity_auth::mojom::AuthType::USER_CLICK, base::string16()); - EasyUnlockService::Get(profile())->AttemptAuth(test_account_id_); + chromeos::EasyUnlockService::Get(profile())->AttemptAuth( + test_account_id_); } }
diff --git a/chrome/browser/extensions/extension_service_test_base.cc b/chrome/browser/extensions/extension_service_test_base.cc index 89a07237..cfd74cd 100644 --- a/chrome/browser/extensions/extension_service_test_base.cc +++ b/chrome/browser/extensions/extension_service_test_base.cc
@@ -94,7 +94,6 @@ return; } data_dir_ = test_data_dir.AppendASCII("extensions"); - CrxInstaller::set_connector_for_test(test_data_decoder_service_.connector()); } ExtensionServiceTestBase::~ExtensionServiceTestBase() {
diff --git a/chrome/browser/extensions/extension_service_test_base.h b/chrome/browser/extensions/extension_service_test_base.h index 850c9d4..335746e 100644 --- a/chrome/browser/extensions/extension_service_test_base.h +++ b/chrome/browser/extensions/extension_service_test_base.h
@@ -19,7 +19,6 @@ #include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_renderer_host.h" #include "content/public/test/test_utils.h" -#include "services/data_decoder/public/cpp/test_data_decoder_service.h" #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_CHROMEOS) @@ -183,10 +182,6 @@ chromeos::ScopedTestUserManager test_user_manager_; #endif - // An instance of the data decoder service that does not require the - // ServiceManager. - data_decoder::TestDataDecoderService test_data_decoder_service_; - DISALLOW_COPY_AND_ASSIGN(ExtensionServiceTestBase); };
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc index f021d19..4e4d534 100644 --- a/chrome/browser/extensions/test_extension_system.cc +++ b/chrome/browser/extensions/test_extension_system.cc
@@ -17,6 +17,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/common/chrome_switches.h" #include "components/prefs/pref_service.h" +#include "components/unzip_service/unzip_service.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/service_manager_connection.h" #include "extensions/browser/extension_prefs.h" @@ -30,6 +31,8 @@ #include "extensions/browser/state_store.h" #include "extensions/browser/value_store/test_value_store_factory.h" #include "extensions/browser/value_store/testing_value_store.h" +#include "services/data_decoder/data_decoder_service.h" +#include "services/service_manager/public/cpp/test/test_connector_factory.h" #if defined(OS_CHROMEOS) #include "components/user_manager/user_manager.h" #endif @@ -74,11 +77,20 @@ profile_, command_line, install_directory, ExtensionPrefs::Get(profile_), Blacklist::Get(profile_), autoupdate_enabled, extensions_enabled, &ready_)); - if (!test_data_decoder_service_) { - test_data_decoder_service_ = - std::make_unique<data_decoder::TestDataDecoderService>(); + + if (!connector_factory_) { + service_manager::TestConnectorFactory::NameToServiceMap services; + services.insert(std::make_pair( + "data_decoder", std::make_unique<data_decoder::DataDecoderService>())); + services.insert(std::make_pair("unzip_service", + std::make_unique<unzip::UnzipService>())); + connector_factory_ = + service_manager::TestConnectorFactory::CreateForServices( + std::move(services)); + connector_ = connector_factory_->CreateConnector(); + CrxInstaller::set_connector_for_test(connector_.get()); } - CrxInstaller::set_connector_for_test(test_data_decoder_service_->connector()); + extension_service_->ClearProvidersForTesting(); return extension_service_.get(); }
diff --git a/chrome/browser/extensions/test_extension_system.h b/chrome/browser/extensions/test_extension_system.h index d551506e..bdb3afe5 100644 --- a/chrome/browser/extensions/test_extension_system.h +++ b/chrome/browser/extensions/test_extension_system.h
@@ -9,7 +9,6 @@ #include "extensions/browser/extension_system.h" #include "extensions/common/one_shot_event.h" -#include "services/data_decoder/public/cpp/test_data_decoder_service.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h" @@ -27,6 +26,11 @@ class BrowserContext; } +namespace service_manager { +class Connector; +class TestConnectorFactory; +} // namespace service_manager + namespace extensions { class TestValueStoreFactory; @@ -102,8 +106,8 @@ std::unique_ptr<QuotaService> quota_service_; std::unique_ptr<AppSorting> app_sorting_; OneShotEvent ready_; - std::unique_ptr<data_decoder::TestDataDecoderService> - test_data_decoder_service_; + std::unique_ptr<service_manager::TestConnectorFactory> connector_factory_; + std::unique_ptr<service_manager::Connector> connector_; #if defined(OS_CHROMEOS) std::unique_ptr<chromeos::ScopedTestUserManager> test_user_manager_;
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc index 2c8c567..c63b2f1 100644 --- a/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -1809,10 +1809,6 @@ const char kChromeHomeBottomNavLabelsDescription[] = "Enables text labels for Chrome Home bottom navigation menu items."; -const char kChromeHomeClearUrlOnOpenName[] = "Chrome Home clear url on open"; -const char kChromeHomeClearUrlOnOpenDescription[] = - "Clear omnibox URL when the bottom sheet is opened."; - const char kChromeHomeEnableSurveyName[] = "Enable Chrome Home survey"; const char kChromeHomeEnableSurveyDescription[] = "If enabled, the survey process will allow surveys using sample " @@ -1836,21 +1832,11 @@ "Wait to dismiss the Chrome Home IPH until the user inteacts with the " "toolbar or a timer expires."; -const char kChromeHomePersonalizedOmniboxSuggestionsName[] = - "Chrome Home Personalized Omnibox Suggestions"; -const char kChromeHomePersonalizedOmniboxSuggestionsDescription[] = - "Enable personalized omnibox suggestions on focus for Chrome Home."; - const char kChromeHomePullToRefreshIphAtTopName[] = "Chrome Home Pull-To-Refresh Iph At Top"; const char kChromeHomePullToRefreshIphAtTopDescription[] = "Show the Chrome Home pull-to-refresh help bubble at the top of the screen"; -const char kChromeHomeShowGoogleGName[] = "Chrome Home Show Google G"; -const char kChromeHomeShowGoogleGDescription[] = - "Show the Google G when the url is cleared. The flag to clear the url " - "when the sheet is opened must also be set."; - const char kChromeHomeSwipeLogicName[] = "Chrome Home Swipe Logic"; const char kChromeHomeSwipeLogicDescription[] = "Various swipe logic options for Chrome Home for sheet expansion.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h index 7c4363ff..cd90f621 100644 --- a/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -1107,9 +1107,6 @@ extern const char kChromeHomeBottomNavLabelsName[]; extern const char kChromeHomeBottomNavLabelsDescription[]; -extern const char kChromeHomeClearUrlOnOpenName[]; -extern const char kChromeHomeClearUrlOnOpenDescription[]; - extern const char kChromeHomeEnableSurveyName[]; extern const char kChromeHomeEnableSurveyDescription[]; @@ -1122,15 +1119,9 @@ extern const char kChromeHomePersistentIphName[]; extern const char kChromeHomePersistentIphDescription[]; -extern const char kChromeHomePersonalizedOmniboxSuggestionsName[]; -extern const char kChromeHomePersonalizedOmniboxSuggestionsDescription[]; - extern const char kChromeHomePullToRefreshIphAtTopName[]; extern const char kChromeHomePullToRefreshIphAtTopDescription[]; -extern const char kChromeHomeShowGoogleGName[]; -extern const char kChromeHomeShowGoogleGDescription[]; - extern const char kChromeHomeSwipeLogicName[]; extern const char kChromeHomeSwipeLogicDescription[]; extern const char kChromeHomeSwipeLogicRestrictArea[];
diff --git a/chrome/browser/media/media_engagement_service.cc b/chrome/browser/media/media_engagement_service.cc index 6caa4e1..17f2306 100644 --- a/chrome/browser/media/media_engagement_service.cc +++ b/chrome/browser/media/media_engagement_service.cc
@@ -29,12 +29,24 @@ const char MediaEngagementService::kHistogramURLsDeletedScoreReductionName[] = "Media.Engagement.URLsDeletedScoreReduction"; +const char MediaEngagementService::kHistogramClearName[] = + "Media.Engagement.Clear"; + namespace { // The current schema version of the MEI data. If this value is higher // than the stored value, all MEI data will be wiped. static const int kSchemaVersion = 4; +// Do not change the values of this enum as it is used for UMA. +enum class MediaEngagementClearReason { + kDataAll = 0, + kDataRange = 1, + kHistoryAll = 2, + kHistoryRange = 3, + kCount +}; + bool MediaEngagementFilterAdapter( const GURL& predicate, const ContentSettingsPattern& primary_pattern, @@ -66,6 +78,11 @@ difference); } +void RecordClear(MediaEngagementClearReason reason) { + UMA_HISTOGRAM_ENUMERATION(MediaEngagementService::kHistogramClearName, reason, + MediaEngagementClearReason::kCount); +} + } // namespace // static @@ -149,6 +166,11 @@ void MediaEngagementService::ClearDataBetweenTime( const base::Time& delete_begin, const base::Time& delete_end) { + if (delete_begin == base::Time() && delete_end == base::Time::Max()) + RecordClear(MediaEngagementClearReason::kDataAll); + else + RecordClear(MediaEngagementClearReason::kDataRange); + HostContentSettingsMapFactory::GetForProfile(profile_) ->ClearSettingsForOneTypeWithPredicate( CONTENT_SETTINGS_TYPE_MEDIA_ENGAGEMENT, base::Time(), @@ -177,6 +199,19 @@ bool expired, const history::URLRows& deleted_rows, const std::set<GURL>& favicon_urls) { + if (all_history) { + RecordClear(MediaEngagementClearReason::kHistoryAll); + + HostContentSettingsMapFactory::GetForProfile(profile_) + ->ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_MEDIA_ENGAGEMENT); + return; + } + + // TODO(818153): history expiration currently has no effect on MEI but entries + // that no longer appear in history should be removed from the database. + if (expired) + return; + std::map<GURL, int> origins; for (const history::URLRow& row : deleted_rows) { GURL origin = row.url().GetOrigin(); @@ -186,6 +221,9 @@ origins[origin]++; } + if (!origins.empty()) + RecordClear(MediaEngagementClearReason::kHistoryRange); + for (auto const& kv : origins) { // Remove the number of visits consistent with the number // of URLs from the same origin we are removing.
diff --git a/chrome/browser/media/media_engagement_service.h b/chrome/browser/media/media_engagement_service.h index 52ec8d5..c4e5cef3 100644 --- a/chrome/browser/media/media_engagement_service.h +++ b/chrome/browser/media/media_engagement_service.h
@@ -102,6 +102,10 @@ // is cleared. static const char kHistogramURLsDeletedScoreReductionName[]; + // The name of the histogram that records the reason why the engagement was + // cleared, either partially or fully. + static const char kHistogramClearName[]; + private: friend class MediaEngagementBrowserTest; friend class MediaEngagementContentsObserverTest;
diff --git a/chrome/browser/media/media_engagement_service_unittest.cc b/chrome/browser/media/media_engagement_service_unittest.cc index 88c7cac3..0b0ad838 100644 --- a/chrome/browser/media/media_engagement_service_unittest.cc +++ b/chrome/browser/media/media_engagement_service_unittest.cc
@@ -114,6 +114,8 @@ service_ = base::WrapUnique(StartNewMediaEngagementService()); } + MediaEngagementService* service() const { return service_.get(); } + MediaEngagementService* StartNewMediaEngagementService() { MediaEngagementService* service = new MediaEngagementService(profile(), &test_clock_); @@ -459,6 +461,11 @@ MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 5, 2); histogram_tester.ExpectBucketCount( MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 4, 1); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramClearName, 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 3, 1); } { @@ -488,6 +495,11 @@ MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 1); histogram_tester.ExpectBucketCount( MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 5, 1); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramClearName, 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 3, 1); } { @@ -519,12 +531,148 @@ MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 1); histogram_tester.ExpectBucketCount( MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 0, 1); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramClearName, 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 3, 1); + } +} + +TEST_F(MediaEngagementServiceTest, CleanUpDatabaseWhenHistoryIsDeleted) { + GURL origin1("http://www.google.com/"); + GURL origin1a("http://www.google.com/search?q=asdf"); + GURL origin1b("http://www.google.com/maps/search?q=asdf"); + GURL origin2("https://drive.google.com/"); + GURL origin3("http://deleted.com/"); + GURL origin3a("http://deleted.com/test"); + GURL origin4("http://notdeleted.com"); + + // origin1 will have a score that is high enough to not return zero + // and we will ensure it has the same score. origin2 will have a score + // that is zero and will remain zero. origin3 will have a score + // and will be cleared. origin4 will have a normal score. + SetScores(origin1, MediaEngagementScore::GetScoreMinVisits() + 2, 14); + SetScores(origin2, 2, 1); + SetScores(origin3, 2, 1); + SetScores(origin4, MediaEngagementScore::GetScoreMinVisits(), 10); + + base::Time today = GetReferenceTime(); + base::Time yesterday_afternoon = GetReferenceTime() - + base::TimeDelta::FromDays(1) + + base::TimeDelta::FromHours(4); + base::Time yesterday_week = GetReferenceTime() - base::TimeDelta::FromDays(8); + SetNow(today); + + history::HistoryService* history = HistoryServiceFactory::GetForProfile( + profile(), ServiceAccessType::IMPLICIT_ACCESS); + + history->AddPage(origin1, yesterday_afternoon, history::SOURCE_BROWSED); + history->AddPage(origin1a, yesterday_afternoon, history::SOURCE_BROWSED); + history->AddPage(origin1b, yesterday_week, history::SOURCE_BROWSED); + history->AddPage(origin2, yesterday_afternoon, history::SOURCE_BROWSED); + history->AddPage(origin3, yesterday_week, history::SOURCE_BROWSED); + history->AddPage(origin3a, yesterday_afternoon, history::SOURCE_BROWSED); + + // Check that the scores are valid at the beginning. + ExpectScores(origin1, 7.0 / 11.0, + MediaEngagementScore::GetScoreMinVisits() + 2, 14, TimeNotSet()); + EXPECT_EQ(14.0 / 22.0, GetActualScore(origin1)); + ExpectScores(origin2, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin2)); + ExpectScores(origin3, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin3)); + ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10, + TimeNotSet()); + EXPECT_EQ(0.5, GetActualScore(origin4)); + + { + base::HistogramTester histogram_tester; + + base::RunLoop run_loop; + base::CancelableTaskTracker task_tracker; + // Clear all history. + history->ExpireHistoryBetween(std::set<GURL>(), base::Time(), base::Time(), + run_loop.QuitClosure(), &task_tracker); + run_loop.Run(); + + // origin1 should have a score that is not zero and is the same as the old + // score (sometimes it may not match exactly due to rounding). origin2 + // should have a score that is zero but it's visits and playbacks should + // have decreased. origin3 should have had a decrease in the number of + // visits. origin4 should have the old score. + ExpectScores(origin1, 0.0, 0, 0, TimeNotSet()); + EXPECT_EQ(0, GetActualScore(origin1)); + ExpectScores(origin2, 0.0, 0, 0, TimeNotSet()); + EXPECT_EQ(0, GetActualScore(origin2)); + ExpectScores(origin3, 0.0, 0, 0, TimeNotSet()); + ExpectScores(origin4, 0.0, 0, 0, TimeNotSet()); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 0); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramClearName, 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 2, 1); + } +} + +TEST_F(MediaEngagementServiceTest, HistoryExpirationIsNoOp) { + GURL origin1("http://www.google.com/"); + GURL origin1a("http://www.google.com/search?q=asdf"); + GURL origin1b("http://www.google.com/maps/search?q=asdf"); + GURL origin2("https://drive.google.com/"); + GURL origin3("http://deleted.com/"); + GURL origin3a("http://deleted.com/test"); + GURL origin4("http://notdeleted.com"); + + SetScores(origin1, MediaEngagementScore::GetScoreMinVisits() + 2, 14); + SetScores(origin2, 2, 1); + SetScores(origin3, 2, 1); + SetScores(origin4, MediaEngagementScore::GetScoreMinVisits(), 10); + + ExpectScores(origin1, 7.0 / 11.0, + MediaEngagementScore::GetScoreMinVisits() + 2, 14, TimeNotSet()); + EXPECT_EQ(14.0 / 22.0, GetActualScore(origin1)); + ExpectScores(origin2, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin2)); + ExpectScores(origin3, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin3)); + ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10, + TimeNotSet()); + EXPECT_EQ(0.5, GetActualScore(origin4)); + + { + base::HistogramTester histogram_tester; + + service()->OnURLsDeleted(nullptr, false, true, history::URLRows(), + std::set<GURL>()); + + // Same as above, nothing should have changed. + ExpectScores(origin1, 7.0 / 11.0, + MediaEngagementScore::GetScoreMinVisits() + 2, 14, + TimeNotSet()); + EXPECT_EQ(14.0 / 22.0, GetActualScore(origin1)); + ExpectScores(origin2, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin2)); + ExpectScores(origin3, 0.05, 2, 1, TimeNotSet()); + EXPECT_EQ(1 / 20.0, GetActualScore(origin3)); + ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10, + TimeNotSet()); + EXPECT_EQ(0.5, GetActualScore(origin4)); + + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 0); + histogram_tester.ExpectTotalCount( + MediaEngagementService::kHistogramClearName, 0); } } TEST_F(MediaEngagementServiceTest, CleanupDataOnSiteDataCleanup_OutsideBoundary) { GURL origin("https://www.google.com"); + base::HistogramTester histogram_tester; base::Time today = GetReferenceTime(); SetNow(today); @@ -535,12 +683,18 @@ ClearDataBetweenTime(today - base::TimeDelta::FromDays(2), today - base::TimeDelta::FromDays(1)); ExpectScores(origin, 0.05, 1, 1, today); + + histogram_tester.ExpectTotalCount(MediaEngagementService::kHistogramClearName, + 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 1, 1); } TEST_F(MediaEngagementServiceTest, CleanupDataOnSiteDataCleanup_WithinBoundary) { GURL origin1("https://www.google.com"); GURL origin2("https://www.google.co.uk"); + base::HistogramTester histogram_tester; base::Time today = GetReferenceTime(); base::Time yesterday = today - base::TimeDelta::FromDays(1); @@ -555,10 +709,16 @@ ClearDataBetweenTime(two_days_ago, yesterday); ExpectScores(origin1, 0, 0, 0, TimeNotSet()); ExpectScores(origin2, 0, 0, 0, TimeNotSet()); + + histogram_tester.ExpectTotalCount(MediaEngagementService::kHistogramClearName, + 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 1, 1); } TEST_F(MediaEngagementServiceTest, CleanupDataOnSiteDataCleanup_NoTimeSet) { GURL origin("https://www.google.com"); + base::HistogramTester histogram_tester; base::Time today = GetReferenceTime(); @@ -568,6 +728,11 @@ ClearDataBetweenTime(today - base::TimeDelta::FromDays(2), today - base::TimeDelta::FromDays(1)); ExpectScores(origin, 0.0, 1, 0, TimeNotSet()); + + histogram_tester.ExpectTotalCount(MediaEngagementService::kHistogramClearName, + 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 1, 1); } TEST_F(MediaEngagementServiceTest, LogScoresOnStartupToHistogram) { @@ -599,6 +764,31 @@ MediaEngagementService::kHistogramScoreAtStartupName, 83, 1); } +TEST_F(MediaEngagementServiceTest, CleanupDataOnSiteDataCleanup_All) { + GURL origin1("https://www.google.com"); + GURL origin2("https://www.google.co.uk"); + base::HistogramTester histogram_tester; + + base::Time today = GetReferenceTime(); + base::Time yesterday = today - base::TimeDelta::FromDays(1); + base::Time two_days_ago = today - base::TimeDelta::FromDays(2); + SetNow(today); + + SetScores(origin1, 1, 1); + SetScores(origin2, 1, 1); + SetLastMediaPlaybackTime(origin1, yesterday); + SetLastMediaPlaybackTime(origin2, two_days_ago); + + ClearDataBetweenTime(base::Time(), base::Time::Max()); + ExpectScores(origin1, 0, 0, 0, TimeNotSet()); + ExpectScores(origin2, 0, 0, 0, TimeNotSet()); + + histogram_tester.ExpectTotalCount(MediaEngagementService::kHistogramClearName, + 1); + histogram_tester.ExpectBucketCount( + MediaEngagementService::kHistogramClearName, 0, 1); +} + TEST_F(MediaEngagementServiceTest, HasHighEngagement) { GURL url1("https://www.google.com"); GURL url2("https://www.google.co.uk");
diff --git a/chrome/browser/media/router/discovery/BUILD.gn b/chrome/browser/media/router/discovery/BUILD.gn index 688689c5..129a822 100644 --- a/chrome/browser/media/router/discovery/BUILD.gn +++ b/chrome/browser/media/router/discovery/BUILD.gn
@@ -25,8 +25,6 @@ "dial/device_description_service.h", "dial/dial_app_discovery_service.cc", "dial/dial_app_discovery_service.h", - "dial/dial_app_info_fetcher.cc", - "dial/dial_app_info_fetcher.h", "dial/dial_device_data.cc", "dial/dial_device_data.h", "dial/dial_media_sink_service.cc", @@ -37,6 +35,8 @@ "dial/dial_registry.h", "dial/dial_service.cc", "dial/dial_service.h", + "dial/dial_url_fetcher.cc", + "dial/dial_url_fetcher.h", "dial/parsed_dial_app_info.cc", "dial/parsed_dial_app_info.h", "dial/parsed_dial_device_description.cc",
diff --git a/chrome/browser/media/router/discovery/dial/device_description_fetcher.cc b/chrome/browser/media/router/discovery/dial/device_description_fetcher.cc index 9e8c4b1..641426c 100644 --- a/chrome/browser/media/router/discovery/dial/device_description_fetcher.cc +++ b/chrome/browser/media/router/discovery/dial/device_description_fetcher.cc
@@ -4,72 +4,14 @@ #include "chrome/browser/media/router/discovery/dial/device_description_fetcher.h" -#include "base/strings/string_util.h" #include "base/strings/stringprintf.h" -#include "chrome/browser/browser_process.h" #include "chrome/browser/media/router/discovery/dial/dial_device_data.h" -#include "chrome/browser/net/system_network_context_manager.h" -#include "content/public/browser/browser_thread.h" -#include "net/base/load_flags.h" #include "net/http/http_response_headers.h" -#include "net/http/http_status_code.h" -#include "net/http/http_util.h" -#include "net/traffic_annotation/network_traffic_annotation.h" -#include "net/url_request/redirect_info.h" -#include "services/network/public/cpp/resource_request.h" -#include "services/network/public/cpp/simple_url_loader.h" constexpr char kApplicationUrlHeaderName[] = "Application-URL"; -constexpr int kMaxRetries = 3; -// DIAL devices are unlikely to expose uPnP functions other than DIAL, so 256kb -// should be more than sufficient. -constexpr int kMaxDescriptionSizeBytes = 262144; namespace media_router { -namespace { - -constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation = - net::DefineNetworkTrafficAnnotation("dial_get_device_description", R"( - semantics { - sender: "DIAL" - description: - "Chromium sends a request to a device (such as a smart TV) " - "discovered via the DIAL (Disovery and Launch) protocol to obtain " - "its device description. Chromium then uses the device description " - "to determine the capabilities of the device to be used as a " - "target for casting media content." - trigger: - "A new or updated device has been discovered via DIAL in the local " - "network." - data: "An HTTP GET request." - destination: OTHER - destination_other: - "A device in the local network." - } - policy { - cookies_allowed: NO - setting: - "This feature cannot be disabled by settings and can only be " - "disabled by media-router flag." - chrome_policy { - EnableMediaRouter { - policy_options {mode: MANDATORY} - EnableMediaRouter: false - } - } - })"); - -void BindURLLoaderFactoryRequestOnUIThread( - network::mojom::URLLoaderFactoryRequest request) { - network::mojom::URLLoaderFactory* factory = - g_browser_process->system_network_context_manager() - ->GetURLLoaderFactory(); - factory->Clone(std::move(request)); -} - -} // namespace - DeviceDescriptionFetcher::DeviceDescriptionFetcher( const GURL& device_description_url, base::OnceCallback<void(const DialDeviceDescriptionData&)> success_cb, @@ -86,75 +28,24 @@ void DeviceDescriptionFetcher::Start() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(!loader_); + DCHECK(!fetcher_); - auto request = std::make_unique<network::ResourceRequest>(); - request->url = device_description_url_; - - // net::LOAD_BYPASS_PROXY: Proxies almost certainly hurt more cases than they - // help. - // net::LOAD_DISABLE_CACHE: The request should not touch the cache. - // net::LOAD_DO_NOT_{SAVE,SEND}_COOKIES: The request should not touch cookies. - // net::LOAD_DO_NOT_SEND_AUTH_DATA: The request should not send auth data. - request->load_flags = net::LOAD_BYPASS_PROXY | net::LOAD_DISABLE_CACHE | - net::LOAD_DO_NOT_SAVE_COOKIES | - net::LOAD_DO_NOT_SEND_COOKIES | - net::LOAD_DO_NOT_SEND_AUTH_DATA; - - loader_ = - network::SimpleURLLoader::Create(std::move(request), kTrafficAnnotation); - - // Allow the fetcher to retry on 5XX responses and ERR_NETWORK_CHANGED. - loader_->SetRetryOptions( - kMaxRetries, - network::SimpleURLLoader::RetryMode::RETRY_ON_5XX | - network::SimpleURLLoader::RetryMode::RETRY_ON_NETWORK_CHANGE); - - // Section 5.4 of the DIAL spec prohibits redirects. - // In practice, the callback will only get called once, since |loader_| will - // be deleted on redirect. - loader_->SetOnRedirectCallback(base::BindRepeating( - &DeviceDescriptionFetcher::ReportRedirectError, base::Unretained(this))); - - StartDownload(); -} - -void DeviceDescriptionFetcher::StartDownload() { - // Bind the request to the system URLLoaderFactory obtained on UI thread. - // Currently this is the only way to guarantee a live URLLoaderFactory. - // TOOD(mmenke): Figure out a way to do this transparently on IO thread. - network::mojom::URLLoaderFactoryPtr loader_factory; - content::BrowserThread::PostTask( - content::BrowserThread::UI, FROM_HERE, - base::BindOnce(&BindURLLoaderFactoryRequestOnUIThread, - mojo::MakeRequest(&loader_factory))); - loader_->DownloadToString( - loader_factory.get(), + fetcher_ = std::make_unique<DialURLFetcher>( + device_description_url_, base::BindOnce(&DeviceDescriptionFetcher::ProcessResponse, base::Unretained(this)), - kMaxDescriptionSizeBytes); + base::BindOnce(&DeviceDescriptionFetcher::ReportError, + base::Unretained(this))); + + fetcher_->Start(); } -void DeviceDescriptionFetcher::ProcessResponse( - std::unique_ptr<std::string> response) { +void DeviceDescriptionFetcher::ProcessResponse(const std::string& response) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - if (loader_->NetError() != net::Error::OK) { - ReportError(base::StringPrintf( - "HTTP %d: Unable to fetch device description", loader_->NetError())); - return; - } + DCHECK(fetcher_); - if (!response || response->empty()) { - ReportError("Missing or empty response"); - return; - } - - if (!base::IsStringUTF8(*response)) { - ReportError("Invalid response encoding"); - return; - } - - const network::ResourceResponseHead* response_info = loader_->ResponseInfo(); + const network::ResourceResponseHead* response_info = + fetcher_->GetResponseHead(); DCHECK(response_info); // NOTE: The uPnP spec requires devices to set a Content-Type: header of @@ -165,7 +56,7 @@ !response_info->headers->GetNormalizedHeader(kApplicationUrlHeaderName, &app_url_header) || app_url_header.empty()) { - ReportError("Missing or empty Application-URL:"); + ReportError(net::Error::OK, "Missing or empty Application-URL:"); return; } @@ -175,7 +66,8 @@ if (!app_url.is_valid() || !app_url.SchemeIs("http") || !app_url.HostIsIPAddress() || app_url.host() != device_description_url_.host()) { - ReportError(base::StringPrintf("Invalid Application-URL: %s", + ReportError(net::Error::OK, + base::StringPrintf("Invalid Application-URL: %s", app_url_header.c_str())); return; } @@ -186,19 +78,11 @@ app_url = GURL(app_url_header.substr(0, app_url_header.length() - 1)); } - std::move(success_cb_).Run(DialDeviceDescriptionData(*response, app_url)); + std::move(success_cb_).Run(DialDeviceDescriptionData(response, app_url)); } -void DeviceDescriptionFetcher::ReportRedirectError( - const net::RedirectInfo& redirect_info, - const network::ResourceResponseHead& response_head) { - // Cancel the request. - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - loader_.reset(); - ReportError("Redirect not allowed"); -} - -void DeviceDescriptionFetcher::ReportError(const std::string& message) { +void DeviceDescriptionFetcher::ReportError(int response_code, + const std::string& message) { std::move(error_cb_).Run(message); }
diff --git a/chrome/browser/media/router/discovery/dial/device_description_fetcher.h b/chrome/browser/media/router/discovery/dial/device_description_fetcher.h index 7278b076f..dbf4a64 100644 --- a/chrome/browser/media/router/discovery/dial/device_description_fetcher.h +++ b/chrome/browser/media/router/discovery/dial/device_description_fetcher.h
@@ -10,18 +10,9 @@ #include "base/callback.h" #include "base/sequence_checker.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" +#include "chrome/browser/media/router/discovery/dial/dial_url_fetcher.h" #include "url/gurl.h" -namespace net { -struct RedirectInfo; -} - -namespace network { -class SimpleURLLoader; -struct ResourceResponseHead; -} - namespace media_router { struct DialDeviceDescriptionData; @@ -42,31 +33,24 @@ const GURL& device_description_url() { return device_description_url_; } - void Start(); + // Marked virtual for tests. + virtual void Start(); private: friend class TestDeviceDescriptionFetcher; - // Starts the download on |loader_|. - virtual void StartDownload(); - // Processes the response from the GET request and invoke the success or // error callback. - void ProcessResponse(std::unique_ptr<std::string> response); - - // Invokes the error callback due to a redirect that had occurred. Also - // aborts the request. - void ReportRedirectError(const net::RedirectInfo& redirect_info, - const network::ResourceResponseHead& response_head); + void ProcessResponse(const std::string& response); // Runs |error_cb_| with |message| and clears it. - void ReportError(const std::string& message); + void ReportError(int response_code, const std::string& message); const GURL device_description_url_; base::OnceCallback<void(const DialDeviceDescriptionData&)> success_cb_; base::OnceCallback<void(const std::string&)> error_cb_; - std::unique_ptr<network::SimpleURLLoader> loader_; + std::unique_ptr<DialURLFetcher> fetcher_; SEQUENCE_CHECKER(sequence_checker_); DISALLOW_COPY_AND_ASSIGN(DeviceDescriptionFetcher);
diff --git a/chrome/browser/media/router/discovery/dial/device_description_fetcher_unittest.cc b/chrome/browser/media/router/discovery/dial/device_description_fetcher_unittest.cc index fe2bfbb..2ab1469 100644 --- a/chrome/browser/media/router/discovery/dial/device_description_fetcher_unittest.cc +++ b/chrome/browser/media/router/discovery/dial/device_description_fetcher_unittest.cc
@@ -12,11 +12,9 @@ #include "base/test/scoped_task_environment.h" #include "chrome/browser/media/router/discovery/dial/device_description_fetcher.h" #include "chrome/browser/media/router/discovery/dial/dial_device_data.h" -#include "net/http/http_response_headers.h" -#include "net/http/http_status_code.h" +#include "chrome/browser/media/router/test/test_helper.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_fetcher.h" -#include "services/network/public/cpp/simple_url_loader.h" #include "services/network/test/test_url_loader_factory.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -37,12 +35,15 @@ factory_(factory) {} ~TestDeviceDescriptionFetcher() override = default; - void StartDownload() override { - loader_->DownloadToString( - factory_, + void Start() override { + fetcher_ = std::make_unique<TestDialURLFetcher>( + device_description_url_, base::BindOnce(&DeviceDescriptionFetcher::ProcessResponse, base::Unretained(this)), - 256 * 1024); + base::BindOnce(&DeviceDescriptionFetcher::ReportError, + base::Unretained(this)), + factory_); + fetcher_->Start(); } private: @@ -67,14 +68,14 @@ } void StartRequest() { - fetcher_ = std::make_unique<TestDeviceDescriptionFetcher>( + description_fetcher_ = std::make_unique<TestDeviceDescriptionFetcher>( url_, base::BindOnce(&DeviceDescriptionFetcherTest::OnSuccess, base::Unretained(this)), base::BindOnce(&DeviceDescriptionFetcherTest::OnError, base::Unretained(this)), &loader_factory_); - fetcher_->Start(); + description_fetcher_->Start(); base::RunLoop().RunUntilIdle(); } @@ -84,7 +85,7 @@ network::TestURLLoaderFactory loader_factory_; base::OnceCallback<void(const DialDeviceDescriptionData&)> success_cb_; base::OnceCallback<void(const std::string&)> error_cb_; - std::unique_ptr<TestDeviceDescriptionFetcher> fetcher_; + std::unique_ptr<TestDeviceDescriptionFetcher> description_fetcher_; GURL expected_app_url_; std::string expected_description_; std::string expected_error_; @@ -97,11 +98,13 @@ EXPECT_EQ(expected_app_url_, description.app_url); EXPECT_EQ(expected_description_, description.device_description); DoOnSuccess(); + description_fetcher_.reset(); } void OnError(const std::string& message) { EXPECT_TRUE(message.find(expected_error_) == 0); DoOnError(); + description_fetcher_.reset(); } DISALLOW_COPY_AND_ASSIGN(DeviceDescriptionFetcherTest);
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc index 9508e2ec..d531e8e 100644 --- a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc +++ b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.cc
@@ -8,7 +8,7 @@ #include "base/stl_util.h" #include "base/strings/string_util.h" #include "base/time/default_clock.h" -#include "chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h" +#include "chrome/browser/media/router/discovery/dial/dial_url_fetcher.h" #include "chrome/browser/media/router/discovery/dial/safe_dial_app_info_parser.h" #include "net/http/http_status_code.h" #include "url/gurl.h" @@ -62,13 +62,12 @@ GURL app_url = GetAppUrl(sink, app_name); DVLOG(2) << "Fetch DIAL app info from: " << app_url.spec(); - std::unique_ptr<DialAppInfoFetcher> fetcher = - std::make_unique<DialAppInfoFetcher>( - app_url, - base::BindOnce(&DialAppDiscoveryService::OnDialAppInfoFetchComplete, - base::Unretained(this), sink_id, app_name), - base::BindOnce(&DialAppDiscoveryService::OnDialAppInfoFetchError, - base::Unretained(this), sink_id, app_name)); + std::unique_ptr<DialURLFetcher> fetcher = std::make_unique<DialURLFetcher>( + app_url, + base::BindOnce(&DialAppDiscoveryService::OnDialAppInfoFetchComplete, + base::Unretained(this), sink_id, app_name), + base::BindOnce(&DialAppDiscoveryService::OnDialAppInfoFetchError, + base::Unretained(this), sink_id, app_name)); fetcher->Start(); pending_fetcher_map_.emplace(request_id, std::move(fetcher)); }
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h index c86b1301..caa2b50e 100644 --- a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h +++ b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service.h
@@ -24,7 +24,7 @@ namespace media_router { -class DialAppInfoFetcher; +class DialURLFetcher; class SafeDialAppInfoParser; // Represents DIAL app status on receiver device. @@ -117,7 +117,7 @@ SafeDialAppInfoParser::ParsingResult parsing_result); // Map of pending app info fetchers, keyed by request id. - base::flat_map<std::string, std::unique_ptr<DialAppInfoFetcher>> + base::flat_map<std::string, std::unique_ptr<DialURLFetcher>> pending_fetcher_map_; // See comments for DialAppInfoParseCompletedCallback.
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service_unittest.cc b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service_unittest.cc index a5dc204..385ee08 100644 --- a/chrome/browser/media/router/discovery/dial/dial_app_discovery_service_unittest.cc +++ b/chrome/browser/media/router/discovery/dial/dial_app_discovery_service_unittest.cc
@@ -6,7 +6,6 @@ #include "base/strings/stringprintf.h" #include "base/test/mock_callback.h" -#include "chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h" #include "chrome/browser/media/router/discovery/dial/parsed_dial_device_description.h" #include "chrome/browser/media/router/discovery/dial/safe_dial_app_info_parser.h" #include "chrome/browser/media/router/test/test_helper.h"
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h b/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h deleted file mode 100644 index bd4c1fc..0000000 --- a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h +++ /dev/null
@@ -1,72 +0,0 @@ -// Copyright (c) 2018 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 CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_APP_INFO_FETCHER_H_ -#define CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_APP_INFO_FETCHER_H_ - -#include <memory> -#include <string> - -#include "base/callback.h" -#include "services/network/public/mojom/url_loader_factory.mojom.h" -#include "url/gurl.h" - -namespace net { -struct RedirectInfo; -} - -namespace network { -class SimpleURLLoader; -struct ResourceResponseHead; -} // namespace network - -namespace media_router { - -// Used to make a single HTTP GET request with |app_url| to fetch an app info -// from a DIAL device. If successful, |success_cb| is invoked with the result; -// otherwise, |error_cb| is invoked with an error reason. -// This class is not sequence safe. -class DialAppInfoFetcher { - public: - DialAppInfoFetcher( - const GURL& app_url, - base::OnceCallback<void(const std::string&)> success_cb, - base::OnceCallback<void(int, const std::string&)> error_cb); - - virtual ~DialAppInfoFetcher(); - - const GURL& app_url() { return app_url_; } - - // Starts the fetch. |ProcessResponse| will be invoked on completion. - // |ReportRedirectError| will be invoked when a redirect occurrs. - void Start(); - - private: - friend class TestDialAppInfoFetcher; - - // Starts the download on |loader_|. - virtual void StartDownload(); - - // Processes the response and invokes the success or error callback. - void ProcessResponse(std::unique_ptr<std::string> response); - - // Invokes the error callback due to redirect, and aborts the request. - void ReportRedirectError(const net::RedirectInfo& redirect_info, - const network::ResourceResponseHead& response_head); - - // Runs |error_cb_| with |message| and clears it. - void ReportError(int response_code, const std::string& message); - - const GURL app_url_; - base::OnceCallback<void(const std::string&)> success_cb_; - base::OnceCallback<void(int, const std::string&)> error_cb_; - std::unique_ptr<network::SimpleURLLoader> loader_; - - SEQUENCE_CHECKER(sequence_checker_); - DISALLOW_COPY_AND_ASSIGN(DialAppInfoFetcher); -}; - -} // namespace media_router - -#endif // CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_APP_INFO_FETCHER_H_
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.cc b/chrome/browser/media/router/discovery/dial/dial_url_fetcher.cc similarity index 79% rename from chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.cc rename to chrome/browser/media/router/discovery/dial/dial_url_fetcher.cc index a274e3f1..8b792ac 100644 --- a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.cc +++ b/chrome/browser/media/router/discovery/dial/dial_url_fetcher.cc
@@ -2,9 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h" +#include "chrome/browser/media/router/discovery/dial/dial_url_fetcher.h" -#include "base/strings/stringprintf.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/net/system_network_context_manager.h" #include "content/public/browser/browser_thread.h" @@ -20,22 +19,22 @@ constexpr int kMaxRetries = 3; // DIAL devices are unlikely to expose uPnP functions other than DIAL, so 256kb // should be more than sufficient. -constexpr int kMaxAppInfoSizeBytes = 262144; +constexpr int kMaxResponseSizeBytes = 262144; namespace media_router { namespace { constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation = - net::DefineNetworkTrafficAnnotation("dial_get_app_info", R"( + net::DefineNetworkTrafficAnnotation("dial_url_fetcher", R"( semantics { sender: "DIAL" description: "Chromium sends a request to a device (such as a smart TV) " "discovered via the DIAL (Discovery and Launch) protocol to obtain " - "its app info data. Chromium then uses the app info data to" - "determine the capabilities of the device to be used as a target" - "for casting media content." + "its device description or app info data. Chromium then uses the " + "data to determine the capabilities of the device to be used as a " + "targetfor casting media content." trigger: "A new or updated device has been discovered via DIAL in the local " "network." @@ -66,26 +65,31 @@ } // namespace -DialAppInfoFetcher::DialAppInfoFetcher( - const GURL& app_url, +DialURLFetcher::DialURLFetcher( + const GURL& url, base::OnceCallback<void(const std::string&)> success_cb, base::OnceCallback<void(int, const std::string&)> error_cb) - : app_url_(app_url), + : url_(url), success_cb_(std::move(success_cb)), error_cb_(std::move(error_cb)) { - DCHECK(app_url_.is_valid()); + DCHECK(url_.is_valid()); } -DialAppInfoFetcher::~DialAppInfoFetcher() { +DialURLFetcher::~DialURLFetcher() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } -void DialAppInfoFetcher::Start() { +const network::ResourceResponseHead* DialURLFetcher::GetResponseHead() const { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + return loader_ ? loader_->ResponseInfo() : nullptr; +} + +void DialURLFetcher::Start() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(!loader_); auto request = std::make_unique<network::ResourceRequest>(); - request->url = app_url_; + request->url = url_; // net::LOAD_BYPASS_PROXY: Proxies almost certainly hurt more cases than they // help. @@ -110,17 +114,17 @@ // In practice, the callback will only get called once, since |loader_| will // be deleted. loader_->SetOnRedirectCallback(base::BindRepeating( - &DialAppInfoFetcher::ReportRedirectError, base::Unretained(this))); + &DialURLFetcher::ReportRedirectError, base::Unretained(this))); StartDownload(); } -void DialAppInfoFetcher::ReportError(int response_code, - const std::string& message) { +void DialURLFetcher::ReportError(int response_code, + const std::string& message) { std::move(error_cb_).Run(response_code, message); } -void DialAppInfoFetcher::ReportRedirectError( +void DialURLFetcher::ReportRedirectError( const net::RedirectInfo& redirect_info, const network::ResourceResponseHead& response_head) { // Cancel the request. @@ -131,7 +135,7 @@ ReportError(net::Error::OK, "Redirect not allowed"); } -void DialAppInfoFetcher::StartDownload() { +void DialURLFetcher::StartDownload() { // Bind the request to the system URLLoaderFactory obtained on UI thread. // Currently this is the only way to guarantee a live URLLoaderFactory. // TOOD(mmenke): Figure out a way to do this transparently on IO thread. @@ -141,14 +145,13 @@ base::BindOnce(&BindURLLoaderFactoryRequestOnUIThread, mojo::MakeRequest(&loader_factory))); - loader_->DownloadToString(loader_factory.get(), - base::BindOnce(&DialAppInfoFetcher::ProcessResponse, - base::Unretained(this)), - kMaxAppInfoSizeBytes); + loader_->DownloadToString( + loader_factory.get(), + base::BindOnce(&DialURLFetcher::ProcessResponse, base::Unretained(this)), + kMaxResponseSizeBytes); } -void DialAppInfoFetcher::ProcessResponse( - std::unique_ptr<std::string> response) { +void DialURLFetcher::ProcessResponse(std::unique_ptr<std::string> response) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); int response_code = loader_->NetError(); if (response_code != net::Error::OK) {
diff --git a/chrome/browser/media/router/discovery/dial/dial_url_fetcher.h b/chrome/browser/media/router/discovery/dial/dial_url_fetcher.h new file mode 100644 index 0000000..0f225e14 --- /dev/null +++ b/chrome/browser/media/router/discovery/dial/dial_url_fetcher.h
@@ -0,0 +1,84 @@ +// Copyright (c) 2018 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 CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_URL_FETCHER_H_ +#define CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_URL_FETCHER_H_ + +#include <memory> +#include <string> + +#include "base/callback.h" +#include "services/network/public/mojom/url_loader_factory.mojom.h" +#include "url/gurl.h" + +namespace net { +struct RedirectInfo; +} + +namespace network { +class SimpleURLLoader; +struct ResourceResponseHead; +} // namespace network + +namespace media_router { + +// Used to make a single HTTP GET request with |url| to fetch a response +// from a DIAL device. If successful, |success_cb| is invoked with the result; +// otherwise, |error_cb| is invoked with an error reason. +// This class is not sequence safe. +class DialURLFetcher { + public: + // Constructor. + // |url|: HTTP request URL + // |success_cb|: Invoked when HTTP request to |url| succeeds + // |arg 0|: response text of the HTTP request + // |error_cb|: Invoked when HTTP request to |url| fails + // |arg 0|: HTTP response code + // |arg 1|: error message + DialURLFetcher(const GURL& url, + base::OnceCallback<void(const std::string&)> success_cb, + base::OnceCallback<void(int, const std::string&)> error_cb); + + virtual ~DialURLFetcher(); + + const GURL& url() { return url_; } + + // Starts the fetch. |ProcessResponse| will be invoked on completion. + // |ReportRedirectError| will be invoked when a redirect occurrs. + void Start(); + + // Returns the response header of an HTTP request. The response header is + // owned by underlying |loader_| object and is reset per HTTP request. Returns + // nullptr if this function is called before |loader_| has informed the caller + // of completion. + const network::ResourceResponseHead* GetResponseHead() const; + + private: + friend class TestDialURLFetcher; + + // Starts the download on |loader_|. + virtual void StartDownload(); + + // Processes the response and invokes the success or error callback. + void ProcessResponse(std::unique_ptr<std::string> response); + + // Invokes the error callback due to redirect, and aborts the request. + void ReportRedirectError(const net::RedirectInfo& redirect_info, + const network::ResourceResponseHead& response_head); + + // Runs |error_cb_| with |message| and clears it. + void ReportError(int response_code, const std::string& message); + + const GURL url_; + base::OnceCallback<void(const std::string&)> success_cb_; + base::OnceCallback<void(int, const std::string&)> error_cb_; + std::unique_ptr<network::SimpleURLLoader> loader_; + + SEQUENCE_CHECKER(sequence_checker_); + DISALLOW_COPY_AND_ASSIGN(DialURLFetcher); +}; + +} // namespace media_router + +#endif // CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_DIAL_DIAL_URL_FETCHER_H_
diff --git a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher_unittest.cc b/chrome/browser/media/router/discovery/dial/dial_url_fetcher_unittest.cc similarity index 62% rename from chrome/browser/media/router/discovery/dial/dial_app_info_fetcher_unittest.cc rename to chrome/browser/media/router/discovery/dial/dial_url_fetcher_unittest.cc index 4a6c60c..acbe3dc7 100644 --- a/chrome/browser/media/router/discovery/dial/dial_app_info_fetcher_unittest.cc +++ b/chrome/browser/media/router/discovery/dial/dial_url_fetcher_unittest.cc
@@ -9,14 +9,14 @@ #include "base/macros.h" #include "base/run_loop.h" #include "base/test/scoped_task_environment.h" -#include "chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.h" +#include "chrome/browser/media/router/discovery/dial/dial_url_fetcher.h" +#include "chrome/browser/media/router/test/test_helper.h" #include "chrome/test/base/testing_profile.h" #include "content/public/test/test_browser_thread_bundle.h" #include "net/http/http_response_headers.h" #include "net/http/http_status_code.h" #include "net/url_request/test_url_fetcher_factory.h" #include "net/url_request/url_fetcher.h" -#include "services/network/public/cpp/simple_url_loader.h" #include "services/network/test/test_url_loader_factory.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -24,32 +24,9 @@ namespace media_router { -class TestDialAppInfoFetcher : public DialAppInfoFetcher { +class DialURLFetcherTest : public testing::Test { public: - TestDialAppInfoFetcher( - const GURL& app_url, - base::OnceCallback<void(const std::string&)> success_cb, - base::OnceCallback<void(int, const std::string&)> error_cb, - network::TestURLLoaderFactory* factory) - : DialAppInfoFetcher(app_url, std::move(success_cb), std::move(error_cb)), - factory_(factory) {} - ~TestDialAppInfoFetcher() override = default; - - void StartDownload() override { - loader_->DownloadToString( - factory_, - base::BindOnce(&DialAppInfoFetcher::ProcessResponse, - base::Unretained(this)), - 256 * 1024); - } - - private: - network::TestURLLoaderFactory* const factory_; -}; - -class DialAppInfoFetcherTest : public testing::Test { - public: - DialAppInfoFetcherTest() : url_("http://127.0.0.1/app/Youtube") {} + DialURLFetcherTest() : url_("http://127.0.0.1/app/Youtube") {} void ExpectSuccess(const std::string& expected_app_info) { EXPECT_CALL(*this, OnSuccess(expected_app_info)); @@ -61,12 +38,10 @@ } void StartRequest() { - fetcher_ = std::make_unique<TestDialAppInfoFetcher>( + fetcher_ = std::make_unique<TestDialURLFetcher>( url_, - base::BindOnce(&DialAppInfoFetcherTest::OnSuccess, - base::Unretained(this)), - base::BindOnce(&DialAppInfoFetcherTest::OnError, - base::Unretained(this)), + base::BindOnce(&DialURLFetcherTest::OnSuccess, base::Unretained(this)), + base::BindOnce(&DialURLFetcherTest::OnError, base::Unretained(this)), &loader_factory_); fetcher_->Start(); base::RunLoop().RunUntilIdle(); @@ -77,7 +52,7 @@ network::TestURLLoaderFactory loader_factory_; const GURL url_; std::string expected_error_; - std::unique_ptr<TestDialAppInfoFetcher> fetcher_; + std::unique_ptr<TestDialURLFetcher> fetcher_; private: MOCK_METHOD1(OnSuccess, void(const std::string&)); @@ -88,10 +63,10 @@ DoOnError(); } - DISALLOW_COPY_AND_ASSIGN(DialAppInfoFetcherTest); + DISALLOW_COPY_AND_ASSIGN(DialURLFetcherTest); }; -TEST_F(DialAppInfoFetcherTest, FetchSuccessful) { +TEST_F(DialURLFetcherTest, FetchSuccessful) { std::string body("<xml>appInfo</xml>"); ExpectSuccess(body); network::URLLoaderCompletionStatus status; @@ -101,7 +76,7 @@ StartRequest(); } -TEST_F(DialAppInfoFetcherTest, FetchFailsOnMissingAppInfo) { +TEST_F(DialURLFetcherTest, FetchFailsOnMissingAppInfo) { ExpectError("HTTP 404:"); loader_factory_.AddResponse( @@ -110,7 +85,7 @@ StartRequest(); } -TEST_F(DialAppInfoFetcherTest, FetchFailsOnEmptyAppInfo) { +TEST_F(DialURLFetcherTest, FetchFailsOnEmptyAppInfo) { ExpectError("Missing or empty response"); loader_factory_.AddResponse(url_, network::ResourceResponseHead(), "", @@ -118,7 +93,7 @@ StartRequest(); } -TEST_F(DialAppInfoFetcherTest, FetchFailsOnBadAppInfo) { +TEST_F(DialURLFetcherTest, FetchFailsOnBadAppInfo) { ExpectError("Invalid response encoding"); std::string body("\xfc\x9c\xbf\x80\xbf\x80"); network::URLLoaderCompletionStatus status;
diff --git a/chrome/browser/media/router/discovery/discovery_network_monitor_unittest.cc b/chrome/browser/media/router/discovery/discovery_network_monitor_unittest.cc index a6db0bd3..158aaff 100644 --- a/chrome/browser/media/router/discovery/discovery_network_monitor_unittest.cc +++ b/chrome/browser/media/router/discovery/discovery_network_monitor_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/task_scheduler/task_scheduler.h" #include "base/test/scoped_task_environment.h" #include "testing/gmock/include/gmock/gmock.h"
diff --git a/chrome/browser/media/router/test/test_helper.cc b/chrome/browser/media/router/test/test_helper.cc index 1857df2de..a89fd5e 100644 --- a/chrome/browser/media/router/test/test_helper.cc +++ b/chrome/browser/media/router/test/test_helper.cc
@@ -8,6 +8,7 @@ #include "base/json/string_escape.h" #include "base/strings/stringprintf.h" #include "chrome/common/media_router/media_source.h" +#include "services/network/public/cpp/simple_url_loader.h" #include "url/gurl.h" namespace media_router { @@ -55,6 +56,22 @@ MockCastMediaSinkService::MockCastMediaSinkService() : CastMediaSinkService() {} MockCastMediaSinkService::~MockCastMediaSinkService() = default; + +TestDialURLFetcher::TestDialURLFetcher( + const GURL& url, + base::OnceCallback<void(const std::string&)> success_cb, + base::OnceCallback<void(int, const std::string&)> error_cb, + network::TestURLLoaderFactory* factory) + : DialURLFetcher(url, std::move(success_cb), std::move(error_cb)), + factory_(factory) {} +TestDialURLFetcher::~TestDialURLFetcher() = default; + +void TestDialURLFetcher::StartDownload() { + loader_->DownloadToString( + factory_, + base::BindOnce(&DialURLFetcher::ProcessResponse, base::Unretained(this)), + 256 * 1024); +} #endif // !defined(OS_ANDROID) net::IPEndPoint CreateIPEndPoint(int num) {
diff --git a/chrome/browser/media/router/test/test_helper.h b/chrome/browser/media/router/test/test_helper.h index 5bd879b..9530a09 100644 --- a/chrome/browser/media/router/test/test_helper.h +++ b/chrome/browser/media/router/test/test_helper.h
@@ -14,6 +14,7 @@ #include "base/macros.h" #include "build/build_config.h" #include "chrome/browser/media/router/discovery/dial/dial_media_sink_service.h" +#include "chrome/browser/media/router/discovery/dial/dial_url_fetcher.h" #include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h" #include "chrome/browser/media/router/issue_manager.h" #include "chrome/browser/media/router/issues_observer.h" @@ -23,6 +24,7 @@ #include "content/public/browser/presentation_service_delegate.h" #include "content/public/common/presentation_connection_message.h" #include "net/base/ip_endpoint.h" +#include "services/network/test/test_url_loader_factory.h" #include "testing/gmock/include/gmock/gmock.h" namespace media_router { @@ -131,6 +133,19 @@ MOCK_METHOD0(OnUserGesture, void()); MOCK_METHOD0(StartMdnsDiscovery, void()); }; + +class TestDialURLFetcher : public DialURLFetcher { + public: + TestDialURLFetcher(const GURL& url, + base::OnceCallback<void(const std::string&)> success_cb, + base::OnceCallback<void(int, const std::string&)> error_cb, + network::TestURLLoaderFactory* factory); + ~TestDialURLFetcher() override; + void StartDownload() override; + + private: + network::TestURLLoaderFactory* const factory_; +}; #endif // !defined(OS_ANDROID) // Helper function to create an IP endpoint object.
diff --git a/chrome/browser/media/webrtc/webrtc_browsertest.cc b/chrome/browser/media/webrtc/webrtc_browsertest.cc index 70b5ba7..94cd801f 100644 --- a/chrome/browser/media/webrtc/webrtc_browsertest.cc +++ b/chrome/browser/media/webrtc/webrtc_browsertest.cc
@@ -12,9 +12,9 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "content/public/common/buildflags.h" #include "content/public/common/content_switches.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "content/public/test/browser_test_utils.h" #include "media/base/media_switches.h" #include "net/test/embedded_test_server/embedded_test_server.h"
diff --git a/chrome/browser/media/webrtc/webrtc_desktop_capture_browsertest.cc b/chrome/browser/media/webrtc/webrtc_desktop_capture_browsertest.cc index ed531ca..cee51750 100644 --- a/chrome/browser/media/webrtc/webrtc_desktop_capture_browsertest.cc +++ b/chrome/browser/media/webrtc/webrtc_desktop_capture_browsertest.cc
@@ -12,9 +12,9 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "content/public/common/buildflags.h" #include "content/public/common/content_switches.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "content/public/test/browser_test_utils.h" #include "media/base/media_switches.h" #include "net/test/embedded_test_server/embedded_test_server.h"
diff --git a/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc b/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc index f92760f9..9f8b40a 100644 --- a/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc +++ b/chrome/browser/media/webrtc/webrtc_internals_perf_browsertest.cc
@@ -22,9 +22,9 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" +#include "content/public/common/buildflags.h" #include "content/public/common/content_switches.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "content/public/test/browser_test_utils.h" #include "media/base/media_switches.h" #include "net/test/embedded_test_server/embedded_test_server.h"
diff --git a/chrome/browser/media/webrtc/webrtc_video_quality_browsertest.cc b/chrome/browser/media/webrtc/webrtc_video_quality_browsertest.cc index 7cf813df..eda6c34 100644 --- a/chrome/browser/media/webrtc/webrtc_video_quality_browsertest.cc +++ b/chrome/browser/media/webrtc/webrtc_video_quality_browsertest.cc
@@ -31,8 +31,8 @@ #include "chrome/test/base/in_process_browser_test.h" #include "components/infobars/core/infobar.h" #include "content/public/browser/notification_service.h" +#include "content/public/common/buildflags.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "content/public/test/browser_test_utils.h" #include "media/base/media_switches.h" #include "net/test/embedded_test_server/embedded_test_server.h"
diff --git a/chrome/browser/offline_pages/android/cct_request_observer.cc b/chrome/browser/offline_pages/android/cct_request_observer.cc index cc44459..ea678a9 100644 --- a/chrome/browser/offline_pages/android/cct_request_observer.cc +++ b/chrome/browser/offline_pages/android/cct_request_observer.cc
@@ -7,6 +7,7 @@ #include "base/android/callback_android.h" #include "base/android/jni_int_wrapper.h" #include "base/android/jni_string.h" +#include "base/memory/ptr_util.h" #include "chrome/browser/android/app_hooks.h" #include "components/offline_pages/core/client_namespace_constants.h" #include "components/offline_pages/core/offline_page_feature.h"
diff --git a/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer.cc index afb2d3a5..cefa9e7 100644 --- a/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer.cc +++ b/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer.cc
@@ -15,6 +15,7 @@ #include "chrome/browser/ssl/security_state_tab_helper.h" #include "components/security_state/core/security_state.h" #include "content/public/browser/navigation_handle.h" +#include "services/metrics/public/cpp/metrics_utils.h" #include "services/metrics/public/cpp/ukm_builders.h" #include "services/metrics/public/cpp/ukm_recorder.h" @@ -170,19 +171,18 @@ if (engagement_service_) { double final_engagement_score = engagement_service_->GetScore(extra_info.url); + // Round the engagement score down to the closest multiple of 10 to decrease + // the granularity of the UKM collection. + int64_t coarse_engagement_score = + ukm::GetLinearBucketMin(final_engagement_score, 10); - // HTTPS UI Indicator Study (https://crbug.com/803501): Only collect UKM - // data for EV_SECURE or SECURE sites (which are potentially affected by the - // experimental UI). - if (initial_security_level_ == security_state::EV_SECURE || - initial_security_level_ == security_state::SECURE) { - ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get(); - ukm::builders::Security_SiteEngagement(source_id_) - .SetInitialSecurityLevel(initial_security_level_) - .SetFinalSecurityLevel(current_security_level_) - .SetScoreDelta(final_engagement_score - initial_engagement_score_) - .Record(ukm_recorder); - } + ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get(); + ukm::builders::Security_SiteEngagement(source_id_) + .SetInitialSecurityLevel(initial_security_level_) + .SetFinalSecurityLevel(current_security_level_) + .SetScoreDelta(final_engagement_score - initial_engagement_score_) + .SetScoreFinal(coarse_engagement_score) + .Record(ukm_recorder); // Get the change in Site Engagement score and transform it into the range // [0, 100] so it can be logged in an EXACT_LINEAR histogram.
diff --git a/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer_browsertest.cc b/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer_browsertest.cc index 8f301fe..b83338a6 100644 --- a/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer_browsertest.cc +++ b/chrome/browser/page_load_metrics/observers/security_state_page_load_metrics_observer_browsertest.cc
@@ -177,8 +177,11 @@ SecurityStatePageLoadMetricsObserver:: GetEngagementDeltaHistogramNameForTesting(security_state::SECURE), 0); - // UKM data should not be collected for non-HTTPS sites. - EXPECT_EQ(0u, CountUkmEntries()); + EXPECT_EQ(1u, CountUkmEntries()); + ExpectMetricForUrl(url, UkmEntry::kInitialSecurityLevelName, + security_state::NONE); + ExpectMetricForUrl(url, UkmEntry::kFinalSecurityLevelName, + security_state::NONE); } IN_PROC_BROWSER_TEST_F(SecurityStatePageLoadMetricsBrowserTest, ReloadPage) {
diff --git a/chrome/browser/password_manager/credential_manager_browsertest.cc b/chrome/browser/password_manager/credential_manager_browsertest.cc index 4b59d4e7..ace8565c 100644 --- a/chrome/browser/password_manager/credential_manager_browsertest.cc +++ b/chrome/browser/password_manager/credential_manager_browsertest.cc
@@ -106,30 +106,9 @@ result); } - // Attempt to create a publicKeyCredential. - void CreatePublicKeyCredentialWithUnsupportedAlgorithmAndExpectNotAllowed( - content::WebContents* web_contents) { - std::string result; - std::string script = - "navigator.credentials.create({ publicKey: {" - " challenge: new TextEncoder().encode('climb a mountain')," - " rp: { id: 'a.example.com', name: 'Acme' }," - " user: { " - " id: new TextEncoder().encode('1098237235409872')," - " name: 'avery.a.jones@example.com'," - " displayName: 'Avery A. Jones', " - " icon: 'https://pics.acme.com/00/p/aBjjjpqPb.png'}," - " pubKeyCredParams: [{ type: 'public-key', alg: '-7'}]," - " timeout: 60000," - " excludeCredentials: [] }" - "}).catch(c => window.domAutomationController.send(c.toString()));"; - ASSERT_TRUE( - content::ExecuteScriptAndExtractString(web_contents, script, &result)); - ASSERT_EQ("NotAllowedError: The operation is not allowed.", result); - } // Attempt to create a publicKeyCredential with an invalid relying party. - void CreatePublicKeyCredentialWithUnsupportedAlgorithmAndExpectInvalidRpId( + void CreatePublicKeyCredentialWithUnsupportedRpIdAndExpectInvalidRpId( content::WebContents* web_contents) { std::string result; std::string script = @@ -1081,7 +1060,7 @@ https_test_server().GetURL("www.example.com", "/title1.html"); ui_test_utils::NavigateToURL(browser(), a_url1); ASSERT_NO_FATAL_FAILURE( - CreatePublicKeyCredentialWithUnsupportedAlgorithmAndExpectInvalidRpId( + CreatePublicKeyCredentialWithUnsupportedRpIdAndExpectInvalidRpId( WebContents())); }
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 1694880..05dfcd3 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -140,7 +140,7 @@ #include "extensions/browser/api/runtime/runtime_api.h" #include "extensions/browser/extension_prefs.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/signin/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #endif #endif // BUILDFLAG(ENABLE_EXTENSIONS) @@ -185,7 +185,6 @@ #include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider.h" #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestions_provider.h" #include "components/ntp_tiles/popular_sites_impl.h" -#include "components/omnibox/browser/omnibox_field_trial.h" #else #include "chrome/browser/gcm/gcm_product_util.h" #include "chrome/browser/metrics/tab_stats_tracker.h" @@ -385,7 +384,7 @@ #endif #if BUILDFLAG(ENABLE_EXTENSIONS) and defined(OS_CHROMEOS) - EasyUnlockService::RegisterPrefs(registry); + chromeos::EasyUnlockService::RegisterPrefs(registry); #endif #if BUILDFLAG(ENABLE_PLUGINS) @@ -604,7 +603,6 @@ registry); ntp_snippets::RecentTabSuggestionsProvider::RegisterProfilePrefs(registry); ntp_snippets::SubscriptionManagerImpl::RegisterProfilePrefs(registry); - OmniboxFieldTrial::RegisterProfilePrefs(registry); OomInterventionDecider::RegisterProfilePrefs(registry); #endif // defined(OS_ANDROID)
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc index 8bbea7c..15ddbfd8 100644 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -140,7 +140,7 @@ #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h" #include "extensions/browser/browser_context_keyed_service_factories.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/signin/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" #endif #endif @@ -244,7 +244,7 @@ DownloadServiceFactory::GetInstance(); #if BUILDFLAG(ENABLE_EXTENSIONS) #if defined(OS_CHROMEOS) - EasyUnlockServiceFactory::GetInstance(); + chromeos::EasyUnlockServiceFactory::GetInstance(); #endif EnhancedBookmarkKeyServiceFactory::GetInstance(); #endif
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb index c2b2ba4..97098ab 100644 --- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb +++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_bn.xtb
@@ -500,7 +500,7 @@ <translation id="536031132345979795">একটানা পড়ার সময় ছেড়ে পিছনে যান</translation> <translation id="5368000168321181111">Earcons বন্ধ আছে</translation> <translation id="5374320867641260420">কোনো পরবর্তী বোতাম নেই৷</translation> -<translation id="5376407118396657359">কক্ষের মাধ্যমে নেভিগেট করতে তীরচিহ্ন সহ সার্চ+Ctrl+Alt টিপুন।</translation> +<translation id="5376407118396657359">কক্ষের মাধ্যমে নেভিগেট করতে তীরচিহ্ন সহ Search+Ctrl+Alt টিপুন।</translation> <translation id="5382299583965267720">কোনো পূর্ববর্তী স্তর ১ শিরোলেখ নেই৷</translation> <translation id="5402367795255837559">ব্রেইল</translation> <translation id="5402791055281059602">একটি মোডাল সতর্কতা</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb index 1c0f21b7..6c3e35a 100644 --- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb +++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_hi.xtb
@@ -372,7 +372,7 @@ <translation id="4191918948604314587">बटन</translation> <translation id="4202186506458631436">दाएं ले जाएं</translation> <translation id="4206289001967551965">तालिका के अंदर</translation> -<translation id="4209770650650780359">शब्दों को अपने आप पूरा करने की सुविधा के लिए ऊपर या नीचे तीर दबाएं.</translation> +<translation id="4209770650650780359">शब्दों को अपने आप पूरा करने की सुविधा के लिए ऊपर या नीचे वाला तीर दबाएं.</translation> <translation id="4215733775853809057">अगला स्लाइडर</translation> <translation id="4218529045364428769">{COUNT,plural, =1{डैश}one{# डैश}other{# डैश}}</translation> <translation id="421884353938374759">रंग पिकर</translation> @@ -406,7 +406,7 @@ <translation id="4532633738839459153">{COUNT,plural, =1{स्लैश}one{# स्लैश}other{# स्लैश}}</translation> <translation id="4547556996012970016">अगले स्तर 5 का शीर्षक</translation> <translation id="4562381607973973258">शीर्षलेख</translation> -<translation id="4569941707103739422">नेविगेट करने के लिए ऊपर या नीचे तीर; चालू करने के लिए enter दबाएं.</translation> +<translation id="4569941707103739422">नेविगेट करने के लिए ऊपर या नीचे वाला तीर; चालू करने के लिए enter दबाएं.</translation> <translation id="4570424871453628777">गलत वर्तनी समाप्त</translation> <translation id="4591507479202817876">, चयनित</translation> <translation id="4597532268155981612">फ़ॉर्म</translation>
diff --git a/chrome/browser/resources/settings/incompatible_applications_page/compiled_resources2.gyp b/chrome/browser/resources/settings/incompatible_applications_page/compiled_resources2.gyp index b64db212..c73f9eb 100644 --- a/chrome/browser/resources/settings/incompatible_applications_page/compiled_resources2.gyp +++ b/chrome/browser/resources/settings/incompatible_applications_page/compiled_resources2.gyp
@@ -13,8 +13,9 @@ { 'target_name': 'incompatible_applications_page', 'dependencies': [ - '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:cr', + '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert', '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior', + '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:web_ui_listener_behavior', 'incompatible_applications_browser_proxy', ], 'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'], @@ -23,9 +24,7 @@ 'target_name': 'incompatible_application_item', 'dependencies': [ '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert', - '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:cr', '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior', - '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:web_ui_listener_behavior', 'incompatible_applications_browser_proxy', ], 'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
diff --git a/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.html b/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.html index efe3fb2..9fcccb1 100644 --- a/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.html +++ b/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.html
@@ -1,7 +1,8 @@ <link rel="import" href="chrome://resources/html/polymer.html"> -<link rel="import" href="chrome://resources/cr_elements/cr_expand_button/cr_expand_button.html"> +<link rel="import" href="chrome://resources/html/assert.html"> <link rel="import" href="chrome://resources/html/i18n_behavior.html"> +<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html"> <link rel="import" href="../settings_shared_css.html"> <link rel="import" href="incompatible_application_item.html"> @@ -9,36 +10,50 @@ <dom-module id="settings-incompatible-applications-page"> <template> - <style include="settings-shared"></style> - <div class="settings-box first two-line"> - <iron-icon icon="settings:security"></iron-icon> + <style include="settings-shared"> + #is-done-section > iron-icon { + --iron-icon-fill-color: var(--google-blue-500); + } + </style> + + <div hidden$="[[!isDone_]]" id="is-done-section" class="settings-box first"> + <iron-icon icon="settings:check-circle"></iron-icon> <div class="middle no-min-width"> - <div hidden$="[[!hasAdminRights_]]"> - [[subtitleText_]] $i18nRaw{incompatibleApplicationsSubpageLearnHow} - </div> - <div hidden$="[[hasAdminRights_]]"> - [[subtitleNoAdminRightsText_]] - </div> + $i18n{incompatibleApplicationsDone} </div> </div> - <div class="settings-box continuation"> - <div class="secondary">[[listTitleText_]]</div> - </div> - <div id="incompatible-applications-list" class="list-frame vertical-list"> - <template is="dom-repeat" items="[[applications_]]" as="application"> - <incompatible-application-item - hidden$="[[!hasAdminRights_]]" - class="incompatible-application" - application-name="[[application.name]]" - action-type="[[application.type]]" - action-url="[[application.url]]"> - </incompatible-application-item> - <div hidden$="[[hasAdminRights_]]" - class="list-item incompatible-application"> - [[application.name]] + + <template is="dom-if" if="[[!isDone_]]"> + <div class="settings-box first two-line"> + <iron-icon icon="settings:security"></iron-icon> + <div class="middle no-min-width"> + <div hidden$="[[!hasAdminRights_]]"> + [[subtitleText_]] $i18nRaw{incompatibleApplicationsSubpageLearnHow} + </div> + <div hidden$="[[hasAdminRights_]]"> + [[subtitleNoAdminRightsText_]] + </div> </div> - </template> - </div> + </div> + <div class="settings-box continuation"> + <div class="secondary">[[listTitleText_]]</div> + </div> + <div id="incompatible-applications-list" class="list-frame vertical-list"> + <template is="dom-repeat" items="[[applications_]]" as="application"> + <incompatible-application-item + hidden$="[[!hasAdminRights_]]" + class="incompatible-application" + application-name="[[application.name]]" + action-type="[[application.type]]" + action-url="[[application.url]]"> + </incompatible-application-item> + <div hidden$="[[hasAdminRights_]]" + class="list-item incompatible-application"> + [[application.name]] + </div> + </template> + </div> + </template> </template> <script src="incompatible_applications_page.js"></script> </dom-module>
diff --git a/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.js b/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.js index 213aa20..27426d2 100644 --- a/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.js +++ b/chrome/browser/resources/settings/incompatible_applications_page/incompatible_applications_page.js
@@ -19,7 +19,7 @@ Polymer({ is: 'settings-incompatible-applications-page', - behaviors: [I18nBehavior], + behaviors: [I18nBehavior, WebUIListenerBehavior], properties: { /** @@ -40,6 +40,15 @@ applications_: Array, /** + * Determines if the user has finished with this page. + * @private + */ + isDone_: { + type: Boolean, + computed: 'computeIsDone_(applications_.*)', + }, + + /** * The text for the subtitle of the subpage. * @private */ @@ -70,6 +79,10 @@ /** @override */ ready: function() { + this.addWebUIListener( + 'incompatible-application-removed', + this.onIncompatibleApplicationRemoved_.bind(this)); + settings.IncompatibleApplicationsBrowserProxyImpl.getInstance() .requestIncompatibleApplicationsList() .then(list => { @@ -79,6 +92,29 @@ }, /** + * @return {boolean} + * @private + */ + computeIsDone_: function() { + return this.applications_.length === 0; + }, + + /** + * Removes a single incompatible application from the |applications_| list. + * @private + */ + onIncompatibleApplicationRemoved_: function(applicationName) { + // Find the index of the element. + let index = this.applications_.findIndex(function(application) { + return application.name == applicationName; + }); + + assert(index !== -1); + + this.splice('applications_', index, 1); + }, + + /** * Updates the texts of the Incompatible Applications subpage that depends on * the length of |applications_|. * @private
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win_unittest.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win_unittest.cc index ddf6754..2667348 100644 --- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win_unittest.cc +++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_fetcher_win_unittest.cc
@@ -10,6 +10,7 @@ #include "base/callback.h" #include "base/files/file_path.h" #include "base/files/file_util.h" +#include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.h" #include "content/public/test/test_browser_thread_bundle.h"
diff --git a/chrome/browser/signin/easy_unlock_service_observer.h b/chrome/browser/signin/easy_unlock_service_observer.h deleted file mode 100644 index 3397690..0000000 --- a/chrome/browser/signin/easy_unlock_service_observer.h +++ /dev/null
@@ -1,23 +0,0 @@ -// Copyright 2014 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 CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_OBSERVER_H_ -#define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_OBSERVER_H_ - -#include "components/proximity_auth/screenlock_state.h" - -class EasyUnlockServiceObserver { - public: - // Invoked when turn-off operation status changes. - virtual void OnTurnOffOperationStatusChanged() {} - - // Invoked when screenlock state changes. - virtual void OnScreenlockStateChanged( - proximity_auth::ScreenlockState state) {} - - protected: - virtual ~EasyUnlockServiceObserver() {} -}; - -#endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SERVICE_OBSERVER_H_
diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc index 64d6569..a3a81d7 100644 --- a/chrome/browser/supervised_user/supervised_user_url_filter.cc +++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc
@@ -368,7 +368,7 @@ // Allow navigations to whitelisted origins (currently families.google.com). static const base::NoDestructor<base::flat_set<GURL>> kWhitelistedOrigins( - {GURL(kFamiliesUrl).GetOrigin()}); + base::flat_set<GURL>({GURL(kFamiliesUrl).GetOrigin()})); if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin())) return ALLOW;
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn index da1b3b5..f37b2bf 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -3129,6 +3129,8 @@ "views/omnibox/omnibox_result_view.h", "views/omnibox/omnibox_tab_switch_button.cc", "views/omnibox/omnibox_tab_switch_button.h", + "views/omnibox/omnibox_text_view.cc", + "views/omnibox/omnibox_text_view.h", "views/omnibox/omnibox_view_views.cc", "views/omnibox/omnibox_view_views.h", "views/omnibox/rounded_omnibox_results_frame.cc",
diff --git a/chrome/browser/ui/cocoa/browser_dialogs_views_mac.cc b/chrome/browser/ui/cocoa/browser_dialogs_views_mac.cc index d766818..4e0ddb3 100644 --- a/chrome/browser/ui/cocoa/browser_dialogs_views_mac.cc +++ b/chrome/browser/ui/cocoa/browser_dialogs_views_mac.cc
@@ -45,12 +45,6 @@ features::kShowAllDialogsWithViewsToolkit); } -bool ShowExtensionPopupWithViewsToolkit() { - // TODO(robliao): Remove after the views ExtensionPopup is harmonized with - // Cocoa's ExtensionPopup. - return false; -} - void ShowPageInfoBubbleViews(Browser* browser, content::WebContents* web_contents, const GURL& virtual_url,
diff --git a/chrome/browser/ui/cocoa/browser_dialogs_views_mac.h b/chrome/browser/ui/cocoa/browser_dialogs_views_mac.h index 7e7fc3b8..f7af950 100644 --- a/chrome/browser/ui/cocoa/browser_dialogs_views_mac.h +++ b/chrome/browser/ui/cocoa/browser_dialogs_views_mac.h
@@ -40,9 +40,6 @@ // Whether to show all dialogs with toolkit-views on Mac, rather than Cocoa. bool ShowAllDialogsWithViewsToolkit(); -// Whether to show the ExtensionPopup using toolkit-views. -bool ShowExtensionPopupWithViewsToolkit(); - // Shows a Views page info bubble on the given |browser|. void ShowPageInfoBubbleViews(Browser* browser, content::WebContents* web_contents,
diff --git a/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_mac.mm b/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_mac.mm index 47149150..65c16472 100644 --- a/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_mac.mm +++ b/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_mac.mm
@@ -178,8 +178,7 @@ }; std::unique_ptr<ExtensionPopupTestManager> GetExtensionPopupTestManager() { - if (!chrome::ShowAllDialogsWithViewsToolkit() || - !chrome::ShowExtensionPopupWithViewsToolkit()) { + if (!chrome::ShowAllDialogsWithViewsToolkit()) { return std::make_unique<ExtensionPopupTestManagerCocoa>(); } return std::make_unique<ExtensionPopupTestManagerViews>();
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm index a11cd8fe2..01e8030f 100644 --- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm +++ b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
@@ -87,8 +87,7 @@ std::unique_ptr<extensions::ExtensionViewHost> host, bool grant_tab_permissions, ExtensionActionViewController::PopupShowAction show_action) { - if (!chrome::ShowAllDialogsWithViewsToolkit() || - !chrome::ShowExtensionPopupWithViewsToolkit()) { + if (!chrome::ShowAllDialogsWithViewsToolkit()) { BOOL devMode = show_action == ExtensionActionViewController::SHOW_POPUP_AND_INSPECT; [ExtensionPopupController host:std::move(host)
diff --git a/chrome/browser/ui/overlay/overlay_surface_embedder.h b/chrome/browser/ui/overlay/overlay_surface_embedder.h index a160f06..4299855 100644 --- a/chrome/browser/ui/overlay/overlay_surface_embedder.h +++ b/chrome/browser/ui/overlay/overlay_surface_embedder.h
@@ -5,6 +5,8 @@ #ifndef CHROME_BROWSER_UI_OVERLAY_OVERLAY_SURFACE_EMBEDDER_H_ #define CHROME_BROWSER_UI_OVERLAY_OVERLAY_SURFACE_EMBEDDER_H_ +#include <memory> + #include "chrome/browser/ui/overlay/overlay_window.h" namespace viz {
diff --git a/chrome/browser/ui/overlay/overlay_window.h b/chrome/browser/ui/overlay/overlay_window.h index 7705424..14b5459a 100644 --- a/chrome/browser/ui/overlay/overlay_window.h +++ b/chrome/browser/ui/overlay/overlay_window.h
@@ -5,7 +5,8 @@ #ifndef CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_ #define CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_ -#include "base/memory/ptr_util.h" +#include <memory> + #include "ui/gfx/native_widget_types.h" namespace gfx {
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc index 019f621d..ff3eac7 100644 --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -620,9 +620,7 @@ #if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD) if (is_post_crash_launch) { // Check if there are any incompatible applications cached from the last - // Chrome run. The TrimCache() function removes any invalid cached entries - // first. - ProblematicProgramsUpdater::TrimCache(); + // Chrome run. has_incompatible_applications = ProblematicProgramsUpdater::HasCachedPrograms(); }
diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc b/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc index 8bf5772..c5f843e 100644 --- a/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc +++ b/chrome/browser/ui/views/autofill/autofill_popup_view_views.cc
@@ -22,6 +22,7 @@ #include "ui/gfx/image/image.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/text_utils.h" +#include "ui/views/accessibility/view_accessibility.h" #include "ui/views/border.h" #include "ui/views/view.h" #include "ui/views/widget/widget.h" @@ -34,22 +35,56 @@ // by |AutofillPopupViewViews|. class AutofillPopupChildView : public views::View { public: - explicit AutofillPopupChildView(const Suggestion& suggestion) - : suggestion_(suggestion) { - SetFocusBehavior(FocusBehavior::ALWAYS); + explicit AutofillPopupChildView(const Suggestion& suggestion, + int32_t set_size, + int32_t pos_in_set) + : suggestion_(suggestion), + is_selected_(false), + set_size_(set_size), + pos_in_set_(pos_in_set) { + SetFocusBehavior(suggestion.frontend_id == POPUP_ITEM_ID_SEPARATOR + ? FocusBehavior::NEVER + : FocusBehavior::ALWAYS); } + void OnSelected() { is_selected_ = true; } + + void OnUnselected() { is_selected_ = false; } + private: ~AutofillPopupChildView() override {} // views::Views implementation void GetAccessibleNodeData(ui::AXNodeData* node_data) override { - node_data->role = ax::mojom::Role::kMenuItem; node_data->SetName(suggestion_.value); + + bool is_separator = suggestion_.frontend_id == POPUP_ITEM_ID_SEPARATOR; + if (is_separator) { + // Separators are not selectable. + node_data->role = ax::mojom::Role::kSplitter; + } else { + // Options are selectable. + node_data->role = ax::mojom::Role::kMenuItem; + if (is_selected_) { + node_data->AddState(ax::mojom::State::kSelected); + } + node_data->AddState(ax::mojom::State::kSelectable); + } + + node_data->AddIntAttribute(ax::mojom::IntAttribute::kSetSize, set_size_); + node_data->AddIntAttribute(ax::mojom::IntAttribute::kPosInSet, pos_in_set_); } const Suggestion& suggestion_; + bool is_selected_; + + // Total number of suggestions. + const int32_t set_size_; + + // Position of suggestion in list (1-based index). + const int32_t pos_in_set_; + DISALLOW_COPY_AND_ASSIGN(AutofillPopupChildView); }; @@ -68,12 +103,13 @@ void AutofillPopupViewViews::Show() { DoShow(); - NotifyAccessibilityEvent(ax::mojom::Event::kMenuStart, true); + GetViewAccessibility().OnAutofillShown(); } void AutofillPopupViewViews::Hide() { // The controller is no longer valid after it hides us. controller_ = NULL; + GetViewAccessibility().OnAutofillHidden(); DoHide(); NotifyAccessibilityEvent(ax::mojom::Event::kMenuEnd, true); } @@ -111,15 +147,34 @@ } } +AutofillPopupChildView* AutofillPopupViewViews::GetChildRow( + size_t child_index) const { + DCHECK_LT(child_index, static_cast<size_t>(child_count())); + return static_cast<AutofillPopupChildView*>( + const_cast<views::View*>(child_at(child_index))); +} + void AutofillPopupViewViews::OnSelectedRowChanged( base::Optional<int> previous_row_selection, base::Optional<int> current_row_selection) { SchedulePaint(); + if (previous_row_selection) { + GetChildRow(*previous_row_selection)->OnUnselected(); + } else { + // Fire this the first time a row is selected. By firing this and the + // matching kMenuEnd event, we are telling screen readers that the focus + // is only changing temporarily, and the screen reader will restore the + // focus back to the appropriate textfield when the menu closes. + // This is deferred until the first focus so that the screen reader doesn't + // treat the textfield as unfocused while the user edits, just because + // autofill options are visible. + NotifyAccessibilityEvent(ax::mojom::Event::kMenuStart, true); + } if (current_row_selection) { - DCHECK_LT(*current_row_selection, child_count()); - child_at(*current_row_selection) - ->NotifyAccessibilityEvent(ax::mojom::Event::kSelection, true); + AutofillPopupChildView* current_row = GetChildRow(*current_row_selection); + current_row->OnSelected(); + current_row->NotifyAccessibilityEvent(ax::mojom::Event::kFocus, true); } } @@ -251,8 +306,10 @@ void AutofillPopupViewViews::CreateChildViews() { RemoveAllChildViews(true /* delete_children */); - for (int i = 0; i < controller_->GetLineCount(); ++i) { - AddChildView(new AutofillPopupChildView(controller_->GetSuggestionAt(i))); + int set_size = controller_->GetLineCount(); + for (int i = 0; i < set_size; ++i) { + AddChildView(new AutofillPopupChildView(controller_->GetSuggestionAt(i), + set_size, i + 1)); } }
diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_views.h b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h index 90567b7..d3343b2 100644 --- a/chrome/browser/ui/views/autofill/autofill_popup_view_views.h +++ b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h
@@ -16,6 +16,10 @@ class AutofillPopupController; +namespace { +class AutofillPopupChildView; +} + // Views toolkit implementation for AutofillPopupView. class AutofillPopupViewViews : public AutofillPopupBaseView, public AutofillPopupView { @@ -49,6 +53,8 @@ // populate the correct |AXNodeData| when user selects a suggestion. void CreateChildViews(); + AutofillPopupChildView* GetChildRow(size_t child_index) const; + AutofillPopupController* controller_; // Weak reference. DISALLOW_COPY_AND_ASSIGN(AutofillPopupViewViews);
diff --git a/chrome/browser/ui/views/extensions/extension_view_views.cc b/chrome/browser/ui/views/extensions/extension_view_views.cc index e36729e..d79c889 100644 --- a/chrome/browser/ui/views/extensions/extension_view_views.cc +++ b/chrome/browser/ui/views/extensions/extension_view_views.cc
@@ -145,8 +145,7 @@ ExtensionViewHost* host, Browser* browser) { #if defined(OS_MACOSX) - if (!chrome::ShowAllDialogsWithViewsToolkit() || - !chrome::ShowExtensionPopupWithViewsToolkit()) { + if (!chrome::ShowAllDialogsWithViewsToolkit()) { return CreateExtensionViewCocoa(host, browser); } #endif
diff --git a/chrome/browser/ui/views/omnibox/omnibox_result_view.cc b/chrome/browser/ui/views/omnibox/omnibox_result_view.cc index 7cf10da..e4924dd01 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_result_view.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_result_view.cc
@@ -26,6 +26,7 @@ #include "chrome/browser/ui/views/location_bar/location_bar_view.h" #include "chrome/browser/ui/views/omnibox/omnibox_popup_contents_view.h" #include "chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.h" +#include "chrome/browser/ui/views/omnibox/omnibox_text_view.h" #include "chrome/browser/ui/views/omnibox/rounded_omnibox_results_frame.h" #include "chrome/grit/generated_resources.h" #include "components/omnibox/browser/omnibox_field_trial.h" @@ -60,6 +61,12 @@ // center the cap height of the font instead of centering the entire font. static const int kVerticalPadding = 4; +// TODO(dschuyler): Perhaps this should be based on the font size +// instead of hardcoded to 2 dp (e.g. by adding a space in an +// appropriate font to the beginning of the description, then reducing +// the additional padding here to zero). +static const int kAnswerIconToTextPadding = 2; + // A mapping from OmniboxResultView's ResultViewState/ColorKind types to // NativeTheme colors. struct TranslationTable { @@ -93,85 +100,6 @@ OmniboxResultView::SELECTED, OmniboxResultView::URL }, }; -struct TextStyle { - ui::ResourceBundle::FontStyle font; - ui::NativeTheme::ColorId colors[OmniboxResultView::NUM_STATES]; - gfx::BaselineStyle baseline; -}; - -// Returns the styles that should be applied to the specified answer text type. -// -// Note that the font value is only consulted for the first text type that -// appears on an answer line, because RenderText does not yet support multiple -// font sizes. Subsequent text types on the same line will share the text size -// of the first type, while the color and baseline styles specified here will -// always apply. The gfx::INFERIOR baseline style is used as a workaround to -// produce smaller text on the same line. The way this is used in the current -// set of answers is that the small types (TOP_ALIGNED, DESCRIPTION_NEGATIVE, -// DESCRIPTION_POSITIVE and SUGGESTION_SECONDARY_TEXT_SMALL) only ever appear -// following LargeFont text, so for consistency they specify LargeFont for the -// first value even though this is not actually used (since they're not the -// first value). -TextStyle GetTextStyle(int type) { - switch (type) { - case SuggestionAnswer::TOP_ALIGNED: - return {ui::ResourceBundle::LargeFont, - {NativeTheme::kColorId_ResultsTableNormalDimmedText, - NativeTheme::kColorId_ResultsTableHoveredDimmedText, - NativeTheme::kColorId_ResultsTableSelectedDimmedText}, - gfx::SUPERIOR}; - case SuggestionAnswer::DESCRIPTION_NEGATIVE: - return {ui::ResourceBundle::LargeFont, - {NativeTheme::kColorId_ResultsTableNegativeText, - NativeTheme::kColorId_ResultsTableNegativeHoveredText, - NativeTheme::kColorId_ResultsTableNegativeSelectedText}, - gfx::INFERIOR}; - case SuggestionAnswer::DESCRIPTION_POSITIVE: - return {ui::ResourceBundle::LargeFont, - {NativeTheme::kColorId_ResultsTablePositiveText, - NativeTheme::kColorId_ResultsTablePositiveHoveredText, - NativeTheme::kColorId_ResultsTablePositiveSelectedText}, - gfx::INFERIOR}; - case SuggestionAnswer::PERSONALIZED_SUGGESTION: - return {ui::ResourceBundle::BaseFont, - {NativeTheme::kColorId_ResultsTableNormalText, - NativeTheme::kColorId_ResultsTableHoveredText, - NativeTheme::kColorId_ResultsTableSelectedText}, - gfx::NORMAL_BASELINE}; - case SuggestionAnswer::ANSWER_TEXT_MEDIUM: - return {ui::ResourceBundle::BaseFont, - {NativeTheme::kColorId_ResultsTableNormalDimmedText, - NativeTheme::kColorId_ResultsTableHoveredDimmedText, - NativeTheme::kColorId_ResultsTableSelectedDimmedText}, - gfx::NORMAL_BASELINE}; - case SuggestionAnswer::ANSWER_TEXT_LARGE: - return {ui::ResourceBundle::LargeFont, - {NativeTheme::kColorId_ResultsTableNormalDimmedText, - NativeTheme::kColorId_ResultsTableHoveredDimmedText, - NativeTheme::kColorId_ResultsTableSelectedDimmedText}, - gfx::NORMAL_BASELINE}; - case SuggestionAnswer::SUGGESTION_SECONDARY_TEXT_SMALL: - return {ui::ResourceBundle::LargeFont, - {NativeTheme::kColorId_ResultsTableNormalDimmedText, - NativeTheme::kColorId_ResultsTableHoveredDimmedText, - NativeTheme::kColorId_ResultsTableSelectedDimmedText}, - gfx::INFERIOR}; - case SuggestionAnswer::SUGGESTION_SECONDARY_TEXT_MEDIUM: - return {ui::ResourceBundle::BaseFont, - {NativeTheme::kColorId_ResultsTableNormalDimmedText, - NativeTheme::kColorId_ResultsTableHoveredDimmedText, - NativeTheme::kColorId_ResultsTableSelectedDimmedText}, - gfx::NORMAL_BASELINE}; - case SuggestionAnswer::SUGGESTION: // Fall through. - default: - return {ui::ResourceBundle::BaseFont, - {NativeTheme::kColorId_ResultsTableNormalText, - NativeTheme::kColorId_ResultsTableHoveredText, - NativeTheme::kColorId_ResultsTableSelectedText}, - gfx::NORMAL_BASELINE}; - } -} - // Whether to use the two-line layout. bool IsTwoLineLayout() { return base::FeatureList::IsEnabled(omnibox::kUIExperimentVerticalLayout) || @@ -203,42 +131,6 @@ } // namespace -// This class is a utility class for calculations affected by whether the result -// view is horizontally mirrored. The drawing functions can be written as if -// all drawing occurs left-to-right, and then use this class to get the actual -// coordinates to begin drawing onscreen. -class OmniboxResultView::MirroringContext { - public: - MirroringContext() : center_(0), right_(0) {} - - // Tells the mirroring context to use the provided range as the physical - // bounds of the drawing region. When coordinate mirroring is needed, the - // mirror point will be the center of this range. - void Initialize(int x, int width) { - center_ = x + width / 2; - right_ = x + width; - } - - // Given a logical range within the drawing region, returns the coordinate of - // the possibly-mirrored "left" side. (This functions exactly like - // View::MirroredLeftPointForRect().) - int mirrored_left_coord(int left, int right) const { - return base::i18n::IsRTL() ? (center_ + (center_ - right)) : left; - } - - // Given a logical coordinate within the drawing region, returns the remaining - // width available. - int remaining_width(int x) const { - return right_ - x; - } - - private: - int center_; - int right_; - - DISALLOW_COPY_AND_ASSIGN(MirroringContext); -}; - //////////////////////////////////////////////////////////////////////////////// // OmniboxResultView, public: @@ -248,28 +140,39 @@ : model_(model), model_index_(model_index), is_hovered_(false), - font_list_(font_list), font_height_(std::max( font_list.GetHeight(), font_list.DeriveWithWeight(gfx::Font::Weight::BOLD).GetHeight())), - mirroring_context_(new MirroringContext()), keyword_icon_(new views::ImageView()), animation_(new gfx::SlideAnimation(this)) { CHECK_GE(model_index, 0); + keyword_icon_->set_owned_by_client(); keyword_icon_->EnableCanvasFlippingForRTLUI(true); keyword_icon_->SetImage(gfx::CreateVectorIcon( omnibox::kKeywordSearchIcon, GetLayoutConstant(LOCATION_BAR_ICON_SIZE), GetVectorIconColor())); keyword_icon_->SizeToPreferredSize(); + if (OmniboxFieldTrial::InTabSwitchSuggestionWithButtonTrial()) { tab_switch_button_.reset(new OmniboxTabSwitchButton(this)); tab_switch_button_->set_owned_by_client(); } + + content_view_ = new OmniboxTextView(this, font_list); + description_view_ = new OmniboxTextView(this, font_list); + keyword_content_view_ = new OmniboxTextView(this, font_list); + keyword_description_view_ = new OmniboxTextView(this, font_list); + separator_view_ = new OmniboxTextView(this, font_list); + + AddChildView(content_view_); + AddChildView(description_view_); + AddChildView(keyword_content_view_); + AddChildView(keyword_description_view_); + AddChildView(separator_view_); } -OmniboxResultView::~OmniboxResultView() { -} +OmniboxResultView::~OmniboxResultView() {} SkColor OmniboxResultView::GetColor( ResultViewState state, @@ -331,14 +234,33 @@ SetBackground(CreateBackgroundWithColor(GetColor(state, BACKGROUND))); } - // While the text in the RenderTexts may not have changed, the styling - // (color/bold) may need to change. So we reset them to cause them to be - // recomputed in OnPaint(). - contents_rendertext_.reset(); - description_rendertext_.reset(); - separator_rendertext_.reset(); - keyword_contents_rendertext_.reset(); - keyword_description_rendertext_.reset(); + if (match_.answer) { + content_view_->SetText(match_.answer->first_line()); + description_view_->SetText(match_.answer->second_line()); + } else { + content_view_->SetText(match_.contents, match_.contents_class); + description_view_->SetText(match_.description, match_.description_class); + } + + const base::string16& separator = + l10n_util::GetStringUTF16(IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR); + separator_view_->SetText(separator); + separator_view_->Dim(); + + AutocompleteMatch* keyword_match = match_.associated_keyword.get(); + keyword_content_view_->SetVisible(keyword_match); + keyword_description_view_->SetVisible(keyword_match); + if (keyword_match) { + keyword_content_view_->SetText(keyword_match->contents, + keyword_match->contents_class); + keyword_description_view_->SetText(keyword_match->description, + keyword_match->description_class); + keyword_description_view_->Dim(); + } + + // TODO(dschuyler): without this Layout call the text will shift slightly when + // hovered. Look into removing this call (without the text shifting). + Layout(); } void OmniboxResultView::OnSelected() { @@ -363,6 +285,7 @@ void OmniboxResultView::SetAnswerImage(const gfx::ImageSkia& image) { answer_image_ = image; + Layout(); SchedulePaint(); } @@ -472,152 +395,6 @@ return font_height_ + kVerticalPadding; } -void OmniboxResultView::PaintMatch(const AutocompleteMatch& match, - gfx::RenderText* contents, - gfx::RenderText* description, - gfx::Canvas* canvas, - int x) const { - int y = text_bounds_.y() + GetVerticalMargin(); - - if (!separator_rendertext_) { - const base::string16& separator = - l10n_util::GetStringUTF16(IDS_AUTOCOMPLETE_MATCH_DESCRIPTION_SEPARATOR); - separator_rendertext_ = CreateRenderText(separator); - separator_rendertext_->SetColor(GetColor(GetState(), DIMMED_TEXT)); - separator_width_ = separator_rendertext_->GetContentWidth(); - } - - contents->SetDisplayRect(gfx::Rect(gfx::Size(INT_MAX, 0))); - if (description) - description->SetDisplayRect(gfx::Rect(gfx::Size(INT_MAX, 0))); - int contents_max_width, description_max_width; - bool description_on_separate_line = - match.answer != nullptr || IsTwoLineLayout(); - OmniboxPopupModel::ComputeMatchMaxWidths( - contents->GetContentWidth(), separator_width_, - description ? description->GetContentWidth() : 0, - mirroring_context_->remaining_width(x), description_on_separate_line, - !AutocompleteMatch::IsSearchType(match.type), &contents_max_width, - &description_max_width); - - // Answers in Suggest results. - if (match.answer && description_max_width != 0) { - DrawRenderText(match, contents, CONTENTS, canvas, x, y, contents_max_width); - y += GetTextHeight(); - if (!answer_image_.isNull()) { - // GetAnswerHeight includes some padding. Using that results in an image - // that's too large so we use the font height here instead. - int answer_icon_size = GetAnswerFont().GetHeight(); - canvas->DrawImageInt(answer_image_, 0, 0, answer_image_.width(), - answer_image_.height(), GetMirroredXInView(x), - y + (kVerticalPadding / 2), answer_icon_size, - answer_icon_size, true); - // TODO(dschuyler): Perhaps this should be based on the font size - // instead of hardcoded to 2 dp (e.g. by adding a space in an - // appropriate font to the beginning of the description, then reducing - // the additional padding here to zero). - const int kAnswerIconToTextPadding = 2; - x += answer_icon_size + kAnswerIconToTextPadding; - } - DrawRenderText(match, description, DESCRIPTION, canvas, x, y, - description_max_width); - return; - } - - // Regular results. - if (IsTwoLineLayout()) { - // For no description, shift down halfway to draw contents in middle. - if (description_max_width == 0) - y += GetTextHeight() / 2; - - DrawRenderText(match, contents, CONTENTS, canvas, x, y, contents_max_width); - - if (description_max_width != 0) { - y += GetTextHeight(); - DrawRenderText(match, description, DESCRIPTION, canvas, x, y, - description_max_width); - } - } else { - x = DrawRenderText(match, contents, CONTENTS, canvas, x, y, - contents_max_width); - if (description_max_width != 0) { - x = DrawRenderText(match, separator_rendertext_.get(), SEPARATOR, canvas, - x, y, separator_width_); - DrawRenderText(match, description, DESCRIPTION, canvas, x, y, - description_max_width); - } - } -} - -int OmniboxResultView::DrawRenderText( - const AutocompleteMatch& match, - gfx::RenderText* render_text, - RenderTextType render_text_type, - gfx::Canvas* canvas, - int x, - int y, - int max_width) const { - DCHECK(!render_text->text().empty()); - - int right_x = x + max_width; - - // Set the display rect to trigger elision. - int height = (render_text_type == DESCRIPTION && match.answer) - ? GetAnswerHeight() - : GetTextHeight(); - render_text->SetDisplayRect( - gfx::Rect(mirroring_context_->mirrored_left_coord(x, right_x), y, - right_x - x, height)); - render_text->Draw(canvas); - return right_x; -} - -std::unique_ptr<gfx::RenderText> OmniboxResultView::CreateRenderText( - const base::string16& text) const { - auto render_text = gfx::RenderText::CreateHarfBuzzInstance(); - render_text->SetDisplayRect(gfx::Rect(gfx::Size(INT_MAX, 0))); - render_text->SetCursorEnabled(false); - render_text->SetElideBehavior(gfx::ELIDE_TAIL); - render_text->SetFontList(font_list_); - render_text->SetText(text); - return render_text; -} - -std::unique_ptr<gfx::RenderText> OmniboxResultView::CreateClassifiedRenderText( - const base::string16& text, - const ACMatchClassifications& classifications, - bool force_dim) const { - std::unique_ptr<gfx::RenderText> render_text(CreateRenderText(text)); - const size_t text_length = render_text->text().length(); - for (size_t i = 0; i < classifications.size(); ++i) { - const size_t text_start = classifications[i].offset; - if (text_start >= text_length) - break; - - const size_t text_end = (i < (classifications.size() - 1)) ? - std::min(classifications[i + 1].offset, text_length) : - text_length; - const gfx::Range current_range(text_start, text_end); - - // Calculate style-related data. - if (classifications[i].style & ACMatchClassification::MATCH) - render_text->ApplyWeight(gfx::Font::Weight::BOLD, current_range); - - ColorKind color_kind = TEXT; - if (classifications[i].style & ACMatchClassification::URL) { - color_kind = URL; - render_text->SetDirectionalityMode(gfx::DIRECTIONALITY_AS_URL); - } else if (force_dim || - (classifications[i].style & ACMatchClassification::DIM)) { - color_kind = DIMMED_TEXT; - } else if (classifications[i].style & ACMatchClassification::INVISIBLE) { - color_kind = INVISIBLE_TEXT; - } - render_text->ApplyColor(GetColor(GetState(), color_kind), current_range); - } - return render_text; -} - gfx::Image OmniboxResultView::GetIcon() const { return model_->GetMatchIcon(match_, GetVectorIconColor()); } @@ -635,53 +412,23 @@ (keyword_icon_->x() <= icon_bounds_.right()); } -void OmniboxResultView::InitContentsRenderTextIfNecessary() const { - if (!contents_rendertext_) { - if (match_.answer) { - contents_rendertext_ = - CreateAnswerText(match_.answer->first_line(), font_list_); - } else { - contents_rendertext_ = CreateClassifiedRenderText( - match_.contents, match_.contents_class, false); - } - } -} - -const gfx::FontList& OmniboxResultView::GetAnswerFont() const { - // This assumes that the first text type in the second answer line can be used - // to specify the font for all the text fields in the line. For now this works - // but eventually it will be necessary to get RenderText to support multiple - // font sizes or use multiple RenderTexts. - int text_type = - match_.answer && !match_.answer->second_line().text_fields().empty() - ? match_.answer->second_line().text_fields()[0].type() - : SuggestionAnswer::SUGGESTION; - - // When BaseFont is specified, reuse font_list_, which may have had size - // adjustments from BaseFont before it was provided to this class. Otherwise, - // get the standard font list for the specified style. - ui::ResourceBundle::FontStyle font_style = GetTextStyle(text_type).font; - return (font_style == ui::ResourceBundle::BaseFont) - ? font_list_ - : ui::ResourceBundle::GetSharedInstance().GetFontList(font_style); -} - int OmniboxResultView::GetAnswerHeight() const { - // If the answer specifies a maximum of 1 line we can simply return the answer - // font height. - if (match_.answer->second_line().num_text_lines() == 1) - return GetAnswerFont().GetHeight() + kVerticalPadding; - - // Multi-line answers require layout in order to determine the number of lines - // the RenderText will use. - if (!description_rendertext_) { - description_rendertext_ = - CreateAnswerText(match_.answer->second_line(), GetAnswerFont()); - } - description_rendertext_->SetDisplayRect(gfx::Rect(text_bounds_.width(), 0)); - description_rendertext_->GetStringSize(); - return (GetAnswerFont().GetHeight() * - description_rendertext_->GetNumLines()) + + const int horizontal_padding = + GetLayoutConstant(LOCATION_BAR_PADDING) + + GetLayoutConstant(LOCATION_BAR_ICON_INTERIOR_PADDING); + const gfx::Image icon = GetIcon(); + int icon_width = icon.Width(); + int answer_icon_size = + answer_image_.isNull() + ? 0 + : answer_icon_size = + description_view_->GetLineHeight() + kAnswerIconToTextPadding; + // TODO(dschuyler): The GetIconAlignmentOffset() is applied an extra time to + // match the math in Layout(). This seems like a (minor) mistake. + int deduction = (GetIconAlignmentOffset() * 2) + icon_width + + (horizontal_padding * 3) + answer_icon_size; + int description_width = std::max(width() - deduction, 0); + return description_view_->GetHeightForWidth(description_width) + kVerticalPadding; } @@ -695,91 +442,11 @@ OmniboxFieldTrial::kUIVerticalMarginParam, Md::GetMode() == Md::MATERIAL_HYBRID ? 8 : 4); const int min_height = - GetLayoutConstant(LOCATION_BAR_ICON_SIZE) + 2 * kIconVerticalPad; + GetLayoutConstant(LOCATION_BAR_ICON_SIZE) + (kIconVerticalPad * 2); return std::max(kVerticalMargin, (min_height - GetTextHeight()) / 2); } -std::unique_ptr<gfx::RenderText> OmniboxResultView::CreateAnswerText( - const SuggestionAnswer::ImageLine& line, - const gfx::FontList& font_list) const { - std::unique_ptr<gfx::RenderText> destination = - CreateRenderText(base::string16()); - destination->SetFontList(font_list); - - for (const SuggestionAnswer::TextField& text_field : line.text_fields()) - AppendAnswerText(destination.get(), text_field.text(), text_field.type()); - if (!line.text_fields().empty()) { - constexpr int kMaxDisplayLines = 3; - const SuggestionAnswer::TextField& first_field = line.text_fields().front(); - if (first_field.has_num_lines() && first_field.num_lines() > 1 && - destination->MultilineSupported()) { - destination->SetMultiline(true); - destination->SetMaxLines( - std::min(kMaxDisplayLines, first_field.num_lines())); - } - } - const base::char16 space(' '); - const auto* text_field = line.additional_text(); - if (text_field) { - AppendAnswerText(destination.get(), space + text_field->text(), - text_field->type()); - } - text_field = line.status_text(); - if (text_field) { - AppendAnswerText(destination.get(), space + text_field->text(), - text_field->type()); - } - return destination; -} - -void OmniboxResultView::AppendAnswerText(gfx::RenderText* destination, - const base::string16& text, - int text_type) const { - // TODO(dschuyler): make this better. Right now this only supports unnested - // bold tags. In the future we'll need to flag unexpected tags while adding - // support for b, i, u, sub, and sup. We'll also need to support HTML - // entities (< for '<', etc.). - const base::string16 begin_tag = base::ASCIIToUTF16("<b>"); - const base::string16 end_tag = base::ASCIIToUTF16("</b>"); - size_t begin = 0; - while (true) { - size_t end = text.find(begin_tag, begin); - if (end == base::string16::npos) { - AppendAnswerTextHelper(destination, text.substr(begin), text_type, false); - break; - } - AppendAnswerTextHelper(destination, text.substr(begin, end - begin), - text_type, false); - begin = end + begin_tag.length(); - end = text.find(end_tag, begin); - if (end == base::string16::npos) - break; - AppendAnswerTextHelper(destination, text.substr(begin, end - begin), - text_type, true); - begin = end + end_tag.length(); - } -} - -void OmniboxResultView::AppendAnswerTextHelper(gfx::RenderText* destination, - const base::string16& text, - int text_type, - bool is_bold) const { - if (text.empty()) - return; - int offset = destination->text().length(); - gfx::Range range(offset, offset + text.length()); - destination->AppendText(text); - const TextStyle& text_style = GetTextStyle(text_type); - // TODO(dschuyler): follow up on the problem of different font sizes within - // one RenderText. Maybe with destination->SetFontList(...). - destination->ApplyWeight( - is_bold ? gfx::Font::Weight::BOLD : gfx::Font::Weight::NORMAL, range); - destination->ApplyColor( - GetNativeTheme()->GetSystemColor(text_style.colors[GetState()]), range); - destination->ApplyBaselineStyle(text_style.baseline, range); -} - void OmniboxResultView::SetHovered(bool hovered) { if (is_hovered_ != hovered) { is_hovered_ = hovered; @@ -792,47 +459,136 @@ // OmniboxResultView, views::View overrides, private: void OmniboxResultView::Layout() { + views::View::Layout(); const int horizontal_padding = GetLayoutConstant(LOCATION_BAR_PADDING) + GetLayoutConstant(LOCATION_BAR_ICON_INTERIOR_PADDING); const int start_x = GetIconAlignmentOffset() + horizontal_padding; - const int end_x = width() - start_x; + int end_x = width() - start_x; - const gfx::Image icon = GetIcon(); - - int row_height = GetTextHeight(); + int text_height = GetTextHeight(); + int row_height = text_height; if (IsTwoLineLayout()) row_height += match_.answer ? GetAnswerHeight() : GetTextHeight(); + const gfx::Image icon = GetIcon(); const int icon_y = GetVerticalMargin() + (row_height - icon.Height()) / 2; icon_bounds_.SetRect(start_x, icon_y, icon.Width(), icon.Height()); - const int text_x = - start_x + GetLayoutConstant(LOCATION_BAR_ICON_SIZE) + horizontal_padding; - int text_width = end_x - text_x; + separator_view_->SetVisible(false); - if (match_.associated_keyword.get()) { + // TODO(dschuyler): Refactor these if/else's into separate pieces of code to + // improve readability/maintainability. + + AutocompleteMatch* keyword_match = match_.associated_keyword.get(); + if (keyword_match) { + // NOTE: While animating the keyword match, both matches may be visible. const int max_kw_x = end_x - keyword_icon_->width(); - const int kw_x = animation_->CurrentValueBetween(max_kw_x, start_x); - const int kw_text_x = kw_x + keyword_icon_->width() + horizontal_padding; - - text_width = kw_x - text_x - horizontal_padding; - keyword_text_bounds_.SetRect(kw_text_x, 0, std::max(end_x - kw_text_x, 0), - height()); + int kw_x = animation_->CurrentValueBetween(max_kw_x, start_x); + end_x = kw_x; + int y = GetVerticalMargin(); + kw_x += BackgroundWith1PxBorder::kLocationBarBorderThicknessDip; keyword_icon_->SetPosition( gfx::Point(kw_x, (height() - keyword_icon_->height()) / 2)); + kw_x += keyword_icon_->width() + horizontal_padding; + + keyword_content_view_->SizeToPreferredSize(); + int first_width = keyword_content_view_->GetContentsBounds().width(); + keyword_description_view_->SizeToPreferredSize(); + int second_width = + keyword_description_view_ + ? keyword_description_view_->GetContentsBounds().width() + : 0; + OmniboxPopupModel::ComputeMatchMaxWidths( + first_width, separator_view_->width(), second_width, width(), + /*description_on_separate_line=*/false, + !AutocompleteMatch::IsSearchType(match_.type), &first_width, + &second_width); + keyword_content_view_->SetBounds(kw_x, y, first_width, text_height); + if (second_width != 0) { + kw_x += keyword_content_view_->width(); + separator_view_->SetVisible(true); + separator_view_->SetBounds(kw_x, y, separator_view_->width(), + text_height); + kw_x += separator_view_->width(); + keyword_description_view_->SetBounds(kw_x, y, second_width, text_height); + } else if (IsTwoLineLayout()) { + keyword_content_view_->SetSize(gfx::Size(first_width, text_height * 2)); + } } + if (tab_switch_button_ && match_.type == AutocompleteMatchType::TAB_SEARCH) { const int ts_button_width = tab_switch_button_->GetPreferredSize().width(); const int ts_button_height = height(); tab_switch_button_->SetSize(gfx::Size(ts_button_width, ts_button_height)); const int ts_x = end_x - ts_button_width + horizontal_padding; - text_width = ts_x - text_x - horizontal_padding; + end_x = ts_x - start_x - horizontal_padding; tab_switch_button_->SetPosition(gfx::Point(ts_x, 0)); } - text_bounds_.SetRect(text_x, 0, std::max(text_width, 0), height()); + // NOTE: While animating the keyword match, both matches may be visible. + if (!ShowOnlyKeywordMatch()) { + description_view_->SizeToPreferredSize(); + int x = start_x; + x += icon.Width() + horizontal_padding; + int y = GetVerticalMargin(); + if (match_.answer) { + content_view_->SetBounds(x, y, end_x - x, text_height); + int answer_icon_size = 0; + if (!answer_image_.isNull()) { + // The description may be multi-line. Using the view height results in + // an image that's too large, so we use the line height here instead. + answer_icon_size = description_view_->GetLineHeight(); + answer_icon_bounds_.SetRect(x, y + (kVerticalPadding / 2) + text_height, + answer_icon_size, answer_icon_size); + answer_icon_size += kAnswerIconToTextPadding; + } + x += answer_icon_size; + y += GetTextHeight(); + int description_width = end_x - x; + description_view_->SetBounds( + x, y, description_width, + description_view_->GetHeightForWidth(description_width) + + kVerticalPadding); + } else if (IsTwoLineLayout()) { + if (!!description_view_->GetContentsBounds().width()) { + // A description is present. + content_view_->SetBounds(x, y, end_x - x, GetTextHeight()); + y += GetTextHeight(); + int description_width = end_x - x; + description_view_->SetBounds( + x, y, description_width, + description_view_->GetHeightForWidth(description_width) + + kVerticalPadding); + } else { + // For no description, shift down halfway to draw contents in middle. + y += GetTextHeight() / 2; + content_view_->SetBounds(x, y, end_x - x, GetTextHeight()); + } + } else { + content_view_->SizeToPreferredSize(); + int first_width = content_view_->GetContentsBounds().width(); + int second_width = description_view_ + ? description_view_->GetContentsBounds().width() + : 0; + OmniboxPopupModel::ComputeMatchMaxWidths( + first_width, separator_view_->width(), second_width, end_x - x, + /*description_on_separate_line=*/false, + !AutocompleteMatch::IsSearchType(match_.type), &first_width, + &second_width); + OmniboxTextView* first_view = content_view_; + OmniboxTextView* second_view = description_view_; + first_view->SetBounds(x, y, first_width, text_height); + x += first_width; + if (second_width) { + separator_view_->SetVisible(true); + separator_view_->SetBounds(x, y, separator_view_->width(), text_height); + x += separator_view_->width(); + } + second_view->SetBounds(x, y, second_width, text_height); + } + } } const char* OmniboxResultView::GetClassName() const { @@ -841,48 +597,20 @@ void OmniboxResultView::OnBoundsChanged(const gfx::Rect& previous_bounds) { animation_->SetSlideDuration(width() / 4); + Layout(); } void OmniboxResultView::OnPaint(gfx::Canvas* canvas) { View::OnPaint(canvas); - - // NOTE: While animating the keyword match, both matches may be visible. - if (!ShowOnlyKeywordMatch()) { canvas->DrawImageInt(GetIcon().AsImageSkia(), GetMirroredXForRect(icon_bounds_), icon_bounds_.y()); - int x = GetMirroredXForRect(text_bounds_); - mirroring_context_->Initialize(x, text_bounds_.width()); - InitContentsRenderTextIfNecessary(); - - if (!description_rendertext_) { - if (match_.answer) { - description_rendertext_ = - CreateAnswerText(match_.answer->second_line(), GetAnswerFont()); - } else if (!match_.description.empty()) { - description_rendertext_ = CreateClassifiedRenderText( - match_.description, match_.description_class, false); - } + if (!answer_image_.isNull()) { + canvas->DrawImageInt(answer_image_, 0, 0, answer_image_.width(), + answer_image_.height(), answer_icon_bounds_.x(), + answer_icon_bounds_.y(), answer_icon_bounds_.width(), + answer_icon_bounds_.height(), true); } - PaintMatch(match_, contents_rendertext_.get(), - description_rendertext_.get(), canvas, x); - } - - AutocompleteMatch* keyword_match = match_.associated_keyword.get(); - if (keyword_match) { - int x = GetMirroredXForRect(keyword_text_bounds_); - mirroring_context_->Initialize(x, keyword_text_bounds_.width()); - if (!keyword_contents_rendertext_) { - keyword_contents_rendertext_ = CreateClassifiedRenderText( - keyword_match->contents, keyword_match->contents_class, false); - } - if (!keyword_description_rendertext_ && - !keyword_match->description.empty()) { - keyword_description_rendertext_ = CreateClassifiedRenderText( - keyword_match->description, keyword_match->description_class, true); - } - PaintMatch(*keyword_match, keyword_contents_rendertext_.get(), - keyword_description_rendertext_.get(), canvas, x); } }
diff --git a/chrome/browser/ui/views/omnibox/omnibox_result_view.h b/chrome/browser/ui/views/omnibox/omnibox_result_view.h index abdf623..1d41078 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_result_view.h +++ b/chrome/browser/ui/views/omnibox/omnibox_result_view.h
@@ -26,10 +26,10 @@ namespace gfx { class Canvas; class Image; -class RenderText; } class OmniboxTabSwitchButton; +class OmniboxTextView; class OmniboxResultView : public views::View, private gfx::AnimationDelegate { @@ -93,51 +93,9 @@ void OnNativeThemeChanged(const ui::NativeTheme* theme) override; private: - enum RenderTextType { - CONTENTS = 0, - SEPARATOR, - DESCRIPTION, - NUM_TYPES - }; - // Returns the height of the text portion of the result view. int GetTextHeight() const; - // Paints the given |match| using the RenderText instances |contents| and - // |description| at offset |x| in the bounds of this view. - void PaintMatch(const AutocompleteMatch& match, - gfx::RenderText* contents, - gfx::RenderText* description, - gfx::Canvas* canvas, - int x) const; - - // Draws given |render_text| on |canvas| at given location (|x|, |y|). - // |contents| indicates if the |render_text| is for the match contents, - // separator, or description. Additional properties from |match| are used to - // render tail suggestions correctly. If |max_width| is a non-negative - // number, the text will be elided to fit within |max_width|. Returns the x - // position to the right of the string. - int DrawRenderText(const AutocompleteMatch& match, - gfx::RenderText* render_text, - RenderTextType render_text_type, - gfx::Canvas* canvas, - int x, - int y, - int max_width) const; - - // Creates a RenderText with given |text| and rendering defaults. - std::unique_ptr<gfx::RenderText> CreateRenderText( - const base::string16& text) const; - - // Creates a RenderText with default rendering for the given |text|. The - // |classifications| and |force_dim| are used to style the text. - std::unique_ptr<gfx::RenderText> CreateClassifiedRenderText( - const base::string16& text, - const ACMatchClassifications& classifications, - bool force_dim) const; - - const gfx::Rect& text_bounds() const { return text_bounds_; } - gfx::Image GetIcon() const; SkColor GetVectorIconColor() const; @@ -147,38 +105,12 @@ // the keyword match will hide even the icon of the regular match. bool ShowOnlyKeywordMatch() const; - // Initializes |contents_rendertext_| if it is NULL. - void InitContentsRenderTextIfNecessary() const; - - // Returns the font to use for the description section of answer suggestions. - const gfx::FontList& GetAnswerFont() const; - // Returns the height of the the description section of answer suggestions. int GetAnswerHeight() const; // Returns the margin that should appear at the top and bottom of the result. int GetVerticalMargin() const; - // Creates a RenderText with text and styling from the image line. - std::unique_ptr<gfx::RenderText> CreateAnswerText( - const SuggestionAnswer::ImageLine& line, - const gfx::FontList& font_list) const; - - // Adds |text| to |destination|. |text_type| is an index into the - // kTextStyles constant defined in the .cc file and is used to style the text, - // including setting the font size, color, and baseline style. See the - // TextStyle struct in the .cc file for more. - void AppendAnswerText(gfx::RenderText* destination, - const base::string16& text, - int text_type) const; - - // AppendAnswerText will break up the |text| into bold and non-bold pieces - // and pass each to this helper with the correct |is_bold| value. - void AppendAnswerTextHelper(gfx::RenderText* destination, - const base::string16& text, - int text_type, - bool is_bold) const; - // Sets the hovered state of this result. void SetHovered(bool hovered); @@ -198,20 +130,14 @@ // Whether this view is in the hovered state. bool is_hovered_; - // Font settings for this view. - const gfx::FontList font_list_; + // Cache the font height as a minor optimization. int font_height_; - // A context used for mirroring regions. - class MirroringContext; - std::unique_ptr<MirroringContext> mirroring_context_; - AutocompleteMatch match_; - gfx::Rect text_bounds_; + gfx::Rect answer_icon_bounds_; gfx::Rect icon_bounds_; - gfx::Rect keyword_text_bounds_; std::unique_ptr<views::ImageView> keyword_icon_; std::unique_ptr<OmniboxTabSwitchButton> tab_switch_button_; @@ -220,15 +146,12 @@ // If the answer has an icon, cache the image. gfx::ImageSkia answer_image_; - // We preserve these RenderTexts so that we won't recreate them on every call - // to OnPaint(). - mutable std::unique_ptr<gfx::RenderText> contents_rendertext_; - mutable std::unique_ptr<gfx::RenderText> description_rendertext_; - mutable std::unique_ptr<gfx::RenderText> separator_rendertext_; - mutable std::unique_ptr<gfx::RenderText> keyword_contents_rendertext_; - mutable std::unique_ptr<gfx::RenderText> keyword_description_rendertext_; - - mutable int separator_width_; + // Weak pointers for easy reference. + OmniboxTextView* content_view_; + OmniboxTextView* description_view_; + OmniboxTextView* keyword_content_view_; + OmniboxTextView* keyword_description_view_; + OmniboxTextView* separator_view_; DISALLOW_COPY_AND_ASSIGN(OmniboxResultView); };
diff --git a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc new file mode 100644 index 0000000..be49242e --- /dev/null +++ b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc
@@ -0,0 +1,314 @@ +// Copyright 2018 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 <limits.h> + +#include <algorithm> +#include <memory> + +#include "chrome/browser/ui/views/omnibox/omnibox_text_view.h" + +#include "base/macros.h" +#include "base/strings/string_util.h" +#include "base/strings/utf_string_conversions.h" +#include "ui/base/resource/resource_bundle.h" +#include "ui/gfx/canvas.h" +#include "ui/gfx/geometry/rect.h" +#include "ui/gfx/range/range.h" +#include "ui/gfx/render_text.h" +#include "ui/native_theme/native_theme.h" + +using ui::NativeTheme; + +namespace { + +struct TextStyle { + ui::ResourceBundle::FontStyle font; + ui::NativeTheme::ColorId + colors[OmniboxResultView::ResultViewState::NUM_STATES]; + gfx::BaselineStyle baseline; +}; + +// Returns the styles that should be applied to the specified answer text type. +// +// Note that the font value is only consulted for the first text type that +// appears on an answer line, because RenderText does not yet support multiple +// font sizes. Subsequent text types on the same line will share the text size +// of the first type, while the color and baseline styles specified here will +// always apply. The gfx::INFERIOR baseline style is used as a workaround to +// produce smaller text on the same line. The way this is used in the current +// set of answers is that the small types (TOP_ALIGNED, DESCRIPTION_NEGATIVE, +// DESCRIPTION_POSITIVE and SUGGESTION_SECONDARY_TEXT_SMALL) only ever appear +// following LargeFont text, so for consistency they specify LargeFont for the +// first value even though this is not actually used (since they're not the +// first value). +TextStyle GetTextStyle(int type) { + switch (type) { + case SuggestionAnswer::TOP_ALIGNED: + return {ui::ResourceBundle::LargeFont, + {NativeTheme::kColorId_ResultsTableNormalDimmedText, + NativeTheme::kColorId_ResultsTableHoveredDimmedText, + NativeTheme::kColorId_ResultsTableSelectedDimmedText}, + gfx::SUPERIOR}; + case SuggestionAnswer::DESCRIPTION_NEGATIVE: + return {ui::ResourceBundle::LargeFont, + {NativeTheme::kColorId_ResultsTableNegativeText, + NativeTheme::kColorId_ResultsTableNegativeHoveredText, + NativeTheme::kColorId_ResultsTableNegativeSelectedText}, + gfx::INFERIOR}; + case SuggestionAnswer::DESCRIPTION_POSITIVE: + return {ui::ResourceBundle::LargeFont, + {NativeTheme::kColorId_ResultsTablePositiveText, + NativeTheme::kColorId_ResultsTablePositiveHoveredText, + NativeTheme::kColorId_ResultsTablePositiveSelectedText}, + gfx::INFERIOR}; + case SuggestionAnswer::PERSONALIZED_SUGGESTION: + return {ui::ResourceBundle::BaseFont, + {NativeTheme::kColorId_ResultsTableNormalText, + NativeTheme::kColorId_ResultsTableHoveredText, + NativeTheme::kColorId_ResultsTableSelectedText}, + gfx::NORMAL_BASELINE}; + case SuggestionAnswer::ANSWER_TEXT_MEDIUM: + return {ui::ResourceBundle::BaseFont, + {NativeTheme::kColorId_ResultsTableNormalDimmedText, + NativeTheme::kColorId_ResultsTableHoveredDimmedText, + NativeTheme::kColorId_ResultsTableSelectedDimmedText}, + gfx::NORMAL_BASELINE}; + case SuggestionAnswer::ANSWER_TEXT_LARGE: + return {ui::ResourceBundle::LargeFont, + {NativeTheme::kColorId_ResultsTableNormalDimmedText, + NativeTheme::kColorId_ResultsTableHoveredDimmedText, + NativeTheme::kColorId_ResultsTableSelectedDimmedText}, + gfx::NORMAL_BASELINE}; + case SuggestionAnswer::SUGGESTION_SECONDARY_TEXT_SMALL: + return {ui::ResourceBundle::LargeFont, + {NativeTheme::kColorId_ResultsTableNormalDimmedText, + NativeTheme::kColorId_ResultsTableHoveredDimmedText, + NativeTheme::kColorId_ResultsTableSelectedDimmedText}, + gfx::INFERIOR}; + case SuggestionAnswer::SUGGESTION_SECONDARY_TEXT_MEDIUM: + return {ui::ResourceBundle::BaseFont, + {NativeTheme::kColorId_ResultsTableNormalDimmedText, + NativeTheme::kColorId_ResultsTableHoveredDimmedText, + NativeTheme::kColorId_ResultsTableSelectedDimmedText}, + gfx::NORMAL_BASELINE}; + case SuggestionAnswer::SUGGESTION: // Fall through. + default: + return {ui::ResourceBundle::BaseFont, + {NativeTheme::kColorId_ResultsTableNormalText, + NativeTheme::kColorId_ResultsTableHoveredText, + NativeTheme::kColorId_ResultsTableSelectedText}, + gfx::NORMAL_BASELINE}; + } +} + +} // namespace + +OmniboxTextView::OmniboxTextView(OmniboxResultView* result_view, + const gfx::FontList& font_list) + : result_view_(result_view), + font_list_(font_list), + font_height_(std::max( + font_list.GetHeight(), + font_list.DeriveWithWeight(gfx::Font::Weight::BOLD).GetHeight())) {} + +OmniboxTextView::~OmniboxTextView() {} + +gfx::Size OmniboxTextView::CalculatePreferredSize() const { + if (!render_text_) + return gfx::Size(); + return render_text_->GetStringSize(); +} + +const char* OmniboxTextView::GetClassName() const { + return "OmniboxTextView"; +} + +int OmniboxTextView::GetHeightForWidth(int width) const { + if (!render_text_) + return 0; + render_text_->SetDisplayRect(gfx::Rect(width, 0)); + gfx::Size string_size = render_text_->GetStringSize(); + return string_size.height(); +} + +std::unique_ptr<gfx::RenderText> OmniboxTextView::CreateRenderText( + const base::string16& text) const { + auto render_text = gfx::RenderText::CreateHarfBuzzInstance(); + render_text->SetDisplayRect(gfx::Rect(gfx::Size(INT_MAX, 0))); + render_text->SetCursorEnabled(false); + render_text->SetElideBehavior(gfx::ELIDE_TAIL); + render_text->SetFontList(font_list_); + render_text->SetText(text); + return render_text; +} + +std::unique_ptr<gfx::RenderText> OmniboxTextView::CreateClassifiedRenderText( + const base::string16& text, + const ACMatchClassifications& classifications) const { + std::unique_ptr<gfx::RenderText> render_text(CreateRenderText(text)); + const size_t text_length = render_text->text().length(); + for (size_t i = 0; i < classifications.size(); ++i) { + const size_t text_start = classifications[i].offset; + if (text_start >= text_length) + break; + + const size_t text_end = + (i < (classifications.size() - 1)) + ? std::min(classifications[i + 1].offset, text_length) + : text_length; + const gfx::Range current_range(text_start, text_end); + + // Calculate style-related data. + if (classifications[i].style & ACMatchClassification::MATCH) + render_text->ApplyWeight(gfx::Font::Weight::BOLD, current_range); + + OmniboxResultView::ColorKind color_kind = OmniboxResultView::TEXT; + if (classifications[i].style & ACMatchClassification::URL) { + color_kind = OmniboxResultView::URL; + render_text->SetDirectionalityMode(gfx::DIRECTIONALITY_AS_URL); + } else if (classifications[i].style & ACMatchClassification::DIM) { + color_kind = OmniboxResultView::DIMMED_TEXT; + } else if (classifications[i].style & ACMatchClassification::INVISIBLE) { + color_kind = OmniboxResultView::INVISIBLE_TEXT; + } + render_text->ApplyColor( + result_view_->GetColor(result_view_->GetState(), color_kind), + current_range); + } + return render_text; +} + +void OmniboxTextView::OnPaint(gfx::Canvas* canvas) { + View::OnPaint(canvas); + + render_text_->SetDisplayRect(GetContentsBounds()); + render_text_->Draw(canvas); +} + +void OmniboxTextView::Dim() { + render_text_->SetColor(result_view_->GetColor( + result_view_->GetState(), OmniboxResultView::DIMMED_TEXT)); +} + +void OmniboxTextView::SetText(const base::string16& text, + const ACMatchClassifications& classifications) { + render_text_.reset(); + render_text_ = CreateClassifiedRenderText(text, classifications); + SizeToPreferredSize(); +} + +void OmniboxTextView::SetText(const base::string16& text) { + render_text_.reset(); + render_text_ = CreateRenderText(text); + SizeToPreferredSize(); +} + +void OmniboxTextView::SetText(const SuggestionAnswer::ImageLine& line) { + // This assumes that the first text type in the line can be used to specify + // the font for all the text fields in the line. For now this works but + // eventually it may be necessary to get RenderText to support multiple font + // sizes or use multiple RenderTexts. + render_text_.reset(); + render_text_ = CreateText(line, GetFontForType(line.text_fields()[0].type())); + SizeToPreferredSize(); +} + +std::unique_ptr<gfx::RenderText> OmniboxTextView::CreateText( + const SuggestionAnswer::ImageLine& line, + const gfx::FontList& font_list) const { + std::unique_ptr<gfx::RenderText> destination = + CreateRenderText(base::string16()); + destination->SetFontList(font_list); + + for (const SuggestionAnswer::TextField& text_field : line.text_fields()) + AppendText(destination.get(), text_field.text(), text_field.type()); + if (!line.text_fields().empty()) { + constexpr int kMaxDisplayLines = 3; + const SuggestionAnswer::TextField& first_field = line.text_fields().front(); + if (first_field.has_num_lines() && first_field.num_lines() > 1 && + destination->MultilineSupported()) { + destination->SetMultiline(true); + destination->SetMaxLines( + std::min(kMaxDisplayLines, first_field.num_lines())); + } + } + const base::char16 space(' '); + const auto* text_field = line.additional_text(); + if (text_field) { + AppendText(destination.get(), space + text_field->text(), + text_field->type()); + } + text_field = line.status_text(); + if (text_field) { + AppendText(destination.get(), space + text_field->text(), + text_field->type()); + } + return destination; +} + +void OmniboxTextView::AppendText(gfx::RenderText* destination, + const base::string16& text, + int text_type) const { + // TODO(dschuyler): make this better. Right now this only supports unnested + // bold tags. In the future we'll need to flag unexpected tags while adding + // support for b, i, u, sub, and sup. We'll also need to support HTML + // entities (< for '<', etc.). + const base::string16 begin_tag = base::ASCIIToUTF16("<b>"); + const base::string16 end_tag = base::ASCIIToUTF16("</b>"); + size_t begin = 0; + while (true) { + size_t end = text.find(begin_tag, begin); + if (end == base::string16::npos) { + AppendTextHelper(destination, text.substr(begin), text_type, false); + break; + } + AppendTextHelper(destination, text.substr(begin, end - begin), text_type, + false); + begin = end + begin_tag.length(); + end = text.find(end_tag, begin); + if (end == base::string16::npos) + break; + AppendTextHelper(destination, text.substr(begin, end - begin), text_type, + true); + begin = end + end_tag.length(); + } +} + +void OmniboxTextView::AppendTextHelper(gfx::RenderText* destination, + const base::string16& text, + int text_type, + bool is_bold) const { + if (text.empty()) + return; + int offset = destination->text().length(); + gfx::Range range(offset, offset + text.length()); + destination->AppendText(text); + const TextStyle& text_style = GetTextStyle(text_type); + // TODO(dschuyler): follow up on the problem of different font sizes within + // one RenderText. Maybe with destination->SetFontList(...). + destination->ApplyWeight( + is_bold ? gfx::Font::Weight::BOLD : gfx::Font::Weight::NORMAL, range); + destination->ApplyColor(GetNativeTheme()->GetSystemColor( + text_style.colors[result_view_->GetState()]), + range); + destination->ApplyBaselineStyle(text_style.baseline, range); +} + +int OmniboxTextView::GetLineHeight() const { + return font_height_; +} + +const gfx::FontList& OmniboxTextView::GetFontForType(int text_type) const { + // When BaseFont is specified, reuse font_list_, which may have had size + // adjustments from BaseFont before it was provided to this class. Otherwise, + // get the standard font list for the specified style. + ui::ResourceBundle::FontStyle font_style = GetTextStyle(text_type).font; + const gfx::FontList& font_list = + (font_style == ui::ResourceBundle::BaseFont) + ? font_list_ + : ui::ResourceBundle::GetSharedInstance().GetFontList(font_style); + font_height_ = font_list.GetHeight(); + return font_list; +}
diff --git a/chrome/browser/ui/views/omnibox/omnibox_text_view.h b/chrome/browser/ui/views/omnibox/omnibox_text_view.h new file mode 100644 index 0000000..743c76c --- /dev/null +++ b/chrome/browser/ui/views/omnibox/omnibox_text_view.h
@@ -0,0 +1,98 @@ +// Copyright 2018 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 CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_TEXT_VIEW_H_ +#define CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_TEXT_VIEW_H_ + +#include <stddef.h> + +#include <memory> + +#include "base/macros.h" +#include "chrome/browser/ui/views/omnibox/omnibox_result_view.h" +#include "components/omnibox/browser/autocomplete_match.h" +#include "components/omnibox/browser/suggestion_answer.h" +#include "ui/gfx/font_list.h" +#include "ui/views/view.h" + +namespace gfx { +class Canvas; +class RenderText; +} // namespace gfx + +// A view containing a render text styled via search results. This differs from +// the general purpose views::Label class by having less general features (such +// as selection) and more specific features (such as suggestion answer styling). +class OmniboxTextView : public views::View { + public: + explicit OmniboxTextView(OmniboxResultView* result_view, + const gfx::FontList& font_list); + ~OmniboxTextView() override; + + // views::View. + gfx::Size CalculatePreferredSize() const override; + const char* GetClassName() const override; + int GetHeightForWidth(int width) const override; + void OnPaint(gfx::Canvas* canvas) override; + + // Dim the text (i.e. make it gray). This is used for secondary text (so that + // the non-dimmed text stands out more). + void Dim(); + + // Creates a RenderText with default rendering for the given |text|. The + // |classifications| are used to style the text. An ImageLine incorporates + // both the text and the styling. + void SetText(const base::string16& text, + const ACMatchClassifications& classifications); + void SetText(const SuggestionAnswer::ImageLine& line); + void SetText(const base::string16& text); + + // Get the height of one line of text. This is handy if the view might have + // multiple lines. + int GetLineHeight() const; + + private: + const gfx::FontList& GetFontForType(int text_type) const; + + std::unique_ptr<gfx::RenderText> CreateRenderText( + const base::string16& text) const; + + // Similar to CreateRenderText, but also apply styling (classifications). + std::unique_ptr<gfx::RenderText> CreateClassifiedRenderText( + const base::string16& text, + const ACMatchClassifications& classifications) const; + + // Creates a RenderText with text and styling from the image line. + std::unique_ptr<gfx::RenderText> CreateText( + const SuggestionAnswer::ImageLine& line, + const gfx::FontList& font_list) const; + + // Adds |text| to |destination|. |text_type| is an index into the + // kTextStyles constant defined in the .cc file and is used to style the text, + // including setting the font size, color, and baseline style. See the + // TextStyle struct in the .cc file for more. + void AppendText(gfx::RenderText* destination, + const base::string16& text, + int text_type) const; + + // AppendText will break up the |text| into bold and non-bold pieces + // and pass each to this helper with the correct |is_bold| value. + void AppendTextHelper(gfx::RenderText* destination, + const base::string16& text, + int text_type, + bool is_bold) const; + + // To get color values. + OmniboxResultView* result_view_; + + // Font settings for this view. + gfx::FontList font_list_; + mutable int font_height_; + + mutable std::unique_ptr<gfx::RenderText> render_text_; + + DISALLOW_COPY_AND_ASSIGN(OmniboxTextView); +}; + +#endif // CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_TEXT_VIEW_H_
diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc index 593e11ac..b162963 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
@@ -4,6 +4,9 @@ #include "chrome/browser/ui/views/overlay/overlay_window_views.h" +#include <memory> + +#include "base/memory/ptr_util.h" #include "chrome/grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/display/manager/display_manager.h"
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc index 5b4f1c7..5219ac2 100644 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -119,8 +119,8 @@ #include "chrome/browser/ui/webui/snippets_internals_ui.h" #include "chrome/browser/ui/webui/webapks_ui.h" #else -#include "chrome/browser/signin/easy_unlock_service.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" #include "chrome/browser/ui/webui/devtools_ui.h" #include "chrome/browser/ui/webui/inspect_ui.h" #include "chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.h" @@ -242,8 +242,9 @@ content::BrowserContext* browser_context = web_ui->GetWebContents()->GetBrowserContext(); return new proximity_auth::ProximityAuthUI( - web_ui, EasyUnlockServiceFactory::GetForBrowserContext(browser_context) - ->proximity_auth_client()); + web_ui, + chromeos::EasyUnlockServiceFactory::GetForBrowserContext(browser_context) + ->proximity_auth_client()); } #endif
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc index aebb3b11..9895fcdd 100644 --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -40,6 +40,7 @@ #include "chrome/browser/chromeos/ash_config.h" #include "chrome/browser/chromeos/language_preferences.h" #include "chrome/browser/chromeos/lock_screen_apps/state_controller.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" #include "chrome/browser/chromeos/login/hwid_checker.h" #include "chrome/browser/chromeos/login/lock/screen_locker.h" @@ -66,7 +67,6 @@ #include "chrome/browser/io_thread.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_metrics.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/browser/ui/ash/session_controller_client.h" #include "chrome/browser/ui/ash/tablet_mode_client.h" #include "chrome/browser/ui/webui/chromeos/internet_detail_dialog.h"
diff --git a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.cc b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.cc index d19dc51..dc6133e 100644 --- a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.cc +++ b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.cc
@@ -10,8 +10,8 @@ #include "base/command_line.h" #include "base/macros.h" #include "base/values.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/browser/signin/easy_unlock_service.h" #include "chrome/common/pref_names.h" #include "components/proximity_auth/switches.h" #include "content/public/browser/web_ui.h"
diff --git a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.h b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.h index 3fb3706..e4509d75 100644 --- a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.h +++ b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.h
@@ -6,7 +6,7 @@ #define CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_EASY_UNLOCK_SETTINGS_HANDLER_H_ #include "base/macros.h" -#include "chrome/browser/signin/easy_unlock_service_observer.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_observer.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" #include "components/prefs/pref_change_registrar.h"
diff --git a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler_unittest.cc b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler_unittest.cc index 8622672..3c53e11 100644 --- a/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler_unittest.cc +++ b/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler_unittest.cc
@@ -6,8 +6,8 @@ #include <memory> -#include "chrome/browser/signin/easy_unlock_service.h" -#include "chrome/browser/signin/easy_unlock_service_factory.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_service_factory.h" #include "chrome/test/base/testing_profile.h" #include "content/public/browser/web_ui_data_source.h" #include "content/public/test/test_browser_thread_bundle.h"
diff --git a/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.cc b/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.cc index 3bb32f8f3..ad2dc069 100644 --- a/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.cc +++ b/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.cc
@@ -5,12 +5,16 @@ #include "chrome/browser/ui/webui/settings/incompatible_applications_handler_win.h" #include <string> +#include <utility> +#include <vector> #include "base/bind.h" #include "base/logging.h" #include "base/strings/utf_string_conversions.h" #include "base/values.h" +#include "base/win/registry.h" #include "chrome/browser/conflicts/problematic_programs_updater_win.h" +#include "chrome/browser/conflicts/registry_key_watcher_win.h" #include "chrome/browser/conflicts/uninstall_application_win.h" #include "chrome/grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" @@ -49,16 +53,58 @@ base::Unretained(this))); } +void IncompatibleApplicationsHandler::OnJavascriptAllowed() {} + +void IncompatibleApplicationsHandler::OnJavascriptDisallowed() { + registry_key_watchers_.clear(); +} + void IncompatibleApplicationsHandler::HandleRequestIncompatibleApplicationsList( const base::ListValue* args) { CHECK_EQ(1u, args->GetList().size()); - CHECK(ProblematicProgramsUpdater::HasCachedPrograms()); AllowJavascript(); + // Reset the registry watchers, to correctly handle repeated calls to + // requestIncompatibleApplicationsList(). + registry_key_watchers_.clear(); + + std::vector<ProblematicProgramsUpdater::ProblematicProgram> + problematic_programs = ProblematicProgramsUpdater::GetCachedPrograms(); + + base::Value application_list(base::Value::Type::LIST); + application_list.GetList().reserve(problematic_programs.size()); + + for (const auto& program : problematic_programs) { + // Set up a registry watcher for each problem application. + // Since this instance owns the watcher, it is safe to use + // base::Unretained() because the callback won't be invoked when the watcher + // gets deleted. + auto registry_key_watcher = RegistryKeyWatcher::Create( + program.info.registry_root, program.info.registry_key_path.c_str(), + program.info.registry_wow64_access, + base::BindOnce(&IncompatibleApplicationsHandler::OnApplicationRemoved, + base::Unretained(this), program.info)); + + // Only keep the watcher if it was successfully initialized. A failure here + // is unlikely, but the worst that can happen is that the |program| will not + // get removed from the list automatically in the Incompatible Applications + // subpage. + if (registry_key_watcher) { + registry_key_watchers_.insert( + {program.info, std::move(registry_key_watcher)}); + } + + // Also the application to the list that is passed to the javascript. + base::Value dict(base::Value::Type::DICTIONARY); + dict.SetKey("name", base::Value(program.info.name)); + dict.SetKey("type", base::Value(program.blacklist_action->message_type())); + dict.SetKey("url", base::Value(program.blacklist_action->message_url())); + application_list.GetList().push_back(std::move(dict)); + } + const base::Value& callback_id = args->GetList().front(); - ResolveJavascriptCallback(callback_id, - ProblematicProgramsUpdater::GetCachedPrograms()); + ResolveJavascriptCallback(callback_id, application_list); } void IncompatibleApplicationsHandler::HandleStartProgramUninstallation( @@ -102,4 +148,11 @@ base::Value(l10n_util::GetPluralStringFUTF16(id, num_applications))); } +void IncompatibleApplicationsHandler::OnApplicationRemoved( + const InstalledPrograms::ProgramInfo& program) { + registry_key_watchers_.erase(program); + FireWebUIListener("incompatible-application-removed", + base::Value(program.name)); +} + } // namespace settings
diff --git a/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.h b/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.h index 0c4c27f..b7518f69a 100644 --- a/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.h +++ b/chrome/browser/ui/webui/settings/incompatible_applications_handler_win.h
@@ -5,9 +5,15 @@ #ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_INCOMPATIBLE_APPLICATIONS_HANDLER_WIN_H_ #define CHROME_BROWSER_UI_WEBUI_SETTINGS_INCOMPATIBLE_APPLICATIONS_HANDLER_WIN_H_ +#include <map> +#include <memory> + #include "base/macros.h" +#include "chrome/browser/conflicts/installed_programs_win.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" +class RegistryKeyWatcher; + namespace base { class ListValue; } @@ -22,8 +28,8 @@ // SettingsPageUIHandler: void RegisterMessages() override; - void OnJavascriptAllowed() override {} - void OnJavascriptDisallowed() override {} + void OnJavascriptAllowed() override; + void OnJavascriptDisallowed() override; private: // Sends the list of incompatible applications to the caller via a promise. @@ -37,6 +43,13 @@ void HandleGetListTitlePluralString(const base::ListValue* args); void GetPluralString(int id, const base::ListValue* args); + // Callback for the registry key watchers. + void OnApplicationRemoved(const InstalledPrograms::ProgramInfo& program); + + // Container for the watchers. + std::map<InstalledPrograms::ProgramInfo, std::unique_ptr<RegistryKeyWatcher>> + registry_key_watchers_; + DISALLOW_COPY_AND_ASSIGN(IncompatibleApplicationsHandler); };
diff --git a/chrome/browser/ui/webui/settings/md_settings_ui.cc b/chrome/browser/ui/webui/settings/md_settings_ui.cc index 10755aa3..868b46e7 100644 --- a/chrome/browser/ui/webui/settings/md_settings_ui.cc +++ b/chrome/browser/ui/webui/settings/md_settings_ui.cc
@@ -228,7 +228,6 @@ #endif // defined(OS_WIN) #if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD) - ProblematicProgramsUpdater::TrimCache(); bool has_incompatible_applications = ProblematicProgramsUpdater::HasCachedPrograms(); html_source->AddBoolean("showIncompatibleApplications",
diff --git a/chrome/browser/vr/model/color_scheme.cc b/chrome/browser/vr/model/color_scheme.cc index e36e296..57ddcae 100644 --- a/chrome/browser/vr/model/color_scheme.cc +++ b/chrome/browser/vr/model/color_scheme.cc
@@ -81,6 +81,7 @@ normal_scheme.back_button.foreground = normal_scheme.element_foreground; normal_scheme.back_button.foreground_disabled = 0x33333333; normal_scheme.url_bar_separator = 0xFF9E9E9E; + normal_scheme.url_bar_hint = 0xFF5A5A5A; normal_scheme.url_bar.deemphasized = 0xFF5A5A5A; normal_scheme.url_bar.emphasized = SK_ColorBLACK; normal_scheme.url_bar.default_icon = 0xFF535353; @@ -215,6 +216,7 @@ incognito_scheme.back_button.foreground = incognito_scheme.element_foreground; incognito_scheme.back_button.foreground_disabled = 0x33E6E6E6; incognito_scheme.url_bar_separator = 0x1FFFFFFF; + incognito_scheme.url_bar_hint = 0xCCFFFFFF; incognito_scheme.url_bar.deemphasized = 0xCCFFFFFF; incognito_scheme.url_bar.emphasized = SK_ColorWHITE; incognito_scheme.url_bar.default_icon = SK_ColorWHITE; @@ -238,10 +240,10 @@ incognito_scheme.omnibox_icon = 0xCCFFFFFF; incognito_scheme.omnibox_text = 0xCCFFFFFF; incognito_scheme.omnibox_hint = 0x80FFFFFF; - incognito_scheme.omnibox_text_selection = - normal_scheme.omnibox_text_selection; incognito_scheme.omnibox_text_selection.foreground = incognito_scheme.omnibox_text; + incognito_scheme.omnibox_text_selection.background = + incognito_scheme.omnibox_text_selection.cursor; incognito_scheme.suggestion_text = 0xCCFFFFFF; incognito_scheme.suggestion_dim_text = 0x88FFFFFF; incognito_scheme.suggestion_url_text = 0xFF5595FE; @@ -340,8 +342,9 @@ normal_scheme.button_colors.background = 0xCCEEEEEE; normal_scheme.button_colors.foreground_disabled = 0x33000000; normal_scheme.url_bar_separator = 0xFFD0D0D0; - normal_scheme.url_bar.emphasized = 0xFF333333; + normal_scheme.url_bar_hint = 0x61333333; normal_scheme.url_bar.deemphasized = 0x61333333; + normal_scheme.url_bar.emphasized = 0xFF333333; normal_scheme.back_button.background = normal_scheme.element_background; normal_scheme.back_button.background_down = @@ -372,6 +375,7 @@ incognito_scheme.element_background_hover = 0xCC404A50; incognito_scheme.element_background_down = 0xCC212B31; incognito_scheme.url_bar_separator = 0xFF445056; + incognito_scheme.url_bar_hint = 0x80FFFFFF; incognito_scheme.url_bar.deemphasized = 0x80FFFFFF; incognito_scheme.url_bar.emphasized = 0xCCFFFFFF; incognito_scheme.url_bar.separator = 0xFF445056;
diff --git a/chrome/browser/vr/model/color_scheme.h b/chrome/browser/vr/model/color_scheme.h index 12e54daa..ce17eb2 100644 --- a/chrome/browser/vr/model/color_scheme.h +++ b/chrome/browser/vr/model/color_scheme.h
@@ -98,6 +98,7 @@ ButtonColors back_button; SkColor url_bar_separator; + SkColor url_bar_hint; // These colors feed the URL origin texture. UrlBarColors url_bar;
diff --git a/chrome/browser/vr/ui_scene_creator.cc b/chrome/browser/vr/ui_scene_creator.cc index 4081d4e..6623271 100644 --- a/chrome/browser/vr/ui_scene_creator.cc +++ b/chrome/browser/vr/ui_scene_creator.cc
@@ -1752,7 +1752,7 @@ hint_text->SetAlignment(UiTexture::kTextAlignmentLeft); hint_text->SetText(l10n_util::GetStringUTF16(IDS_SEARCH_OR_TYPE_WEB_ADDRESS)); VR_BIND_VISIBILITY(hint_text, !model->toolbar_state.should_display_url); - VR_BIND_COLOR(model_, hint_text.get(), &ColorScheme::omnibox_hint, + VR_BIND_COLOR(model_, hint_text.get(), &ColorScheme::url_bar_hint, &Text::SetColor); EventHandlers event_handlers; event_handlers.button_up = url_click_callback;
diff --git a/chrome/common/extensions/api/automation.idl b/chrome/common/extensions/api/automation.idl index 4d28d46..97fd6e9c 100644 --- a/chrome/common/extensions/api/automation.idl +++ b/chrome/common/extensions/api/automation.idl
@@ -57,6 +57,7 @@ selectionAdd, selectionRemove, show, + stateChanged, textChanged, textSelectionChanged, treeChanged,
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 2b090b35..83e9ccd 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1508,11 +1508,12 @@ content::BrowserPluginDelegate* ChromeContentRendererClient::CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) { #if BUILDFLAG(ENABLE_EXTENSIONS) return ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( - render_frame, mime_type, original_url); + render_frame, info, mime_type, original_url); #else return nullptr; #endif
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h index 92967a4..f228c1cf 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -193,6 +193,7 @@ bool IsPluginAllowedToUseCompositorAPI(const GURL& url) override; content::BrowserPluginDelegate* CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) override; void RecordRappor(const std::string& metric,
diff --git a/chrome/renderer/extensions/automation_ax_tree_wrapper.cc b/chrome/renderer/extensions/automation_ax_tree_wrapper.cc index 18df6b1b..9fc7eba 100644 --- a/chrome/renderer/extensions/automation_ax_tree_wrapper.cc +++ b/chrome/renderer/extensions/automation_ax_tree_wrapper.cc
@@ -103,6 +103,8 @@ return api::automation::EVENT_TYPE_SELECTIONREMOVE; case ax::mojom::Event::kShow: return api::automation::EVENT_TYPE_SHOW; + case ax::mojom::Event::kStateChanged: + return api::automation::EVENT_TYPE_NONE; case ax::mojom::Event::kTextChanged: return api::automation::EVENT_TYPE_TEXTCHANGED; case ax::mojom::Event::kTextSelectionChanged: @@ -306,6 +308,7 @@ case api::automation::EVENT_TYPE_SELECTIONADD: case api::automation::EVENT_TYPE_SELECTIONREMOVE: case api::automation::EVENT_TYPE_SHOW: + case api::automation::EVENT_TYPE_STATECHANGED: case api::automation::EVENT_TYPE_TREECHANGED: return false;
diff --git a/chrome/renderer/extensions/chrome_extensions_renderer_client.cc b/chrome/renderer/extensions/chrome_extensions_renderer_client.cc index 2aabe001..de3ba48 100644 --- a/chrome/renderer/extensions/chrome_extensions_renderer_client.cc +++ b/chrome/renderer/extensions/chrome_extensions_renderer_client.cc
@@ -299,11 +299,12 @@ content::BrowserPluginDelegate* ChromeExtensionsRendererClient::CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) { if (mime_type == content::kBrowserPluginMimeType) return new extensions::ExtensionsGuestViewContainer(render_frame); - return new extensions::MimeHandlerViewContainer(render_frame, mime_type, + return new extensions::MimeHandlerViewContainer(render_frame, info, mime_type, original_url); }
diff --git a/chrome/renderer/extensions/chrome_extensions_renderer_client.h b/chrome/renderer/extensions/chrome_extensions_renderer_client.h index f6944a6..66ce674 100644 --- a/chrome/renderer/extensions/chrome_extensions_renderer_client.h +++ b/chrome/renderer/extensions/chrome_extensions_renderer_client.h
@@ -25,6 +25,7 @@ namespace content { class BrowserPluginDelegate; class RenderFrame; +struct WebPluginInfo; } namespace extensions { @@ -73,6 +74,7 @@ bool* send_referrer); static content::BrowserPluginDelegate* CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url); static blink::WebFrame* FindFrame(blink::WebLocalFrame* relative_to_frame,
diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/renderer/url_loader_throttle_provider_impl.cc index d304219..e151989 100644 --- a/chrome/renderer/url_loader_throttle_provider_impl.cc +++ b/chrome/renderer/url_loader_throttle_provider_impl.cc
@@ -24,6 +24,10 @@ #include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/interface_provider.h" +#if BUILDFLAG(ENABLE_EXTENSIONS) +#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h" +#endif + namespace { chrome::mojom::PrerenderCanceler* GetPrerenderCanceller(int render_frame_id) { @@ -119,5 +123,24 @@ } } +#if BUILDFLAG(ENABLE_EXTENSIONS) + if (network_service_enabled && + type_ == content::URLLoaderThrottleProviderType::kFrame && + resource_type == content::RESOURCE_TYPE_OBJECT) { + content::RenderFrame* render_frame = + content::RenderFrame::FromRoutingID(render_frame_id); + auto mime_handlers = + extensions::MimeHandlerViewContainer::FromRenderFrame(render_frame); + GURL gurl(url); + for (auto* handler : mime_handlers) { + auto throttle = handler->MaybeCreatePluginThrottle(gurl); + if (throttle) { + throttles.push_back(std::move(throttle)); + break; + } + } + } +#endif + return throttles; }
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 2bd89fe..7a00155 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -930,7 +930,7 @@ "//components/strings", "//components/sync", "//components/translate/core/common", - "//content/public/common:features", + "//content/public/common:buildflags", "//content/test:test_support", "//crypto:platform", "//crypto:test_support", @@ -3036,12 +3036,12 @@ "../browser/media/router/discovery/dial/device_description_fetcher_unittest.cc", "../browser/media/router/discovery/dial/device_description_service_unittest.cc", "../browser/media/router/discovery/dial/dial_app_discovery_service_unittest.cc", - "../browser/media/router/discovery/dial/dial_app_info_fetcher_unittest.cc", "../browser/media/router/discovery/dial/dial_device_data_unittest.cc", "../browser/media/router/discovery/dial/dial_media_sink_service_impl_unittest.cc", "../browser/media/router/discovery/dial/dial_media_sink_service_unittest.cc", "../browser/media/router/discovery/dial/dial_registry_unittest.cc", "../browser/media/router/discovery/dial/dial_service_unittest.cc", + "../browser/media/router/discovery/dial/dial_url_fetcher_unittest.cc", "../browser/media/router/discovery/dial/safe_dial_app_info_parser_unittest.cc", "../browser/media/router/discovery/dial/safe_dial_device_description_parser_unittest.cc", "../browser/media/router/discovery/mdns/cast_media_sink_service_impl_unittest.cc", @@ -3539,13 +3539,13 @@ } if (is_chromeos) { sources += [ + "../browser/chromeos/login/easy_unlock/easy_unlock_app_manager_unittest.cc", + "../browser/chromeos/login/easy_unlock/easy_unlock_auth_attempt_unittest.cc", + "../browser/chromeos/login/easy_unlock/easy_unlock_notification_controller_chromeos_unittest.cc", + "../browser/chromeos/login/easy_unlock/easy_unlock_screenlock_state_handler_unittest.cc", + "../browser/chromeos/login/easy_unlock/easy_unlock_service_unittest_chromeos.cc", "../browser/extensions/api/easy_unlock_private/easy_unlock_private_api_chromeos_unittest.cc", "../browser/extensions/api/file_system/consent_provider_unittest.cc", - "../browser/signin/easy_unlock_app_manager_unittest.cc", - "../browser/signin/easy_unlock_auth_attempt_unittest.cc", - "../browser/signin/easy_unlock_notification_controller_chromeos_unittest.cc", - "../browser/signin/easy_unlock_screenlock_state_handler_unittest.cc", - "../browser/signin/easy_unlock_service_unittest_chromeos.cc", ] } else { sources += [ @@ -4122,6 +4122,7 @@ "../browser/conflicts/installed_programs_win_unittest.cc", "../browser/conflicts/module_list_filter_win_unittest.cc", "../browser/conflicts/problematic_programs_updater_win_unittest.cc", + "../browser/conflicts/registry_key_watcher_win_unittest.cc", "../browser/google/google_update_win_unittest.cc", ] }
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.cc b/chrome/test/chromedriver/chrome/web_view_impl.cc index 0b1212e..c64f0f0 100644 --- a/chrome/test/chromedriver/chrome/web_view_impl.cc +++ b/chrome/test/chromedriver/chrome/web_view_impl.cc
@@ -374,7 +374,8 @@ Status WebViewImpl::DispatchMouseEvents(const std::list<MouseEvent>& events, const std::string& frame) { WebView* target = GetTargetForFrame(this, frame); - if (target != nullptr && target != this) + bool needs_special_oopif_handling = browser_info_->major_version <= 65; + if (needs_special_oopif_handling && target != nullptr && target != this) return target->DispatchMouseEvents(events, frame); double page_scale_factor = 1.0;
diff --git a/chrome/test/chromedriver/element_util.cc b/chrome/test/chromedriver/element_util.cc index 5425622c..c612029 100644 --- a/chrome/test/chromedriver/element_util.cc +++ b/chrome/test/chromedriver/element_util.cc
@@ -630,12 +630,15 @@ " return document.evaluate(xpath, document, null," " XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;" "}"; + bool needs_special_oopif_handling = + !session->chrome->GetBrowserInfo()->is_android && + session->chrome->GetBrowserInfo()->major_version <= 65; bool has_saved_region_offset = false; WebPoint saved_region_offset; for (std::list<FrameInfo>::reverse_iterator rit = session->frames.rbegin(); rit != session->frames.rend(); ++rit) { - if (!session->chrome->GetBrowserInfo()->is_android && - !has_saved_region_offset && web_view->IsOOPIF(rit->frame_id)) { + if (needs_special_oopif_handling && !has_saved_region_offset && + web_view->IsOOPIF(rit->frame_id)) { saved_region_offset = region_offset; has_saved_region_offset = true; }
diff --git a/chrome/test/chromedriver/test/test_expectations b/chrome/test/chromedriver/test/test_expectations index ba3e931..6f1c719 100644 --- a/chrome/test/chromedriver/test/test_expectations +++ b/chrome/test/chromedriver/test/test_expectations
@@ -290,7 +290,9 @@ 'CorrectEventFiringTest.testShouldEmitClickEventWhenClickingOnATextInputElement', 'CorrectEventFiringTest.testSendingKeysToAnElementShouldCauseTheFocusEventToFire', 'ElementAttributeTest.testShouldReturnAnAbsoluteUrlWhenGettingHrefAttributeOfAValidAnchorTag', + 'ElementAttributeTest.testCanRetrieveTheCurrentValueOfATextFormField_emailInput', 'ElementAttributeTest.testShouldReturnTrueForPresentBooleanAttributes', + 'ElementAttributeTest.testShouldReturnValueOfOnClickAttribute', 'JavascriptEnabledDriverTest.testShouldBeAbleToFindElementAfterJavascriptCausesANewPageToLoad', 'JavascriptEnabledDriverTest.testShouldBeAbleToSwitchToFocusedElement', 'JavascriptEnabledDriverTest.testShouldBeAbleToDetermineTheLocationOfAnElement', @@ -303,7 +305,6 @@ 'MiscTest.testClickingShouldNotTrampleWOrHInGlobalScope', 'MiscTest.testShouldReportTheCurrentUrlCorrectly', 'MiscTest.testStimulatesStrangeOnloadInteractionInFirefox', - 'ElementAttributeTest.testCanRetrieveTheCurrentValueOfATextFormField_emailInput', ] ) _OS_NEGATIVE_FILTER['android:chrome_beta'] = (
diff --git a/chrome/test/data/extensions/api_test/debugger/background.js b/chrome/test/data/extensions/api_test/debugger/background.js index 1f62b41f..6855dae6 100644 --- a/chrome/test/data/extensions/api_test/debugger/background.js +++ b/chrome/test/data/extensions/api_test/debugger/background.js
@@ -14,6 +14,7 @@ var SILENT_FLAG_REQUIRED = "Cannot attach to this target unless " + "'silent-debugger-extension-api' flag is enabled."; +var DETACHED_WHILE_HANDLING = "Detached while handling command."; chrome.test.runTests([ @@ -117,6 +118,57 @@ }); }, + function navigateToWebUI() { + chrome.tabs.create({url:"inspected.html"}, function(tab) { + var debuggee = {tabId: tab.id}; + chrome.debugger.attach(debuggee, protocolVersion, function() { + var responded = false; + + function onResponse() { + chrome.test.assertLastError(DETACHED_WHILE_HANDLING); + responded = true; + } + + function onDetach(from, reason) { + chrome.debugger.onDetach.removeListener(onDetach); + chrome.test.assertTrue(responded); + chrome.test.assertEq(debuggee.tabId, from.tabId); + chrome.test.assertEq("target_closed", reason); + chrome.test.succeed(); + } + + chrome.test.assertNoLastError(); + chrome.debugger.onDetach.addListener(onDetach); + chrome.debugger.sendCommand( + debuggee, "Page.navigate", {url: "chrome://version"}, onResponse); + }); + }); + }, + + function detachDuringCommand() { + chrome.tabs.create({url:"inspected.html"}, function(tab) { + var debuggee = {tabId: tab.id}; + chrome.debugger.attach(debuggee, protocolVersion, function() { + var responded = false; + + function onResponse() { + chrome.test.assertLastError(DETACHED_WHILE_HANDLING); + responded = true; + } + + function onDetach() { + chrome.debugger.onDetach.removeListener(onDetach); + chrome.test.assertTrue(responded); + chrome.test.succeed(); + } + + chrome.test.assertNoLastError(); + chrome.debugger.sendCommand(debuggee, "command", null, onResponse); + chrome.debugger.detach(debuggee, onDetach); + }); + }); + }, + function attachToMissing() { var missingDebuggee = {tabId: -1}; chrome.debugger.attach(missingDebuggee, protocolVersion,
diff --git a/chrome/test/data/extensions/api_test/debugger_extension/background.js b/chrome/test/data/extensions/api_test/debugger_extension/background.js index eddff72..318d6dae 100644 --- a/chrome/test/data/extensions/api_test/debugger_extension/background.js +++ b/chrome/test/data/extensions/api_test/debugger_extension/background.js
@@ -10,6 +10,15 @@ chrome.test.runTests([ + function attachToWebUI() { + chrome.tabs.create({url:"chrome://version"}, function(tab) { + var debuggee = {tabId: tab.id}; + chrome.debugger.attach(debuggee, protocolVersion, + fail("Cannot attach to this target.")); + chrome.tabs.remove(tab.id); + }); + }, + function attach() { var extensionId = chrome.extension.getURL('').split('/')[2]; debuggee = {extensionId: extensionId};
diff --git a/chrome/test/data/webui/print_preview/cloud_print_interface_stub.js b/chrome/test/data/webui/print_preview/cloud_print_interface_stub.js new file mode 100644 index 0000000..1e8e0ec --- /dev/null +++ b/chrome/test/data/webui/print_preview/cloud_print_interface_stub.js
@@ -0,0 +1,70 @@ +// Copyright 2018 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. + +cr.define('print_preview', function() { + /** + * Test version of the cloud print interface. + */ + class CloudPrintInterfaceStub extends cr.EventTarget { + constructor() { + super(); + + /** @private {!Map<string, !print_preview.Destination>} */ + this.cloudPrintersMap_ = new Map(); + } + + /** + * @param {string} id The ID of the printer. + * @param {!print_preview.Destination} printer The destination to return + * when the printer is requested. + */ + setPrinter(id, printer) { + this.cloudPrintersMap_.set(id, printer); + } + + /** + * Dispatches a CloudPrintInterfaceEventType.SEARCH_DONE event with the + * printers that have been set so far using setPrinter(). + */ + search() { + const searchDoneEvent = new Event( + cloudprint.CloudPrintInterfaceEventType.SEARCH_DONE); + searchDoneEvent.origin = print_preview.DestinationOrigin.COOKIES; + searchDoneEvent.printers = []; + this.cloudPrintersMap_.forEach((value) => { + searchDoneEvent.printers.push(value); + }); + searchDoneEvent.isRecent = true; + searchDoneEvent.user = 'foo@chromium.org'; + searchDoneEvent.searchDone = true; + this.dispatchEvent(searchDoneEvent); + } + + /** @param {string} account Account the request is sent for. */ + invites(account) {} + + /** + * Dispatches a CloudPrintInterfaceEventType.PRINTER_DONE event with the + * printer details if the printer has been added by calling setPrinter(). + * @param {string} printerId ID of the printer to lookup. + * @param {!print_preview.DestinationOrigin} origin Origin of the printer. + * @param {string=} account Account this printer is registered for. + */ + printer(printerId, origin, account) { + const printer = this.cloudPrintersMap_.get(printerId); + if (!!printer) { + const printerDoneEvent = + new Event(cloudprint.CloudPrintInterfaceEventType.PRINTER_DONE); + printerDoneEvent.printer = printer; + printerDoneEvent.printer.capabilities = + print_preview_test_utils.getCddTemplate(printerId); + this.dispatchEvent(printerDoneEvent); + } + } + } + + return { + CloudPrintInterfaceStub: CloudPrintInterfaceStub, + }; +});
diff --git a/chrome/test/data/webui/print_preview/print_preview_tests.js b/chrome/test/data/webui/print_preview/print_preview_tests.js index d4f8c29..47399f986 100644 --- a/chrome/test/data/webui/print_preview/print_preview_tests.js +++ b/chrome/test/data/webui/print_preview/print_preview_tests.js
@@ -332,17 +332,7 @@ suite(suiteName, function() { suiteSetup(function() { - function CloudPrintInterfaceStub() { - cr.EventTarget.call(this); - } - CloudPrintInterfaceStub.prototype = { - __proto__: cr.EventTarget.prototype, - search: function(isRecent) {} - }; - const oldCpInterfaceEventType = cloudprint.CloudPrintInterfaceEventType; - cloudprint.CloudPrintInterface = CloudPrintInterfaceStub; - cloudprint.CloudPrintInterfaceEventType = oldCpInterfaceEventType; - + cloudprint.CloudPrintInterface = print_preview.CloudPrintInterfaceStub; print_preview.PreviewArea.prototype.checkPluginCompatibility_ = function() { return true; @@ -413,13 +403,6 @@ test('PrinterListCloudEmpty', function() { return setupSettingsAndDestinationsWithCapabilities().then(function() { cr.webUIListenerCallback('use-cloud-print', 'cloudprint url', false); - const searchDoneEvent = - new Event(cloudprint.CloudPrintInterfaceEventType.SEARCH_DONE); - searchDoneEvent.printers = []; - searchDoneEvent.isRecent = true; - searchDoneEvent.email = 'foo@chromium.org'; - printPreview.cloudPrintInterface_.dispatchEvent(searchDoneEvent); - const recentList = $('destination-search').querySelector('.recent-list ul'); const printList = @@ -1473,6 +1456,104 @@ }); }); + // Test that GCP invalid certificate printers disable the print preview when + // selected and display an error and that the preview dialog can be + // recovered by selecting a new destination. + test('InvalidCertificateError', function() { + const fooPrinter = new print_preview.Destination( + 'FooDevice', + print_preview.DestinationType.GOOGLE, + print_preview.DestinationOrigin.COOKIES, + 'FooName', + true /* isRecent */, + print_preview.DestinationConnectionStatus.ONLINE, + { + certificateStatus: print_preview.DestinationCertificateStatus.NO, + } + ); + const barPrinter = new print_preview.Destination( + 'BarDevice', + print_preview.DestinationType.GOOGLE, + print_preview.DestinationOrigin.COOKIES, + 'BarName', + true /* isRecent */, + print_preview.DestinationConnectionStatus.ONLINE, + { + certificateStatus: + print_preview.DestinationCertificateStatus.UNKNOWN, + } + ); + initialSettings.printerName = ''; + initialSettings.serializedAppStateStr = JSON.stringify({ + version: 2, + recentDestinations: [ + print_preview.makeRecentDestination(fooPrinter), + print_preview.makeRecentDestination(barPrinter), + ], + }); + + nativeLayer.setInitialSettings(initialSettings); + localDestinationInfos = []; + nativeLayer.setLocalDestinations(localDestinationInfos); + printPreview.userInfo_.setUsers( + 'foo@chromium.org', ['foo@chromium.org']); + printPreview.initialize(); + cr.webUIListenerCallback('use-cloud-print', 'cloudprint url', false); + printPreview.cloudPrintInterface_.setPrinter('FooDevice', fooPrinter); + printPreview.cloudPrintInterface_.setPrinter('BarDevice', barPrinter); + + // Get references to a few elements for testing. + const printButton = $('print-header').querySelector('button.print'); + const previewAreaEl = $('preview-area'); + const overlayEl = previewAreaEl.getElementsByClassName( + 'preview-area-overlay-layer')[0]; + const cloudPrintMessageEl = + previewAreaEl. + getElementsByClassName('preview-area-unsupported-cloud-printer')[0]; + + return nativeLayer.whenCalled('getInitialSettings').then(function() { + printPreview.destinationStore_.startLoadCloudDestinations(); + + // FooDevice will be selected since it is the most recently used + // printer, so the invalid certificate error should be shown. + // The overlay must be visible for the message to be seen. + expectFalse(overlayEl.classList.contains('invisible')); + + // Verify that the correct message is shown. + expectFalse(cloudPrintMessageEl.hidden); + const expectedMessageStart = 'The selected Google Cloud Print device ' + + 'is no longer supported. Try setting up the printer in your ' + + 'computer\'s system settings.'; + expectTrue(cloudPrintMessageEl.textContent.includes( + expectedMessageStart)); + + // Verify that the print button is disabled + checkElementDisplayed(printButton, true); + expectTrue(printButton.disabled); + + // Reset + nativeLayer.reset(); + + // Select a new, valid cloud destination. + printPreview.destinationStore_.selectDestination(barPrinter); + return nativeLayer.whenCalled('getPreview'); + }).then(function() { + // Pretend that the plugin has loaded. + printPreview.previewArea_.onPluginLoad_(); + // Has active print button, indicating recovery from error state. + expectFalse(printButton.disabled); + + // Note: because in the test it is generally true that the preview + // request is resolved before the 200ms timeout to show the loading + // message expires, the message element may not be hidden. It will be + // hidden the next time a different message, e.g. 'Loading...', is shown + // in the overlay. However, if this is the case, the overlay should not + // be visible, so that the message is no longer visible to the user. + expectTrue(cloudPrintMessageEl.hidden || + overlayEl.classList.contains('invisible')); + }); + }); + // Test the preview generator to make sure the generate draft parameter is // set correctly. It should be false if the only change is the page range. test('GenerateDraft', function() {
diff --git a/chrome/test/data/webui/print_preview/print_preview_ui_browsertest.js b/chrome/test/data/webui/print_preview/print_preview_ui_browsertest.js index 1cc2103..2b5ad8c 100644 --- a/chrome/test/data/webui/print_preview/print_preview_ui_browsertest.js +++ b/chrome/test/data/webui/print_preview/print_preview_ui_browsertest.js
@@ -51,6 +51,7 @@ extraLibraries: [ ROOT_PATH + 'ui/webui/resources/js/cr.js', + ROOT_PATH + 'ui/webui/resources/js/cr/event_target.js', ROOT_PATH + 'ui/webui/resources/js/promise_resolver.js', ROOT_PATH + 'third_party/mocha/mocha.js', ROOT_PATH + 'chrome/test/data/webui/mocha_adapter.js', @@ -58,6 +59,7 @@ ROOT_PATH + 'chrome/test/data/webui/test_browser_proxy.js', 'print_preview_tests.js', 'native_layer_stub.js', + 'cloud_print_interface_stub.js', 'plugin_stub.js', 'print_preview_test_utils.js', ], @@ -120,6 +122,12 @@ }); }); +TEST_F('PrintPreviewUIBrowserTest', 'InvalidCertificateError', function() { + loadTimeData.overrideValues({isEnterpriseManaged: false}); + this.accessibilityIssuesAreErrors = false; + runMochaTest(print_preview_test.suiteName, 'InvalidCertificateError'); +}); + GEN('#if !defined(OS_CHROMEOS)'); TEST_F('PrintPreviewUIBrowserTest', 'SystemDefaultPrinterPolicy', function() { loadTimeData.overrideValues({useSystemDefaultPrinter: true});
diff --git a/chrome/test/data/webui/settings/incompatible_applications_page_test.js b/chrome/test/data/webui/settings/incompatible_applications_page_test.js index 25bb1d1..14b3c24 100644 --- a/chrome/test/data/webui/settings/incompatible_applications_page_test.js +++ b/chrome/test/data/webui/settings/incompatible_applications_page_test.js
@@ -226,4 +226,32 @@ }); }); }); + + test('removeSingleApplication', function() { + const incompatibleApplicationsTestList = [ + incompatibleApplication1, + ]; + + incompatibleApplicationsBrowserProxy.setIncompatibleApplications( + incompatibleApplicationsTestList); + + return initPage(true /* hasAdminRights */).then(function() { + validateList(incompatibleApplicationsTestList); + + + const isDoneSection = incompatibleApplicationsPage.$$('#is-done-section'); + assertTrue(isDoneSection.hidden); + + // Send the event. + cr.webUIListenerCallback( + 'incompatible-application-removed', incompatibleApplication1.name); + Polymer.dom.flush(); + + // Make sure the list is now empty. + validateList([]); + + // The "Done!" text is visible. + assertFalse(isDoneSection.hidden); + }); + }); });
diff --git a/chrome_elf/hook_util/hook_util.h b/chrome_elf/hook_util/hook_util.h index 91850451..406ddec 100644 --- a/chrome_elf/hook_util/hook_util.h +++ b/chrome_elf/hook_util/hook_util.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_ELF_HOOK_UTIL_THUNK_GETTER_H_ -#define CHROME_ELF_HOOK_UTIL_THUNK_GETTER_H_ +#ifndef CHROME_ELF_HOOK_UTIL_HOOK_UTIL_H_ +#define CHROME_ELF_HOOK_UTIL_HOOK_UTIL_H_ #include <windows.h> @@ -63,4 +63,4 @@ } // namespace elf_hook -#endif // CHROME_ELF_HOOK_UTIL_THUNK_GETTER_H_ +#endif // CHROME_ELF_HOOK_UTIL_HOOK_UTIL_H_
diff --git a/chromecast/renderer/cast_content_renderer_client.cc b/chromecast/renderer/cast_content_renderer_client.cc index 96c0e17..eac46a9 100644 --- a/chromecast/renderer/cast_content_renderer_client.cc +++ b/chromecast/renderer/cast_content_renderer_client.cc
@@ -174,6 +174,7 @@ content::BrowserPluginDelegate* CastContentRendererClient::CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) { #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
diff --git a/chromecast/renderer/cast_content_renderer_client.h b/chromecast/renderer/cast_content_renderer_client.h index 122977c..df02db98 100644 --- a/chromecast/renderer/cast_content_renderer_client.h +++ b/chromecast/renderer/cast_content_renderer_client.h
@@ -55,6 +55,7 @@ void RenderFrameCreated(content::RenderFrame* render_frame) override; content::BrowserPluginDelegate* CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) override; void RunScriptsAtDocumentStart(content::RenderFrame* render_frame) override;
diff --git a/chromeos/components/tether/active_host_unittest.cc b/chromeos/components/tether/active_host_unittest.cc index 2dcb235..0a083959 100644 --- a/chromeos/components/tether/active_host_unittest.cc +++ b/chromeos/components/tether/active_host_unittest.cc
@@ -9,6 +9,7 @@ #include "base/bind.h" #include "base/logging.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/fake_tether_host_fetcher.h" #include "components/cryptauth/remote_device.h" #include "components/cryptauth/remote_device_test_util.h"
diff --git a/chromeos/components/tether/ad_hoc_ble_advertiser_impl_unittest.cc b/chromeos/components/tether/ad_hoc_ble_advertiser_impl_unittest.cc index 09741a9..c717232 100644 --- a/chromeos/components/tether/ad_hoc_ble_advertiser_impl_unittest.cc +++ b/chromeos/components/tether/ad_hoc_ble_advertiser_impl_unittest.cc
@@ -6,6 +6,7 @@ #include "base/bind.h" #include "base/callback_forward.h" +#include "base/memory/ptr_util.h" #include "base/stl_util.h" #include "base/test/scoped_task_environment.h" #include "base/test/test_simple_task_runner.h"
diff --git a/chromeos/components/tether/asynchronous_shutdown_object_container_impl.cc b/chromeos/components/tether/asynchronous_shutdown_object_container_impl.cc index 591c5bd9..38bd02e 100644 --- a/chromeos/components/tether/asynchronous_shutdown_object_container_impl.cc +++ b/chromeos/components/tether/asynchronous_shutdown_object_container_impl.cc
@@ -4,6 +4,7 @@ #include "chromeos/components/tether/asynchronous_shutdown_object_container_impl.h" +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/ad_hoc_ble_advertiser_impl.h" #include "chromeos/components/tether/ble_advertisement_device_queue.h" #include "chromeos/components/tether/ble_advertiser_impl.h"
diff --git a/chromeos/components/tether/ble_advertiser_impl.cc b/chromeos/components/tether/ble_advertiser_impl.cc index 4e2dfdf..0c16c4a 100644 --- a/chromeos/components/tether/ble_advertiser_impl.cc +++ b/chromeos/components/tether/ble_advertiser_impl.cc
@@ -5,6 +5,7 @@ #include "chromeos/components/tether/ble_advertiser_impl.h" #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "base/threading/thread_task_runner_handle.h" #include "chromeos/components/tether/error_tolerant_ble_advertisement_impl.h" #include "components/cryptauth/ble/ble_advertisement_generator.h"
diff --git a/chromeos/components/tether/ble_connection_manager.cc b/chromeos/components/tether/ble_connection_manager.cc index 925d00b..bd5572b7 100644 --- a/chromeos/components/tether/ble_connection_manager.cc +++ b/chromeos/components/tether/ble_connection_manager.cc
@@ -4,6 +4,7 @@ #include "chromeos/components/tether/ble_connection_manager.h" +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/ad_hoc_ble_advertiser.h"
diff --git a/chromeos/components/tether/ble_connection_manager_unittest.cc b/chromeos/components/tether/ble_connection_manager_unittest.cc index 45808b1..c3ca16b 100644 --- a/chromeos/components/tether/ble_connection_manager_unittest.cc +++ b/chromeos/components/tether/ble_connection_manager_unittest.cc
@@ -4,6 +4,7 @@ #include "chromeos/components/tether/ble_connection_manager.h" +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h" #include "base/timer/mock_timer.h"
diff --git a/chromeos/components/tether/ble_scanner_impl.cc b/chromeos/components/tether/ble_scanner_impl.cc index 40e9763..de303b0 100644 --- a/chromeos/components/tether/ble_scanner_impl.cc +++ b/chromeos/components/tether/ble_scanner_impl.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "base/strings/string_util.h" #include "base/threading/thread_task_runner_handle.h" #include "chromeos/components/tether/ble_constants.h"
diff --git a/chromeos/components/tether/connect_tethering_operation.cc b/chromeos/components/tether/connect_tethering_operation.cc index 5f3f686a..f0801af8 100644 --- a/chromeos/components/tether/connect_tethering_operation.cc +++ b/chromeos/components/tether/connect_tethering_operation.cc
@@ -4,6 +4,7 @@ #include "chromeos/components/tether/connect_tethering_operation.h" +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/message_wrapper.h"
diff --git a/chromeos/components/tether/connect_tethering_operation_unittest.cc b/chromeos/components/tether/connect_tethering_operation_unittest.cc index b5342fb8..948bbb9 100644 --- a/chromeos/components/tether/connect_tethering_operation_unittest.cc +++ b/chromeos/components/tether/connect_tethering_operation_unittest.cc
@@ -8,6 +8,7 @@ #include <vector> #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h" #include "chromeos/components/tether/ble_constants.h"
diff --git a/chromeos/components/tether/connection_preserver_impl_unittest.cc b/chromeos/components/tether/connection_preserver_impl_unittest.cc index 01d5cbe..b2ac85b 100644 --- a/chromeos/components/tether/connection_preserver_impl_unittest.cc +++ b/chromeos/components/tether/connection_preserver_impl_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/base64.h" +#include "base/memory/ptr_util.h" #include "base/test/scoped_task_environment.h" #include "base/timer/mock_timer.h" #include "chromeos/components/tether/connection_reason.h"
diff --git a/chromeos/components/tether/disconnect_tethering_operation.cc b/chromeos/components/tether/disconnect_tethering_operation.cc index 777ecd0..97f9ca44 100644 --- a/chromeos/components/tether/disconnect_tethering_operation.cc +++ b/chromeos/components/tether/disconnect_tethering_operation.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/message_wrapper.h"
diff --git a/chromeos/components/tether/disconnect_tethering_operation_unittest.cc b/chromeos/components/tether/disconnect_tethering_operation_unittest.cc index 35c8e5d0..9a01c6a 100644 --- a/chromeos/components/tether/disconnect_tethering_operation_unittest.cc +++ b/chromeos/components/tether/disconnect_tethering_operation_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include <vector> +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h" #include "chromeos/components/tether/fake_ble_connection_manager.h"
diff --git a/chromeos/components/tether/disconnect_tethering_request_sender_impl.cc b/chromeos/components/tether/disconnect_tethering_request_sender_impl.cc index 22facc7f..a25b705 100644 --- a/chromeos/components/tether/disconnect_tethering_request_sender_impl.cc +++ b/chromeos/components/tether/disconnect_tethering_request_sender_impl.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/ble_connection_manager.h" #include "chromeos/components/tether/tether_host_fetcher.h" #include "components/proximity_auth/logging/logging.h"
diff --git a/chromeos/components/tether/disconnect_tethering_request_sender_impl_unittest.cc b/chromeos/components/tether/disconnect_tethering_request_sender_impl_unittest.cc index 4d990e92..b44fede3 100644 --- a/chromeos/components/tether/disconnect_tethering_request_sender_impl_unittest.cc +++ b/chromeos/components/tether/disconnect_tethering_request_sender_impl_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/disconnect_tethering_operation.h" #include "chromeos/components/tether/disconnect_tethering_request_sender.h" #include "chromeos/components/tether/fake_ble_connection_manager.h"
diff --git a/chromeos/components/tether/host_scanner_impl_unittest.cc b/chromeos/components/tether/host_scanner_impl_unittest.cc index c4add8e2..f6d51c1 100644 --- a/chromeos/components/tether/host_scanner_impl_unittest.cc +++ b/chromeos/components/tether/host_scanner_impl_unittest.cc
@@ -8,6 +8,7 @@ #include <memory> #include <vector> +#include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "base/test/histogram_tester.h" #include "base/test/scoped_task_environment.h"
diff --git a/chromeos/components/tether/host_scanner_operation.cc b/chromeos/components/tether/host_scanner_operation.cc index 7494435..27f53c7 100644 --- a/chromeos/components/tether/host_scanner_operation.cc +++ b/chromeos/components/tether/host_scanner_operation.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/connection_preserver.h"
diff --git a/chromeos/components/tether/host_scanner_operation_unittest.cc b/chromeos/components/tether/host_scanner_operation_unittest.cc index b0e71e6..449b7d3 100644 --- a/chromeos/components/tether/host_scanner_operation_unittest.cc +++ b/chromeos/components/tether/host_scanner_operation_unittest.cc
@@ -9,6 +9,7 @@ #include <vector> #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h" #include "chromeos/components/tether/ble_constants.h"
diff --git a/chromeos/components/tether/keep_alive_operation.cc b/chromeos/components/tether/keep_alive_operation.cc index 28b7e04..c8d3ef6c 100644 --- a/chromeos/components/tether/keep_alive_operation.cc +++ b/chromeos/components/tether/keep_alive_operation.cc
@@ -4,6 +4,7 @@ #include "chromeos/components/tether/keep_alive_operation.h" +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/message_wrapper.h"
diff --git a/chromeos/components/tether/keep_alive_operation_unittest.cc b/chromeos/components/tether/keep_alive_operation_unittest.cc index 566eaaf0..b6cef4a 100644 --- a/chromeos/components/tether/keep_alive_operation_unittest.cc +++ b/chromeos/components/tether/keep_alive_operation_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include <vector> +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h" #include "chromeos/components/tether/fake_ble_connection_manager.h"
diff --git a/chromeos/components/tether/keep_alive_scheduler_unittest.cc b/chromeos/components/tether/keep_alive_scheduler_unittest.cc index 348d0c8..b1fae7c 100644 --- a/chromeos/components/tether/keep_alive_scheduler_unittest.cc +++ b/chromeos/components/tether/keep_alive_scheduler_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include <vector> +#include "base/memory/ptr_util.h" #include "base/timer/mock_timer.h" #include "chromeos/components/tether/device_id_tether_network_guid_map.h" #include "chromeos/components/tether/fake_active_host.h"
diff --git a/chromeos/components/tether/master_host_scan_cache_unittest.cc b/chromeos/components/tether/master_host_scan_cache_unittest.cc index ac635676..5799b88 100644 --- a/chromeos/components/tether/master_host_scan_cache_unittest.cc +++ b/chromeos/components/tether/master_host_scan_cache_unittest.cc
@@ -10,6 +10,7 @@ #include "base/callback.h" #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "base/timer/mock_timer.h" #include "chromeos/components/tether/device_id_tether_network_guid_map.h" #include "chromeos/components/tether/fake_active_host.h"
diff --git a/chromeos/components/tether/message_transfer_operation_unittest.cc b/chromeos/components/tether/message_transfer_operation_unittest.cc index 4cde338..8be9798 100644 --- a/chromeos/components/tether/message_transfer_operation_unittest.cc +++ b/chromeos/components/tether/message_transfer_operation_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/test/histogram_tester.h" #include "base/timer/mock_timer.h" #include "chromeos/components/tether/connection_reason.h"
diff --git a/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc b/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc index 96309c5..e061cdcf 100644 --- a/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc +++ b/chromeos/components/tether/network_connection_handler_tether_delegate_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/fake_active_host.h" #include "chromeos/components/tether/fake_tether_connector.h" #include "chromeos/components/tether/fake_tether_disconnector.h"
diff --git a/chromeos/components/tether/synchronous_shutdown_object_container_impl.cc b/chromeos/components/tether/synchronous_shutdown_object_container_impl.cc index 409979a..ac52d18f 100644 --- a/chromeos/components/tether/synchronous_shutdown_object_container_impl.cc +++ b/chromeos/components/tether/synchronous_shutdown_object_container_impl.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/time/default_clock.h" #include "chromeos/components/tether/active_host.h" #include "chromeos/components/tether/active_host_network_state_updater.h"
diff --git a/chromeos/components/tether/tether_component_impl.cc b/chromeos/components/tether/tether_component_impl.cc index 87b52ba..e3aded5 100644 --- a/chromeos/components/tether/tether_component_impl.cc +++ b/chromeos/components/tether/tether_component_impl.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/active_host.h" #include "chromeos/components/tether/asynchronous_shutdown_object_container_impl.h" #include "chromeos/components/tether/crash_recovery_manager_impl.h"
diff --git a/chromeos/components/tether/tether_component_impl_unittest.cc b/chromeos/components/tether/tether_component_impl_unittest.cc index 8ae1eb10..d5762e56 100644 --- a/chromeos/components/tether/tether_component_impl_unittest.cc +++ b/chromeos/components/tether/tether_component_impl_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "chromeos/components/tether/asynchronous_shutdown_object_container_impl.h" #include "chromeos/components/tether/crash_recovery_manager_impl.h" #include "chromeos/components/tether/fake_active_host.h"
diff --git a/chromeos/components/tether/tether_connector_impl_unittest.cc b/chromeos/components/tether/tether_connector_impl_unittest.cc index 5864db2a..d844476 100644 --- a/chromeos/components/tether/tether_connector_impl_unittest.cc +++ b/chromeos/components/tether/tether_connector_impl_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/test/histogram_tester.h" #include "base/test/simple_test_clock.h"
diff --git a/chromeos/components/tether/tether_host_response_recorder_unittest.cc b/chromeos/components/tether/tether_host_response_recorder_unittest.cc index 7b4413d..1ba5d63 100644 --- a/chromeos/components/tether/tether_host_response_recorder_unittest.cc +++ b/chromeos/components/tether/tether_host_response_recorder_unittest.cc
@@ -6,6 +6,7 @@ #include <memory> +#include "base/memory/ptr_util.h" #include "components/cryptauth/remote_device_test_util.h" #include "components/prefs/testing_pref_service.h" #include "components/sync_preferences/testing_pref_service_syncable.h"
diff --git a/chromeos/components/tether/wifi_hotspot_disconnector_impl_unittest.cc b/chromeos/components/tether/wifi_hotspot_disconnector_impl_unittest.cc index c74cb8d..de8d2ad 100644 --- a/chromeos/components/tether/wifi_hotspot_disconnector_impl_unittest.cc +++ b/chromeos/components/tether/wifi_hotspot_disconnector_impl_unittest.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/test/scoped_task_environment.h" #include "chromeos/components/tether/fake_network_configuration_remover.h"
diff --git a/components/autofill/core/browser/address_field.cc b/components/autofill/core/browser/address_field.cc index 1c5bc02..5b78bfc 100644 --- a/components/autofill/core/browser/address_field.cc +++ b/components/autofill/core/browser/address_field.cc
@@ -90,6 +90,8 @@ } continue; + } else if (address_field->ParseSearchTerm(scanner)) { + continue; } else { // No field found. break; @@ -111,7 +113,6 @@ // Don't slurp non-labeled fields at the end into the address. if (has_trailing_non_labeled_fields) scanner->RewindTo(begin_trailing_non_labeled_fields); - return std::move(address_field); } @@ -129,7 +130,8 @@ state_(nullptr), zip_(nullptr), zip4_(nullptr), - country_(nullptr) {} + country_(nullptr), + search_term_(nullptr) {} void AddressField::AddClassifications( FieldCandidatesMap* field_candidates) const { @@ -158,6 +160,15 @@ field_candidates); AddClassification(country_, ADDRESS_HOME_COUNTRY, kBaseAddressParserScore, field_candidates); + AddClassification(search_term_, SEARCH_TERM, kBaseAddressParserScore, + field_candidates); +} + +bool AddressField::ParseSearchTerm(AutofillScanner* scanner) { + if (search_term_ && !search_term_->IsEmpty()) + return false; + + return ParseField(scanner, UTF8ToUTF16(kSearchTermRe), &search_term_); } bool AddressField::ParseCompany(AutofillScanner* scanner) {
diff --git a/components/autofill/core/browser/address_field.h b/components/autofill/core/browser/address_field.h index a6117cb8..472b4a2d 100644 --- a/components/autofill/core/browser/address_field.h +++ b/components/autofill/core/browser/address_field.h
@@ -47,6 +47,10 @@ FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseCountry); FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseTwoLineAddressMissingLabel); FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseCompany); + FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseSearchTermFirst); + FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseSearchTermSecond); + FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseSearchTermIsolated); + FRIEND_TEST_ALL_PREFIXES(AddressFieldTest, ParseNonSearchTermWithSearch); static const int kZipCodeMatchType; static const int kCityMatchType; @@ -60,6 +64,7 @@ bool ParseZipCode(AutofillScanner* scanner); bool ParseCity(AutofillScanner* scanner); bool ParseState(AutofillScanner* scanner); + bool ParseSearchTerm(AutofillScanner* scanner); // Parses the current field pointed to by |scanner|, if it exists, and tries // to figure out whether the field's type: city, state, zip, or none of those. @@ -93,6 +98,7 @@ AutofillField* zip_; AutofillField* zip4_; // optional ZIP+4; we don't fill this yet. AutofillField* country_; + AutofillField* search_term_; DISALLOW_COPY_AND_ASSIGN(AddressField); };
diff --git a/components/autofill/core/browser/address_field_unittest.cc b/components/autofill/core/browser/address_field_unittest.cc index 4791ab091..3ce59ca 100644 --- a/components/autofill/core/browser/address_field_unittest.cc +++ b/components/autofill/core/browser/address_field_unittest.cc
@@ -277,4 +277,108 @@ field_candidates_map_[ASCIIToUTF16("company1")].BestHeuristicType()); } +TEST_F(AddressFieldTest, ParseSearchTermFirst) { + FormFieldData search_field; + search_field.form_control_type = "text"; + + search_field.label = ASCIIToUTF16("Search"); + search_field.name = ASCIIToUTF16("search"); + + FormFieldData address_field; + address_field.form_control_type = "text"; + + address_field.label = ASCIIToUTF16("Address"); + address_field.name = ASCIIToUTF16("address"); + + list_.push_back( + std::make_unique<AutofillField>(search_field, ASCIIToUTF16("search1"))); + list_.push_back( + std::make_unique<AutofillField>(address_field, ASCIIToUTF16("address"))); + + AutofillScanner scanner(list_); + field_ = Parse(&scanner); + ASSERT_NE(nullptr, field_.get()); + field_->AddClassifications(&field_candidates_map_); + ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("search1")) != + field_candidates_map_.end()); + EXPECT_EQ(SEARCH_TERM, + field_candidates_map_[ASCIIToUTF16("search1")].BestHeuristicType()); +} + +TEST_F(AddressFieldTest, ParseSearchTermSecond) { + FormFieldData search_field; + search_field.form_control_type = "text"; + + search_field.label = ASCIIToUTF16("Search"); + search_field.name = ASCIIToUTF16("search"); + + FormFieldData address_field; + address_field.form_control_type = "text"; + + address_field.label = ASCIIToUTF16("Address"); + address_field.name = ASCIIToUTF16("address"); + + list_.push_back( + std::make_unique<AutofillField>(address_field, ASCIIToUTF16("address"))); + list_.push_back( + std::make_unique<AutofillField>(search_field, ASCIIToUTF16("search1"))); + + AutofillScanner scanner(list_); + field_ = Parse(&scanner); + ASSERT_NE(nullptr, field_.get()); + field_->AddClassifications(&field_candidates_map_); + ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("search1")) != + field_candidates_map_.end()); + EXPECT_EQ(SEARCH_TERM, + field_candidates_map_[ASCIIToUTF16("search1")].BestHeuristicType()); +} + +// For fields that are identified and not detected, (practically expanded +// version of UNKNOWN fields,) we would not detect them if they are isolated. +TEST_F(AddressFieldTest, ParseSearchTermIsolated) { + FormFieldData search_field; + search_field.form_control_type = "text"; + + search_field.label = ASCIIToUTF16("Search"); + search_field.name = ASCIIToUTF16("search"); + + list_.push_back( + std::make_unique<AutofillField>(search_field, ASCIIToUTF16("search1"))); + + AutofillScanner scanner(list_); + field_ = Parse(&scanner); + ASSERT_EQ(nullptr, field_.get()); +} + +// For a "search xx" phrase, xx has priority to search, if xx is a valid +// fillable type. +TEST_F(AddressFieldTest, ParseNonSearchTermWithSearch) { + FormFieldData addr_field; + addr_field.form_control_type = "text"; + + addr_field.label = ASCIIToUTF16("Search Address"); + addr_field.name = ASCIIToUTF16("search_addr"); + + FormFieldData company_field; + company_field.form_control_type = "text"; + + company_field.label = ASCIIToUTF16("Company"); + company_field.name = ASCIIToUTF16("company1"); + + list_.push_back( + std::make_unique<AutofillField>(addr_field, ASCIIToUTF16("search_addr"))); + list_.push_back( + std::make_unique<AutofillField>(company_field, ASCIIToUTF16("company1"))); + + AutofillScanner scanner(list_); + field_ = Parse(&scanner); + ASSERT_NE(nullptr, field_.get()); + field_->AddClassifications(&field_candidates_map_); + ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("search_addr")) != + field_candidates_map_.end()); + EXPECT_EQ( + ADDRESS_HOME_LINE1, + field_candidates_map_[ASCIIToUTF16("search_addr")].BestHeuristicType()); +} + } // namespace autofill
diff --git a/components/autofill/core/browser/autofill_metrics.cc b/components/autofill/core/browser/autofill_metrics.cc index 4f9a0db..c9b25a0 100644 --- a/components/autofill/core/browser/autofill_metrics.cc +++ b/components/autofill/core/browser/autofill_metrics.cc
@@ -52,6 +52,7 @@ GROUP_USERNAME, GROUP_STREET_ADDRESS, GROUP_CREDIT_CARD_VERIFICATION, + GROUP_UNFILLABLE, NUM_FIELD_TYPE_GROUPS_FOR_METRICS }; @@ -210,6 +211,10 @@ group = GROUP_USERNAME; break; + case UNFILLABLE: + group = GROUP_UNFILLABLE; + break; + case TRANSACTION: NOTREACHED(); break;
diff --git a/components/autofill/core/browser/autofill_profile.cc b/components/autofill/core/browser/autofill_profile.cc index dcaaac3..cff037a 100644 --- a/components/autofill/core/browser/autofill_profile.cc +++ b/components/autofill/core/browser/autofill_profile.cc
@@ -919,6 +919,7 @@ case PASSWORD_FIELD: case USERNAME_FIELD: case TRANSACTION: + case UNFILLABLE: return nullptr; }
diff --git a/components/autofill/core/browser/autofill_type.cc b/components/autofill/core/browser/autofill_type.cc index f40ee0b9..d0d814c 100644 --- a/components/autofill/core/browser/autofill_type.cc +++ b/components/autofill/core/browser/autofill_type.cc
@@ -117,6 +117,9 @@ case USERNAME: return USERNAME_FIELD; + case SEARCH_TERM: + return UNFILLABLE; + case UNKNOWN_TYPE: return NO_GROUP; default: @@ -769,6 +772,8 @@ return "PROBABLY_ACCOUNT_CREATION_PASSWORD"; case CONFIRMATION_PASSWORD: return "CONFIRMATION_PASSWORD"; + case SEARCH_TERM: + return "SEARCH_TERM"; case AMBIGUOUS_TYPE: return "AMBIGUOUS_TYPE";
diff --git a/components/autofill/core/browser/field_types.h b/components/autofill/core/browser/field_types.h index 1b1ab99..76095b7 100644 --- a/components/autofill/core/browser/field_types.h +++ b/components/autofill/core/browser/field_types.h
@@ -168,9 +168,12 @@ // only, it is not a predicted nor uploaded type. AMBIGUOUS_TYPE = 96, + // Search term fields are detected, but not filled. + SEARCH_TERM = 97, + // No new types can be added without a corresponding change to the Autofill // server. - MAX_VALID_FIELD_TYPE = 97, + MAX_VALID_FIELD_TYPE = 98, }; // The list of all HTML autocomplete field type hints supported by Chrome. @@ -268,6 +271,7 @@ PASSWORD_FIELD, TRANSACTION, USERNAME_FIELD, + UNFILLABLE, }; typedef std::set<ServerFieldType> ServerFieldTypeSet;
diff --git a/components/autofill/core/browser/webdata/autofill_data_type_controller_unittest.cc b/components/autofill/core/browser/webdata/autofill_data_type_controller_unittest.cc index 5424b1a2..22530a1 100644 --- a/components/autofill/core/browser/webdata/autofill_data_type_controller_unittest.cc +++ b/components/autofill/core/browser/webdata/autofill_data_type_controller_unittest.cc
@@ -11,6 +11,7 @@ #include "base/callback.h" #include "base/compiler_specific.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "base/message_loop/message_loop.h"
diff --git a/components/autofill/core/common/autofill_regex_constants.cc b/components/autofill/core/common/autofill_regex_constants.cc index 057578c4..32d7e2d 100644 --- a/components/autofill/core/common/autofill_regex_constants.cc +++ b/components/autofill/core/common/autofill_regex_constants.cc
@@ -119,6 +119,16 @@ "|地區" // zh-TW "|^시[·・]?도"; // ko-KR +const char kSearchTermRe[] = + "search" + "|suche.*" // de-DE + "|搜索" // zh-CN zh-TW + "|探す|検索" // ja-JP to search + "|recherch.*" // fr-FR + "|busca" // pt-BR, pt-PT + "|جستجو" // fa + "|искать|найти|поиск"; // ru + ///////////////////////////////////////////////////////////////////////////// // credit_card_field.cc /////////////////////////////////////////////////////////////////////////////
diff --git a/components/autofill/core/common/autofill_regex_constants.h b/components/autofill/core/common/autofill_regex_constants.h index 96de9e7a..bcb18d1c 100644 --- a/components/autofill/core/common/autofill_regex_constants.h +++ b/components/autofill/core/common/autofill_regex_constants.h
@@ -55,6 +55,7 @@ extern const char kPhonePrefixRe[]; extern const char kPhoneSuffixRe[]; extern const char kPhoneExtensionRe[]; +extern const char kSearchTermRe[]; // Used to match field data that might be a UPI Virtual Payment Address. // See:
diff --git a/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc b/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc index 857306e..c5aa3cb 100644 --- a/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc +++ b/components/bookmarks/managed/managed_bookmarks_tracker_unittest.cc
@@ -9,6 +9,7 @@ #include "base/bind.h" #include "base/files/file_path.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/strings/utf_string_conversions.h"
diff --git a/components/browser_watcher/postmortem_report_collector.cc b/components/browser_watcher/postmortem_report_collector.cc index 1155c054..3b83a79 100644 --- a/components/browser_watcher/postmortem_report_collector.cc +++ b/components/browser_watcher/postmortem_report_collector.cc
@@ -224,19 +224,17 @@ DCHECK(report_proto); // Prepare a crashpad report. - CrashReportDatabase::NewReport* new_report = nullptr; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; CrashReportDatabase::OperationStatus database_status = report_database_->PrepareNewCrashReport(&new_report); if (database_status != CrashReportDatabase::kNoError) { LogCollectionStatus(PREPARE_NEW_CRASH_REPORT_FAILED); return; } - CrashReportDatabase::CallErrorWritingCrashReport - call_error_writing_crash_report(report_database_, new_report); // Write the report to a minidump. - if (!WriteReportToMinidump(report_proto, client_id, new_report->uuid, - reinterpret_cast<FILE*>(new_report->handle))) { + if (!WriteReportToMinidump(report_proto, client_id, new_report->ReportID(), + new_report->Writer())) { LogCollectionStatus(WRITE_TO_MINIDUMP_FAILED); return; } @@ -244,10 +242,9 @@ // Finalize the report wrt the report database. Note that this doesn't trigger // an immediate upload, but Crashpad will eventually upload the report (as of // writing, the delay is on the order of up to 15 minutes). - call_error_writing_crash_report.Disarm(); crashpad::UUID unused_report_id; database_status = report_database_->FinishedWritingCrashReport( - new_report, &unused_report_id); + std::move(new_report), &unused_report_id); if (database_status != CrashReportDatabase::kNoError) { LogCollectionStatus(FINISHED_WRITING_CRASH_REPORT_FAILED); return; @@ -260,11 +257,9 @@ StabilityReport* report, const crashpad::UUID& client_id, const crashpad::UUID& report_id, - base::PlatformFile minidump_file) { + crashpad::FileWriterInterface* minidump_file) { DCHECK(report); - - crashpad::WeakFileHandleFileWriter writer(minidump_file); - return WritePostmortemDump(&writer, client_id, report_id, report); + return WritePostmortemDump(minidump_file, client_id, report_id, report); } } // namespace browser_watcher
diff --git a/components/browser_watcher/postmortem_report_collector.h b/components/browser_watcher/postmortem_report_collector.h index 367250a..c01d0aa 100644 --- a/components/browser_watcher/postmortem_report_collector.h +++ b/components/browser_watcher/postmortem_report_collector.h
@@ -16,7 +16,6 @@ #include <vector> #include "base/debug/activity_analyzer.h" -#include "base/files/file.h" #include "base/files/file_path.h" #include "base/gtest_prod_util.h" #include "base/macros.h" @@ -25,6 +24,7 @@ #include "components/browser_watcher/stability_report_extractor.h" #include "components/metrics/system_session_analyzer_win.h" #include "third_party/crashpad/crashpad/client/crash_report_database.h" +#include "third_party/crashpad/crashpad/util/file/file_writer.h" namespace browser_watcher { @@ -94,10 +94,11 @@ void GenerateCrashReport(const crashpad::UUID& client_id, StabilityReport* report_proto); - virtual bool WriteReportToMinidump(StabilityReport* report, - const crashpad::UUID& client_id, - const crashpad::UUID& report_id, - base::PlatformFile minidump_file); + virtual bool WriteReportToMinidump( + StabilityReport* report, + const crashpad::UUID& client_id, + const crashpad::UUID& report_id, + crashpad::FileWriterInterface* minidump_file); std::string product_name_; std::string version_number_;
diff --git a/components/browser_watcher/postmortem_report_collector_unittest.cc b/components/browser_watcher/postmortem_report_collector_unittest.cc index eb4a103..fdb11f6c 100644 --- a/components/browser_watcher/postmortem_report_collector_unittest.cc +++ b/components/browser_watcher/postmortem_report_collector_unittest.cc
@@ -75,7 +75,7 @@ bool(StabilityReport* report, const crashpad::UUID& client_id, const crashpad::UUID& report_id, - base::PlatformFile minidump_file)); + crashpad::FileWriterInterface* minidump_file)); }; class MockSystemSessionAnalyzer : public metrics::SystemSessionAnalyzer {
diff --git a/components/cast_channel/cast_socket_service_unittest.cc b/components/cast_channel/cast_socket_service_unittest.cc index 3aafc5e..0c2898c 100644 --- a/components/cast_channel/cast_socket_service_unittest.cc +++ b/components/cast_channel/cast_socket_service_unittest.cc
@@ -3,6 +3,7 @@ // found in the LICENSE file. #include "components/cast_channel/cast_socket_service.h" +#include "base/memory/ptr_util.h" #include "base/test/mock_callback.h" #include "base/test/test_simple_task_runner.h" #include "components/cast_channel/cast_test_util.h"
diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc index eb3d42e9..5b658f0 100644 --- a/components/content_settings/core/browser/content_settings_default_provider.cc +++ b/components/content_settings/core/browser/content_settings_default_provider.cc
@@ -10,6 +10,7 @@ #include "base/auto_reset.h" #include "base/bind.h" +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "components/content_settings/core/browser/content_settings_info.h" #include "components/content_settings/core/browser/content_settings_registry.h"
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc index f41087e7..0bd5fe1 100644 --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -12,6 +12,7 @@ #include "base/command_line.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h"
diff --git a/components/crash/content/app/minidump_with_crashpad_info.cc b/components/crash/content/app/minidump_with_crashpad_info.cc index a6ee276..cd9726b 100644 --- a/components/crash/content/app/minidump_with_crashpad_info.cc +++ b/components/crash/content/app/minidump_with_crashpad_info.cc
@@ -279,9 +279,9 @@ // Appends the full contents of |source| to |dest| from the current position // of |dest|. -bool AppendFileContents(base::File* source, base::PlatformFile dest) { +bool AppendFileContents(base::File* source, crashpad::FileWriter* dest) { DCHECK(source && source->IsValid()); - DCHECK_NE(base::kInvalidPlatformFile, dest); + DCHECK(dest); // Rewind the source. if (source->Seek(base::File::FROM_BEGIN, 0) == -1) @@ -292,16 +292,12 @@ while (true) { int bytes_read = source->ReadAtCurrentPos(&buf[0], static_cast<int>(buf.size())); - if (bytes_read == -1) + if (bytes_read < 0) return false; if (bytes_read == 0) break; - DWORD bytes_written = 0; - // Due to handle instrumentation, the destination can't be wrapped in - // a base::File, so we go basic Win32 API here. - if (!WriteFile(dest, &buf[0], bytes_read, &bytes_written, nullptr) || - static_cast<int>(bytes_written) != bytes_read) { + if (!dest->Write(&buf[0], static_cast<size_t>(bytes_read))) { return false; } } @@ -323,16 +319,12 @@ if (!database) return false; - crashpad::CrashReportDatabase::NewReport* report = nullptr; + std::unique_ptr<crashpad::CrashReportDatabase::NewReport> report; crashpad::CrashReportDatabase::OperationStatus status = database->PrepareNewCrashReport(&report); if (status != crashpad::CrashReportDatabase::kNoError) return false; - // Make sure we release the report on early exit. - crashpad::CrashReportDatabase::CallErrorWritingCrashReport on_error( - database.get(), report); - crashpad::UUID client_id; crashpad::Settings* settings = database->GetSettings(); if (settings) { @@ -357,16 +349,14 @@ // Write the minidump to the temp file, and then copy the data to the // Crashpad-provided handle, as the latter is only open for write. if (!MiniDumpWriteDumpWithCrashpadInfo(process, minidump_type, exc_info, - crash_keys, client_id, report->uuid, - &dump_file) || - !AppendFileContents(&dump_file, report->handle)) { + crash_keys, client_id, + report->ReportID(), &dump_file) || + !AppendFileContents(&dump_file, report->Writer())) { return false; } - on_error.Disarm(); - crashpad::UUID report_id = {}; - status = database->FinishedWritingCrashReport(report, &report_id); + status = database->FinishedWritingCrashReport(std::move(report), &report_id); if (status != crashpad::CrashReportDatabase::kNoError) return false;
diff --git a/components/cryptauth/ble/ble_advertisement_generator_unittest.cc b/components/cryptauth/ble/ble_advertisement_generator_unittest.cc index 5cd1369..b28a497 100644 --- a/components/cryptauth/ble/ble_advertisement_generator_unittest.cc +++ b/components/cryptauth/ble/ble_advertisement_generator_unittest.cc
@@ -8,6 +8,7 @@ #include "base/bind.h" #include "base/callback_forward.h" +#include "base/memory/ptr_util.h" #include "base/stl_util.h" #include "components/cryptauth/mock_foreground_eid_generator.h" #include "components/cryptauth/mock_local_device_data_provider.h"
diff --git a/components/cryptauth/cryptauth_device_manager_impl_unittest.cc b/components/cryptauth/cryptauth_device_manager_impl_unittest.cc index 7ee6c377..4a1ef75 100644 --- a/components/cryptauth/cryptauth_device_manager_impl_unittest.cc +++ b/components/cryptauth/cryptauth_device_manager_impl_unittest.cc
@@ -11,6 +11,7 @@ #include "base/base64url.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/memory/weak_ptr.h" #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h"
diff --git a/components/cryptauth/cryptauth_enrollment_manager_impl_unittest.cc b/components/cryptauth/cryptauth_enrollment_manager_impl_unittest.cc index 10fc7bb..1fc83bf1 100644 --- a/components/cryptauth/cryptauth_enrollment_manager_impl_unittest.cc +++ b/components/cryptauth/cryptauth_enrollment_manager_impl_unittest.cc
@@ -9,6 +9,7 @@ #include "base/base64url.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/memory/weak_ptr.h" #include "base/test/simple_test_clock.h" #include "base/time/clock.h"
diff --git a/components/cryptauth/device_capability_manager_impl.cc b/components/cryptauth/device_capability_manager_impl.cc index 59b677370..5d427265 100644 --- a/components/cryptauth/device_capability_manager_impl.cc +++ b/components/cryptauth/device_capability_manager_impl.cc
@@ -7,6 +7,7 @@ #include <memory> #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "components/cryptauth/proto/cryptauth_api.pb.h" namespace cryptauth {
diff --git a/components/cryptauth/local_device_data_provider_unittest.cc b/components/cryptauth/local_device_data_provider_unittest.cc index 97d291e..0ba6e524 100644 --- a/components/cryptauth/local_device_data_provider_unittest.cc +++ b/components/cryptauth/local_device_data_provider_unittest.cc
@@ -9,6 +9,7 @@ #include <vector> #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "components/cryptauth/cryptauth_enroller.h" #include "components/cryptauth/fake_cryptauth_device_manager.h" #include "components/cryptauth/fake_cryptauth_enrollment_manager.h"
diff --git a/components/font_service/public/interfaces/font_service.mojom b/components/font_service/public/interfaces/font_service.mojom index 9429706..aa18d6e 100644 --- a/components/font_service/public/interfaces/font_service.mojom +++ b/components/font_service/public/interfaces/font_service.mojom
@@ -33,7 +33,10 @@ // Loads and resolves fonts. // // We still need to load fonts from within a sandboxed process. We set -// up a service to match fonts and load them, +// up a service to match fonts and load them. This service needs full +// filesystem access because fonts can be configured to live anywhere on the +// filesystem. The FontService takes a request for a font by family name +// and resolves it, hiding all filesystem details. interface FontService { // Returns the best match for |family_name| and |style|. On error, returns a // null |identity|.
diff --git a/components/metrics/net/network_metrics_provider_unittest.cc b/components/metrics/net/network_metrics_provider_unittest.cc index 3731bce..6323a537 100644 --- a/components/metrics/net/network_metrics_provider_unittest.cc +++ b/components/metrics/net/network_metrics_provider_unittest.cc
@@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "base/test/scoped_task_environment.h" #include "base/threading/thread_task_runner_handle.h"
diff --git a/components/nacl/broker/BUILD.gn b/components/nacl/broker/BUILD.gn index 0e9b9d9..376dd4e2 100644 --- a/components/nacl/broker/BUILD.gn +++ b/components/nacl/broker/BUILD.gn
@@ -144,7 +144,7 @@ deps = [ "//base", "//content/public/common:static_switches", - "//content/public/common:zygote_features", + "//content/public/common:zygote_buildflags", "//sandbox", "//services/service_manager/sandbox", ]
diff --git a/components/nacl/browser/BUILD.gn b/components/nacl/browser/BUILD.gn index 5a1b541..467443a 100644 --- a/components/nacl/browser/BUILD.gn +++ b/components/nacl/browser/BUILD.gn
@@ -39,7 +39,7 @@ "//components/url_formatter", "//content/public/browser", "//content/public/common", - "//content/public/common:zygote_features", + "//content/public/common:zygote_buildflags", "//mojo/edk/system", "//native_client/src/trusted/service_runtime:sel_main_chrome", "//net",
diff --git a/components/nacl/browser/nacl_process_host.cc b/components/nacl/browser/nacl_process_host.cc index b69582b..47524845 100644 --- a/components/nacl/browser/nacl_process_host.cc +++ b/components/nacl/browser/nacl_process_host.cc
@@ -54,7 +54,7 @@ #include "content/public/common/mojo_channel_switches.h" #include "content/public/common/process_type.h" #include "content/public/common/sandboxed_process_launcher_delegate.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "ipc/ipc_channel.h" #include "mojo/edk/embedder/embedder.h" #include "net/socket/socket_descriptor.h"
diff --git a/components/offline_pages/core/prefetch/suggested_articles_observer_unittest.cc b/components/offline_pages/core/prefetch/suggested_articles_observer_unittest.cc index f9dd052..66fe7c7 100644 --- a/components/offline_pages/core/prefetch/suggested_articles_observer_unittest.cc +++ b/components/offline_pages/core/prefetch/suggested_articles_observer_unittest.cc
@@ -4,6 +4,7 @@ #include "components/offline_pages/core/prefetch/suggested_articles_observer.h" +#include "base/memory/ptr_util.h" #include "base/run_loop.h" #include "base/strings/utf_string_conversions.h" #include "base/test/test_simple_task_runner.h"
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc index 4c5ff2cc..97b8540 100644 --- a/components/omnibox/browser/omnibox_field_trial.cc +++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -18,9 +18,9 @@ #include "base/strings/string_util.h" #include "base/sys_info.h" #include "base/time/time.h" +#include "build/build_config.h" #include "components/omnibox/browser/omnibox_switches.h" #include "components/omnibox/browser/url_index_private_data.h" -#include "components/prefs/pref_service.h" #include "components/search/search.h" #include "components/variations/active_field_trials.h" #include "components/variations/hashing.h" @@ -28,11 +28,6 @@ #include "third_party/metrics_proto/omnibox_event.pb.h" #include "ui/base/material_design/material_design_controller.h" -#if defined(OS_ANDROID) -#include "components/omnibox/browser/omnibox_pref_names.h" -#include "components/pref_registry/pref_registry_syncable.h" -#endif - using metrics::OmniboxEventProto; namespace omnibox { @@ -68,12 +63,6 @@ #endif }; -// Feature to enable personalized omnibox suggestions on focus when Android's -// Chrome Home feature is enabled. -const base::Feature kAndroidChromeHomePersonalizedSuggestions{ - "ChromeHomePersonalizedOmniboxSuggestions", - base::FEATURE_DISABLED_BY_DEFAULT}; - // Feature to enable the search provider to send a request to the suggest // server on focus. This allows the suggest server to warm up, by, for // example, loading per-user models into memory. Having a per-user model @@ -276,15 +265,6 @@ return res; } -#if defined(OS_ANDROID) -// static -void OmniboxFieldTrial::RegisterProfilePrefs( - user_prefs::PrefRegistrySyncable* registry) { - registry->RegisterBooleanPref(omnibox::kZeroSuggestChromeHomePersonalized, - false); -} -#endif - int OmniboxFieldTrial::GetDisabledProviderTypes() { const std::string& types_string = variations::GetVariationParamValue( kBundledExperimentFieldTrialName, @@ -314,15 +294,14 @@ return base::TimeDelta::FromMilliseconds(1500); } -bool OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(PrefService* prefs) { - return InZeroSuggestMostVisitedWithoutSerpFieldTrial(prefs) || - variations::GetVariationParamValue( - kBundledExperimentFieldTrialName, - kZeroSuggestVariantRule) == "MostVisited"; +bool OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial() { + return InZeroSuggestMostVisitedWithoutSerpFieldTrial() || + variations::GetVariationParamValue(kBundledExperimentFieldTrialName, + kZeroSuggestVariantRule) == + "MostVisited"; } -bool OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial( - PrefService* prefs) { +bool OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial() { std::string variant(variations::GetVariationParamValue( kBundledExperimentFieldTrialName, kZeroSuggestVariantRule)); @@ -330,10 +309,7 @@ return true; #if defined(OS_ANDROID) // Android defaults to MostVisitedWithoutSERP - if (variant.empty() && !InChromeHomePersonalizedZeroSuggest(prefs)) - return true; - - return false; + return variant.empty(); #elif defined(OS_IOS) // iOS defaults to MostVisitedWithoutSERP return variant.empty(); @@ -343,20 +319,10 @@ } // static -bool OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial( - PrefService* prefs) { - std::string variant(variations::GetVariationParamValue( - kBundledExperimentFieldTrialName, kZeroSuggestVariantRule)); - if (variant == "Personalized") - return true; -#if defined(OS_ANDROID) - if (variant.empty() && InChromeHomePersonalizedZeroSuggest(prefs)) - return true; - - return false; -#else - return false; -#endif +bool OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial() { + return variations::GetVariationParamValue(kBundledExperimentFieldTrialName, + kZeroSuggestVariantRule) == + "Personalized"; } // static @@ -949,17 +915,3 @@ it = params.find(rule + ":*:*"); return (it != params.end()) ? it->second : std::string(); } - -#if defined(OS_ANDROID) -// static -bool OmniboxFieldTrial::InChromeHomePersonalizedZeroSuggest( - PrefService* prefs) { - // Android's Java code sets a preference controlling whether personalized - // suggestions are enabled based on whether Chrome Home is enabled and - // whether the |kAndroidChromeHomePersonalizedSuggestions| feature is - // enabled. - return prefs->GetBoolean(omnibox::kZeroSuggestChromeHomePersonalized) && - base::FeatureList::IsEnabled( - omnibox::kAndroidChromeHomePersonalizedSuggestions); -} -#endif
diff --git a/components/omnibox/browser/omnibox_field_trial.h b/components/omnibox/browser/omnibox_field_trial.h index 8b7e6f1..90504c5 100644 --- a/components/omnibox/browser/omnibox_field_trial.h +++ b/components/omnibox/browser/omnibox_field_trial.h
@@ -14,24 +14,15 @@ #include <vector> #include "base/macros.h" -#include "build/build_config.h" #include "components/omnibox/browser/autocomplete_input.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "third_party/metrics_proto/omnibox_event.pb.h" -class PrefService; - namespace base { struct Feature; class TimeDelta; } -#if defined(OS_ANDROID) -namespace user_prefs { -class PrefRegistrySyncable; -} -#endif - namespace omnibox { extern const base::Feature kOmniboxEntitySuggestions; @@ -40,7 +31,6 @@ extern const char kOmniboxTabSwitchSuggestionsFlag[]; extern const char kOmniboxTabSwitchWithButton[]; extern const base::Feature kEnableClipboardProvider; -extern const base::Feature kAndroidChromeHomePersonalizedSuggestions; extern const base::Feature kSearchProviderWarmUpOnFocus; extern const base::Feature kZeroSuggestRedirectToChrome; extern const base::Feature kZeroSuggestSwapTitleAndUrl; @@ -169,10 +159,6 @@ EMPHASIZE_NEVER = 3 }; -#if defined(OS_ANDROID) - static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); -#endif - // --------------------------------------------------------- // For any experiment that's part of the bundled omnibox field trial. @@ -207,16 +193,16 @@ // Returns whether the user is in a ZeroSuggest field trial, which shows // most visited URLs. This is true for both "MostVisited" and // "MostVisitedWithoutSERP" trials. - static bool InZeroSuggestMostVisitedFieldTrial(PrefService* prefs); + static bool InZeroSuggestMostVisitedFieldTrial(); // Returns whether the user is in ZeroSuggest field trial showing most // visited URLs except it doesn't show suggestions on Google search result // pages. - static bool InZeroSuggestMostVisitedWithoutSerpFieldTrial(PrefService* prefs); + static bool InZeroSuggestMostVisitedWithoutSerpFieldTrial(); // Returns whether the user is in a ZeroSuggest field trial, but should // show recently searched-for queries instead. - static bool InZeroSuggestPersonalizedFieldTrial(PrefService* prefs); + static bool InZeroSuggestPersonalizedFieldTrial(); // --------------------------------------------------------- // For the Zero Suggest Redirect to Chrome field trial. @@ -555,12 +541,6 @@ const std::string& rule, metrics::OmniboxEventProto::PageClassification page_classification); -#if defined(OS_ANDROID) - // Checks whether Chrome Home personalized omnibox suggestions on focus are - // enabled. - static bool InChromeHomePersonalizedZeroSuggest(PrefService* pref); -#endif - DISALLOW_IMPLICIT_CONSTRUCTORS(OmniboxFieldTrial); };
diff --git a/components/omnibox/browser/omnibox_field_trial_unittest.cc b/components/omnibox/browser/omnibox_field_trial_unittest.cc index 92d89e1..64cdd09 100644 --- a/components/omnibox/browser/omnibox_field_trial_unittest.cc +++ b/components/omnibox/browser/omnibox_field_trial_unittest.cc
@@ -12,33 +12,20 @@ #include "base/metrics/field_trial.h" #include "base/strings/string16.h" #include "build/build_config.h" -#include "components/prefs/testing_pref_service.h" #include "components/search/search.h" #include "components/variations/entropy_provider.h" #include "components/variations/variations_associated_data.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/metrics_proto/omnibox_event.pb.h" -#if defined(OS_ANDROID) -#include "base/test/scoped_feature_list.h" -#include "components/omnibox/browser/omnibox_pref_names.h" -#include "components/prefs/pref_registry_simple.h" -#endif - using metrics::OmniboxEventProto; class OmniboxFieldTrialTest : public testing::Test { public: OmniboxFieldTrialTest() { ResetFieldTrialList(); -#if defined(OS_ANDROID) - pref_service_.registry()->RegisterBooleanPref( - omnibox::kZeroSuggestChromeHomePersonalized, false); -#endif } - PrefService* GetPrefs() { return &pref_service_; } - void ResetFieldTrialList() { // Destroy the existing FieldTrialList before creating a new one to avoid // a DCHECK. @@ -83,7 +70,6 @@ private: std::unique_ptr<base::FieldTrialList> field_trial_list_; - TestingPrefServiceSimple pref_service_; DISALLOW_COPY_AND_ASSIGN(OmniboxFieldTrialTest); }; @@ -203,11 +189,9 @@ base::FieldTrialList::CreateFieldTrial( OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); #if defined(OS_ANDROID) || defined(OS_IOS) - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); + EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); #else - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); + EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); #endif ResetFieldTrialList(); @@ -217,8 +201,7 @@ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); base::FieldTrialList::CreateFieldTrial( OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); + EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); ResetFieldTrialList(); params.erase(std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)); @@ -227,48 +210,11 @@ ASSERT_TRUE(variations::AssociateVariationParams( OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); #if defined(OS_ANDROID) || defined(OS_IOS) - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); + EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); #else - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); + EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); #endif } -#if defined(OS_ANDROID) - { - SCOPED_TRACE("Chrome Home personalized suggestions."); - ResetFieldTrialList(); - std::map<std::string, std::string> params; - ASSERT_TRUE(variations::AssociateVariationParams( - OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); - base::FieldTrialList::CreateFieldTrial( - OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(GetPrefs())); - - GetPrefs()->SetBoolean(omnibox::kZeroSuggestChromeHomePersonalized, true); - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(GetPrefs())); - - base::test::ScopedFeatureList feature_list; - feature_list.InitAndEnableFeature( - omnibox::kAndroidChromeHomePersonalizedSuggestions); - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(GetPrefs())); - - GetPrefs()->SetBoolean(omnibox::kZeroSuggestChromeHomePersonalized, false); - EXPECT_TRUE( - OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial(GetPrefs())); - EXPECT_FALSE( - OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial(GetPrefs())); - } -#endif } TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) {
diff --git a/components/omnibox/browser/omnibox_pref_names.cc b/components/omnibox/browser/omnibox_pref_names.cc index fd2d2fd..3d3a5495 100644 --- a/components/omnibox/browser/omnibox_pref_names.cc +++ b/components/omnibox/browser/omnibox_pref_names.cc
@@ -9,9 +9,4 @@ // A cache of zero suggest results using JSON serialized into a string. const char kZeroSuggestCachedResults[] = "zerosuggest.cachedresults"; -// Whether personalized omnibox suggestions on focus for Chrome Home are -// enabled. -const char kZeroSuggestChromeHomePersonalized[] = - "zerosuggest.chromehomepersonalized"; - } // namespace omnibox
diff --git a/components/omnibox/browser/omnibox_pref_names.h b/components/omnibox/browser/omnibox_pref_names.h index 2f26309..1f836a0 100644 --- a/components/omnibox/browser/omnibox_pref_names.h +++ b/components/omnibox/browser/omnibox_pref_names.h
@@ -11,7 +11,6 @@ // Keep alphabetized, and document each in the .cc file. extern const char kZeroSuggestCachedResults[]; -extern const char kZeroSuggestChromeHomePersonalized[]; } // namespace omnibox
diff --git a/components/omnibox/browser/zero_suggest_provider.cc b/components/omnibox/browser/zero_suggest_provider.cc index 5bebca9..c39da7c 100644 --- a/components/omnibox/browser/zero_suggest_provider.cc +++ b/components/omnibox/browser/zero_suggest_provider.cc
@@ -219,8 +219,7 @@ } void ZeroSuggestProvider::DeleteMatch(const AutocompleteMatch& match) { - if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial( - client()->GetPrefs())) { + if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial()) { // Remove the deleted match from the cache, so it is not shown to the user // again. Since we cannot remove just one result, blow away the cache. client()->GetPrefs()->SetString(omnibox::kZeroSuggestCachedResults, @@ -567,23 +566,20 @@ if (!AllowZeroSuggestSuggestions(current_url)) return ResultType::NONE; - if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial( - client()->GetPrefs())) + if (OmniboxFieldTrial::InZeroSuggestPersonalizedFieldTrial()) return PersonalizedServiceShouldFallBackToMostVisited( client()->GetPrefs(), client()->IsAuthenticated(), template_url_service) ? ResultType::MOST_VISITED : ResultType::DEFAULT_SERP; - if (OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial( - client()->GetPrefs()) && + if (OmniboxFieldTrial::InZeroSuggestMostVisitedWithoutSerpFieldTrial() && client() ->GetTemplateURLService() ->IsSearchResultsPageFromDefaultSearchProvider(current_url)) return ResultType::NONE; - if (OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial( - client()->GetPrefs())) + if (OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()) return ResultType::MOST_VISITED; return can_send_current_url ? ResultType::DEFAULT_SERP_FOR_URL
diff --git a/components/policy/proto/device_management_backend.proto b/components/policy/proto/device_management_backend.proto index 565d93db..b1625fa9 100644 --- a/components/policy/proto/device_management_backend.proto +++ b/components/policy/proto/device_management_backend.proto
@@ -1488,36 +1488,40 @@ message AppInstallReportLogEvent { // Enumerates the possible event types. enum EventType { + // Not used. + LOG_EVENT_TYPE_UNKNOWN = 0; // Request received by device - SERVER_REQUEST = 0; + SERVER_REQUEST = 1; // Request forwarded to CloudDPC - CLOUDDPC_REQUEST = 1; + CLOUDDPC_REQUEST = 2; // Request forwarded to CloudDPS - CLOUDDPS_REQUEST = 2; + CLOUDDPS_REQUEST = 3; // Response received from CloudDPS - CLOUDDPS_RESPONSE = 3; + CLOUDDPS_RESPONSE = 4; // Log line written by Phonesky - PHONESKY_LOG = 4; + PHONESKY_LOG = 5; // Install success - SUCCESS = 5; + SUCCESS = 6; // Request canceled - CANCELED = 6; + CANCELED = 7; // Connectivity state changed - CONNECTIVITY_CHANGE = 7; + CONNECTIVITY_CHANGE = 8; // Session state changed - SESSION_STATE_CHANGE = 8; + SESSION_STATE_CHANGE = 9; } // Enumerates the possible changes in session state. enum SessionStateChangeType { + // Not used. + SESSION_STATE_CHANGE_TYPE_UNKNOWN = 0; // Session starting - LOGIN = 0; + LOGIN = 1; // Session ending - LOGOUT = 1; + LOGOUT = 2; // Suspending - SUSPEND = 2; + SUSPEND = 3; // Resuming - RESUME = 3; + RESUME = 4; } // Timestamp, in milliseconds since epoch. Set for all log @@ -1537,10 +1541,11 @@ // Log line written by Phonesky. Set for event type PHONESKY_LOG. optional string phonesky_log = 5; - // Network state. Set for SERVER_REQUEST and CONNECTIVITY_CHANGE. - optional NetworkState network_state = 6; + // Network state. Set for event type SESSION_STATE_CHANGE of type LOGIN and + // CONNECTIVITY_CHANGE. + optional bool online = 6; - // Type of session state change. Set for SESSION_STATE_CHANGE. + // Type of session state change. Set for event type SESSION_STATE_CHANGE. optional SessionStateChangeType session_state_change_type = 7; }
diff --git a/components/policy/resources/policy_templates_am.xtb b/components/policy/resources/policy_templates_am.xtb index 5f79699..6655293 100644 --- a/components/policy/resources/policy_templates_am.xtb +++ b/components/policy/resources/policy_templates_am.xtb
@@ -543,13 +543,6 @@ ይህ መመሪያ የ«DefaultSearchProviderEnabled» መመሪያ ከነቃ ብቻ ነው የሚከበረው።</translation> <translation id="2682225790874070339">በ<ph name="PRODUCT_OS_NAME" /> ፋይሎች መተግበሪያ ውስጥ Driveን ያሰናክለዋል</translation> <translation id="268577405881275241">የውሂብ መጭመቂያ ተኪ ባህሪን ያንቁ</translation> -<translation id="2726613915126661822">ምናባዊ ማሽኖች በChrome OS ላይ ማሄድ ይፈቀድላቸው እንደሆነ እንዲቆጣጠሩ ያስችልዎታል። - - መመሪያው ወደ እውነተ ከተዋቀረ መሣሪያው ምናባዊ ማሽኖችን እንዲያሄድ ይፈቀድለታል። - መመሪያው ወደ ሐሰት ከተዋቀረ መሣሪያው ምናባዊ ማሽኖችን እንዲያሄድ አይፈቀድለትም። - ይህ መመሪያ ወደ ሐሰት ሲቀየር አዲስ የሚጀመሩ ምናባዊ ማሽኖች ላይ ይተገበራል፣ ነገር ግን አስቀድመው እያሄዱ ያባሉ ምናባዊ ማሽኖችን አይዘጋም። - ይህ መመሪያ በሚተዳደር መሣሪያ ላይ ካልተዋቀረ መሣሪያው ምናባዊ ማሽኖችን እንዲያሄድ አይፈቀድለትም። - የማይተዳደሩ መሣሪያዎች ምናባዊ ማሽኖችን እንዲያሄዱ ይፈቀድላቸዋል።</translation> <translation id="2731627323327011390">በኤአርሲ መተግበሪያዎች ላይ የ<ph name="PRODUCT_OS_NAME" /> እውቅና ማረጋገጫዎችን መጠቀም አሰናክል</translation> <translation id="2742843273354638707">የChrome የድር መደብሩንና ግርጌ አገናኙን ከአዲስ ትር ገጹ እና የ<ph name="PRODUCT_OS_NAME" /> መተግበሪያ አስጀማሪ ይደብቁ። @@ -616,7 +609,7 @@ <translation id="2906874737073861391">የAppPack ቅጥያዎች ዝርዝር</translation> <translation id="2907992746861405243">የትኛዎቹ የ<ph name="BULK_PRINTERS_POLICY" /> አታሚዎች ለተጠቃሚዎች የሚገኙ እንደሚሆኑ ይቆጣጠራል። - የትኛው የመዳረሻ መመሪያ ለጅምላ አታሚ ውቅረት ስራ ላይ እንደሚውል ይሰይማል። <ph name="PRINTERS_ALLOW_ALL" /> ከተመረጠ ሁሉም አታሚዎች ይታያሉ። <ph name="PRINTERS_BLACKLIST" /> ከተመረጠ <ph name="BULK_PRINTERS_BLACKLIST" /> የተገለጹ አታሚዎች መዳረሻን ለመገደብ ስራ ላይ ይውላል። <ph name="PRINTERS_WHITELIST" /> ከተመረጠ <ph name="BULK_PRINTERS_WHITELIST" /> ሊመረጡ የሚችሉ አታሚዎችን ብቻ ይሰይማል። + የትኛው የመዳረሻ መመሪያ ለጅምላ አታሚ ውቅረት ሥራ ላይ እንደሚውል ይሰይማል። <ph name="PRINTERS_ALLOW_ALL" /> ከተመረጠ ሁሉም አታሚዎች ይታያሉ። <ph name="PRINTERS_BLACKLIST" /> ከተመረጠ <ph name="BULK_PRINTERS_BLACKLIST" /> የተገለጹ አታሚዎች መዳረሻን ለመገደብ ሥራ ላይ ይውላል። <ph name="PRINTERS_WHITELIST" /> ከተመረጠ <ph name="BULK_PRINTERS_WHITELIST" /> ሊመረጡ የሚችሉ አታሚዎችን ብቻ ይሰይማል። ይህ መመሪያ ካልተዋቀረ <ph name="PRINTERS_ALLOW_ALL" /> እንደሆነ ይገመታል። </translation> @@ -641,9 +634,6 @@ የመመሪያ ዋጋው በሚሊሰከንዶች ነው መገለጽ ያለበት። ዋጋዎች ከማያ ገጽ መጥፋት መዘግየት (ከተዋቀረ) እና ስራ ፈትቶ መዘግየት ያነሱ ወይም እኩል ነው የሚሆኑት።</translation> <translation id="2987155890997901449">ARCን ያንቁ</translation> <translation id="2987227569419001736">የድር ብሉቱዝ ኤፒአይን አጠቃቀም ይቆጣጠሩ</translation> -<translation id="3001534538097271560">ይህን ቅንብር ወደ ሐሰት ማዋቀር ተጠቃሚዎች የሆነ የስርዓት መረጃ እና የገጽ ይዘት ወደ የGoogle አገልጋዮች ለመላክ እንዳይመርጡ ያቆማቸዋል። ይህ ቅንብር ወደ እውነት ከተዋቀረ ወይም ካልተዋቀረ አደገኛ መተግበሪያዎችን እና ጣቢያዎችን እንዲገኙ ለማገዝ ተጠቃሚዎች የተወሰነ የስርዓት መረጃ እና የገጽ ይዘት ወደ የጥንቃቄ አሰሳ እንዲልኩ ይፈቀድላቸዋል። - - በSafeBrowsing ላይ ተጨማሪ መረጃ ለማግኘት https://developers.google.com/safe-browsing ን ይመልከቱ።</translation> <translation id="3016255526521614822">በ<ph name="PRODUCT_OS_NAME" /> ማያ ገጽ ቁልፍ ላይ የተፈቀዱ ማስታወሻ የሚወስዱ መተግበሪያዎች በተፈቀደላቸው ዝርዝር ውስጥ ያስገቡ</translation> <translation id="3030000825273123558">ሜትሪክስ ሪፖርት ማድረግን ያንቁ</translation> <translation id="3034580675120919256">ድር ጣቢያዎች JavaScriptን እንዲያሂዱ የሚፈቀድላቸው እንደሆነ እንዲያዋቅሩ ያስችልዎታል። JavaScriptን ማሄድ ለሁሉም ጣቢያዎች ሊፈቀድ ወይም ሊከለከል ይችላል። @@ -1039,7 +1029,6 @@ መተግበሪያው እንዳልተዋቀረ ከተተወ ተጠቃሚው በማያ ገጽ ላይ ለማብራት የሚችላቸው የመተግበሪያዎች ስብስብ ላይ በመመሪያው የሚቀመጡ ምንም ዓይነት ገደቦች አይኖሩም።</translation> <translation id="4309640770189628899">በTLS ውስጥ ያሉት የDHE ስነ መሰውር ስብስቦች ነቅተው ከሆነ</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ወይም ከዚያ በኋላ</translation> <translation id="4322842393287974810">የ<ph name="PRODUCT_OS_NAME" /> ስሪትን ለመቆጣጠር ከዜሮ መዘግየት kiosk መተግበሪያ ጋር አብሮ የተጀመረውን ራስ-ሰር ፍቀድ</translation> <translation id="4325690621216251241">የመውጫ አዝራር በስርዓቱ መሣቢያ ላይ ያሳያል</translation> <translation id="4346674324214534449">የሚረብሹ ማስታወቂያዎች ባሉባቸው ጣቢያዎች ላይ ማስታወቂያዎች ይታገዱ እንደሆነ እንዲያዋቅሩ ያስችልዎታል።
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb index 3f5775e..e788722b6 100644 --- a/components/policy/resources/policy_templates_ar.xtb +++ b/components/policy/resources/policy_templates_ar.xtb
@@ -521,13 +521,6 @@ <translation id="267596348720209223">لتحديد ترميزات الحروف المعتمدة من قِبل مزود البحث. والترميزات هي أسماء صفحات الرموز، مثل UTF-8 وGB2312 وISO-8859-1. وتتم تجربتها بالترتيب المذكور. هذه السياسة اختيارية. وإذا لم يتم تعيينها، فسيتم استخدام الترميز الافتراضي وهو UTF-8. لا يتم الالتزام بهذه السياسة إلا إذا تم تمكين السياسة 'DefaultSearchProviderEnabled'.</translation> <translation id="2682225790874070339">لتعطيل Drive في تطبيق الملفات لنظام التشغيل <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">تمكين ميزة ضغط البيانات في الخادم الوكيل</translation> -<translation id="2726613915126661822">تسمح لك بالتحكم فيما إذا كان يُسمح للآلات الافتراضية بالتشغيل على نظام التشغيل Chrome أم لا. - - إذا تم تعيين السياسة على "True"، يتم السماح للجهاز بتشغيل الآلات الافتراضية. - وإذا تم تعيين هذه السياسة على "False"، لن يتم السماح للجهاز بتشغيل الآلات الافتراضية. - عند تغيير هذه السياسة إلى "False"، يتم تطبيق ذلك على بدء تشغيل الآلات الافتراضية الجديدة، ولكن لا يتم إغلاق الآلات الافتراضية التي تُعد قيد التشغيل من قبل. - وعند عدم تعيين هذه السياسة على جهاز مُدار، لن يتم السماح للجهاز بتشغيل الآلات الافتراضية. - يتم السماح للأجهزة غير المُدارة بتشغيل الآلات الافتراضية.</translation> <translation id="2731627323327011390">تعطيل استخدام شهادات <ph name="PRODUCT_OS_NAME" /> لتطبيقات ARC</translation> <translation id="2742843273354638707">إخفاء تطبيق سوق Chrome الإلكتروني ورابط التذييل من صفحة علامة تبويب جديدة ومشغل تطبيق نظام التشغيل <ph name="PRODUCT_OS_NAME" />. عند تعيين هذه السياسة على "True"، يتم إخفاء الرموز. عند تعيين هذه السياسة على "False" أو لم تتم تهيئتها، تكون الرموز مرئية</translation> <translation id="2744751866269053547">تسجيل معالجات البروتوكول</translation> @@ -613,9 +606,6 @@ يجب تحديد قيمة السياسة بالمللي ثانية. يجب أن تكون القيم أقل من أو مساوية لمهلة إيقاف تشغيل الشاشة (في حالة تعيينها) ومهلة وضع الخمول.</translation> <translation id="2987155890997901449">تمكين ARC</translation> <translation id="2987227569419001736">التحكم في استخدام واجهة برمجة تطبيقات بلوتوث الويب</translation> -<translation id="3001534538097271560">يعمل تعيين هذه السياسة على "false" على منع المستخدمين من اختيار إرسال بعض معلومات النظام ومحتوى الصفحة إلى خوادم Google. وفي حالة تعيين هذا الإعداد على "true" أو لم تتم تهيئته، فسيُسمح للمستخدمين بإرسال بعض معلومات النظام ومحتوى الصفحة إلى التصفح الآمن للمساعدة في اكتشاف المواقع والتطبيقات الضارة. - - اطلع على https://developers.google.com/safe-browsing لمزيد من المعلومات عن التصفح الآمن.</translation> <translation id="3016255526521614822">تطبيقات تدوين الملاحظات المضافة إلى القائمة البيضاء والمسموح بها في شاشة تأمين <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">تمكين إعداد تقرير للمقاييس</translation> <translation id="3034580675120919256">للسماح لك بتعيين ما إذا كان يُسمح للمواقع الإلكترونية بتشغيل جافا سكريبت. يمكن أن يكون تشغيل جافا سكريبت مسموحًا به لجميع مواقع الويب أو مرفوضًا لجميع مواقع الويب. إذا تم ترك هذه السياسة بدون تعيين، فسيتم استخدام السياسة 'AllowJavaScript' وسيتمكن المستخدم من تغييرها.</translation> @@ -837,11 +827,11 @@ <translation id="382476126209906314">تهيئة بادئة TalkGadget لعمليات استضافة الدخول عن بُعد</translation> <translation id="3831376478177535007">عند تفعيل هذا الإعداد، سيسمح <ph name="PRODUCT_NAME" /> بالوثوق في الشهادات التي تم إصدارها من خلال عمليات البنية الأساسية للمفاتيح العامة (PKI) القديمة لشركة Symantec إذا تم بخلاف ذلك التحقق منها بنجاح وربطها بشهادات CA معروفة. - يُرجى ملاحظة أن هذه السياسة تعتمد على نظام التشغيل الذي لا يزال يتعرّف على الشهادات من البنية الأساسية القديمة لشركة Symantec. وفي حال تغيير تحديث نظام التشغيل لمعالجة نظام التشغيل لمثل هذه الشهادات، لن تكون لهذه السياسة تأثير بعد الآن. علاوة على ذلك، تُعد هذه السياسة بمثابة حل بديل مؤقت لمنح المؤسسات المزيد من الوقت للانتقال من شهادات شركة Symantic القديمة. وستتم إزالة هذه السياسة اعتبارًا من الأول من كانون الثاني (يناير) 2019 أو بحلول ذلك الوقت. + يُرجى ملاحظة أن هذه السياسة تعتمد على نظام التشغيل الذي لا يزال يتعرّف على الشهادات من البنية الأساسية القديمة لشركة Symantec. وفي حال تغيير تحديث نظام التشغيل لمعالجة نظام التشغيل لمثل هذه الشهادات، لن تكون لهذه السياسة تأثير بعد الآن. علاوة على ذلك، تُعد هذه السياسة بمثابة حل بديل مؤقت لمنح المؤسسات المزيد من الوقت للانتقال من شهادات شركة Symantic القديمة. وستتم إزالة هذه السياسة اعتبارًا من 1 كانون الثاني (يناير) 2019 أو بحلول ذلك الوقت. في حال عدم تعيين هذه السياسة، أو عند تعيينها على "false"، يتبع عندئذ <ph name="PRODUCT_NAME" /> الجدول الزمني للإيقاف والذي تم الإفصاح عنه علنًا. - يُرجى الاطلاع على https://g.co/chrome/symantecpkicerts للتعرّف على مزيد من المعلومات بخصوص هذا الإيقاف.</translation> + يُرجى الاطلاع على https://g.co/chrome/symantecpkicerts للاطلاع على مزيد من المعلومات بخصوص هذا الإيقاف.</translation> <translation id="383466854578875212">تتيح لك إمكانية تحديد مضيفي الرسائل الأصلية غير المدرجين ضمن القائمة السوداء. تشير قيمة القائمة السوداء * إلى أن جميع مضيفي الرسائل الأصلية ضمن القائمة السوداء ولن يتم تحميل سوى مضيفات الرسائل الأصلية المدرجين في القائمة البيضاء. يتم افتراضيًا إدراج جميع مضيفات الرسائل الأصلية ضمن القائمة البيضاء، ولكن إذا تم إدراج جميع مضيفات الرسائل الأصلية ضمن القائمة السوداء بموجب سياسة، فيمكن استخدام القائمة البيضاء لإلغاء هذه السياسة.</translation> <translation id="384743459174066962">للسماح لك بتعيين قائمة أنماط عناوين URL التي تحدد المواقع التي لا يُسمح لها بفتح النوافذ المنبثقة. إذا تم ترك هذه السياسة بدون تعيين، فسيتم استخدام القيمة الافتراضية العامة لجميع المواقع إما من السياسة 'DefaultPopupsSetting' إذا كان قد تم تعيينها أو من التهيئة الشخصية للمستخدم.</translation> <translation id="3851039766298741586">إبلاغ المعلومات عن جلسة الكشك النشطة، مثل @@ -993,7 +983,6 @@ إذا لم يتم تعيين السياسة، فلن تكون هناك أي قيود تفرضها السياسة على مجموعة التطبيقات التي يستطيع المستخدم تمكينها في شاشة التأمين.</translation> <translation id="4309640770189628899">ما إذا تم تمكين مجموعات تشفير DHE في طبقة النقل الآمنة أم لا</translation> -<translation id="4320376026953250541">إصدار Microsoft Windows XP SP2 أو أحدث</translation> <translation id="4322842393287974810">السماح لتطبيق kiosk الذي يتم تشغيله تلقائيًا بدون أي تأخير بالتحكم في إصدار <ph name="PRODUCT_OS_NAME" />.</translation> <translation id="4325690621216251241">إضافة زر خروج إلى علبة النظام</translation> <translation id="4346674324214534449">تسمح لك بتعيين ما إذا كان يجب حظر الإعلانات على المواقع التي تتضمن إعلانات متداخلة أم لا. @@ -1007,9 +996,9 @@ في حالة التعيين على "false" أو عدم التعيين، عندئذ لا يعرض موفر المحتوى أي معلومات.</translation> <translation id="435461861920493948">تتضمن قائمة الأنماط التي يتم استخدامها للتحكم في مستوى رؤية الحسابات في <ph name="PRODUCT_NAME" />. - ستتم مقارنة كل حساب Google على الجهاز بالأنماط المخزنة في هذه السياسة لتحديد مستوى رؤية الحساب في <ph name="PRODUCT_NAME" />. سيكون الحساب مرئيًا إذا تطابق اسمه مع أي نمط من القائمة. وبخلاف ذلك، سيكون الحساب مخفيًا. + ستتم مقارنة كل حساب على Google على الجهاز بالأنماط المخزنة في هذه السياسة لتحديد مستوى رؤية الحساب في <ph name="PRODUCT_NAME" />. سيكون الحساب مرئيًا إذا تطابق اسمه مع أي نمط من القائمة. وبخلاف ذلك، سيكون الحساب مخفيًا. - يمكنك استخدام حرف البدل '*' لمطابقة أحد الأحرف العشوائية أو عدم مطابقة أي منها. وحرف الإلغاء هو '\'. لذلك، لمطابقة الحرف '*' أو '\' الفعلي، يمكنك وضع '\' أمامهم. + يمكنك استخدام حرف البدل '*' لمطابقة أحد الأحرف العشوائية أو عدم مطابقة أي منها. وحرف الإلغاء هو '\'. لذلك، لمطابقة الحرف '*' أو '\' الفعلي، يمكنك وضع '\' أمامهما. في حال ترك هذه السياسة بدون تعيين، عندئذ ستكون جميع حسابات Google على الجهاز مرئية في <ph name="PRODUCT_NAME" />.</translation> <translation id="436581050240847513">الإبلاغ عن واجهات شبكة الأجهزة</translation>
diff --git a/components/policy/resources/policy_templates_bg.xtb b/components/policy/resources/policy_templates_bg.xtb index ce0cb19..6fd3c6c 100644 --- a/components/policy/resources/policy_templates_bg.xtb +++ b/components/policy/resources/policy_templates_bg.xtb
@@ -517,13 +517,6 @@ <translation id="267596348720209223">Посочва кодиранията на знаците, поддържани от търсещата машина. Това са имена на кодови страници, като UTF-8, GB2312 и ISO-8859-1. Те се изпробват в посочения ред. Това правило не е задължително. В случай че не е зададено, ще се използва кодиране по подразбиране, което е UTF-8. То се спазва само ако правилото „DefaultSearchProviderEnabled“ е активирано.</translation> <translation id="2682225790874070339">Деактивиране на Диск в приложението Файлове за <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Активиране на функцията на прокси сървър за компресиране на данни</translation> -<translation id="2726613915126661822">Дава възможност да контролирате дали изпълняването на виртуални машини да е разрешено под Chrome OS. - -Ако за правилото е зададено True, стартирането на виртуални машини ще бъде позволено на устройството. -При False то ще е забранено. -Когато правилото бъде променено на False, стартирането на нови виртуални машини няма да е възможно, но вече работещите няма да бъдат изключени. -В случай че правилото не е зададено на управлявано устройство, изпълняването на виртуални машини няма да е разрешено на него. -Неуправляваните устройства могат да изпълняват виртуални машини.</translation> <translation id="2731627323327011390">Деактивиране на използването на сертификатите в <ph name="PRODUCT_OS_NAME" /> за приложенията в ARC</translation> <translation id="2742843273354638707">Скрийте от новия раздел в браузъра и от стартовия панел с приложения в <ph name="PRODUCT_OS_NAME" /> иконата на уеб магазина на Chrome и водещата към него връзка в долната част. @@ -615,9 +608,6 @@ Съответната стойност трябва да се посочи в милисекунди. Тя се променя така, че да е по-малка или равна на забавянето преди изключване на екрана (ако е зададено) и на това при неактивност.</translation> <translation id="2987155890997901449">Активиране на ARC</translation> <translation id="2987227569419001736">Контролиране на използването на приложния програмен интерфейс (API) Web Bluetooth</translation> -<translation id="3001534538097271560">При задаване на false за това правило потребителите няма да могат да изпращат до сървърите на Google системна информация и част от съдържанието на страниците. Ако настройката е true или не е конфигурирана, те ще са в състояние да изпращат тези данни до Безопасно сърфиране, за да улеснят откриването на опасни приложения и сайтове. - -Посетете https://developers.google.com/safe-browsing за повече информация относно Безопасно сърфиране.</translation> <translation id="3016255526521614822">Бял списък с приложения, които да могат да се използват за водене на бележки на заключения екран на <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Активиране на съобщаването на показателите</translation> <translation id="3034580675120919256">Позволява да зададете дали на уебсайтовете е разрешено да изпълняват JavaScript. Тази опция може да бъде разрешена или отказана за всички сайтове. Ако това правило е оставено незададено, ще се използва „AllowJavaScript“ и потребителят ще може да го променя.</translation> @@ -998,7 +988,6 @@ Ако правилото не е зададено, няма да има наложени от него ограничения за набора от приложения, които потребителят може да активира на заключения екран.</translation> <translation id="4309640770189628899">Дали пакетите шифри с DHE са активирани в TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 или по-нова версия</translation> <translation id="4322842393287974810">Разрешаване на павилионното приложение, което се стартира автоматично без забавяне, да контролира версията на <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Добавяне на бутон за изход към системната област</translation> <translation id="4346674324214534449">Позволява да посочите дали рекламите на сайтове с натрапчиви реклами да бъдат блокирани.
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb index 66c8b978..483cb9ec 100644 --- a/components/policy/resources/policy_templates_bn.xtb +++ b/components/policy/resources/policy_templates_bn.xtb
@@ -393,7 +393,7 @@ এই সেটিংটি কনফিগার না করা হলে, যেসব ব্যবহারকারী দ্রুত আনলক ব্যবহার করবেন তাদেরকে প্রতিদিন লক স্ক্রীনে তাদের পাসওয়ার্ড লিখতে অনুরোধ করা হবে।</translation> <translation id="2188722565665306629">বাকি থাকা আপডেট প্রয়োগ করার আগে কতদিন ধরে <ph name="PRODUCT_NAME" /> রিলঞ্চের বিজ্ঞপ্তি দেখানো হবে, তা এর মাধ্যমে সেট করা যায়। - আপডেটের জন্য <ph name="PRODUCT_NAME" /> রিলঞ্চ করতে হবে (অথবা <ph name="PRODUCT_OS_NAME" /> রিস্টার্ট করতে হবে), তা কতক্ষণ ধরে ব্যবহারকারীকে ক্রমাগত মনে করিয়ে যাওয়া হবে, সেটি এই নীতির সেটিংসের মাধ্যমে মিলিসেকেন্ডের হিসেবে নির্ধারণ করা যায়। এই সময়সীমার মধ্যে <ph name="RELAUNCH_NOTIFICATION_POLICY_NAME" /> এর নীতির সেটিং অনুযায়ী ব্যবহারকারীকে বারবার আপডেটের প্রয়োজনীয়তার কথা জানিয়ে যাওয়া হবে। নীতিটি সেট করা না হলে ডিফল্ট মান হিসেবে ৬০,৪৮,০০,০০০ মিলিসেকেন্ড (এক সপ্তাহ) বেছে নেওয়া হবে।</translation> + আপডেটের জন্য <ph name="PRODUCT_NAME" /> রিলঞ্চ করতে হবে (অথবা <ph name="PRODUCT_OS_NAME" /> রিস্টার্ট করতে হবে), তা কতক্ষণ ধরে ব্যবহারকারীকে ক্রমাগত মনে করিয়ে যাওয়া হবে, সেটি এই নীতির সেটিংসের মাধ্যমে মিলিসেকেন্ডের হিসেবে নির্ধারণ করা যায়। এই সময়সীমার মধ্যে <ph name="RELAUNCH_NOTIFICATION_POLICY_NAME" /> এর নীতির সেটিং অনুযায়ী ব্যবহারকারীকে বারবার আপডেটের প্রয়োজনীয়তার কথা জানিয়ে যাওয়া হবে। নীতিটি সেট করা না হলে ডিফল্ট মান হিসেবে ৬০৪৮০০০০০ মিলিসেকেন্ড (এক সপ্তাহ) বেছে নেওয়া হবে।</translation> <translation id="2194470398825717446">M61 এ এই নীতিটি আর ব্যবহার করা হচ্ছে না, অনুগ্রহ করে এর পরিবর্তে EcryptfsMigrationStrategy ব্যবহার করুন। ecryptfs এ থাকা কোনও ডিভাইস কিভাবে আচরণ করবে এটি তা উল্লেখ করে এবং সেটি ext4 এনক্রিপশনে রূপান্তর করতে হবে। @@ -623,13 +623,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ফাইলগুলির অ্যাপ্লিকেশানে ড্রাইভ অক্ষম করে</translation> <translation id="268577405881275241">ডেটা কম্প্রেশন প্রক্সি বৈশিষ্ট্যটি সক্ষম করুন</translation> <translation id="2710534340210290498">এই নীতি মিথ্যাতে সেট করা থাকলে, ব্যবহারকারীরা স্ক্রিন লক করতে পারবেন না (শুধুমাত্র ইউজার সেসন থেকে সাইন-আউট করা সম্ভব হবে)। এই নীতি সেট না করা থাকলে বা সত্যতে সেট করা থাকলে, যেসব ব্যবহারকারী পাসওয়ার্ড দিয়ে প্রমাণীকরণ করেছেন তারা স্ক্রিন লক করতে পারবেন।</translation> -<translation id="2726613915126661822">ভার্চুয়াল মেশিন Chrome OS- এ চালানোর অনুমতি দেওয়া হচ্ছে কিনা তা নিয়ন্ত্রণ করতে আপনাকে অনুমতি দেয়। - - নীতিটি যদি ‘ট্রু’তে সেট করা হয় তাহলে ডিভাইসটি ভার্চুয়াল মেশিন চালানোর অনুমতি দেয়। - নীতিটি যদি ‘ফল্সে’ সেট করা হয় তাহলে ডিভাইসটি ভার্চুয়াল মেশিন চালানোর অনুমতি দেবে না। - নীতিটি পরিবর্তন করে যদি ‘ফল্স’ করা হয় তাহলে সেটি নতুন ভার্চুয়াল মেশিন চালানো শুরু করবে কিন্তু আগে থেকে চলতে থাকা ভার্চুয়াল মেশিনটি বন্ধ করবে না। - নীতিটি যদি একটি পরিচালিত ডিভাইসে সেট না করা হয় তাহলে ডিভাইসটি ভার্চুয়াল মেশিন চালানোর অনুমতি দেবে না। - অপরিচালিত ডিভাইসগুলি ভার্চুয়াল মেশিন চালানোর অনুমতি দেয় না।</translation> <translation id="2731627323327011390">ARC-অ্যাপ্লিকেশানগুলিতে <ph name="PRODUCT_OS_NAME" /> শংসাপত্রের ব্যবহার অক্ষম করুন</translation> <translation id="2742843273354638707">নতুন ট্যাবের পৃষ্ঠা এবং <ph name="PRODUCT_OS_NAME" /> অ্যাপ্লিকেশান লঞ্চার থেকে Chrome ওয়েব দোকান অ্যাপ্লিকেশান এবং পাদলেখের লিঙ্ক লুকায়৷ @@ -731,9 +724,6 @@ যখন নীতি সেট না করা থাকে, আরও-নির্দিষ্ট নীতিগুলির কার্যকলাপ অপ্রভাবিত থাকে।</translation> <translation id="2987155890997901449">ARC সক্ষম করে</translation> <translation id="2987227569419001736">ওয়েব ব্লুটুথ API এর ব্যবহার নিয়ন্ত্রণ করে</translation> -<translation id="3001534538097271560">এই নীতিটি ফল্স এ সেট করলে ব্যবহারকারীরা চাইলেও সিস্টেমের কিছু তথ্য এবং পৃষ্ঠার কিছু কন্টেন্ট Google এর সার্ভারে আর পাঠাতে পারবেন না। এটি ট্রু তে সেট করলে বা কনফিগার না করলে বিপজ্জনক অ্যাপ এবং সাইট শনাক্ত করার কাজে সাহায্য করার জন্য ব্যবহারকারীরা সিস্টেমের কিছু তথ্য এবং পৃষ্ঠার কিছু কন্টেন্ট নিরাপদ ব্রাউজিং এ পাঠাতে পারবেন। - - নিরাপদ ব্রাউজিং এর বিষয়ে আরও জানতে https://developers.google.com/safe-browsing এ যান।</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> এর লক স্ক্রিনে নোট লেখার যে অ্যাপগুলি ব্যবহার করা যায়, সেগুলিকে পরিচ্ছন্ন তালিকাতে রাখুন</translation> <translation id="3030000825273123558">ছন্দোবিজ্ঞান প্রতিবেদন সক্ষম করুন</translation> <translation id="3034580675120919256">JavaScript চালনা করার অনুমতি দেওয়া হবে কিনা তা সেট করতে দেয়৷ JavaScript চালনা হয় সমস্ত ওয়েবসাইটের জন্য অনুমোদিত বা সমস্ত ওয়েবসাইটের জন্য অস্বীকৃত৷ @@ -855,7 +845,7 @@ </translation> <translation id="3414260318408232239">এই নীতিটি কনফিগার না করা হলে <ph name="PRODUCT_NAME" /> একটি ডিফল্ট নূন্যতম নীতি ব্যবহার করবে যেটি হল TLS 1.0। - অন্যথায়, একে নিম্নোলিখিত কোনও একটি মানে সেট করা হতে পারে: "tls1", "tls1.1" অথবা "tls1.2"। এটি সেট করা থাকলে <ph name="PRODUCT_NAME" /> নির্দিষ্ট করে দেওয়া ভার্সনের নিচে কোনও SSL/TLS ভার্সন ব্যবহার করবে না। শনাক্ত করা হয়নি সেইসব মান উপেক্ষা করা হবে।</translation> + অন্যথায়, একে নিম্নলিখিত কোনও একটি মানে সেট করা হতে পারে: "tls1", "tls1.1" অথবা "tls1.2"। এটি সেট করা থাকলে <ph name="PRODUCT_NAME" /> নির্দিষ্ট করে দেওয়া ভার্সনের নিচে কোনও SSL/TLS ভার্সন ব্যবহার করবে না। শনাক্ত করা হয়নি সেইসব মান উপেক্ষা করা হবে।</translation> <translation id="3417418267404583991">যদি এই নীতি সত্য সেট করা হয় বা কনফিগার না করা হয়ে থাকে, <ph name="PRODUCT_OS_NAME" /> অতিথি লগইন সক্ষম করবে৷ অতিথি লগইন হল অজ্ঞাতনামা ব্যবহারকারী সেশন এবং এতে কোন পাসওয়ার্ড প্রয়োজন হয় না৷ যদি এই নীতি মিথ্যা সেট করা হয়, <ph name="PRODUCT_OS_NAME" /> অতিথি সেশন শুরু করার অনুমতি দেয় না৷</translation> @@ -992,9 +982,9 @@ যদি এই নীতি সেট না করা অবস্থায় রেখে দেওয়া হয় তবে অন-স্ক্রীণ কীবোর্ড প্রাথমিকভাবে অক্ষম থাকতে পারে কিন্তু যেকোনো সময় ব্যবহারকারী সক্ষম করতে পারবেন৷</translation> <translation id="382476126209906314">দূরবর্তী অ্যাক্সেস হোস্টের জন্য TalkGadget উপসর্গ কনফিগার করুন</translation> -<translation id="3831376478177535007">এই সেটিংসটি চালু করা থাকলে Symantec Corporation এর Legacy PKI অপারেশনের দ্বারা ইস্যু করা সার্টিফিকেটগুলিকে <ph name="PRODUCT_NAME" /> বিশ্বস্ত হিসেবে বিবেচনা করতে দেয়, যদি সেগুলি যাচাই করা যায় এবং স্বীকৃত CA সার্টিফিকেটের সাথে যুক্ত থাকে। +<translation id="3831376478177535007">এই সেটিংসটি চালু করা থাকলে Symantec Corporation-এর Legacy PKI অপারেশনের দ্বারা ইস্যু করা সার্টিফিকেটগুলিকে <ph name="PRODUCT_NAME" /> বিশ্বস্ত হিসেবে বিবেচনা করতে দেয়, যদি সেগুলি যাচাই করা যায় এবং স্বীকৃত CA সার্টিফিকেটের সাথে যুক্ত থাকে। - মনে রাখবেন, অপারেটিং সিস্টেম যদি Symantec এর পুরনো পরিকাঠামোর সার্টিফিকেটকে এখনও স্বীকৃতি দেয়, একমাত্র তাহলেই এই নীতিটি কার্যকর হবে। OS এই ধরনের সার্টিফিকেট কীভাবে গ্রহণ করে তা যদি কোনও OS আপডেটের কারণে পরিবর্তিত হয়, তাহলে এই নীতিটি আর কার্যকর থাকবে না।এছাড়া, Symantec এর পুরনো সার্টিফিকেটের ব্যবহার বন্ধ করে নতুন ব্যবস্থা গ্রহণ করার জন্য এন্টারপ্রাইজদের সময় দিতেই এই নীতিটি সাময়িকভাবে ব্যবহার করা উচিত। ১ জানুয়ারি, ২০১৯ এ অথবা তার আগে পরে এই নীতিটি তুলে নেওয়া হবে। + মনে রাখবেন, অপারেটিং সিস্টেম যদি Symantec-এর পুরনো পরিকাঠামোর সার্টিফিকেটকে এখনও স্বীকৃতি দেয়, একমাত্র তাহলেই এই নীতিটি কার্যকর হবে। OS এই ধরনের সার্টিফিকেট কীভাবে গ্রহণ করে তা যদি কোনও OS আপডেটের কারণে পরিবর্তিত হয়, তাহলে এই নীতিটি আর কার্যকর থাকবে না। এছাড়া, Symantec-এর পুরনো সার্টিফিকেটের ব্যবহার বন্ধ করে নতুন ব্যবস্থা গ্রহণ করার জন্য এন্টারপ্রাইজদের সময় দিতেই এই নীতিটি সাময়িকভাবে ব্যবহার করা উচিত। ১ জানুয়ারি, ২০১৯ এ অথবা তার আগে পরে এই নীতিটি তুলে নেওয়া হবে। যদি এই নীতিটি সেট না করা হয় অথবা 'ফল্সে' সেট করা হয় তাহলে <ph name="PRODUCT_NAME" /> সর্বজনীনভাবে ঘোষণা করা শীঘ্রই বন্ধ করার সময়সূচী অনুসরণ করবে। @@ -1202,7 +1192,6 @@ যদি নীতিটি সেট না করা হয়, তাহলে লক স্ক্রিনে সক্ষম করা যাবে এমন সমস্ত অ্যাপের উপরে আর কোনও বিধিনিষেধ থাকবে না।</translation> <translation id="4309640770189628899">TLS এ RC4 সাইফার স্যুট সক্ষম আছে কিনা</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 বা পরবর্তী</translation> <translation id="4322842393287974810">শূন্য বিলম্ব সহ স্বয়ংক্রিয় লঞ্চ হওয়া কিয়স্ক অ্যাপ্লিকেশানকে <ph name="PRODUCT_OS_NAME" /> সংস্করণ নিয়ন্ত্রণের অনুমতি দিন</translation> <translation id="4325690621216251241">সিস্টেম ট্রেতে একটি লগ আউট বোতাম জুড়ুন</translation> <translation id="4346674324214534449">যে সাইটে ব্যাঘাতকারী বিজ্ঞাপন দেখানো হয় সেই সব সাইটে বিজ্ঞাপনগুলি ব্লক করা উচিত কিনা তা আপনাকে সেট করার অনুমতি দেয়। @@ -1218,7 +1207,7 @@ <ph name="PRODUCT_NAME" /> এ অ্যাকাউন্টগুলি কীভাবে দেখা যাবে তা নির্ধারণ করতে, ডিভাইসে থাকা প্রতিটি Google অ্যাকাউন্টকে এই নীতিতে স্টোর করা প্যাটার্নের সাথে মিল করানো হবে। যদি তালিকার কোনও প্যাটার্নের সাথে অ্যাকাউন্টের নাম মিলে যায় তাহলে সেটি দেখানো হবে। নাহলে অ্যাকাউন্টটি আড়াল করে রাখা হবে। -ইচ্ছামতো সংখ্যক বর্ণের সাথে মিল করানোর জন্য ওয়াইল্ডকার্ড বর্ণ '*' ব্যবহার করুন। '\' হল ব্যতিক্রমী বর্ণ, তাই বাস্তবিক '*' বা '\' বর্ণের সাথে মিল করানোর জন্য সেগুলির সামনে '\' লিখুন। +ইচ্ছেমতো সংখ্যক বর্ণের সাথে মিল করানোর জন্য ওয়াইল্ডকার্ড বর্ণ '*' ব্যবহার করুন। '\' হল ব্যতিক্রমী বর্ণ, তাই বাস্তবিক '*' বা '\' বর্ণের সাথে মিল করানোর জন্য সেগুলির সামনে '\' লিখুন। যদি এই নীতিটি সেট না করা হয় তাহলে এই ডিভাইসের প্রতিটি Google অ্যাকাউন্ট <ph name="PRODUCT_NAME" /> এ দেখানো হবে।</translation> <translation id="4360826270668210664">যদি এই নীতি সেট করা থাকে তাহলে দূরবর্তী অ্যাক্সেস হোস্টের সাথে সংযোগ করার জন্য প্রমাণীকরণ ক্লায়েন্টকে এই URL থেকে একটি প্রমাণীকরণ টোকেন প্রাপ্ত হবে। RemoteAccessHostTokenValidationUrl এর সাথে ব্যবহার করা আবশ্যক।
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb index 817b2f89..eabd3c7 100644 --- a/components/policy/resources/policy_templates_ca.xtb +++ b/components/policy/resources/policy_templates_ca.xtb
@@ -516,13 +516,6 @@ <translation id="267596348720209223">Especifica les codificacions de caràcters que admet el proveïdor de cerca. Les codificacions són noms de pàgines de codi com ara UTF-8, GB2312 i ISO-8859-1. Es proven per ordre. Aquesta política és opcional. Si no es defineix, s'utilitzarà el valor predeterminat, que és UTF-8. Aquesta política només es respecta si la política "DefaultSearchProviderEnabled" està activada.</translation> <translation id="2682225790874070339">Desactiva Drive a l'aplicació Fitxers de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Activa la funció del servidor intermediari de compressió de dades</translation> -<translation id="2726613915126661822">Et permet controlar si es poden executar ordinadors virtuals a Chrome OS. - - Si la política es defineix en "true", el dispositiu pot executar ordinadors virtuals. - Si la política es defineix en "false", el dispositiu no pot executar ordinadors virtuals. - Quan la política es canvia a "false", afecta l'execució d'ordinadors virtuals nous, però no apaga els que ja s'estan executant. - Quan la política no es defineix en un dispositiu gestionat, el dispositiu no té permís per executar ordinadors virtuals. - Els dispositius no gestionats tenen permís per executar ordinadors virtuals.</translation> <translation id="2731627323327011390">Desactiva l'ús de certificats de <ph name="PRODUCT_OS_NAME" /> a les aplicacions ARC</translation> <translation id="2742843273354638707">Amaga l'aplicació Chrome Web Store i l'enllaç de la part inferior de la pàgina a la pàgina Pestanya nova i al Menú d'aplicacions de <ph name="PRODUCT_OS_NAME" />. @@ -587,6 +580,12 @@ <translation id="2893546967669465276">Envia registres del sistema al servidor de gestió</translation> <translation id="2899002520262095963">Les aplicacions per a Android poden utilitzar les configuracions de xarxa i els certificats de CA establerts a través d'aquesta política, però no tenen accés a algunes opcions de configuració.</translation> <translation id="2906874737073861391">Llista d'extensions d'AppPack</translation> +<translation id="2907992746861405243">Controla quines impressores de la política <ph name="BULK_PRINTERS_POLICY" /> tenen disponibles els usuaris. + + Determina quina política d'accés s'utilitza per a la configuració massiva d'impressores. Si se selecciona <ph name="PRINTERS_ALLOW_ALL" />, es mostren totes les impressores. Si se selecciona <ph name="PRINTERS_BLACKLIST" />, s'utilitza <ph name="BULK_PRINTERS_BLACKLIST" /> per restringir l'accés a les impressores especificades. Si se selecciona <ph name="PRINTERS_WHITELIST" />, <ph name="BULK_PRINTERS_WHITELIST" /> només mostra les impressores disponibles. + + Si aquesta política no es defineix, es pressuposa que s'aplica <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Nombre màxim de connexions paral·leles al servidor intermediari</translation> <translation id="2956777931324644324">Aquesta política s'ha retirat a partir de <ph name="PRODUCT_NAME" />, versió 36. @@ -608,9 +607,6 @@ El valor de la política s'ha d'indicar en mil·lisegons i es limita perquè sigui inferior o igual al retard de desactivació (si s'ha definit) i al retard d'inactivitat.</translation> <translation id="2987155890997901449">Activa ARC</translation> <translation id="2987227569419001736">Controla l'ús de l'API Web Bluetooth</translation> -<translation id="3001534538097271560">Si s'estableix aquesta política en "false", els usuaris no poden decidir si volen que algunes dades del sistema i contingut de les pàgines s'enviïn als servidors de Google. Si aquesta opció de configuració s'estableix en "true" o no s'estableix, els usuaris poden enviar aquestes dades a Navegació segura per ajudar a detectar les aplicacions i els llocs perillosos. - - Per obtenir més informació sobre Navegació segura, consulta https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Afegeix a la llista blanca les aplicacions per prendre notes que es permeten a la pantalla de bloqueig de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Activa la creació d'informes de mètriques</translation> <translation id="3034580675120919256">Us permet definir si els llocs web poden executar JavaScript. L'execució de JavaScript es pot autoritzar o denegar per a tots els llocs web. Si no es defineix aquesta política, s'utilitzarà el paràmetre "AllowJavaScript" i l'usuari podrà canviar-lo.</translation> @@ -720,6 +716,9 @@ Si s'utilitza, l'usuari només tindrà a la seva disposició les impressores amb identificadors que coincideixin amb els valors d'aquesta política. Els identificadors han de correspondre amb les entrades del fitxer especificat a <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Si aquesta política no es configura, <ph name="PRODUCT_NAME" /> utilitzarà TLS 1.0 com a versió mínima predeterminada. + + També es pot definir en un dels valors següents: "tls1", "tls1.1" o "tls1.2". Quan s'hagi definit, <ph name="PRODUCT_NAME" /> no utilitzarà versions SSL/TLS inferiors a la versió especificada. Els valors que no es reconeguin s'ignoraran.</translation> <translation id="3417418267404583991">Si aquesta política es defineix a «true» (cert) o no es configura, <ph name="PRODUCT_OS_NAME" /> permetrà els inicis de sessió de convidat. Aquests inicis de sessió són sessions d'usuari anònimes i no cal introduir cap contrasenya. Si aquesta política es defineix a «false» (fals), <ph name="PRODUCT_OS_NAME" /> no permetrà que s'iniciïn les sessions de convidat.</translation> @@ -825,6 +824,13 @@ Si aquesta política es deixa sense configurar, el teclat en pantalla es desactivarà inicialment, però l'usuari el podrà activar en qualsevol moment.</translation> <translation id="382476126209906314">Configuració del prefix TalkGadget per als amfitrions d'accés remot</translation> +<translation id="3831376478177535007">Quan s'activa aquesta opció de configuració, <ph name="PRODUCT_NAME" /> permet que es confiï en els certificats emesos per les operacions de PKI heretades de Symantec Corporation, sempre que puguin validar correctament un certificat de CA reconegut i s'hi puguin encadenar. + + Tingues en compte que aquesta política depèn que el sistema operatiu continuï reconeixent certificats de la infraestructura heretada de Symantec. Si una actualització del sistema operatiu canvia la gestió d'aquest tipus de certificats, aquesta política deixarà de tenir efecte. A més, aquesta política és una solució temporal per donar més temps a les empreses per desvincular-se dels certificats de Symantec heretats i se suprimirà l'1 de gener del 2019 o un dia proper a aquesta data. + + Si aquesta política no s'estableix o s'estableix en "false", <ph name="PRODUCT_NAME" /> seguirà el programa de desactivació anunciat públicament. + + Consulta https://g.co/chrome/symantecpkicerts per obtenir més informació sobre aquesta desactivació.</translation> <translation id="383466854578875212">Us permet especificar quins amfitrions de missatgeria nativa no s'han d'incloure a la llista negra. Un valor de llista negra de "*" significa que tots els amfitrions de missatgeria nativa són a la llista negra i que només es carregaran els que s'indiquin a la llista blanca. @@ -979,7 +985,6 @@ Si la política no es defineix, no imposarà cap restricció al conjunt d'aplicacions que l'usuari pot activar a la pantalla de bloqueig.</translation> <translation id="4309640770189628899">Si els sistemes de xifratge DHE de TLS estan activats</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 o una versió posterior</translation> <translation id="4322842393287974810">Permet que l'aplicació de quiosc d'inici automàtic sense retards controli la versió de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Afegeix un botó de tancament de sessió a la safata del sistema</translation> <translation id="4346674324214534449">Et permet definir si s'han de bloquejar els anuncis als llocs web amb anuncis intrusius. @@ -993,7 +998,7 @@ Si s'estableix en "false" o no s'estableix, el proveïdor de contingut no ofereix informació.</translation> <translation id="435461861920493948">Conté una llista dels patrons que s'utilitzen per controlar la visibilitat dels comptes a <ph name="PRODUCT_NAME" />. - Per determinar-ne la visibilitat a <ph name="PRODUCT_NAME" />, cada compte de Google que hi hagi al dispositiu es compararà amb els patrons emmagatzemats en aquesta política. Si el nom d'un compte coincideix amb algun dels patrons de la llista, es podrà veure. En cas contrari, s'amagarà. + Per determinar-ne la visibilitat a <ph name="PRODUCT_NAME" />, cada compte de Google que hi hagi al dispositiu es compararà amb els patrons emmagatzemats en aquesta política. Si el nom d'un compte coincideix amb algun dels patrons de la llista, el compte es podrà veure. En cas contrari, s'amagarà. Utilitza el caràcter comodí "*" per cercar coincidències amb zero o més caràcters arbitraris. El caràcter d'escapada és "\", per tant, col·loca'l davant de "*" o "\" per obtenir instàncies reals d'aquests caràcters.
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb index c7c8331..2a08a0f 100644 --- a/components/policy/resources/policy_templates_cs.xtb +++ b/components/policy/resources/policy_templates_cs.xtb
@@ -524,13 +524,6 @@ Zásada bude dodržována pouze v případě, že je aktivní zásada DefaultSearchProviderEnabled.</translation> <translation id="2682225790874070339">Zakáže v aplikaci Soubory v systému <ph name="PRODUCT_OS_NAME" /> přístup k Disku.</translation> <translation id="268577405881275241">Aktivace funkce datové komprese proxy serveru</translation> -<translation id="2726613915126661822">Umožňuje určit, zda má být v systému Chrome OS povoleno spouštění virtuálních počítačů. - - Pokud je tato zásada nastavena na hodnotu True, spouštění virtuálních počítačů je v zařízení povoleno. - Pokud je tato zásada nastavena na hodnotu False, spouštění virtuálních počítačů v zařízení povoleno není. - Při změně na hodnotu False se na spouštění nových virtuálních počítačů použije nové nastavení, ale již spuštěné virtuální počítače nebudou ukončeny. - Pokud tato zásada není nastavena na spravovaném zařízení, spouštění virtuálních počítačů v něm nebude povoleno. - Na zařízeních, která nejsou spravována, je spouštění virtuálních počítačů povoleno.</translation> <translation id="2731627323327011390">Zakázat aplikacím ARC používání certifikátů systému <ph name="PRODUCT_OS_NAME" /></translation> <translation id="2742843273354638707">Skryje ze stránky Nová karta a ze spouštěče aplikací systému <ph name="PRODUCT_OS_NAME" /> aplikaci Internetový obchod Chrome a odkaz na zápatí. @@ -595,6 +588,12 @@ <translation id="2893546967669465276">Odesílat systémové protokoly na server správy</translation> <translation id="2899002520262095963">Aplikace Android mohou používat konfigurace sítě a certifikáty CA nastavené pomocí této zásady, ale nemají přístup k některým možnostem konfigurace.</translation> <translation id="2906874737073861391">Seznam rozšíření AppPack</translation> +<translation id="2907992746861405243">Určuje, které tiskárny ze zásady <ph name="BULK_PRINTERS_POLICY" /> budou uživatelům dostupné. + + Stanovuje, která zásada přístupu se použije pro hromadnou konfiguraci tiskáren. Je-li vybrána možnost <ph name="PRINTERS_ALLOW_ALL" />, budou zobrazeny všechny tiskárny. Je-li vybrána možnost <ph name="PRINTERS_BLACKLIST" />, bude zakázán přístup k tiskárnám uvedeným v zásadě <ph name="BULK_PRINTERS_BLACKLIST" />. Je-li vybrána možnost <ph name="PRINTERS_WHITELIST" />, bude možné vybrat pouze tiskárny uvedené v zásadě <ph name="BULK_PRINTERS_WHITELIST" />. + + Pokud tato zásada není nastavena, předpokládá se použití možnosti <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maximální počet současných připojení k proxy serveru</translation> <translation id="2956777931324644324">Podpora této zásady byla ve verzi 36 prohlížeče <ph name="PRODUCT_NAME" /> ukončena. @@ -616,9 +615,6 @@ Hodnotu zásady zadávejte v milisekundách. Maximální hodnota je stejná jako prodleva vypnutí obrazovky (pokud je nastavena) a prodleva režimu spánku.</translation> <translation id="2987155890997901449">Povolit rozšíření ARC</translation> <translation id="2987227569419001736">Ovládat používání rozhraní Web Bluetooth API</translation> -<translation id="3001534538097271560">Pokud tuto zásadu nastavíte na hodnotu false, uživatelé nebudou moci zvolit, že se mají některé informace o systému a obsahu stránek odeslat na servery Google. Pokud je tato zásada nastavena na hodnotu true nebo není nakonfigurována, uživatelé budou moci odesílat část informací o systému a obsahu stránek do Bezpečného prohlížení a pomoci tak zjišťovat nebezpečné aplikace a weby. - - Další informace o Bezpečném prohlížení najdete na stránce https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Seznam povolených aplikací k přidávání poznámek na obrazovku uzamčení v systému <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Povolit hlášení o metrikách</translation> <translation id="3034580675120919256">Umožňuje nastavit, zda mohou webové stránky spouštět JavaScript. Spouštění JavaScriptu lze buď povolit pro všechny weby, nebo naopak pro všechny weby zakázat. @@ -730,6 +726,9 @@ Je-li tato zásada použita, bude mít uživatel k dispozici pouze tiskárny, jejichž ID se shodují s hodnotami v této zásadě. ID musejí odpovídat položkám v souboru, který je uveden v zásadě <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Pokud tato zásada není nakonfigurovaná, používá <ph name="PRODUCT_NAME" /> výchozí minimální verzi, což je TLS 1.0. + + Jinak lze zásadu nastavit na jednu z těchto hodnot: tls1, tls1.1 nebo tls1.2. Je-li nastavena, nebude <ph name="PRODUCT_NAME" /> používat verze protokolů SSL a TLS nižší, než je uvedená verze. Nerozpoznané hodnoty budou ignorovány.</translation> <translation id="3417418267404583991">Pokud je tato zásada nastavena na hodnotu True nebo není nastavena, povolí systém <ph name="PRODUCT_OS_NAME" /> přihlášení hosta. Přihlášení hosta jsou anonymní uživatelské relace a nevyžadují heslo. Je-li tato zásada nastavena na hodnotu False, systém <ph name="PRODUCT_OS_NAME" /> spuštění relací hosta nepovolí.</translation> @@ -841,6 +840,13 @@ Pokud ji ponecháte nenastavenou, softwarová klávesnice bude ve výchozím nastavení zakázána, ale uživatelé ji budou moci kdykoli povolit.</translation> <translation id="382476126209906314">Konfigurovat předponu TalkGadget pro hostitele vzdáleného přístupu</translation> +<translation id="3831376478177535007">Když je toto nastavení aktivováno, povoluje <ph name="PRODUCT_NAME" /> důvěřovat certifikátům vydaným pomocí operací starší infrastruktury PKI společnosti Symantec (pokud je jinak možné je úspěšně ověřit a propojit s uznávaným certifikátem CA). + + Upozorňujeme, že tato zásada závisí na tom, zda operační systém stále uznává certifikáty ze starší infrastruktury společnosti Symantec. Jestliže při aktualizaci operačního systému dojde ke změně zpracování takových certifikátů operačním systémem, tato zásada již nebude fungovat. Tato zásada je určena jako dočasné řešení, které má podnikům poskytnout více času k přechodu ze starších certifikátů Symantec na jiné. Kolem 1. ledna 2019 bude odstraněna. + + Pokud tato zásada není nastavena nebo je nastavena na hodnotu false, bude se <ph name="PRODUCT_NAME" /> řídit veřejně publikovaným harmonogramem ukončení podpory. + + Další informace o tomto ukončení podpory najdete na stránce https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Umožňuje určit, na které hostitele zasílání nativních zpráv se nebude vztahovat seznam zakázaných hostitelů. Hodnota * v seznamu zakázaných znamená, že jsou všichni hostitelé zasílání nativních zpráv zakázáni a že budou načteni pouze hostitelé uvedení na seznamu povolených hostitelů. @@ -996,7 +1002,6 @@ Pokud zásada nebude nastavena, nebudou na základě zásady uplatňována žádná omezení ohledně sady aplikací, které uživatel může na obrazovce uzamčení povolit.</translation> <translation id="4309640770189628899">Zda jsou v protokolu TLS povoleny šifrovací sady DHE</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 nebo novější</translation> <translation id="4322842393287974810">Povolit automaticky spouštěné terminálové aplikaci s nulovým zpožděním ovládat verzi systému <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Přidat na hlavní panel systému tlačítko pro odhlášení</translation> <translation id="4346674324214534449">Umožňuje nastavit, zda mají být blokovány reklamy na webech s rušivými reklamami.
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb index b843345..43db927 100644 --- a/components/policy/resources/policy_templates_da.xtb +++ b/components/policy/resources/policy_templates_da.xtb
@@ -519,13 +519,6 @@ <translation id="267596348720209223">Angiver tegnkodninger, der understøttes af søgemaskinen. Kodninger er tegntabelnavne såsom UTF-8, GB2312, og ISO-8859-1. De afprøves i den angivne rækkefølge. Denne politik er valgfri. Hvis den ikke er angivet, anvendes standarden, UTF-8. Denne politik respekteres kun, hvis politikken "DefaultSearchProviderEnabled" er aktiveret.</translation> <translation id="2682225790874070339">Deaktiverer Drev i appen Filer i <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Aktivér proxyfunktionen for datakomprimering</translation> -<translation id="2726613915126661822">Giver dig mulighed for at bestemme, om virtuelle maskiner skal have tilladelse til at køre i Chrome OS. - - Hvis politikken er indstillet til Sand, har enheden tilladelse til at køre virtuelle maskiner. - Hvis politikken er indstillet til Falsk, har enheden ikke tilladelse til at køre virtuelle maskiner. - Hvis indstillingen for politikken ændres til Falsk, gælder den for start af nye virtuelle maskiner, men den stopper ikke virtuelle maskiner, som allerede kører. - Hvis politikken ikke angives på en administreret enhed, har enheden ikke tilladelse til at køre virtuelle maskiner. - Enheder, der ikke administreres, har tilladelse til at køre virtuelle maskiner.</translation> <translation id="2731627323327011390">Deaktiver brug af certifikater i <ph name="PRODUCT_OS_NAME" /> til ARC-apps</translation> <translation id="2742843273354638707">Skjul appen Chrome Webshop og linket i sidefoden på siden Ny fane og applisten for <ph name="PRODUCT_OS_NAME" />. @@ -617,7 +610,6 @@ Politikkens værdi skal angives i millisekunder. Værdierne reduceres, så de er mindre end eller lig med skærmslukforsinkelsen (hvis angivet) og inaktivitetsforsinkelsen.</translation> <translation id="2987155890997901449">Aktivér ARC</translation> <translation id="2987227569419001736">Kontrollér brugen af Web Bluetooth API</translation> -<translation id="3001534538097271560">Hvis denne politik angives som Falsk, forhindres brugerne i at sende visse former for systemoplysninger og sideindhold til Googles servere. Hvis denne indstilling er angivet som Sand eller ikke er angivet, kan brugerne sende visse former for systemoplysninger og sideindhold til Beskyttet browsing som en hjælp til at registrere skadelige apps og websites. Se https://developers.google.com/safe-browsing for flere oplysninger om Beskyttet browsing.</translation> <translation id="3016255526521614822">Hvidlistedeapps til notatskrivning er tilladt på <ph name="PRODUCT_OS_NAME" />-låseskærmen</translation> <translation id="3030000825273123558">Aktivér metrics-rapportering</translation> <translation id="3034580675120919256">Giver dig mulighed for at angive, om websites må køre JavaScript. Kørsel af JavaScript kan enten være tilladt for alle websites eller nægtet for alle websites. Hvis denne politik ikke angives, anvendes "AllowJavaScript", og brugeren vil kunne ændre det.</translation> @@ -728,7 +720,7 @@ </translation> <translation id="3414260318408232239">Hvis denne politik ikke konfigureres, anvender <ph name="PRODUCT_NAME" /> en standardminimumversion, som er TLS 1.0. - Den kan også angives til en af følgende værdier: "tls1", "tls1.1" eller "tls1.2". Når der er angivet en værdi, vil <ph name="PRODUCT_NAME" /> ikke anvende SSL/TLS-versioner, der er mindre end den angivne version. Ukendte værdier ignoreres.</translation> + Den kan også angives til en af følgende værdier: "tls1", "tls1.1" eller "tls1.2". Når der er angivet en værdi, anvender <ph name="PRODUCT_NAME" /> ikke SSL/TLS-versioner, der er mindre end den angivne version. Ukendte værdier ignoreres.</translation> <translation id="3417418267404583991">Hvis denne politik er angivet til sand eller ikke er konfigureret, aktiverer <ph name="PRODUCT_OS_NAME" /> gæstelogins. Gæstelogins er anonyme brugersessioner, der ikke kræver en adgangskode, Hvis denne politik er angivet til falsk, vil <ph name="PRODUCT_OS_NAME" /> ikke tillade, at der startes gæstesessioner.</translation> @@ -1001,7 +993,6 @@ Hvis politikken ikke angives, pålægges der ingen restriktioner på rækken af apps, som brugeren kan aktivere på låseskærmen, af politikken.</translation> <translation id="4309640770189628899">Afgør, om DHE-krypteringsprogrammerne i TLS aktiveres</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 eller nyere</translation> <translation id="4322842393287974810">Tillad, at den automatisk startede terminalapp uden forsinkelse kontrollerer <ph name="PRODUCT_OS_NAME" />-versionen</translation> <translation id="4325690621216251241">Tilføj en log ud-knap til systembakken</translation> <translation id="4346674324214534449">Giver dig mulighed for at angive, om annoncer skal blokeres på websites med påtrængende annoncer.
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb index d05a9a3..8df819a 100644 --- a/components/policy/resources/policy_templates_de.xtb +++ b/components/policy/resources/policy_templates_de.xtb
@@ -151,7 +151,7 @@ Wenn diese Einstellung deaktiviert oder nicht konfiguriert ist, können Enterprise-Nutzer kein ARC verwenden.</translation> -<translation id="1561424797596341174">Überschreiben von Richtlinien für Fehlerbehebungs-Builds des Hosts für den Remote-Zugriff</translation> +<translation id="1561424797596341174">Überschreiben von Richtlinien für Fehlerbehebungs-Builds des Hosts für den Remotezugriff</translation> <translation id="1561967320164410511">U2F plus Erweiterungen zur individuellen Bestätigung</translation> <translation id="1583248206450240930">Standardmäßig <ph name="PRODUCT_FRAME_NAME" /> verwenden</translation> <translation id="1603058613431276040">Stellt Konfigurationen für gerätegebundene Unternehmensdrucker bereit. @@ -191,7 +191,7 @@ <translation id="1689963000958717134">Ermöglicht das Übernehmen einer per Push übertragenen Netzwerkkonfiguration für alle Nutzer eines <ph name="PRODUCT_OS_NAME" />-Geräts. Die Netzwerkkonfiguration ist ein JSON-formatierter String, der den Open Network Configuration-Vorgaben unter <ph name="ONC_SPEC_URL" /> entspricht.</translation> <translation id="1708496595873025510">Beschränkung für Abruf des Varianten-Seeds festlegen</translation> <translation id="172374442286684480">Speichern von lokalen Daten für alle Websites zulassen</translation> -<translation id="1734716591049455502">Optionen für Remote-Zugriff konfigurieren</translation> +<translation id="1734716591049455502">Optionen für Remotezugriff konfigurieren</translation> <translation id="1736269219679256369">Fortfahren von SSL-Hinweisseite erlauben</translation> <translation id="1749815929501097806">Legt die Nutzungsbedingungen fest, die der Nutzer akzeptieren muss, bevor eine Sitzung mit einem lokalen Gerätekonto gestartet werden kann. @@ -249,7 +249,7 @@ <translation id="1960840544413786116">Genehmigung von Zertifikaten, die von lokalen Vertrauensankern ausgestellt werden, bei denen die "subjectAlternativeName"-Erweiterung fehlt</translation> <translation id="1964634611280150550">Inkognitomodus deaktiviert</translation> <translation id="1964802606569741174">Diese Richtlinie hat keine Auswirkungen auf die Android YouTube App. Wenn der Sicherheitsmodus in YouTube erzwungen werden soll, darf das Installieren der Android YouTube App nicht zugelassen werden.</translation> -<translation id="1969212217917526199">Überschreibt Richtlinien auf Fehlerbehebungs-Builds des Hosts für den Remote-Zugriff +<translation id="1969212217917526199">Überschreibt Richtlinien auf Fehlerbehebungs-Builds des Hosts für den Remotezugriff Der Wert wird als JSON-Wörterbuch für die Verknüpfung zwischen Richtliniennamen und Richtlinienwerten geparst.</translation> <translation id="1969808853498848952">Führt Plug-ins, die eine Autorisierung erfordern, immer aus (eingestellt)</translation> @@ -265,7 +265,7 @@ Wenn diese Richtlinie nicht konfiguriert ist, gilt in <ph name="PRODUCT_NAME" /> der Standardwert von 3 Stunden. Hinweis: Wenn die Plattform Richtlinienbenachrichtigungen unterstützt, wird für die Verzögerung der Aktualisierung 24 Stunden festgelegt und alle Standardwerte der Richtlinie werden ignoriert, da davon ausgegangen wird, dass diese Benachrichtigungen bei jeglichen Richtlinienänderungen automatisch eine Aktualisierung erzwingen. Daher ist ein kürzeres Intervall zwischen den Aktualisierungen nicht erforderlich.</translation> -<translation id="2024476116966025075">Erforderlichen Domainnamen für Remote-Zugriff-Clients konfigurieren</translation> +<translation id="2024476116966025075">Erforderlichen Domainnamen für Remotezugriff-Clients konfigurieren</translation> <translation id="2030905906517501646">Suchbegriff der Standardsuchmaschine</translation> <translation id="203096360153626918">Diese Richtlinie hat keine Auswirkungen auf die Android-Apps. Der Vollbildmodus kann aktiviert werden, auch wenn diese Richtlinie auf <ph name="FALSE" /> gesetzt ist.</translation> <translation id="2043770014371753404">Deaktivierte Unternehmensdrucker</translation> @@ -514,13 +514,6 @@ <translation id="267596348720209223">Gibt die vom Suchanbieter unterstützten Zeichencodierungen an. Codierungen sind Codepage-Namen wie UTF-8, GB2312 und ISO-8859-1. Sie werden in der Reihenfolge durchprobiert, in der sie angegeben werden. Diese Richtlinie ist optional. Ist sie nicht konfiguriert, so kommt der Standardwert UTF-8 zum Einsatz. Diese Richtlinie wird nur umgesetzt, wenn die Richtlinie "DefaultSearchProviderEnabled" aktiviert ist.</translation> <translation id="2682225790874070339">Synchronisierung zwischen Google Drive und der App "Dateien" von <ph name="PRODUCT_OS_NAME" /> deaktivieren</translation> <translation id="268577405881275241">Funktion für Datenkomprimierungs-Proxy aktivieren</translation> -<translation id="2726613915126661822">Mit dieser Einstellung können Sie festlegen, ob virtuelle Maschinen unter Chrome OS ausgeführt werden dürfen. - - Wenn die Richtlinie auf "True" festgelegt ist, dürfen virtuelle Maschinen auf dem Gerät ausgeführt werden. - Wenn die Richtlinie auf "False" festgelegt ist, dürfen keine virtuellen Maschinen auf dem Gerät ausgeführt werden. - Wenn die Richtlinieneinstellung zu "False" geändert wird, gilt dies für den Start neuer virtueller Maschinen. Bereits ausgeführte virtuelle Maschinen werden jedoch nicht heruntergefahren. - Wenn diese Richtlinie auf einem verwalteten Gerät nicht festgelegt ist, dürfen auf dem Gerät keine virtuellen Maschinen ausgeführt werden. - Auf nicht verwalteten Geräten dürfen virtuelle Maschinen ausgeführt werden.</translation> <translation id="2731627323327011390">Verwendung von <ph name="PRODUCT_OS_NAME" />-Zertifikaten für ARC-Apps deaktivieren</translation> <translation id="2742843273354638707">Hiermit werden die Chrome Web Store App und der zugehörige Fußzeilenlink auf der "Neuer Tab"-Seite und im App Launcher von <ph name="PRODUCT_OS_NAME" /> ausgeblendet. @@ -548,7 +541,7 @@ Wenn diese Richtlinie verwendet wird, stehen dem Nutzer nur die Drucker zur Verfügung, deren IDs mit den Werten in dieser Richtlinie übereinstimmen. Die IDs müssen den Einträgen in der Datei entsprechen, die in <ph name="BULK_PRINTERS_POLICY" /> angegeben ist. </translation> -<translation id="2769952903507981510">Erforderlichen Domain-Namen für Remote-Zugriff-Hosts konfigurieren</translation> +<translation id="2769952903507981510">Erforderlichen Domain-Namen für Remotezugriff-Hosts konfigurieren</translation> <translation id="2787173078141616821">Informationen zum Status von Android senden</translation> <translation id="2793923553868251161">Quellen als sicheren Kontext einstufen.</translation> <translation id="2801230735743888564">Nutzern erlauben, das Easter Egg-Dinosaurierspiel zu spielen, wenn das Gerät offline ist. @@ -585,6 +578,12 @@ <translation id="2893546967669465276">Systemprotokolle an den Verwaltungsserver senden</translation> <translation id="2899002520262095963">Android-Apps können die über diese Richtlinie festgelegten Netzwerkkonfigurationen und CA-Zertifikate verwenden, haben jedoch keinen Zugriff auf bestimmte Konfigurationsoptionen.</translation> <translation id="2906874737073861391">Liste der AppPack-Erweiterungen</translation> +<translation id="2907992746861405243">Legt fest, welche Drucker aus <ph name="BULK_PRINTERS_POLICY" /> Nutzern zur Verfügung stehen. + + Gibt an, welche Zugriffsrichtlinie für die Massenkonfiguration von Druckern verwendet wird. Wenn <ph name="PRINTERS_ALLOW_ALL" /> ausgewählt ist, werden alle Drucker angezeigt. Wenn <ph name="PRINTERS_BLACKLIST" /> ausgewählt ist, wird anhand von <ph name="BULK_PRINTERS_BLACKLIST" /> der Zugriff auf die angegebenen Drucker eingeschränkt. Wenn <ph name="PRINTERS_WHITELIST" /> ausgewählt ist, gibt <ph name="BULK_PRINTERS_WHITELIST" /> nur die Drucker an, die ausgewählt werden können. + + Wenn diese Richtlinie nicht konfiguriert ist, wird angenommen, dass <ph name="PRINTERS_ALLOW_ALL" /> ausgewählt ist. + </translation> <translation id="2908277604670530363">Maximale Anzahl gleichzeitiger Verbindungen zum Proxyserver</translation> <translation id="2956777931324644324">Diese Richtlinie wird seit <ph name="PRODUCT_NAME" /> Version 36 nicht mehr verwendet. @@ -594,7 +593,7 @@ <translation id="2957506574938329824">Keine Website darf Zugriff auf Bluetooth-Geräte über die Web Bluetooth API anfordern</translation> <translation id="2957513448235202597">Kontotyp für die <ph name="HTTP_NEGOTIATE" />-Authentifizierung</translation> <translation id="2959898425599642200">Proxy-Umgehungsregeln</translation> -<translation id="2960691910306063964">Authentifizierung ohne PIN für Hosts für den Remote-Zugriff aktivieren oder deaktivieren</translation> +<translation id="2960691910306063964">Authentifizierung ohne PIN für Hosts für den Remotezugriff aktivieren oder deaktivieren</translation> <translation id="2976002782221275500">Hiermit wird angegeben, nach welchem Zeitraum ohne Nutzereingabe der Bildschirm im Akkubetrieb abgedunkelt wird. Wenn für diese Richtlinie ein höherer Wert als null festgelegt wird, gibt dieser an, wie lange ein Nutzer inaktiv sein muss, bevor <ph name="PRODUCT_OS_NAME" /> den Bildschirm abdunkelt. @@ -606,9 +605,6 @@ Der Wert für die Richtlinie muss in Millisekunden angegeben werden. Werte müssen kleiner oder gleich dem Wert der Verzögerung für die Bildschirmabschaltung (falls angegeben) und der Inaktivitätsverzögerung sein.</translation> <translation id="2987155890997901449">ARC aktivieren</translation> <translation id="2987227569419001736">Verwendung der Web Bluetooth API steuern</translation> -<translation id="3001534538097271560">Wenn diese Richtlinie auf "false" eingestellt ist, können Nutzer nicht mehr auswählen, ob sie ausgewählte Systeminformationen und Seiteninhalte an die Google-Server senden möchten. Ist die Richtlinie auf "true" eingestellt oder nicht konfiguriert, können Nutzer einige Systeminformationen und Seiteninhalte an Safe Browsing senden, um bei der Erfassung schädlicher Apps und Websites zu helfen. - - Weitere Informationen zu Safe Browsing finden Sie auf https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Auf dem <ph name="PRODUCT_OS_NAME" />-Sperrbildschirm zulässige Notizen-Apps auf die weiße Liste setzen</translation> <translation id="3030000825273123558">Messdatenberichte aktivieren</translation> <translation id="3034580675120919256">Ermöglicht Ihnen festzulegen, ob Websites JavaScript ausführen dürfen. Das Ausführen von JavaScript kann entweder allen Websites gestattet oder für alle unterbunden werden. Wenn diese Richtlinie nicht konfiguriert ist, so kommt "AllowJavaScript" zum Einsatz, wobei der Nutzer dies ändern kann.</translation> @@ -715,6 +711,9 @@ Wenn diese Richtlinie verwendet wird, stehen dem Nutzer nur die Drucker zur Verfügung, deren IDs mit den Werten in dieser Richtlinie übereinstimmen. Die IDs müssen den Einträgen in der Datei entsprechen, die in <ph name="DEVICE_PRINTERS_POLICY" /> angegeben ist. </translation> +<translation id="3414260318408232239">Wenn diese Richtlinie nicht konfiguriert ist, verwendet <ph name="PRODUCT_NAME" /> standardmäßig eine Mindestversion: die Version TLS 1.0. + + Ansonsten kann sie auf einen der folgenden Werte festgelegt werden: "tls1", "tls1.1" oder "tls1.2". Wenn die Richtlinie konfiguriert ist, verwendet <ph name="PRODUCT_NAME" /> keine SSL- oder TLS-Versionen, die niedriger als die vorgegebene Version sind. Ein unbekannter Wert wird ignoriert.</translation> <translation id="3417418267404583991">Wenn diese Richtlinie auf "true" gesetzt oder nicht konfiguriert ist, sind Gastanmeldungen in <ph name="PRODUCT_OS_NAME" /> möglich. Eine Anmeldung als Gast erfolgt anonym und erfordert keine Passworteingabe. Ist die Richtlinie auf "false" eingestellt, können in <ph name="PRODUCT_OS_NAME" /> keine Gastsitzungen gestartet werden.</translation> @@ -818,7 +817,14 @@ Wenn Sie diese Richtlinie konfigurieren, können die Nutzer sie nicht ändern oder außer Kraft setzen. Wird diese Richtlinie nicht konfiguriert, ist die Bildschirmtastatur zunächst deaktiviert, kann vom Nutzer aber jederzeit aktiviert werden.</translation> -<translation id="382476126209906314">TalkGadget-Präfix für Remote-Zugriff-Hosts konfigurieren</translation> +<translation id="382476126209906314">TalkGadget-Präfix für Remotezugriff-Hosts konfigurieren</translation> +<translation id="3831376478177535007">Wenn diese Einstellung aktiviert ist, werden von <ph name="PRODUCT_NAME" /> Zertifikate genehmigt, die von der veralteten Symantec-PKI herausgegeben werden – vorausgesetzt sie werden erfolgreich überprüft und bilden eine Kette zu einem anerkannten CA-Zertifikat. + + Diese Richtlinie setzt voraus, dass das Betriebssystem die Zertifikate der veralteten Symantec-Infrastruktur noch erkennt. Wenn sich durch ein Update des Betriebssystems die Handhabung solcher Zertifikate ändert, ist diese Richtlinie nicht mehr wirksam. Sie dient zur vorübergehenden Problemumgehung, um Unternehmen mehr Zeit zu geben, veraltete Symantec-Zertifikate zu ersetzen. Diese Richtlinie wird ab dem 1. Januar 2019 entfernt. + + Wenn diese Richtlinie nicht konfiguriert oder als "false" festgelegt ist, wird für <ph name="PRODUCT_NAME" /> der offizielle Beendigungszeitplan herangezogen. + + Weitere Informationen zu dem Beendigungszeitplan finden Sie unter https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Ermöglicht Ihnen, anzugeben, welche Hosts für natives Messaging nicht in die schwarze Liste aufgenommen werden sollen Der Wert "*" für die schwarze Liste bedeutet, dass alle Hosts für natives Messaging in die schwarze Liste aufgenommen werden und dass nur Hosts für natives Messaging geladen werden, die auf der Whitelist stehen. @@ -932,7 +938,7 @@ <translation id="4121350739760194865">App-Werbung nicht auf der "Neuer Tab"-Seite anzeigen</translation> <translation id="4157003184375321727">Betriebssystem- und Firmware-Version melden</translation> <translation id="4183229833636799228">"<ph name="FLASH_PLUGIN_NAME" />" als Standardeinstellung</translation> -<translation id="4192388905594723944">URL zur Überprüfung des Client-Authentifizierungs-Tokens für den Remote-Zugriff</translation> +<translation id="4192388905594723944">URL zur Überprüfung des Client-Authentifizierungs-Tokens für den Remotezugriff</translation> <translation id="4203389617541558220">Hiermit kann die Betriebszeit des Geräts durch die Planung automatischer Neustarts begrenzt werden. Wenn diese Richtlinie konfiguriert ist, wird damit die Dauer der Gerätebetriebszeit angegeben, nach der ein automatischer Neustart geplant ist. @@ -974,7 +980,6 @@ Wenn die Richtlinie nicht eingerichtet ist, gibt es vonseiten der Richtlinie keinerlei Einschränkungen im Hinblick auf die Apps, die der Nutzer auf dem Sperrbildschirm aktivieren kann.</translation> <translation id="4309640770189628899">Festlegen, ob DHE-Verschlüsselungssammlungen in TLS aktiviert sind</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 oder höher</translation> <translation id="4322842393287974810">Der automatisch ohne Verzögerung gestarteten Kiosk-App die Steuerung der <ph name="PRODUCT_OS_NAME" />-Version gestatten</translation> <translation id="4325690621216251241">Schaltfläche "Abmelden" zur Taskleiste hinzufügen</translation> <translation id="4346674324214534449">Hiermit kann festgelegt werden, ob die Werbung auf Websites mit aufdringlichen Werbeanzeigen blockiert wird. @@ -1094,7 +1099,7 @@ Beispiele für schwache PINs: PINs, die nur aus einer Ziffer bestehen (1111), PINs, die eine Zahlenfolge enthalten, bei der die Zahlen stets um 1 erhöht werden (1234), PINs, die eine Zahlenfolge enthalten, bei der die Zahlen stets um 1 verringert werden (4321) und PINs, die häufig genutzt werden. Standardmäßig erhalten Nutzer nur eine Warnmeldung – d. h. keine Fehlermeldung – wenn die PIN als schwach eingestuft wird.</translation> -<translation id="4723829699367336876">Firewallausnahme über Client für Remote-Zugriff aktivieren</translation> +<translation id="4723829699367336876">Firewallausnahme über Client für Remotezugriff aktivieren</translation> <translation id="4725528134735324213">Android Backup Service aktivieren</translation> <translation id="4733471537137819387">Strategien im Hinblick auf die integrierte HTTP-Authentifizierung</translation> <translation id="4744190513568488164">Server, auf die <ph name="PRODUCT_NAME" /> zur Authentifizierung verweisen darf. @@ -1259,7 +1264,7 @@ Geben Sie den Richtlinienwert in Millisekunden an. Solange die Inaktivitätsspanne kleiner oder gleich diesem festgelegten Wert ist, erscheint keine Warnung.</translation> <translation id="5307432759655324440">Inkognitomodus - Verfügbarkeit</translation> -<translation id="5318185076587284965">Verwendung von Relayservern durch den Host für den Remote-Zugriff gestatten</translation> +<translation id="5318185076587284965">Verwendung von Relayservern durch den Host für den Remotezugriff gestatten</translation> <translation id="5323128137188992869">Hiermit wird das Streamen von Inhalten an das Gerät über <ph name="PRODUCT_NAME" /> erlaubt. Wird diese Richtlinie auf "false" gesetzt, ist es Nutzern nicht möglich, Inhalte auf ihr Gerät zu streamen. Wird diese Richtlinie auf "true" gesetzt, können Nutzer Inhalte streamen. Ist diese Richtlinie nicht definiert, so können Nutzer zwar keine Inhalte an angemeldete Chrome OS-Geräte streamen, aber an andere Geräte.</translation> @@ -1283,7 +1288,7 @@ Wird "true" festgelegt, werden Statusinformationen übermittelt. Diese Richtlinie wird nur angewendet, wenn Android-Apps aktiviert sind.</translation> -<translation id="5395271912574071439">Aktiviert die Zugangsbeschränkung für Remote-Zugriff-Hosts bei bestehender Verbindung +<translation id="5395271912574071439">Aktiviert die Zugangsbeschränkung für Remotezugriff-Hosts bei bestehender Verbindung Wenn diese Einstellung aktiviert ist, werden die physischen Ein- und Ausgabegeräte des Hosts bei bestehender Remote-Verbindung deaktiviert. @@ -1400,7 +1405,7 @@ <translation id="5835124959204887277">In der Richtlinie werden URLs und Domains spezifiziert, für die keine Eingabeaufforderung angezeigt werden, wenn Nachweiszertifikate von Sicherheitsschlüsseln angefordert werden. Zusätzlich wird an den Sicherheitsschlüssel ein Signal gesendet, das angibt, dass individuelle Nachweise verwendet werden können. Andernfalls erhalten Nutzer in Chrome 65 und höher eine Eingabeaufforderung, wenn von Websites ein Nachweis für Sicherheitsschlüssel angefordert wird. URLs, wie z. B. https://example.com/some/path, werden nur durch U2F-AppIDs bestimmt. Domains, wie z. B. example.com, werden nur durch Webauthn-RP-IDs bestimmt. Um sowohl U2F- als auch Webauthn-APIs in eine bestimmte Website einzubeziehen, müssen deshalb sowohl die AppID-URL als auch die Domain aufgeführt werden.</translation> -<translation id="5836064773277134605">Vom Host für den Remote-Zugriff verwendeten UDP-Portbereich einschränken</translation> +<translation id="5836064773277134605">Vom Host für den Remotezugriff verwendeten UDP-Portbereich einschränken</translation> <translation id="5862253018042179045">Hiermit wird der Standardstatus der Bedienungshilfefunktion für das gesprochene Feedback auf der Anmeldeseite festgelegt. Ist diese Richtlinie auf "true" gesetzt, ist das gesprochene Feedback aktiviert, wenn die Anmeldeseite angezeigt wird. @@ -1413,7 +1418,7 @@ <translation id="5868414965372171132">Netzwerkkonfiguration auf Nutzerebene</translation> <translation id="588135807064822874">"Zum Suchen tippen" aktivieren</translation> <translation id="5883015257301027298">Standardeinstellungen für Cookies</translation> -<translation id="5887414688706570295">Konfiguriert das TalkGadget-Präfix, das von Remote-Zugriff-Hosts verwendet wird, und verhindert, dass dieses von Nutzern geändert werden kann. +<translation id="5887414688706570295">Konfiguriert das TalkGadget-Präfix, das von Remotezugriff-Hosts verwendet wird, und verhindert, dass dieses von Nutzern geändert werden kann. Wenn dieses Präfix angegeben wird, wird es dem TalkGadget-Basisnamen vorangestellt, um einen vollständigen Domain-Namen für das TalkGadget zu erstellen. Der Basisname der TalkGadget-Domain lautet ".talkgadget.google.com". @@ -1421,7 +1426,7 @@ Ist die Einstellung deaktiviert oder nicht festgelegt, wird der Standard-Domain-Name für das TalkGadget ("chromoting-host.talkgadget.google.com") für alle Hosts verwendet. - Clients für den Remote-Zugriff sind von dieser Richtlinieneinstellung nicht betroffen. Diese verwenden immer "chromoting-client.talkgadget.google.com" für den Zugriff auf das TalkGadget.</translation> + Clients für den Remotezugriff sind von dieser Richtlinieneinstellung nicht betroffen. Diese verwenden immer "chromoting-client.talkgadget.google.com" für den Zugriff auf das TalkGadget.</translation> <translation id="5893553533827140852">Wenn diese Einstellung aktiviert ist, wird für Anfragen zur Gnubby-Authentifizierung ein Proxy über eine Remote-Host-Verbindung verwendet. Wenn diese Einstellung deaktiviert oder nicht konfiguriert ist, wird kein Proxy für Anfragen zur Gnubby-Authentifizierung verwendet.</translation> @@ -1512,7 +1517,7 @@ Um Apps an die Übersicht anzuheften, siehe "PinnedLauncherApps".</translation> <translation id="602728333950205286">Google Instant-URL der Standardsuchmaschine</translation> <translation id="603410445099326293">Parameter für URL der Vorschlagsuche, die POST verwendet</translation> -<translation id="6036523166753287175">Firewallausnahme über Host für Remote-Zugriff aktivieren</translation> +<translation id="6036523166753287175">Firewallausnahme über Host für Remotezugriff aktivieren</translation> <translation id="6070667616071269965">Tastaturlayouts der Anmeldeseite</translation> <translation id="6074963268421707432">Anzeige von Desktop-Benachrichtigungen für keine Website zulassen</translation> <translation id="6076099373507468537">Hiermit wird die Liste der USB-Geräte definiert, die vom jeweiligen Kerneltreiber getrennt werden können, um über die chrome.usb API direkt in einer Webanwendung eingesetzt zu werden. Die Einträge bestehen aus der USB-Hersteller-ID und der Produkt-ID, über die die Hardware identifiziert werden kann. @@ -1669,7 +1674,7 @@ <translation id="6658245400435704251">Legt die Anzahl von Sekunden fest, die eine Verzögerung ab dem Übertragungszeitpunkt an den Server maximal betragen darf, wenn ein Gerät ein Update herunterlädt. Die Verzögerungszeit setzt sich aus der Istzeit und der auf die Anzahl der Überprüfungen auf Updates verwendeten Zeit zusammen. Die obere Grenze für den Streufaktor bildet ein konstanter Zeitraum, sodass ein Gerät nur eine begrenzte Zeit lang auf den Download eines Updates wartet.</translation> <translation id="6689792153960219308">Hardwarestatus senden</translation> <translation id="6698071416141001300">Die Kontomeldung "Passwortschutz gefährdet" wird durch die Wiederverwendung eines Passworts ausgelöst</translation> -<translation id="6699880231565102694">Zwei-Faktor-Authentifizierung für Remote-Zugriff-Hosts aktivieren</translation> +<translation id="6699880231565102694">Zwei-Faktor-Authentifizierung für Remotezugriff-Hosts aktivieren</translation> <translation id="6724842112053619797">Wenn Sie diese Einstellung aktivieren, werden die in <ph name="PRODUCT_NAME" />-Profilen gespeicherten Einstellungen, etwa Lesezeichen, AutoFill-Daten und Passwörter, zusätzlich in eine Datei geschrieben, die sich im Roaming-Nutzerprofilordner oder an einem vom Administrator über die Richtlinie <ph name="ROAMING_PROFILE_LOCATION_POLICY_NAME" /> festgelegten Ort befindet. Durch die Aktivierung dieser Richtlinie wird die Cloudsynchronisierung deaktiviert. Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, kommen nur die regulären lokalen Profile zum Einsatz. @@ -1839,7 +1844,7 @@ Falls diese Richtlinie nicht konfiguriert wird, ist die Lupe deaktiviert, wenn die Anmeldeseite das erste Mal angezeigt wird. Die Nutzer können die Lupe jederzeit aktivieren oder deaktivieren und dieser Status bleibt auf der Anmeldeseite erhalten.</translation> <translation id="7249828445670652637"><ph name="PRODUCT_OS_NAME" />-CA-Zertifikate für ARC-Apps aktivieren</translation> -<translation id="7258823566580374486">Zugangsbeschränkung für Remote-Zugriff-Hosts aktivieren</translation> +<translation id="7258823566580374486">Zugangsbeschränkung für Remotezugriff-Hosts aktivieren</translation> <translation id="7260277299188117560">P2P für automatische Updates aktivieren</translation> <translation id="7261252191178797385">Gerätehintergrundbild</translation> <translation id="7266471712301230894">Diese Richtlinie ist ab <ph name="PRODUCT_NAME" /> 64 nicht mehr verfügbar. @@ -1967,7 +1972,7 @@ Mit dieser Richtlinie, die demnächst entfernt wird, sollen Unternehmen die Möglichkeit erhalten, vorhandene Server auf eine andere Version als HTTP/0.9 zu migrieren. Ist die Richtlinie nicht konfiguriert, wird HTTP/0.9 auf nicht standardmäßigen Ports deaktiviert.</translation> -<translation id="7749402620209366169">Aktiviert die Zwei-Faktor-Authentifizierung für Remote-Zugriff-Hosts anstelle einer vom Nutzer angegebenen PIN. +<translation id="7749402620209366169">Aktiviert die Zwei-Faktor-Authentifizierung für Remotezugriff-Hosts anstelle einer vom Nutzer angegebenen PIN. Wenn diese Einstellung aktiviert ist, müssen Nutzer einen gültigen Zwei-Faktor-Code angeben, wenn sie auf einen Host zugreifen möchten. @@ -2059,7 +2064,7 @@ <translation id="802147957407376460">Bildschirm um 0 Grad drehen</translation> <translation id="8044493735196713914">Startmodus von Geräten melden</translation> <translation id="8050080920415773384">Natives Drucken</translation> -<translation id="8059164285174960932">URL, unter der Remote-Zugriff-Clients ihr Authentifizierungs-Token abrufen sollten</translation> +<translation id="8059164285174960932">URL, unter der Remotezugriff-Clients ihr Authentifizierungs-Token abrufen sollten</translation> <translation id="8073243368829195">Verwendung von Smart Lock zulassen</translation> <translation id="8099880303030573137">Inaktivitätsverzögerung im Akkubetrieb</translation> <translation id="8102913158860568230">Standardeinstellung für MediaStream</translation> @@ -2251,7 +2256,7 @@ Wenn diese Einstellung deaktiviert ist, können der Browser- und Downloadverlauf nicht gelöscht werden.</translation> <translation id="8759829385824155666">Erlaubte Kerberos-Verschlüsselungstypen</translation> <translation id="8764119899999036911">Gibt an, ob der generierte Kerberos-SPN auf dem kanonischen DNS-Namen oder dem ursprünglich eingegebenen Namen basiert. Wenn Sie diese Einstellung aktivieren, wird die CNAME-Suche übersprungen und der Servername so wie eingegeben verwendet. Sollten Sie die Einstellung deaktivieren oder nicht konfigurieren, wird der kanonische Name des Servers per CNAME-Suche ermittelt.</translation> -<translation id="87812015706645271">Erfordert, dass der Name des lokalen Nutzers und des Remote-Zugriff-Host-Inhabers übereinstimmen</translation> +<translation id="87812015706645271">Erfordert, dass der Name des lokalen Nutzers und des Remotezugriff-Host-Inhabers übereinstimmen</translation> <translation id="8782750230688364867">Hiermit wird der Prozentsatz angegeben, um den die Spanne für die Bildschirmabdunkelung skaliert wird, wenn sich das Gerät im Präsentationsmodus befindet. Wenn diese Richtlinie konfiguriert ist, wird damit der Prozentsatz für die Skalierung der Spanne für die Bildschirmabdunkelung angegeben, wenn sich das Gerät im Präsentationsmodus befindet. Sollte die Spanne für die Bildschirmabdunkelung skaliert werden, wird die Spanne für die Abschaltung und Sperre des Bildschirms sowie die Inaktivität so angepasst, dass die Abstände der ursprünglichen Konfiguration proportional beibehalten werden. @@ -2350,7 +2355,7 @@ Hinweis: Bis Version 45 wurde diese Richtlinie nur im Kioskmodus unterstützt.</translation> <translation id="8970205333161758602">Hinweis auf Einstellung von <ph name="PRODUCT_FRAME_NAME" /> unterdrücken</translation> <translation id="8971221018777092728">Zeitspanne für automatische Anmeldung in öffentlicher Sitzung</translation> -<translation id="8976248126101463034">Gnubby-Authentifizierung für Remote-Zugriff-Hosts zulassen</translation> +<translation id="8976248126101463034">Gnubby-Authentifizierung für Remotezugriff-Hosts zulassen</translation> <translation id="8976531594979650914">Standarddrucker des Betriebssystems als Standardeinstellung verwenden</translation> <translation id="8992176907758534924">Anzeige von Bildern für alle Websites blockieren</translation> <translation id="9035964157729712237">Aus der schwarzen Liste auszuschließende Erweiterungs-IDs</translation>
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb index 0d8d65d..8fa204e5 100644 --- a/components/policy/resources/policy_templates_el.xtb +++ b/components/policy/resources/policy_templates_el.xtb
@@ -543,13 +543,6 @@ Αυτή η πολιτική τηρείται μόνο αν η πολιτική ''DefaultSearchProviderEnabled'' είναι ενεργοποιημένη.</translation> <translation id="2682225790874070339">Απενεργοποιεί το Drive στην εφαρμογή "Αρχεία" του <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Ενεργοποίηση του διακομιστή μεσολάβησης για τη συμπίεση δεδομένων</translation> -<translation id="2726613915126661822">Σας επιτρέπει να ελέγχετε εάν επιτρέπεται η εκτέλεση εικονικών μηχανημάτων στο Chrome OS. - - Εάν η πολιτική οριστεί ως Αληθής (True), επιτρέπεται στη συσκευή να εκτελεί εικονικά μηχανήματα. - Εάν η πολιτική οριστεί ως Ψευδής (False), δεν θα επιτρέπεται στη συσκευή να εκτελεί εικονικά μηχανήματα. - Όταν η πολιτική αλλάξει σε Ψευδή (False), εφαρμόζεται στην έναρξη νέων εικονικών μηχανημάτων, αλλά δεν τερματίζει τη λειτουργία εικονικών μηχανημάτων που εκτελούνται ήδη. - Εάν αυτή η πολιτική δεν οριστεί σε μια διαχειριζόμενη συσκευή, δεν θα επιτρέπεται στη συσκευή να εκτελεί εικονικά μηχανήματα. - Επιτρέπεται στις μη διαχειριζόμενες συσκευές να εκτελούν εικονικά μηχανήματα.</translation> <translation id="2731627323327011390">Απενεργοποίηση χρήσης πιστοποιητικών <ph name="PRODUCT_OS_NAME" /> σε εφαρμογές ARC</translation> <translation id="2742843273354638707">Απόκρυψη της εφαρμογής Chrome Web Store και του συνδέσμου στο υποσέλιδο από τη σελίδα νέας καρτέλας και τη λειτουργία εκκίνησης εφαρμογών του <ph name="PRODUCT_OS_NAME" />. @@ -614,6 +607,12 @@ <translation id="2893546967669465276">Αποστολή αρχείων καταγραφής συστήματος στο διακομιστή διαχείρισης</translation> <translation id="2899002520262095963">Οι εφαρμογές Android μπορούν να χρησιμοποιήσουν τη διαμόρφωση δικτύου και τα πιστοποιητικά CA που ορίζονται μέσω αυτής της πολιτικής, αλλά δεν έχουν πρόσβαση σε ορισμένες επιλογές διαμόρφωσης.</translation> <translation id="2906874737073861391">Λίστα επεκτάσεων AppPack</translation> +<translation id="2907992746861405243">Ελέγχει ποιοι εκτυπωτές από την πολιτική <ph name="BULK_PRINTERS_POLICY" /> είναι διαθέσιμοι στους χρήστες. + + Καθορίζει ποια πολιτική πρόσβασης χρησιμοποιείται για τη μαζική διαμόρφωση εκτυπωτών. Εάν επιλεγεί η ρύθμιση <ph name="PRINTERS_ALLOW_ALL" /> εμφανίζονται όλοι οι εκτυπωτές. Εάν επιλεγεί η ρύθμιση <ph name="PRINTERS_BLACKLIST" />, χρησιμοποιείται η ρύθμιση <ph name="BULK_PRINTERS_BLACKLIST" /> για τον περιορισμό της πρόσβασης στους καθορισμένους εκτυπωτές. Εάν επιλεγεί η ρύθμιση <ph name="PRINTERS_WHITELIST" /> η ρύθμιση <ph name="BULK_PRINTERS_WHITELIST" /> καθορίζει μόνο τους εκτυπωτές που μπορούν να επιλεγούν. + + Εάν δεν οριστεί αυτή η πολιτική, θεωρείται ότι ισχύει η επιλογή <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Μέγιστος αριθμός ταυτόχρονων συνδέσεων στον διακομιστή μεσολάβησης</translation> <translation id="2956777931324644324">Αυτή η πολιτική έχει αποσυρθεί από την έκδοση 36 του <ph name="PRODUCT_NAME" /> και έπειτα. @@ -635,9 +634,6 @@ Η τιμή πολιτικής πρέπει να προσδιορίζεται σε χιλιοστά δευτερολέπτου. Οι τιμές καθορίζονται έτσι ώστε να είναι μικρότερες από ή ίσες με την καθυστέρηση απενεργοποίησης οθόνης (αν έχει οριστεί) και την καθυστέρηση αδράνειας.</translation> <translation id="2987155890997901449">Ενεργοποίηση ARC</translation> <translation id="2987227569419001736">Έλεγχος της χρήσης του API Bluetooth ιστού</translation> -<translation id="3001534538097271560">Η ρύθμιση αυτής της πολιτικής ως ψευδούς σταματάει τους χρήστες από το να επιλέγουν την αποστολή ορισμένων πληροφοριών συστήματος και περιεχομένου σελίδας στους διακομιστές της Google. Εάν αυτή η ρύθμιση είναι αληθής ή δεν έχει διαμορφωθεί, τότε θα επιτρέπεται στους χρήστες η αποστολή πληροφοριών συστήματος και περιεχομένου σελίδας στην Ασφαλή περιήγηση για τον εντοπισμό επικίνδυνων εφαρμογών και ιστοτόπων. - - Επισκεφτείτε τη διεύθυνση https://developers.google.com/safe-browsing για περισσότερες πληροφορίες σχετικά με την Ασφαλή περιήγηση.</translation> <translation id="3016255526521614822">Εφαρμογές σημειώσεων στη λίστα επιτρεπόμενων που επιτρέπονται στο κλείδωμα οθόνης του <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Ενεργοποίηση αναφοράς μετρήσεων</translation> <translation id="3034580675120919256">Σας επιτρέπει να ορίσετε εάν επιτρέπεται στους ιστότοπους να εκτελούν JavaScript. Η εκτέλεση JavaScript μπορεί είτε να επιτρέπεται είτε να απαγορεύεται για όλους τους ιστότοπους. @@ -752,6 +748,9 @@ Εάν χρησιμοποιείται αυτή η πολιτική, μόνο οι εκτυπωτές με αναγνωριστικά που αντιστοιχούν στις τιμές αυτής της πολιτικής είναι διαθέσιμοι στον χρήστη. Τα αναγνωριστικά θα πρέπει να αντιστοιχούν στις καταχωρίσεις στο αρχείο που καθορίζεται στην παράμετρο <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Εάν αυτή η πολιτική δεν έχει ρυθμιστεί, το <ph name="PRODUCT_NAME" /> χρησιμοποιεί μια προεπιλεγμένη ελάχιστη έκδοση, την TLS 1.0. + + Διαφορετικά, μπορεί να οριστεί σε μία από τις ακόλουθες τιμές: "tls1", "tls1.1" ή "tls1.2". Όταν οριστεί, το <ph name="PRODUCT_NAME" /> δεν θα χρησιμοποιεί εκδόσεις SSL/TLS μικρότερες από την καθορισμένη έκδοση. Μια τιμή που δεν έχει αναγνωρισθεί θα αγνοηθεί.</translation> <translation id="3417418267404583991">Εάν αυτή η πολιτική έχει οριστεί ως αληθής ή δεν έχει διαμορφωθεί, το <ph name="PRODUCT_OS_NAME" /> θα ενεργοποιήσει τις συνδέσεις επισκεπτών. Οι συνδέσεις επισκεπτών είναι ανώνυμες συνεδρίες χρηστών οι οποίες δεν απαιτούν τη χρήση κωδικού πρόσβασης. Εάν αυτή η πολιτική έχει οριστεί ως ψευδής, το <ph name="PRODUCT_OS_NAME" /> δεν θα επιτρέπει την εκκίνηση των συνεδριών επισκεπτών.</translation> @@ -859,6 +858,13 @@ Εάν δεν ρυθμιστεί αυτή η πολιτική, το πληκτρολόγιο οθόνης θα είναι αρχικά απενεργοποιημένο, αλλά θα μπορεί να ενεργοποιείται από τον χρήστη ανά πάσα στιγμή.</translation> <translation id="382476126209906314">Διαμόρφωση του προθέματος TalkGadget για κεντρικούς υπολογιστές απομακρυσμένης πρόσβασης</translation> +<translation id="3831376478177535007">Όταν είναι ενεργοποιημένη αυτή η ρύθμιση, το <ph name="PRODUCT_NAME" /> επιτρέπει να θεωρηθούν αξιόπιστα τα πιστοποιητικά που έχουν εκδοθεί από τις λειτουργίες PKI παλαιού τύπου της Symantec Corporation, εφόσον επικυρωθούν επιτυχώς με άλλο τρόπο και συνδέονται με ένα αναγνωρισμένο πιστοποιητικό CA. + + Λάβετε υπόψη ότι αυτή η πολιτική εξαρτάται από το εάν το λειτουργικό σύστημα εξακολουθεί να αναγνωρίζει πιστοποιητικά από την υποδομή παλαιού τύπου της Symantec. Εάν μια ενημέρωση λειτουργικού συστήματος αλλάξει τον χειρισμό των συγκεκριμένων πιστοποιητικών, αυτή η πολιτική ενδέχεται να μην έχει πλέον κάποιο αποτέλεσμα. Επιπλέον αυτή η πολιτική προορίζεται για προσωρινή λύση που θα δώσει στις επιχειρήσεις περισσότερο χρόνο να καταργήσουν τα πιστοποιητικά Symantec παλαιού τύπου. Αυτή η πολιτική θα καταργηθεί την ή περίπου την 1η Ιανουαρίου 2019. + + Εάν δεν οριστεί αυτή η πολιτική ή οριστεί αναληθής, το <ph name="PRODUCT_NAME" /> ακολουθεί το χρονοδιάγραμμα κατάργησης που έχει ανακοινωθεί δημοσίως. + + Ανατρέξτε στη διεύθυνση https://g.co/chrome/symantecpkicerts για περισσότερες λεπτομέρειες σχετικά με τη συγκεκριμένη κατάργηση.</translation> <translation id="383466854578875212">Σας επιτρέπει να ορίσετε τους κεντρικούς υπολογιστές ανταλλαγής μηνυμάτων που δεν περιέχονται στη μαύρη λίστα. Η τιμή μαύρης λίστας * σημαίνει ότι όλοι οι κεντρικοί υπολογιστές εγγενούς ανταλλαγής μηνυμάτων βρίσκονται στη μαύρη λίστα και θα φορτώνονται μόνο οι κεντρικοί υπολογιστές εγγενούς ανταλλαγής μηνυμάτων που βρίσκονται στη λίστα επιτρεπόμενων. @@ -1018,7 +1024,6 @@ Εάν η πολιτική δεν οριστεί, δεν επιβάλλονται εξαιτίας της περιορισμοί στην ομάδα εφαρμογών που μπορεί να ενεργοποιήσει ο χρήστης στο κλείδωμα οθόνης.</translation> <translation id="4309640770189628899">Εάν έχουν ενεργοποιηθεί οι σουίτες κρυπτογράφησης DHE στο TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ή νεότερη έκδοση</translation> <translation id="4322842393287974810">Επιτρέπει στην εφαρμογή kiosk αυτόματης εκκίνησης με μηδενική καθυστέρηση να ελέγχει την έκδοση <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Προσθήκη κουμπιού αποσύνδεσης στο δίσκο του συστήματος</translation> <translation id="4346674324214534449">Σας επιτρέπει να ορίσετε εάν οι διαφημίσεις θα πρέπει να αποκλείονται σε ιστοτόπους με παρεμβατικές διαφημίσεις.
diff --git a/components/policy/resources/policy_templates_en-GB.xtb b/components/policy/resources/policy_templates_en-GB.xtb index 70009b15..a6808e43 100644 --- a/components/policy/resources/policy_templates_en-GB.xtb +++ b/components/policy/resources/policy_templates_en-GB.xtb
@@ -545,13 +545,6 @@ This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.</translation> <translation id="2682225790874070339">Disables Drive in the <ph name="PRODUCT_OS_NAME" /> Files app</translation> <translation id="268577405881275241">Enable the data compression proxy feature</translation> -<translation id="2726613915126661822">Allows you to control whether virtual machines are allowed to run on Chrome OS. - - If the policy is set to True, the device is allowed to run virtual machines. - If the policy is set to False, the device will not be allowed to run virtual machines. - When this policy is changed to False, it applies to starting new virtual machines but does not shut down virtual machines which are already running. - When this policy is not set on a managed device, the device will not be allowed to run virtual machines. - Unmanaged devices are allowed to run virtual machines.</translation> <translation id="2731627323327011390">Disable usage of <ph name="PRODUCT_OS_NAME" /> certificates to ARC-apps</translation> <translation id="2742843273354638707">Hide the Chrome Web Store app and footer link from the New Tab Page and <ph name="PRODUCT_OS_NAME" /> app launcher. @@ -643,9 +636,6 @@ The policy value should be specified in milliseconds. Values are clamped to be less than or equal the screen off delay (if set) and the idle delay.</translation> <translation id="2987155890997901449">Enable ARC</translation> <translation id="2987227569419001736">Control use of the Web Bluetooth API</translation> -<translation id="3001534538097271560">Setting this policy to false stops users from choosing to send some system information and page content to Google servers. If this setting is true or not configured, users will be allowed to send some system information and page content to Safe Browsing to help detect dangerous apps and sites. - - See https://developers.google.com/safe-browsing for more info on SafeBrowsing.</translation> <translation id="3016255526521614822">Whitelist note-taking apps allowed on the <ph name="PRODUCT_OS_NAME" /> lock screen</translation> <translation id="3030000825273123558">Enable metrics reporting</translation> <translation id="3034580675120919256">Allows you to set whether websites are allowed to run JavaScript. Running JavaScript can be either allowed for all websites or denied for all websites. @@ -1043,7 +1033,6 @@ If the policy is left unset, there will be no restrictions on the set of apps the user can enable on the lock screen imposed by the policy.</translation> <translation id="4309640770189628899">Whether DHE cipher suites in TLS are enabled</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 or later</translation> <translation id="4322842393287974810">Allow the auto launched with zero delay kiosk app to control <ph name="PRODUCT_OS_NAME" /> version</translation> <translation id="4325690621216251241">Add a logout button to the system tray</translation> <translation id="4346674324214534449">Allows you to set whether ads should be blocked on sites with intrusive ads.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb index 736a910..9b7944d 100644 --- a/components/policy/resources/policy_templates_es-419.xtb +++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -512,13 +512,6 @@ <translation id="267596348720209223">Especifica la codificación de caracteres admitida por el proveedor de búsqueda. Las codificaciones son nombres de páginas de códigos, como UTF-8, GB2312 e ISO-8859-1. Se prueban en el orden dado. Esta política es opcional. Si no se configura, se usará el valor predeterminado, que es UTF-8. Esta política solo se respeta si la política "DefaultSearchProviderEnabled" está habilitada.</translation> <translation id="2682225790874070339">Inhabilita Drive en la aplicación Archivos de <ph name="PRODUCT_OS_NAME" />.</translation> <translation id="268577405881275241">Habilitar la función del proxy de compresión de datos</translation> -<translation id="2726613915126661822">Permite controlar si las máquinas virtuales pueden ejecutarse en el Sistema operativo Chrome. - - Si la política se establece como verdadera, el dispositivo podrá ejecutar las máquinas virtuales. - Si se establece como falsa, el dispositivo no podrá ejecutarlas. - Cuando se cambia a falsa, se aplica a las máquinas virtuales que se inician a partir de ese momento, pero no se apagan las máquinas virtuales que ya estén ejecutándose. - Cuando no se establece la política en un dispositivo administrado, el dispositivo no podrá ejecutar máquinas virtuales. - Los dispositivos no administrados podrán ejecutar máquinas virtuales.</translation> <translation id="2731627323327011390">Inhabilitar el uso de certificados de <ph name="PRODUCT_OS_NAME" /> para apps de ARC</translation> <translation id="2742843273354638707">Permite ocultar la aplicación Chrome Web Store y el vínculo de la parte inferior de la página Nueva pestaña y del Selector de aplicaciones de <ph name="PRODUCT_OS_NAME" />. @@ -610,9 +603,6 @@ El valor de la política debe especificarse en milisegundos. Los valores se establecerán para que sean inferiores o equivalentes a la demora de pantalla apagada (si está configurada) y la demora de inactividad.</translation> <translation id="2987155890997901449">Habilitar ARC</translation> <translation id="2987227569419001736">Controlar el uso de la API de Bluetooth web</translation> -<translation id="3001534538097271560">Configura esta política como falsa para evitar que los usuarios elijan mandar determinada información del sistema y contenido de páginas a los servidores de Google. Si esta opción se establece como verdadera o no se configura, los usuarios podrán enviar determinada información del sistema y contenido de páginas a Navegación segura para colaborar en la detección de apps y sitios peligrosos. - - Consulta https://developers.google.com/safe-browsing para obtener más información sobre Navegación segura.</translation> <translation id="3016255526521614822">Incluir en la lista blanca las apps para tomar notas que se permiten en la pantalla bloqueada de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Activar los informes estadísticos</translation> <translation id="3034580675120919256">Te permite configurar si los sitios web pueden ejecutar JavaScript. La ejecución de JavaScript puede permitirse para todos los sitios web o denegarse para todos los sitios web. Si esta política no se configura, se usará "AllowJavaScript" y el usuario podrá cambiarla.</translation> @@ -994,7 +984,6 @@ Si la política no se configura, la política no restringe el conjunto de apps que el usuario puede habilitar en la pantalla bloqueada.</translation> <translation id="4309640770189628899">Si se habilitan los paquetes de encriptación DHE en TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 o posterior</translation> <translation id="4322842393287974810">Permitir que la aplicación de kiosko con lanzamiento automático sin tiempo de espera controle la versión de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Agregar un botón para cerrar sesión en la bandeja del sistema</translation> <translation id="4346674324214534449">Te permite establecer si se bloquearán los anuncios en sitios con anuncios intrusivos.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb index 0f63a30..c566987 100644 --- a/components/policy/resources/policy_templates_es.xtb +++ b/components/policy/resources/policy_templates_es.xtb
@@ -540,13 +540,6 @@ Para que se aplique esta política, se debe habilitar la política DefaultSearchProviderEnabled.</translation> <translation id="2682225790874070339">Inhabilita Drive en aplicación Archivos de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Habilitar la función del proxy de compresión de datos</translation> -<translation id="2726613915126661822">Te permite controlar si se pueden utilizar máquinas virtuales en Chrome OS. - - Si se le asigna el valor "True" a la política, el dispositivo puede utilizar máquinas virtuales. - Si se le asigna el valor "False" a la política, el dispositivo no puede utilizar máquinas virtuales. - Si el valor asignado a esta política se cambia a "False", se aplica a las máquinas virtuales nuevas, pero no afecta a las antiguas que ya se estén utilizando. - Si no se le asigna ningún valor en un dispositivo gestionado, este no puede utilizar máquinas virtuales. - Los dispositivos no gestionados pueden utilizar máquinas virtuales.</translation> <translation id="2731627323327011390">Inhabilitar el uso de certificados de <ph name="PRODUCT_OS_NAME" /> a las aplicaciones ARC</translation> <translation id="2742843273354638707">Permite ocultar la aplicación Chrome Web Store y el enlace de la parte inferior de la página en la página Nueva pestaña y en el menú de aplicaciones de <ph name="PRODUCT_OS_NAME" />. @@ -638,9 +631,6 @@ El valor de la política se debe especificar en milisegundos. Los valores están establecidos para ser inferiores o iguales al retraso de desconexión de pantalla (si está establecido) y al retraso de inactividad.</translation> <translation id="2987155890997901449">Habilitar ARC</translation> <translation id="2987227569419001736">Controlar el uso de la API Bluetooth web</translation> -<translation id="3001534538097271560">Si se asigna el valor false a esta política, los usuarios no podrán elegir si quieren enviar información y contenido de las páginas a los servidores de Google. Si se le asigna el valor true o no se configura, los usuarios podrán enviar información del sistema y contenido de las páginas a la función Navegación Segura para que detecte aplicaciones y sitios web peligrosos. - - Consulta la página https://developers.google.com/safe-browsing para obtener más información sobre la función Navegación Segura.</translation> <translation id="3016255526521614822">Aplicaciones para tomar notas incluidas en la lista blanca que están permitidas en la pantalla de bloqueo de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Habilitar los informes estadísticos</translation> <translation id="3034580675120919256">Permite establecer si los sitios web pueden utilizar o no JavaScript. La ejecución de JavaScript se permite o se deniega a todos los sitios web. @@ -1034,7 +1024,6 @@ Si la política no se configura, esta no restringirá el conjunto de aplicaciones que el usuario puede habilitar en la pantalla de bloqueo.</translation> <translation id="4309640770189628899">Indica si se han habilitado los conjuntos de cifrado DHE en TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 o posterior</translation> <translation id="4322842393287974810">Permite que la aplicación de kiosco sin retardo con inicio automático controle la versión de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Añadir un botón para cerrar sesión en la bandeja del sistema</translation> <translation id="4346674324214534449">Te permite decidir si se deberían bloquear los anuncios en los sitios web con anuncios invasivos. @@ -1050,7 +1039,7 @@ Cada cuenta de Google del dispositivo se comparará con los patrones almacenados en esta política para determinar la visibilidad de la cuenta en <ph name="PRODUCT_NAME" />. La cuenta podrá verse si su nombre coincide con alguno de los patrones de la lista. Si no, se ocultará. - El carácter comodín "*" se puede utilizar para buscar coincidencias con cero o más caracteres arbitrarios. El carácter de escape es "\" y, por tanto, se puede escribir antes de "*" o "\" para obtener coincidencias con los propios caracteres. + El carácter comodín "*" se puede utilizar para buscar coincidencias con cero o más caracteres arbitrarios. El carácter de escape es "\" y, por tanto, se tiene que escribir antes de "*" o "\" para obtener coincidencias con estos caracteres. Si esta política no se configura, todas las cuentas de Google del dispositivo podrán verse en <ph name="PRODUCT_NAME" />.</translation> <translation id="436581050240847513">Permite informar de interfaces de red del dispositivo</translation> @@ -2329,13 +2318,13 @@ <translation id="8424255554404582727">Establecer rotación de pantalla predeterminada y volver a aplicarla cada vez que se reinicie el dispositivo</translation> <translation id="8426231401662877819">Rotar la pantalla 90 grados hacia la derecha</translation> <translation id="8451988835943702790">Utilizar página Nueva pestaña como página principal</translation> -<translation id="8459216513698220096">Especifica si la política del usuario del GPO del equipo se procesa o no y cómo lo hace. +<translation id="8459216513698220096">Especifica si la política del usuario del GPO del ordenador se procesa o no y cómo lo hace. - Si se le asigna el valor "Predeterminado" a la política o no se le asigna ningún valor, la política del usuario solo podrá consultarse desde los GPO del usuario (se ignorarán los GPO del equipo). + Si se le asigna el valor "Predeterminado" a la política o no se le asigna ningún valor, la política del usuario solo podrá consultarse desde los GPO del usuario (se ignorarán los GPO del ordenador). - Si se le asigna el valor "Combinar" a la política, la política del usuario de los GPO del usuario se combinará con la política del usuario de los GPO del equipo (los GPO del equipo tienen preferencia). + Si se le asigna el valor "Combinar" a la política, la política del usuario de los GPO del usuario se combinará con la política del usuario de los GPO del ordenador (los GPO del ordenador tienen preferencia). - Si se le asigna el valor "Sustituir" a la política, la política del usuario de los GPO del usuario se sustituirá por la política del usuario de los GPO del equipo (se ignorarán los GPO del usuario).</translation> + Si se le asigna el valor "Sustituir" a la política, la política del usuario de los GPO del usuario se sustituirá por la política del usuario de los GPO del ordenador (se ignorarán los GPO del usuario).</translation> <translation id="8465065632133292531">Parámetros para URL instantánea que utiliza POST</translation> <translation id="847472800012384958">No permitir que ningún sitio muestre pop-ups</translation> <translation id="8477885780684655676">TLS 1.0</translation>
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb index 26a410c2..e79b700b 100644 --- a/components/policy/resources/policy_templates_et.xtb +++ b/components/policy/resources/policy_templates_et.xtb
@@ -544,13 +544,6 @@ See reegel kehtivad vaid juhul, kui reegel „DefaultSearchProviderEnabled” on lubatud.</translation> <translation id="2682225790874070339">Keelab Drive'i operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> rakenduses Failid</translation> <translation id="268577405881275241">Andmete tihendamise puhverserveri funktsiooni lubamine</translation> -<translation id="2726613915126661822">Võimaldab juhtida, kas virtuaalsete masinate käitamine Chrome OS-is on lubatud. - - Kui reegel on seatud väärtusele Tõene, on seadmes lubatud käitada virtuaalmasinaid. - Kui reegel on seatud väärtusele Väär, ei ole seadmes lubatud käitada virtuaalmasinaid. - Kui reegli seade asendatakse väärtusega Väär, kehtib see uute virtuaalmasinate käivitamisel, ent juba töötavaid virtuaalmasinaid ei lülitata välja. - Kui reegel jäetakse hallatavas seadmes määramata, ei ole seadmes lubatud virtuaalmasinaid käitada. - Haldamata seadmetes on lubatud virtuaalmasinaid käitada.</translation> <translation id="2731627323327011390">Keela ARC-rakenduste jaoks operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> sertifikaatide kasutamine</translation> <translation id="2742843273354638707">Peitke Chrome'i veebipoe rakendus ja jaluse link uuel vahelehel ja operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> rakenduse käivitajas. @@ -615,6 +608,12 @@ <translation id="2893546967669465276">Süsteemilogide saatmine haldusserverisse</translation> <translation id="2899002520262095963">Androidi rakendused saavad kasutada selle reegliga määratud võrguseadistusi ja CA-sertifikaate, kuid ei pääse juurde mõnele seadistusvalikule.</translation> <translation id="2906874737073861391">AppPacki laienduste loend</translation> +<translation id="2907992746861405243">Juhib, millised printerid on reegli <ph name="BULK_PRINTERS_POLICY" /> puhul kasutajatele saadaval. + + Määrab, millist juurdepääsureeglit kasutatakse printerite hulgiseadistamiseks. Kui valitud on väärtus <ph name="PRINTERS_ALLOW_ALL" />, kuvatakse kõik printerid. Kui valitud on väärtus <ph name="PRINTERS_BLACKLIST" />, kasutatakse määratud printeritele juurdepääsu piiramiseks reeglit <ph name="BULK_PRINTERS_BLACKLIST" />. Kui valitud on väärtus <ph name="PRINTERS_WHITELIST" />, määrab reegel <ph name="BULK_PRINTERS_WHITELIST" /> ainult need printerid, mida saab valida. + + Kui see reegel on määramata, kasutatakse väärtust <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Puhverserveri samaaegsete ühenduste maksimaalne arv</translation> <translation id="2956777931324644324">Selle reegli pakkumine lõpetati toote <ph name="PRODUCT_NAME" /> versiooniga 36. @@ -636,10 +635,6 @@ Reegli väärtus tuleb määrata millisekundites. Väärtused tuleb kinnitada väiksematena kui ekraani väljalülitamise viiteaeg (kui see on määratud) ja jõudeoleku viiteaeg või nendega võrdsetena.</translation> <translation id="2987155890997901449">ARC lubamine</translation> <translation id="2987227569419001736">Web Bluetooth API kasutuse kontrollimine</translation> -<translation id="3001534538097271560">Kui reegli väärtuseks määratakse Väär, ei saa kasutajad soovi korral saata teatud süsteemiteavet ja lehe sisu Google'i serveritesse. Kui selle seade väärtuseks määratakse Tõene või see jäetakse seadistamata, saavad kasutajad saata teatud süsteemiteavet ja lehe sisu ohutu sirvimise teenusesse, et aidata ohtlikke rakendusi ja saite tuvastada. - - - Vaadake lisateavet ohutu sirvimise kohta aadressilt https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Lisage lubatud rakenduste loendisse märkmete tegemise rakendused, mida <ph name="PRODUCT_OS_NAME" /> võib lukustuskuval näidata</translation> <translation id="3030000825273123558">Luba mõõdikute aruandlus</translation> <translation id="3034580675120919256">Võimaldab määrata, kas veebisaitidel on lubatud käitada JavaScripti. JavaScripti käitamise saab kõikidel veebisaitidel lubada või keelata. @@ -750,6 +745,9 @@ Selle reegli kasutamisel on kasutajale saadaval ainult printerid, mille ID-d ühtivad selles reeglis olevate väärtustega. ID-d peavad ühtima reeglis <ph name="DEVICE_PRINTERS_POLICY" /> määratud faili kannetega. </translation> +<translation id="3414260318408232239">Kui seda reeglit pole seadistatud, siis kasutab teenus <ph name="PRODUCT_NAME" /> vaikimisi miinimumversiooni, milleks on TLS 1.0. + + Muul juhul võidakse see määrata ühele järgmistest väärtustest: „tls1”, „tls1.1” või „tls1.2”. Kui see on määratud, ei kasuta teenus <ph name="PRODUCT_NAME" /> SSL-i/TLS-i versioone, mis on määratud versioonist vanemad. Tundmatut väärtust eiratakse.</translation> <translation id="3417418267404583991">Kui lubate selle reegli või jätate seadistamata, siis lubab <ph name="PRODUCT_OS_NAME" /> külastajatel sisse logida. Külastajana sisse logides kasutatakse anonüümseid seansse ja selleks ei ole vaja parooli sisestada. Selle reegli keelamisel ei luba <ph name="PRODUCT_OS_NAME" /> külastajaseansse alustada.</translation> @@ -857,6 +855,13 @@ Kui jätate reegli määramata, on ekraanil kuvatav klaviatuur algselt keelatud, kuid kasutaja saab selle igal ajal lubada.</translation> <translation id="382476126209906314">TalkGadgeti eesliite seadistamine kaugjuurdepääsu hostidele</translation> +<translation id="3831376478177535007">Kui see seade on lubatud, lubab teenus <ph name="PRODUCT_NAME" /> ettevõtte Symantec Corporation PKI pärandtoimingute väljastatud sertifikaate usaldada, kui need õnnestub valideerida ja tuvastatud CA-sertifikaadiga siduda. + + Arvestage sellega, et see reegel oleneb sellest, kas operatsioonisüsteem tuvastab Symanteci pärandtaristu sertifikaadid. Kui OS-i värskendus muudab selliste sertifikaatide käsitlemist OS-is, siis see reegel enam ei kehti. Lisaks on see reegel ajutine lahendus, et anda ettevõtetele rohkem aega Symanteci pärandsertifikaatide kasutamisest loobumiseks. See reegel eemaldatakse 2019. aasta 1. jaanuari paiku. + + Kui seda reeglit pole määratud või selle olekuks on määratud Väär, siis järgib teenus <ph name="PRODUCT_NAME" /> avalikult väljakuulutatud toe katkestamise ajakava. + + Toe katkestamise kohta leiate lisateavet saidilt https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Lubab määrata, millised omasõnumside hostid välistatakse mustast nimekirjast. Musta nimekirja väärtus * tähendab, et kõik omasõnumside hostid on mustas nimekirjas ja laaditakse ainult lubatud üksuste loendisse lisatud omasõnumside hostid. @@ -1017,7 +1022,6 @@ Kui reegel jäetakse määramata, puuduvad piirangud rakenduste kogumile, mille kasutaja saab lukustuskuval reegliga lubada.</translation> <translation id="4309640770189628899">Näitab, kas DHE šifreerimiskomplektid on TLS-is lubatud</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 või uuem</translation> <translation id="4322842393287974810">Luba automaatselt käivitatud viivituseta kioskirakendusel juhtida operatsioonisüsteemi <ph name="PRODUCT_OS_NAME" /> versiooni</translation> <translation id="4325690621216251241">Lisa väljalogimisnupp süsteemisalve</translation> <translation id="4346674324214534449">Võimaldab teil määrata, kas blokeerida reklaamid sekkuvate reklaamidega saitidel. @@ -2464,11 +2468,11 @@ See reegel ei mõjuta seda, kas kasutajad saavad printereid seadistada individuaalsetes seadmetes. See on mõeldud individuaalsete kasutajate printerite seadistuse täienduseks. </translation> -<translation id="8934944553121392674">Juhib, millised printerid seadistusest <ph name="DEVICE_PRINTERS_POLICY" /> on kasutajatele saadaval. +<translation id="8934944553121392674">Juhib, millised printerid on reegli <ph name="DEVICE_PRINTERS_POLICY" /> puhul kasutajatele saadaval. Määrab, millist juurdepääsureeglit kasutatakse printerite hulgiseadistamiseks. Kui valitud on väärtus <ph name="PRINTERS_ALLOW_ALL" />, kuvatakse kõik printerid. Kui valitud on väärtus <ph name="PRINTERS_BLACKLIST" />, kasutatakse määratud printeritele juurdepääsu piiramiseks reeglit <ph name="DEVICE_PRINTERS_BLACKLIST" />. Kui valitud on väärtus <ph name="PRINTERS_WHITELIST" />, määrab reegel <ph name="DEVICE_PRINTERS_WHITELIST" /> ainult need printerid, mida saab valida. - Kui see reegel on määramata, kasutatakse reeglit <ph name="PRINTERS_ALLOW_ALL" />. + Kui see reegel on määramata, kasutatakse väärtust <ph name="PRINTERS_ALLOW_ALL" />. </translation> <translation id="8947415621777543415">Esita seadme asukoht</translation> <translation id="8951350807133946005">Vahemälu kataloogi seadmine</translation>
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb index 5a21483..2b6acce 100644 --- a/components/policy/resources/policy_templates_fa.xtb +++ b/components/policy/resources/policy_templates_fa.xtb
@@ -511,13 +511,6 @@ <translation id="267596348720209223">رمزگذاریهای نویسه پشتیبانی شده توسط ارائه دهنده جستجوی پیشفرض را تعیین میکند. رمزگذاریها، نامهای صفحه کدی مانند UTF-8، GB2312 و ISO-8859-1 هستند. از آنها به ترتیب ارائه شده استفاده میشود. این قانون اختیاری است. اگر تنظیم نشود، مقدار پیشفرض که UTF-8 است استفاده میشود. از این قانون فقط در صورتی استفاده میشود که قانون "DefaultSearchProviderEnabled" فعال باشد.</translation> <translation id="2682225790874070339">Drive را در برنامه Files <ph name="PRODUCT_OS_NAME" /> غیرفعال میکند</translation> <translation id="268577405881275241">فعال کردن قابلیت پروکسی فشردهسازی داده</translation> -<translation id="2726613915126661822">به شما اجازه میدهد کنترل کنید که آیا ماشینهای مجازی اجازه دارند که در سیستمعامل Chrome اجرا شوند یا نه. - - اگر خطمشی روی «درست» تنظیم شده باشد، دستگاه مجاز است ماشینهای مجازی را به اجرا درآورد. - اگر خطمشی روی «نادرست» تنظیم شده باشد، دستگاه مجاز نیست ماشینهای مجازی را به اجرا درآورد. - وقتی این خطمشی به «نادرست» تغییر کند، این تغییر برای راهاندازی ماشینهای مجازی جدید اعمال میشود اما ماشینهای مجازی را که درحال اجرا هستند خاموش نمیکند. - وقتی این خطمشی در دستگاه مدیریتشدهای تنظیم نشده باشد، دستگاه مجاز نیست ماشینهای مجازی را به اجرا درآورند. - دستگاههای مدیریتنشده مجاز هستند ماشینهای مجازی را به اجرا درآورند.</translation> <translation id="2731627323327011390">غیرفعال کردن استفاده از گواهیهای <ph name="PRODUCT_OS_NAME" /> برای برنامههای ARC</translation> <translation id="2742843273354638707">مخفی کردن برنامه فروشگاه وب Chrome و پیوند پانویس از صفحه برگه جدید و راهانداز برنامه <ph name="PRODUCT_OS_NAME" />. @@ -608,9 +601,6 @@ مقدار خطمشی باید بر حسب میلی ثانیه باشد. مقادیر باید کمتر یا برابر با تأخیر خاموشی صفحه (در صورت تنظیم) و تأخیر بیحرکتی باشد.</translation> <translation id="2987155890997901449">فعال کردن ARC</translation> <translation id="2987227569419001736">کنترل استفاده از Web Bluetooth API</translation> -<translation id="3001534538097271560">تنظیم این خطمشی روی «نادرست» باعث میشود کاربران نتوانند ارسال بعضی از اطلاعات سیستم و محتوای صفحه به سرورهای Google را انتخاب کنند. اگر این تنظیم روی «درست» تنظیم شود یا پیکربندی نشود، کاربران اجازه خواهند داشت برای کمک به تشخیص برنامهها و سایتهای خطرناک، بعضی از اطلاعات سیستم و محتوای صفحه را به «مرور ایمن» ارسال کنند. - - برای دریافت اطلاعات بیشتر درباره «مرور ایمن»، https://developers.google.com/safe-browsing را ببینید.</translation> <translation id="3016255526521614822">برنامههای یادداشتبرداری موجود در فهرست مجاز، برای استفاده در صفحه درحالت قفل <ph name="PRODUCT_OS_NAME" /> مجاز شدند</translation> <translation id="3030000825273123558">گزارش معیارها فعال شود</translation> <translation id="3034580675120919256">به شما امکان میدهد تا تعیین کنید که آیا وب سایتها مجاز به اجرای جاوا اسکریپت هستند. اجرای جاوا اسکریپت میتواند برای تمام وب سایتها مجاز یا غیرمجاز شود. اگر این قانون تنظیم نشده باقی بماند، "AllowJavaScript" استفاده میشود و کاربر میتواند تنظیمات آن را تغییر دهد.</translation> @@ -988,7 +978,6 @@ اگر این خطمشی تنظیمنشده رها شود، هیچ محدودیتی بر مجموعه برنامههایی که کاربر میتواند در صفحه درحالت قفل فعال کند، از جانب خطمشی اعمال نمیشوند.</translation> <translation id="4309640770189628899">مجموعههای رمز DHE در TLS فعال شوند یا خیر</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 یا بالاتر</translation> <translation id="4322842393287974810">به برنامه kiosk راهاندازیشده بهطور خودکار با تأخیر صفر، امکان داده شود نسخه <ph name="PRODUCT_OS_NAME" /> را کنترل کند</translation> <translation id="4325690621216251241">افزودن دکمه خروج از سیستم به سینی سیستم</translation> <translation id="4346674324214534449">به شما امکان میدهد تنظیم کنید آیا آگهیها باید در سایتهای حاوی آگهیهای مزاحم مسدود شوند یا نه.
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb index 145e4c4..fb2280e1 100644 --- a/components/policy/resources/policy_templates_fi.xtb +++ b/components/policy/resources/policy_templates_fi.xtb
@@ -519,13 +519,6 @@ <translation id="267596348720209223">Määrittää hakupalvelun tukemat merkkikoodaukset. Koodaukset ovat koodisivun nimiä, kuten UTF-8, GB2312 ja ISO-8859-1. Koodauksia yritetään käyttää määritetyssä järjestyksessä. Tämä käytäntö on valinnainen, ja jos sitä ei ole määritetty, käytetään oletusasetusta (UTF-8). Tämä käytäntö on voimassa vain, jos DefaultSearchProviderEnabled-käytäntö on käytössä.</translation> <translation id="2682225790874070339">Poistaa Google Driven käytöstä tuotteen <ph name="PRODUCT_OS_NAME" /> Tiedostot-sovelluksesta</translation> <translation id="268577405881275241">Ota käyttöön tietojen pakkauksen välitysominaisuus</translation> -<translation id="2726613915126661822">Voit määrittää, saako virtuaalikoneita käyttää Chrome-käyttöjärjestelmässä. - - Jos käytännön arvo on tosi, laite saa käyttää virtuaalikoneita. - Jos käytännön arvo on epätosi, laite ei saa käyttää virtuaalikoneita. - Kun käytännön arvoksi muutetaan epätosi, tämä koskee uusien virtuaalikoneiden käynnistämistä mutta ei sammuta jo käytössä olevia virtuaalikoneita. - Jos käytäntöä ei ole määritetty hallinnoidulla laitteella, laite ei saa käyttää virtuaalikoneita. - Hallinnoimattomat laitteet saavat käyttää virtuaalikoneita.</translation> <translation id="2731627323327011390">Estä ARC-sovelluksia käyttämästä <ph name="PRODUCT_OS_NAME" /> -varmenteita</translation> <translation id="2742843273354638707">Piilota Chrome Web Store -sovellus ja linkki Uusi välilehti -sivulla sekä tuotteen <ph name="PRODUCT_OS_NAME" /> sovellusten käynnistysohjelmassa. @@ -590,6 +583,12 @@ <translation id="2893546967669465276">Lähetä järjestelmälokeja hallintapalvelimelle</translation> <translation id="2899002520262095963">Android-sovellukset voivat käyttää tämän käytännön kautta asetettuja verkkomäärityksiä ja CA-varmenteita, mutta ne eivät voi käyttää joitain määritysasetuksia.</translation> <translation id="2906874737073861391">AppPack-laajennusten luettelo</translation> +<translation id="2907992746861405243">Hallinnoi, mitkä tulostimet <ph name="BULK_PRINTERS_POLICY" />-määrityksestä ovat käyttäjien käytettävissä + + Määrittää, mitä käyttöoikeuskäytäntöä käytetään tulostinjoukon määrittämiseen. Jos <ph name="PRINTERS_ALLOW_ALL" /> on valittu, kaikki tulostimet näytetään. Jos <ph name="PRINTERS_BLACKLIST" /> on valittu, arvoa <ph name="BULK_PRINTERS_BLACKLIST" /> käytetään määritettyjen tulostimien käytön rajoittamiseen. Jos <ph name="PRINTERS_WHITELIST" /> on valittu, <ph name="BULK_PRINTERS_WHITELIST" /> määrittää vain valittavissa olevat tulostimet. + + Jos tätä käytäntöä ei ole määritetty, oletusarvo on <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Enimmäismäärä samanaikaisia yhteyksiä välityspalvelimeen</translation> <translation id="2956777931324644324">Tämä käytäntö on poistettu käytöstä tuotteen <ph name="PRODUCT_NAME" /> versiosta 36 alkaen. @@ -611,9 +610,6 @@ Tämän käytännön arvo täytyy määrittää millisekunteina. Arvo rajoitetaan korkeintaan mahdollisen ruudun sammutuksen viiveen ja käyttämättömyysajan suuruiseksi.</translation> <translation id="2987155890997901449">Ota ARC käyttöön.</translation> <translation id="2987227569419001736">Hallinnoi Web Bluetooth ‑sovellusliittymän käyttöä</translation> -<translation id="3001534538097271560">Jos tämän käytännön arvo on epätosi, käyttäjät eivät voi valita, lähetetäänkö Googlen palvelimille joitain järjestelmätietoja ja joidenkin sivujen sisältöä. Jos asetuksen arvo on tosi tai sitä ei ole määritetty, käyttäjät voivat lähettää joitain järjestelmätietoja ja joidenkin sivujen sisältöä Selaussuojalle auttaakseen vaarallisten sovellusten ja sivustojen havaitsemisessa. - - Voit lukea lisää Selaussuojasta osoitteessa https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Luo luettelo sallituista muistiinpanosovelluksista, jotka <ph name="PRODUCT_OS_NAME" /> voi näyttää lukitusnäytöllä.</translation> <translation id="3030000825273123558">Ota tilastoraportit käyttöön</translation> <translation id="3034580675120919256">Voit määrittää, saavatko sivustot suorittaa JavaScriptiä. JavaScriptin suorittaminen voidaan joko sallia kaikille sivustoille tai kieltää kaikilta sivustoilta. Jos tätä käytäntöä ei ole asetettu, käytetään AllowJavaScript-määritystä, ja käyttäjä voi muuttaa sitä.</translation> @@ -722,6 +718,9 @@ Jos tämä käytäntö on käytössä, vain sellaiset tulostimet ovat käyttäjän käytettävissä, joiden tunnukset vastaavat käytännössä mainittuja arvoja. Tunnusten on vastattava <ph name="DEVICE_PRINTERS_POLICY" />-kohdassa määritetyn tiedoston merkintöjä. </translation> +<translation id="3414260318408232239">Jos tätä käytäntöä ei ole määritetty, <ph name="PRODUCT_NAME" /> käyttää oletuksena vanhinta versiota, joka on TLS 1.0. + + Muussa tapauksessa käytännön arvoksi voidaan määrittää tls1, tls1.1 tai tls1.2. Jos arvo on jokin näistä, <ph name="PRODUCT_NAME" /> ei käytä kyseistä arvoa vanhempaa SSL/TLS-versiota. Tunnistamattomat arvot ohitetaan.</translation> <translation id="3417418267404583991">Jos tälle käytännölle asetetaan tosi-arvo tai sitä ei määritetä, <ph name="PRODUCT_OS_NAME" /> sallii vieraskirjautumisen. Vieraskirjautuminen on anonyymi käyttökerta, johon ei tarvita salasanaa. Jos tälle käytännölle asetetaan epätosi-arvo, <ph name="PRODUCT_OS_NAME" /> ei salli vieraskirjautumista.</translation> @@ -829,6 +828,13 @@ Jos tätä käytäntöä ei määritetä, ruutunäppäimistö on pois käytöstä aluksi mutta käyttäjä voi ottaa sen käyttöön milloin tahansa.</translation> <translation id="382476126209906314">Määritä etäisäntien TalkGadget-etuliite</translation> +<translation id="3831376478177535007">Kun tämä asetus on käytössä, <ph name="PRODUCT_NAME" /> sallii Symantec Corporationin vanhojen PKI-toimintojen varmenteisiin luottamisen, jos ne ovat vahvistettavissa ja liittyvät tunnistettuihin CA-varmenteisiin. + + Huom. Tämän käytännön toiminta riippuu siitä, tunnistaako käyttöjärjestelmä vanhan Symantec-infrastruktuurin varmenteita. Jos käyttöjärjestelmän päivitys muuttaa tapaa, jolla käyttöjärjestelmä käsittelee tällaisia varmenteita, tämän käytännön toiminta päättyy. Käytäntö on tarkoitettu väliaikaiseksi ratkaisuksi, joka antaa yrityksille lisäaikaa vanhojen Symantec-varmenteiden käytön lopettamiseen. Käytäntö poistetaan 1.1.2019 tai sen tienoilla. + + Jos tätä käytäntöä ei määritetä tai sen arvo on epätosi, <ph name="PRODUCT_NAME" /> noudattaa aiemmin julkaistua käytöstä poistamisen aikataulua. + + Lisätietoja käytöstä poistamisesta on osoitteessa https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Voit määrittää, mitkä laitteen omaa viestijärjestelmää käyttävät isännät ovat sallittujen luettelossa. Kiellettyjen luettelon arvo * tarkoittaa, että kaikki laitteen omaa viestijärjestelmää käyttävät isännät on kielletty ja vain sallittujen luettelossa olevat laitteen omaa viestijärjestelmää käyttävät isännät ladataan. @@ -986,7 +992,6 @@ Jos käytännölle ei ole määritetty arvoa, se ei rajoita käyttäjän lukitusnäytölle lisäämiä sovelluksia millään tavalla.</translation> <translation id="4309640770189628899">TLS:n DHE-salaustekniikoiden käyttöönotto</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 tai uudempi</translation> <translation id="4322842393287974810">Salli automaattisesti ilman viivettä käynnistettävän kioskisovelluksen hallinnoida käyttöjärjestelmän <ph name="PRODUCT_OS_NAME" /> versiota</translation> <translation id="4325690621216251241">Lisää uloskirjautumispainike järjestelmäpalkkiin</translation> <translation id="4346674324214534449">Sallii sinun määrittää, estetäänkö mainokset häiritseviä mainoksia sisältävillä sivustoilla @@ -2339,11 +2344,11 @@ Tällä käytännöllä ei ole vaikutusta siihen, voivatko käyttäjät määrittää tulostimia yksittäisillä laitteilla. Se on tarkoitettu käytettäväksi yksittäisten käyttäjien tulostinmääritysten lisäksi. </translation> -<translation id="8934944553121392674">Hallinnoi, mitkä tulostimet <ph name="DEVICE_PRINTERS_POLICY" /> -määrityksestä ovat käyttäjien käytettävissä. +<translation id="8934944553121392674">Hallinnoi, mitkä tulostimet <ph name="DEVICE_PRINTERS_POLICY" />-määrityksestä ovat käyttäjien käytettävissä Määrittää, mitä käyttöoikeuskäytäntöä käytetään tulostinjoukon määrittämiseen. Jos <ph name="PRINTERS_ALLOW_ALL" /> on valittu, kaikki tulostimet näytetään. Jos <ph name="PRINTERS_BLACKLIST" /> on valittu, arvoa <ph name="DEVICE_PRINTERS_BLACKLIST" /> käytetään määritettyjen tulostimien käytön rajoittamiseen. Jos <ph name="PRINTERS_WHITELIST" /> on valittu, <ph name="DEVICE_PRINTERS_WHITELIST" /> määrittää vain valittavissa olevat tulostimet. - Jos tätä käytäntöä ei ole määritetty, oletuksena käytetään arvoa <ph name="PRINTERS_ALLOW_ALL" />. + Jos tätä käytäntöä ei ole määritetty, oletusarvo on <ph name="PRINTERS_ALLOW_ALL" />. </translation> <translation id="8947415621777543415">Ilmoita laitteen sijainti</translation> <translation id="8951350807133946005">Aseta levyn välimuistihakemisto</translation>
diff --git a/components/policy/resources/policy_templates_fil.xtb b/components/policy/resources/policy_templates_fil.xtb index cd57db0..d0d192b 100644 --- a/components/policy/resources/policy_templates_fil.xtb +++ b/components/policy/resources/policy_templates_fil.xtb
@@ -541,13 +541,6 @@ Kinikilala lamang ang patakarang ito kung pinagana ang patakaran ng 'DefaultSearchProviderEnabled.'</translation> <translation id="2682225790874070339">Dini-disable ang Drive sa <ph name="PRODUCT_OS_NAME" /> Files app</translation> <translation id="268577405881275241">Ine-enable ang feature na proxy ng compression ng data</translation> -<translation id="2726613915126661822">Nagbibigay-daan sa iyong pamahalaan kung papayagan ang mga virtual machine na tumakbo sa Chrome OS. - - Kung nakatakda sa True ang patakaran, papayagan ang device na magpatakbo ng mga virtual machine. - Kung nakatakda sa False ang patakaran, hindi papayagan ang device na magpatakbo ng mga virtual machine. - Kapag ginawang False ang patakarang ito, ilalapat ito sa pagsisimula ng mga bagong virtual machine ngunit hindi nito isa-shut down ang mga tumatakbo nang virtual machine. - Kapag hindi nakatakda ang patakarang ito sa isang pinamamahalaang device, hindi papayagan ang device na magpatakbo ng mga virtual machine. - Pinapayagan ang mga hindi pinamamahalaang device na magpatakbo ng mga virtual machine.</translation> <translation id="2731627323327011390">I-disable ang paggamit ng mga certificate ng <ph name="PRODUCT_OS_NAME" /> sa mga ARC app</translation> <translation id="2742843273354638707">Itago ang Chrome Web Store app at link ng footer mula sa Page ng Bagong Tab at sa app launcher ng <ph name="PRODUCT_OS_NAME" />. @@ -612,6 +605,12 @@ <translation id="2893546967669465276">Magpadala ng mga log ng system sa server sa pamamahala</translation> <translation id="2899002520262095963">Maaaring gamitin ng mga Android app ang mga configuration ng network at mga CA certificate na itinakda sa pamamagitan ng patakarang ito, ngunit walang access ang mga ito sa ilang opsyon sa configuration.</translation> <translation id="2906874737073861391">Listahan ng mga extension ng AppPack</translation> +<translation id="2907992746861405243">Kumokontrol sa kung aling mga printer mula sa <ph name="BULK_PRINTERS_POLICY" /> ang available sa mga user. + + Nagtatalaga kung aling patakaran sa pag-access ang gagamitin para sa maramihang pag-configure ng printer. Kung pinili ang <ph name="PRINTERS_ALLOW_ALL" />, ipapakita ang lahat ng printer. Kung pinili ang <ph name="PRINTERS_BLACKLIST" />, gagamitin ang <ph name="BULK_PRINTERS_BLACKLIST" /> upang paghigpitan ang access sa mga natukoy na printer. Kung pinili ang <ph name="PRINTERS_WHITELIST" />, itatalaga lang ng <ph name="BULK_PRINTERS_WHITELIST" /> ang mga printer na mapipili. + + Kung hindi nakatakda ang patakarang ito, ipagpapalagay na pinili ang <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Pinakamataas na bilang ng sabay-sabay na koneksyon sa proxy server</translation> <translation id="2956777931324644324">Itinigil na ang patakarang ito simula ng bersyon 36 ng <ph name="PRODUCT_NAME" /> . @@ -633,9 +632,6 @@ Dapat tukuyin ang halaga ng patakaran ayon sa millisecond. Kinakailangang mas mababa kaysa sa o katumbas ng delay ng pag-off ng screen (kung nakatakda) at idle delay ang mga halaga.</translation> <translation id="2987155890997901449">I-enable ang ARC</translation> <translation id="2987227569419001736">Kontrolin ang paggamit ng Web Bluetooth API</translation> -<translation id="3001534538097271560">Kapag itinakda ang patakarang ito sa false, hindi na mapipili ng mga user na magpadala ng ilang impormasyon ng system at content ng page sa mga server ng Google. Kung ang setting na ito ay true o hindi na-configure, papayagan ang mga user na magpadala ng ilang impormasyon ng system at content ng page sa Ligtas na Pag-browse upang makatulong na tumukoy ng mga mapanganib na app at site. - - Tingnan ang https://developers.google.com/safe-browsing para sa higit pang impormasyon tungkol sa Ligtas na Pag-browse.</translation> <translation id="3016255526521614822">Pinapayagan ang mga app sa paggawa ng tala ng Whitelist sa lock screen ng <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Paganahin ang pag-uulat ng mga sukatan</translation> <translation id="3034580675120919256">Binibigyang-daan kang itakda kung pinapayagan o hindi ang mga website na magpatakbo ng JavaScript. Maaaring payagan para sa lahat ng website o tanggihan para sa lahat ng website ang pagpapatakbo ng JavaScript. @@ -749,6 +745,9 @@ Kung ginagamit ang patakarang ito, ang mga printer lang na may mga id na tumutugma sa mga value sa patakarang ito ang available sa user. Dapat tumugma ang mga id sa mga entry sa file na tinukoy sa <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Kung hindi na-configure ang patakarang ito, gumagamit ang <ph name="PRODUCT_NAME" /> ng default na minimum na bersyon na TLS 1.0. + + Kung hindi, maaari itong itakda sa isa sa mga sumusunod na value: "tls1", "tls1.1" o "tls1.2". Kapag naitakda, hindi gagamit ang <ph name="PRODUCT_NAME" /> ng mga bersyon ng SSL/TLS na mas luma kaysa sa tinukoy na bersyon. Babalewalain ang hindi kinikilalang value.</translation> <translation id="3417418267404583991">Kung nakatakda sa true o hindi naka-configure ang patakarang ito, papaganahin ng <ph name="PRODUCT_OS_NAME" /> ang mga pag-login ng bisita. Ang mga pag-login ng bisita ay mga walang pagkakakilanlang session ng user at hindi nangangailangan ng password. Kung nakatakda sa false ang patakarang ito, hindi papayagan ng <ph name="PRODUCT_OS_NAME" /> na masimulan ang mga session ng bisita.</translation> @@ -856,6 +855,13 @@ Kung iniwang hindi nakatakda ang patakarang ito, paunang idi-disable ang on-screen na keyboard ngunit maaaring i-enable ng user anumang oras.</translation> <translation id="382476126209906314">I-configure ang prefix ng TalkGadget para sa mga host ng malayuang pag-access</translation> +<translation id="3831376478177535007">Kapag naka-enable ang setting na ito, papayagan ng <ph name="PRODUCT_NAME" /> ang mga certificate na ibinigay ng mga pagpapatakbo ng Legacy PKI ng Symantec Corporation na pagkatiwalaan kung matagumpay itong ma-validate at maiugnay sa isang kinikilalang CA certificate. + + Tandaan na ang patakarang ito ay nakadepende sa operating system na kumikilala pa rin sa mga certificate mula sa legacy na imprastraktura ng Symantec. Kung babaguhin ng update sa OS ang pangangasiwa sa mga naturang certificate, mawawalan na ng bisa ang patakarang ito. Bukod pa rito, nilalayon ng patakarang ito na maging isang pansamantalang solusyon upang mabigyan ang mga kumpanya ng higit pang oras upang makalipat mula sa mga legacy na certificate ng Symantec. Aalisin ang patakarang ito sa Enero 1, 2019 o malapit sa petsang ito. + + Kung hindi nakatakda ang patakarang ito o kung nakatakda ito sa false, susundin ng <ph name="PRODUCT_NAME" /> ang iskedyul ng paghinto sa paggamit na inanunsyo sa publiko. + + Tingnan sa https://g.co/chrome/symantecpkicerts para sa higit pang detalye tungkol sa paghinto sa paggamit na ito.</translation> <translation id="383466854578875212">Nagbibigay-daan sa iyong tukuyin kung alin sa mga host ng native na pagmemensahe ang hindi napapailalim sa blacklist. Ang value ng blacklist na * ay nangangahulugang naka-blacklist ang lahat ng host ng native na pagmemensahe at ang mga host ng native na pagmemensahe lang na nakalista sa whitelist ang ilo-load. @@ -1016,7 +1022,6 @@ Kung hindi nakatakda ang patakaran, walang ipapatupad na paghihigpit ang patakaran para sa hanay ng mga app na maaaring i-enable ng user sa lock screen.</translation> <translation id="4309640770189628899">Kung naka-enable ang mga DHE na cipher suite sa TLS o hindi</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 o mas bago</translation> <translation id="4322842393287974810">Payagan ang awtomatikong inilunsad na walang pagkaantalang kiosk app na kontrolin ang bersyon ng <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Magdagdag ng button sa pag-logout sa tray ng system</translation> <translation id="4346674324214534449">Nagbibigay-daan sa iyong itakda kung dapat i-block ang mga ad sa mga site na may mga nakakasagabal na ad.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb index 23182f3b..64962a3 100644 --- a/components/policy/resources/policy_templates_fr.xtb +++ b/components/policy/resources/policy_templates_fr.xtb
@@ -553,13 +553,6 @@ Cette règle n'est respectée que si la règle "DefaultSearchProviderEnabled" est activée.</translation> <translation id="2682225790874070339">Désactiver Drive dans l'application Fichiers de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Activer la fonctionnalité de proxy pour la compression de données</translation> -<translation id="2726613915126661822">Vous permet d'autoriser l'exécution de machines virtuelles sur Chrome OS. - - Si la règle est définie sur "true", l'appareil est autorisé à exécuter des machines virtuelles. - Si elle est définie sur "false", l'appareil n'est pas autorisé à exécuter des machines virtuelles. - Lorsque la valeur de cette règle est modifiée et passe de "true" à "false", la règle s'applique au démarrage de nouvelles machines virtuelles. Les machines virtuelles qui s'exécutent déjà ne sont pas arrêtées. - Si cette règle n'est pas définie sur un appareil géré, l'appareil n'est pas autorisé à exécuter des machines virtuelles. - Les appareils non gérés sont autorisés à exécuter des machines virtuelles.</translation> <translation id="2731627323327011390">Désactiver l'utilisation de certificats <ph name="PRODUCT_OS_NAME" /> pour les applications ARC</translation> <translation id="2742843273354638707">Masque l'application Chrome Web Store et le lien de bas de page sur la page Nouvel onglet et dans le lanceur d'applications de <ph name="PRODUCT_OS_NAME" />. @@ -624,6 +617,12 @@ <translation id="2893546967669465276">Envoyer des journaux système au serveur de gestion</translation> <translation id="2899002520262095963">Les applications Android peuvent utiliser les configurations réseau et les certificats CA définis par cette règle, mais elles n'ont pas accès à certaines options de configuration.</translation> <translation id="2906874737073861391">Liste des extensions AppPack</translation> +<translation id="2907992746861405243">Détermine les imprimantes de <ph name="BULK_PRINTERS_POLICY" /> qui sont à la disposition des utilisateurs. + + Indique quelle règle d'accès est utilisée pour la configuration groupée des imprimantes. Si <ph name="PRINTERS_ALLOW_ALL" /> est sélectionné, toutes les imprimantes sont affichées. Si <ph name="PRINTERS_BLACKLIST" /> est sélectionné, <ph name="BULK_PRINTERS_BLACKLIST" /> est utilisé pour limiter l'accès aux imprimantes spécifiées. Si <ph name="PRINTERS_WHITELIST" /> est sélectionné, <ph name="BULK_PRINTERS_WHITELIST" /> indique uniquement les imprimantes qui peuvent être choisies. + + Si cette règle n'est pas définie, <ph name="PRINTERS_ALLOW_ALL" /> est supposé s'appliquer. + </translation> <translation id="2908277604670530363">Nombre maximal de connexions simultanées au serveur proxy</translation> <translation id="2956777931324644324">Cette règle a été supprimée dès la version 36 de <ph name="PRODUCT_NAME" />. @@ -645,9 +644,6 @@ La valeur de cette règle doit être indiquée en millisecondes. Les valeurs doivent être inférieures ou égales au délai d'arrêt de l'écran (le cas échéant) et au délai d'inactivité.</translation> <translation id="2987155890997901449">Activer ARC</translation> <translation id="2987227569419001736">Contrôler l'utilisation de l'API Web Bluetooth</translation> -<translation id="3001534538097271560">Si cette règle est définie sur "False", les utilisateurs ne peuvent pas envoyer d'informations système ni de contenu de pages aux serveurs Google. Si elle est définie sur "True" ou si elle n'est pas configurée, ils sont autorisés à envoyer des informations système et le contenu des pages au service de navigation sécurisée afin de contribuer à la détection des applications et des sites dangereux. - - Consultez la page https://developers.google.com/safe-browsing pour en savoir plus sur la navigation sécurisée.</translation> <translation id="3016255526521614822">Les applications de prise de note ajoutées à la liste blanche sont autorisées sur l'écran de verrouillage de <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Activer la génération de rapports sur les statistiques</translation> <translation id="3034580675120919256">Permet de définir si les sites Web sont autorisés à exécuter JavaScript. L'exécution de JavaScript peut être soit autorisée pour tous les sites, soit refusée pour tous les sites. @@ -762,6 +758,9 @@ Si cette règle est appliquée, seules les imprimantes dont l'ID correspond aux valeurs de la règle sont à la disposition de l'utilisateur. Les ID doivent correspondre aux entrées du fichier spécifié dans <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Si cette règle n'est pas configurée, <ph name="PRODUCT_NAME" /> utilise une version minimale par défaut qui est TLS 1.0. + + Sinon, l'une des valeurs suivantes peut être définie : "tls1", "tls1.1" ou "tls1.2". Si elle est configurée, <ph name="PRODUCT_NAME" /> n'utilisera pas de versions SSL/TLS antérieures à la version précisée. Toute valeur non reconnue sera ignorée.</translation> <translation id="3417418267404583991">Si cette règle est définie sur "true" ou si elle n'est pas configurée, <ph name="PRODUCT_OS_NAME" /> autorise les connexions en mode invité. Les connexions en mode invité correspondent à des sessions utilisateur anonymes et ne nécessitent pas de mot de passe. Si cette règle est définie sur "false", <ph name="PRODUCT_OS_NAME" /> n'autorise pas les sessions en mode invité.</translation> @@ -875,6 +874,13 @@ Si vous ne définissez pas cette règle, le clavier à l'écran est initialement désactivé, mais l'utilisateur peut l'activer à tout moment.</translation> <translation id="382476126209906314">Configurer le préfixe TalkGadget pour les hôtes d'accès à distance</translation> +<translation id="3831376478177535007">Lorsque ce paramètre est activé, <ph name="PRODUCT_NAME" /> accepte de faire confiance aux certificats émis par l'ancienne infrastructure PKI de Symantec Corporation s'ils sont correctement validés et que leur chaîne de confiance renvoie à un certificat CA reconnu. + + Notez que cette règle dépend de la reconnaissance des certificats de l'ancienne infrastructure de Symantec par le système d'exploitation. Si une mise à jour du système d'exploitation modifie sa gestion de ces certificats, cette règle n'aura plus d'effet. En outre, cette règle n'est qu'une solution temporaire destinée à laisser suffisamment de temps aux entreprises pour cesser d'utiliser les anciens certificats Symantec. Elle sera supprimée aux alentours du 1er janvier 2019. + + Si cette règle n'est pas définie, ou qu'elle est définie sur "False", <ph name="PRODUCT_NAME" /> suivra le calendrier annoncé publiquement pour l'abandon. + + Consultez la page https://g.co/chrome/symantecpkicerts pour en savoir plus sur cet abandon.</translation> <translation id="383466854578875212">Cette règle vous permet de spécifier les hôtes de messagerie native à exclure de la liste noire. Si vous définissez la valeur liée à la liste noire sur "*", cela signifie que tous les hôtes de messagerie native sont ajoutés à la liste noire et que seuls les hôtes de messagerie native figurant sur la liste blanche sont chargés. @@ -1036,7 +1042,6 @@ Si vous ne définissez pas de règle, aucune restriction ne s'appliquera sur l'ensemble d'applications que l'utilisateur peut activer sur l'écran de verrouillage.</translation> <translation id="4309640770189628899">Activation ou non des suites de chiffrement DHE dans TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ou version ultérieure</translation> <translation id="4322842393287974810">Autoriser l'application kiosque lancée automatiquement sans délai à contrôler la version de l'application <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Ajouter un bouton de déconnexion dans la barre d'état système</translation> <translation id="4346674324214534449">Vous permet de définir si les annonces doivent être bloquées sur les sites présentant des annonces intrusives.
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb index 470ae09..6133f2a8 100644 --- a/components/policy/resources/policy_templates_gu.xtb +++ b/components/policy/resources/policy_templates_gu.xtb
@@ -626,13 +626,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ફાઇલ્સ એપ્લિકેશનમાં ડ્રાઇવને અક્ષમ કરે છે</translation> <translation id="268577405881275241">ડેટા સંકોચન પ્રોક્સી સુવિધા સક્ષમ કરો</translation> <translation id="2710534340210290498">જો આ નીતિ false પર સેટ કરેલ છે, તો વપરાશકર્તાઓ સ્ક્રીનને લૉક કરવામાં સમર્થ હશે નહીં (ફક્ત વપરાશકર્તા સત્રથી સાઇન આઉટ કરવું જ શક્ય હશે). જો આ સેટિંગ true પર સેટ કરેલ છે અથવા તો સેટ કરેલ નથી, તો વપરાશકર્તાઓ જે પાસવર્ડ વડે પ્રમાણીકૃત થયેલ છે તે સ્ક્રીનને લૉક કરી શકે છે.</translation> -<translation id="2726613915126661822">વર્ચ્યુઅલ મશીન Chrome OS પર ચાલે તેની મંજૂરી આપવી કે નહીં તે તમે નિયંત્રિત કરી શકો છો. - - જો નીતિને True પર સેટ કરવામાં આવી હોય, તો ઉપકરણને વર્ચ્યુઅલ મશીન ચલાવવાની મંજૂરી રહેશે. - જો નીતિને False પર સેટ કરવામાં આવી હોય, તો ઉપકરણને વર્ચ્યુઅલ મશીન ચલાવવાની મંજૂરી રહેશે નહીં. - જયારે આ નીતિને False પર બદલવામાં આવે, ત્યારે વર્ચ્યુઅલ મશીનને શરૂ કરવા માટે તે લાગુ થશે પરંતુ જે પહેલાંથી ચાલી રહ્યાં હોય તેવા વર્ચ્યુઅલ મશીનને બંધ કરશે નહીં. - જયારે આ નીતિને મેનેજ કરેલ ઉપકરણ પર સેટ કરવામાં આવી ન હોય, ત્યારે ઉપકરણને વર્ચ્યુઅલ મશીન ચલાવવાની મંજૂરી રહેશે નહીં. - મેનેજ કર્યા વગરના ઉપકરણોને વર્ચ્યુઅલ મશીન ચલાવવાની મંજૂરી હોય છે.</translation> <translation id="2731627323327011390">ARC ઍપ્લિકેશનો માટે <ph name="PRODUCT_OS_NAME" /> પ્રમાણપત્રના વપરાશને અક્ષમ કરો</translation> <translation id="2742843273354638707">નવું ટેબ પૃષ્ઠ અને <ph name="PRODUCT_OS_NAME" /> એપ લૉન્ચરથી Chrome વેબ દુકાન ઍપ્લિકેશન અને ફૂટર લિંકને છુપાવો. @@ -701,6 +694,12 @@ <translation id="2893546967669465276">સંચાલન સર્વર પર સિસ્ટમ લૉગ્સ મોકલવા</translation> <translation id="2899002520262095963">Android અૅપ્લિકેશનો, આ નીતિ દ્વારા સેટ કરેલ નેટવર્ક ગોઠવણીઓ અને CA પ્રમાણપત્રોનો ઉપયોગ કરી શકે છે, પરંતુ કેટલાક ગોઠવણી વિકલ્પોની અૅક્સેસ નહીં હોય.</translation> <translation id="2906874737073861391">AppPack એક્સ્ટેન્શનની સૂચિ</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" />માંથી કયા પ્રિન્ટર વપરાશકર્તાઓ માટે ઉપલબ્ધ છે તે નિયંત્રિત કરે છે. + + બલ્ક પ્રિન્ટર ગોઠવણી માટે કઈ ઍક્સેસ નીતિનો ઉપયોગ કરવો તે નક્કી કરે છે. જો <ph name="PRINTERS_ALLOW_ALL" />ને પસંદ કરેલ હોય, તો બધા પ્રિન્ટર બતાવવામાં આવે છે. જો <ph name="PRINTERS_BLACKLIST" />ને પસંદ કરેલ હોય, તો ચોક્કસ પ્રિન્ટરના ઍક્સેસને મર્યાદિત કરવા માટે <ph name="BULK_PRINTERS_BLACKLIST" />નો ઉપયોગ થાય છે. જો <ph name="PRINTERS_WHITELIST" />ને પસંદ કરેલ હોય, તો <ph name="BULK_PRINTERS_WHITELIST" /> માત્ર એવા જ પ્રિન્ટર નક્કી કરે છે કે જે પસંદ કરી શકાય એવા હોય. + + જો આ નીતિ સેટ કરેલ ન હોય, તો <ph name="PRINTERS_ALLOW_ALL" />ને માની લેવામાં આવે છે. + </translation> <translation id="2908277604670530363">પ્રતિ પ્રોક્સી સર્વર માટેના સમવર્તી કનેક્શંસની મહત્તમ સંખ્યા</translation> <translation id="2956777931324644324">આ નીતિને <ph name="PRODUCT_NAME" /> સંસ્કરણ 36 ની સાથે જ સમાપ્ત કરવામાં આવી છે. @@ -728,9 +727,6 @@ જ્યારે આ નીતિ સેટ કરેલ ન હોય, ત્યારે વધુ-ચોક્કસ નીતિઓના વર્તન પર પ્રભાવ પડતો નથી.</translation> <translation id="2987155890997901449">ARC સક્ષમ કરે છે</translation> <translation id="2987227569419001736">વેબ Bluetooth API નો ઉપયોગ નિયંત્રિત કરો</translation> -<translation id="3001534538097271560">આ નીતિને false પર સેટ કરવું તે વપરાશકર્તાઓને અમુક સિસ્ટમ માહિતી અને પેજ કન્ટેન્ટને Google સર્વર પર મોકલવાનું પસંદ કરવાથી અટકાવે છે. જો આ સેટિંગ true હોય અથવા ગોઠવેલ ન હોય, તો પછી વપરાશકર્તાઓને જોખમકારક ઍપ્લિકેશનો અને સાઇટ શોધવામાં સહાય કરવા માટે અમુક સિસ્ટમ માહિતી અને પેજ કન્ટેન્ટને સલામત બ્રાઉઝિંગમાં મોકલવાની મંજૂરી આપવામાં આવશે. - - SafeBrowsing વિશે વધુ માહિતી માટે https://developers.google.com/safe-browsing જુઓ.</translation> <translation id="3016255526521614822">વ્હાઇટલિસ્ટ નોંધ લેતી ઍપની <ph name="PRODUCT_OS_NAME" />ના લૉક સ્ક્રીન પર મંજૂરી છે</translation> <translation id="3030000825273123558">મેટ્રિક્સ રિપોર્ટિંગને સક્ષમ કરે છે</translation> <translation id="3034580675120919256">વેબસાઇટ્સને JavaScript ચલાવવાની મંજૂરી આપવી કે નહીં તે સેટ કરવાની મંજૂરી આપે છે. JavaScript ચલાવવું તમામ વેબસાઇટ્સ માટે મંજૂર કરી શકાય છે અથવા તમામ વેબસાઇટ્સ માટે નકારાય છે. @@ -853,6 +849,9 @@ જો આ નીતિનો ઉપયોગ કરવામાં આવ્યો હોય, તો માત્ર આ નીતિમાં જણાવેલ મૂલ્યો સાથે મેળ ખાતા IDવાળા પ્રિન્ટર વપરાશકર્તા માટે ઉપલબ્ધ હોય છે. આ ID <ph name="DEVICE_PRINTERS_POLICY" />માં ઉલ્લેખિત કરવામાં આવેલ ફાઇલમાંની એન્ટ્રી સાથે બંધબેસતા હોવા આવશ્યક છે. </translation> +<translation id="3414260318408232239">જ્યારે આ નીતિ ગોઠવવામાં આવી ન હોય, ત્યારે <ph name="PRODUCT_NAME" /> ડિફૉલ્ટ રીતે નીચામાં નીચું વર્ઝન, જે TLS 1.0 છે, તેનો ઉપયોગ કરે છે. + + અન્યથા તે નીચેનામાંથી કોઈ એક મૂલ્ય પર સેટ કરવામાં આવી શકે છે: "tls1", "tls1.1" અથવા "tls1.2". જ્યારે સેટ કરેલ હોય, ત્યારે SSL/TLSના ઉલ્લેખિત વર્ઝનથી નીચા વર્ઝનનો ઉપયોગ <ph name="PRODUCT_NAME" /> કરશે નહીં. એક વણઓળખાયેલ મૂલ્ય અવગણવામાં આવશે.</translation> <translation id="3417418267404583991">જો આ નીતિ true પર સેટ કરેલી છે અથવા કન્ફિગર કરેલી નથી, તો <ph name="PRODUCT_OS_NAME" /> અતિથિ લૉગિન્સ કરવામાં સક્ષમ હશે. અતિથિ લૉગિન અજ્ઞાત વપરશાકર્તા સત્રો છે અને તેને પાસવર્ડની આવશ્યકતા નથી. જો આ નીતિ false પર સેટ કરેલી છે, તો <ph name="PRODUCT_OS_NAME" /> અતિથિ સત્રને પ્રારંભ થવાની મંજૂરી આપશે નહીં.</translation> @@ -993,6 +992,13 @@ જો આ નીતિ સેટ કર્યા વિના છોડી દીધી છે, તો આરંભિક રૂપે ઓન-સ્ક્રીન કીબોર્ડ અક્ષમ કરેલ હોય છે પરંતુ વપરાશકર્તા દ્વારા કોઈપણ સમયે સક્ષમ કરી શકાય છે.</translation> <translation id="382476126209906314">રીમોટ ઍક્સેસ હોસ્ટ્સ માટે TalkGadget પ્રીફિક્સ ગોઠવો</translation> +<translation id="3831376478177535007">જ્યારે આ સેટિંગ ચાલુ કરવામાં આવી હોય, ત્યારે <ph name="PRODUCT_NAME" /> Symantec Corporationના લેગસી PKI ઑપરેશન દ્વારા આપવામાં આવેલા પ્રમાણપત્રો જો વિશ્વસનીય હોય તો તેવી મંજૂરી આપે છે, નહીં તો સફળતાપૂર્વક માન્ય કરી અને ઓળખ પામેલ CAનું પ્રમાણપત્ર સાંકળવામાં આવે છે. + + નોંધો કે આ નીતિ ઑપરેટિંગ સિસ્ટમ પર Symantecના લેગસી ઇન્ફ્રાસ્ટ્રક્ચરમાંથી હજુ પ્રમાણપત્ર ઓળખવા પર આધારિત છે. જો કોઈ OS અપડેટ આવા પ્રમાણપત્રોના OS હૅન્ડલિંગમાં બદલાવ કરે છે, તો આ નીતિની કોઈ અસર રહેતી નથી. વધુમાં, આ નીતિ લેગસીમાં Symantec પ્રમાણપત્રોથી દૂર થવા માટે ટ્રાન્ઝિશન માટે સંગઠનોને વધુ સમય આપવા માટે હંગામી ઉકેલ તરીકેના હેતુસર છે. આ નીતિ 1લી જાન્યુઆરી 2019 ના રોજ અથવા તેની આસપાસ કાઢી નાખવામાં આવશે. + + જો આ નીતિ સેટ કરવામાં આવી ન હોય અથવા તેને false પર સેટ કરેલ હોય, તો પછી તે <ph name="PRODUCT_NAME" /> સાર્વજનિક રીતે જાહેર થયેલ ટાળવાના શેડ્યૂલને અનુસરે છે. + + આ ટાળવા માટેની વધુ વિગતો માટે https://g.co/chrome/symantecpkicerts જુઓ.</translation> <translation id="383466854578875212">કયા મૂળ મેસેજિંગ હોસ્ટ્સ બ્લેકલિસ્ટને પાત્ર નથી તેનો ઉલ્લેખ કરવાની તમને મંજૂરી આપે છે. બ્લેકલિસ્ટ મૂલ્ય * નો અર્થ બધા મૂળ મેસેજિંગ હોસ્ટ્સ બ્લેકલિસ્ટેડ છે એવો થાય અને માત્ર વ્હાઇટલિસ્ટમાં સૂચિ થયેલ મૂળ મેસેજિંગ હોસ્ટ્સને જ લોડ કરવામાં આવશે. @@ -1195,7 +1201,6 @@ જો નીતિને સેટ કર્યા વિના છોડવામાં આવે, તો નીતિ દ્વારા લાદવામાં આવતી લૉક સ્ક્રીન પર વપરાશકર્તા દ્વારા સક્ષમ કરી શકાય એવા ઍપના સેટ પર કોઈ પ્રતિબંધ રહેશે નહીં.</translation> <translation id="4309640770189628899">TLS માંના DHE સાઇફર સ્યૂટ્સ સક્ષમ કરેલ છે કે કેમ</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 અથવા તે પછીનું</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> સંસ્કરણને નિયંત્રિત કરવા માટે શૂન્ય વિલંબ કિઓસ્ક ઍપ્લિકેશન સાથે સ્વતઃ લોંચની મંજૂરી આપો</translation> <translation id="4325690621216251241">સિસ્ટમ ટ્રે પર એક બટન લૉગઆઉટ ઉમેરો</translation> <translation id="4346674324214534449">તમને ખલેલ પાડતી જાહેરાતોવાળી સાઇટ પર જાહેરાતોને બ્લૉક કરવી કે નહીં તે સેટ કરવાની મંજૂરી આપે છે. @@ -2835,7 +2840,7 @@ બલ્ક પ્રિન્ટર ગોઠવણી માટે કઈ ઍક્સેસ નીતિનો ઉપયોગ કરવો તે નક્કી કરે છે. જો <ph name="PRINTERS_ALLOW_ALL" />ને પસંદ કરેલ હોય, તો બધા પ્રિન્ટર બતાવવામાં આવે છે. જો <ph name="PRINTERS_BLACKLIST" />ને પસંદ કરેલ હોય, તો ચોક્કસ પ્રિન્ટરના ઍક્સેસને મર્યાદિત કરવા માટે <ph name="DEVICE_PRINTERS_BLACKLIST" />નો ઉપયોગ થાય છે. જો <ph name="PRINTERS_WHITELIST" />ને પસંદ કરેલ હોય, તો <ph name="DEVICE_PRINTERS_WHITELIST" /> માત્ર એવા જ પ્રિન્ટર નક્કી કરે છે કે જે પસંદ કરી શકાય એવા હોય. - જો આ નીતિ સેટ કરેલ ન હોય, તો <ph name="PRINTERS_ALLOW_ALL" />ને માની લેવામાં આવે છે. + જો આ નીતિ સેટ કરેલ ન હોય, તો <ph name="PRINTERS_ALLOW_ALL" />ને માની લેવામાં આવે છે. </translation> <translation id="8947415621777543415">ઉપકરણ સ્થાનની જાણ કરો</translation> <translation id="8951350807133946005">ડિસ્ક કેશ નિર્દેશિકા સેટ કરો</translation>
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb index a7db43f..7c6dcc9 100644 --- a/components/policy/resources/policy_templates_hi.xtb +++ b/components/policy/resources/policy_templates_hi.xtb
@@ -286,7 +286,7 @@ <translation id="2067011586099792101">सामग्री पैक से बाहर की साइटों की एक्सेस अवरुद्ध करें</translation> <translation id="2070270043919235595">उपयोगकर्ताओं को सूचित करती है कि जिस अपडेट की मंज़ूरी बाकी है उसे लागू करने के लिए <ph name="PRODUCT_NAME" /> को फिर से लॉन्च करना होगा. - यह नीति सेटिंग उपयोगकर्ता को इस बात की सूचना देने के लिए सूचनाएं चालू करती है कि ब्राउज़र को फिर से लॉन्च करने का सुझाव दिया गया है या ऐसा करना ज़रूरी है. अगर सेट नहीं होती है, तो <ph name="PRODUCT_NAME" /> उपयोगकर्ता को यह बताता है कि उसके मेन्यू में खास बदलावों के ज़रिए फिर से लॉन्च करना ज़रूरी है. अगर 'सुझाया गया' पर सेट होती है, तो उपयोगकर्ता को बार-बार यह चेतावनी दिखाएगी कि फिर से लॉन्च करने का सुझाव दिया गया है. उपयोगकर्ता फिर से लॉन्च करने को टालने के लिए इस चेतावनी को खारिज कर सकता है. अगर 'ज़रूरी' पर सेट होती है, तो उपयोगकर्ता को बार-बार यह चेतावनी दिखाएगी कि सूचना की अवधि खत्म होने पर ब्राउज़र को बिना पूछे फिर से लॉन्च कर दिया जाएगा. डिफ़ॉल्ट रूप से यह अवधि सात दिनों की होती है और <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" /> नीति सेटिंग के ज़रिए कॉन्फ़िगर की जा सकती है. + यह नीति सेटिंग उपयोगकर्ता को इस बात की सूचना देने के लिए सूचनाएं चालू करती है कि ब्राउज़र को फिर से लॉन्च करने का सुझाव दिया गया है या ऐसा करना ज़रूरी है. अगर सेट नहीं होती है, तो <ph name="PRODUCT_NAME" /> उपयोगकर्ता को यह बताती है कि उसके मेन्यू में खास बदलावों के ज़रिए फिर से लॉन्च करना ज़रूरी है. अगर 'सुझाया गया' पर सेट होती है, तो उपयोगकर्ता को बार-बार यह चेतावनी दिखाएगी कि फिर से लॉन्च करने का सुझाव दिया गया है. उपयोगकर्ता फिर से लॉन्च करने को टालने के लिए इस चेतावनी को खारिज कर सकता है. अगर 'ज़रूरी' पर सेट होती है, तो उपयोगकर्ता को बार-बार यह चेतावनी दिखाएगी कि सूचना की अवधि खत्म होने पर ब्राउज़र को बिना पूछे फिर से लॉन्च कर दिया जाएगा. डिफ़ॉल्ट रूप से यह अवधि सात दिनों की होती है और <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" /> नीति सेटिंग के ज़रिए कॉन्फ़िगर की जा सकती है. फिर से लॉन्च करने के बाद उपयोगकर्ता का सत्र बहाल कर दिया जाता है.</translation> <translation id="2077129598763517140">उपलब्ध होने पर हार्डवेयर त्वरण का उपयोग करें</translation> @@ -538,13 +538,6 @@ इस नीति पर तभी विचार किया जाता है जबकि 'DefaultSearchProviderEnabled' नीति सक्षम हो.</translation> <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> फ़ाइलें ऐप्स में डिस्क को अक्षम करती है</translation> <translation id="268577405881275241">डेटा संपीडन प्रॉक्सी सुविधा सक्षम करें</translation> -<translation id="2726613915126661822">आपको यह नियंत्रित करने देती है कि Chrome OS पर वर्चुअल मशीनें चलाने की मंजूरी देनी है या नहीं. - - अगर नीति सही पर सेट की जाती है, तो डिवाइस वर्चुअल मशीनें चला सकता है. - अगर नीति गलत पर सेट की जाती है, तो डिवाइस वर्चुअल मशीनें नहीं चला सकेगा. - जब यह नीति गलत में बदली जाती है, तो यह नई वर्चुअल मशीनें शुरू कर देती है लेकिन पहले से चल रही वर्चुअल मशीनें बंद नहीं करती है. - जब यह नीति किसी प्रबंधित डिवाइस पर सेट नहीं होती है, तो डिवाइस वर्चुअल मशीनें नहीं चला सकेगा. - प्रबंधित नहीं किए गए डिवाइस वर्चुअल मशीनें चला सकते हैं.</translation> <translation id="2731627323327011390">ARC-ऐप्लिकेशन के लिए <ph name="PRODUCT_OS_NAME" /> प्रमाणपत्रों का उपयोग अक्षम करें</translation> <translation id="2742843273354638707">Chrome वेब स्टोर ऐप्स और पादलेख लिंक को नए टैब पेज और <ph name="PRODUCT_OS_NAME" /> में ऐप चलाने के साधन से छिपाएं. @@ -609,6 +602,12 @@ <translation id="2893546967669465276">प्रबंधन सर्वर को सिस्टम लॉग भेजें</translation> <translation id="2899002520262095963">Android ऐप्लिकेशन इस नीति द्वारा सेट किए गए नेटवर्क कॉन्फ़िगरेशन और CA प्रमाणपत्रों का उपयोग कर सकते हैं, लेकिन उनके पास कुछ कॉन्फ़िगरेशन विकल्पों का एक्सेस नहीं होता.</translation> <translation id="2906874737073861391">AppPack एक्सटेंशन की सूची</translation> +<translation id="2907992746861405243">यह नियंत्रित करती है कि <ph name="BULK_PRINTERS_POLICY" /> से कौन-कौनसे प्रिंटर उपयोगकर्ताओं के लिए उपलब्ध हैं. + + बल्क प्रिंटर कॉन्फ़िगरेशन के लिए इस्तेमाल की जाने वाली एक्सेस नीति के बारे में बताती है. अगर <ph name="PRINTERS_ALLOW_ALL" /> को चुना जाता है, तो सभी प्रिंटर दिखाए जाते हैं. अगर <ph name="PRINTERS_BLACKLIST" /> को चुना जाता है, तो तय किए गए प्रिंटर के एक्सेस सीमित करने के लिए <ph name="BULK_PRINTERS_BLACKLIST" /> का इस्तेमाल किया जाता है. अगर <ph name="PRINTERS_WHITELIST" /> को चुना जाता है, तो <ph name="BULK_PRINTERS_WHITELIST" /> सिर्फ़ चुने जा सकने वाले प्रिंटर के बारे में बताती है. + + अगर यह नीति सेट नहीं की जाती है, तो <ph name="PRINTERS_ALLOW_ALL" /> की स्थिति मानी जाती है. + </translation> <translation id="2908277604670530363">प्रॉक्सी सर्वर के समवर्ती कनेक्शन की अधिकतम संख्या</translation> <translation id="2956777931324644324">यह नीति <ph name="PRODUCT_NAME" /> वर्शन 36 से निकाल दी गई है. @@ -630,9 +629,6 @@ नीति का मान मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. मानों को स्क्रीन बंद विलंब (यदि सेट हो) और प्रयोग में नहीं विलंब से कम या उसके बराबर होने के लिए क्लैम्प किया जाता है.</translation> <translation id="2987155890997901449">ARC सक्षम करें</translation> <translation id="2987227569419001736">वेब ब्लूटूथ API के उपयोग को नियंत्रित करें</translation> -<translation id="3001534538097271560">इस नीति को गलत पर सेट करने से उपयोगकर्ताओं को Google सर्वर पर कुछ सिस्टम जानकारी और पेज सामग्री भेजना चुनने से रोक दिया जाता है. अगर यह सेटिंग सही पर सेट होती है या कॉन्फ़िगर नहीं की जाती है, तो खतरनाक ऐप्लिकेशन और साइटों का पता लगाने में सहायता करने के लिए उपयोगकर्ताओं को सुरक्षित ब्राउज़िंग पर कुछ सिस्टम जानकारी और पेज सामग्री भेजने की अनुमति होगी. - - सुरक्षित ब्राउज़िंग के बारे में अधिक जानकारी के लिए https://developers.google.com/safe-browsing देखें.</translation> <translation id="3016255526521614822">श्वेतसूची में शामिल नोट लेने वाले ऐप्लिकेशन की <ph name="PRODUCT_OS_NAME" /> लॉक स्क्रीन पर अनुमति है</translation> <translation id="3030000825273123558">मेट्रिक रिपोर्ट करना सक्षम करें</translation> <translation id="3034580675120919256">आपको यह सेट करने देती है कि वेबसाइटों को JavaScript चलाने की अनुमति हो या नहीं. JavaScript चलाया जाना या तो सभी वेबसाइटों के लिए अनुमत हो सकता है या सभी वेबसाइटों के लिए अस्वीकृत हो सकता है. यदि इस नीति को सेट किए बिना छोड़ दिया जाता है, तो 'AllowJavaScript' का उपयोग किया जाएगा और उपयोगकर्ता इसे बदल सकेगा.</translation> @@ -745,6 +741,9 @@ अगर इस नीति का इस्तेमाल किया जाता है, तो केवल ऐसे प्रिंटर उपयोगकर्ता को उपलब्ध कराए जाते हैं जिनके आईडी इस नीति में दिए गए मान से मिलान करते हैं. आईडी <ph name="DEVICE_PRINTERS_POLICY" /> में बताई गई फ़ाइल की प्रविष्टियों के अनुसार होना चाहिए. </translation> +<translation id="3414260318408232239">अगर यह नीति कॉन्फ़िगर नहीं की जाती है तो फिर <ph name="PRODUCT_NAME" /> डिफ़ॉल्ट न्यूनतम वर्शन का इस्तेमाल करता है, जो कि TLS 1.0 है. + + अन्यथा उसे आगे दिए गए किसी एक मान पर सेट किया जा सकता है: "tls1", "tls1.1" या "tls1.2". सेट होने पर, <ph name="PRODUCT_NAME" /> बताए गए SSL/TLS वर्शन से नीचे वाले वर्शन का इस्तेमाल नहीं करेगा. नहीं पहचाने गए किसी मान को अनदेखा कर दिया जाएगा.</translation> <translation id="3417418267404583991">यदि यह नीति सही पर सेट है या कॉन्फ़िगर नहीं है, तो <ph name="PRODUCT_OS_NAME" /> अतिथि प्रवेश सक्षम करेगा. अतिथि प्रवेश अज्ञात उपयोगकर्ता सत्र है और इसके लिए पासवर्ड की आवश्यकता नहीं है. यदि यह नीति गलत पर सेट है, तो <ph name="PRODUCT_OS_NAME" /> अतिथि सत्रों को प्रारंभ नहीं होने देगा.</translation> @@ -858,6 +857,13 @@ यदि इस नीति को सेट किए बिना छोड़ दिया जाता है, तो आरंभ में ऑन-स्क्रीन कीबोर्ड अक्षम रहेगा लेकिन उसे उपयोगकर्ता द्वारा किसी भी समय सक्षम किया जा सकता है.</translation> <translation id="382476126209906314">दूरस्थ पहुंच होस्ट के लिए TalkGadget का प्रारंभिक भाग कॉन्फ़िगर करें</translation> +<translation id="3831376478177535007">इस सेटिंग के चालू होने पर, <ph name="PRODUCT_NAME" /> Symantec Corporation के Legacy PKI संचालनों की ओर से जारी किए गए प्रमाणपत्रों को तब अनुमति देता है अगर वे अन्यथा किसी पहचाने हुए CA प्रमाणपत्र को सफलता से मान्य करते हैं और उससे जुड़ते हैं. + + ध्यान रखें कि यह नीति उस ऑपरेटिंग सिस्टम पर निर्भर करती है जो अभी भी Symantec की विरासती बुनियादी संरचना के प्रमाणपत्रों को पहचानता है. अगर किसी OS अपडेट से ऐसे प्रमाणपत्रों की OS हैंडलिंग में बदलाव होता है, तो इस नीति का कोई प्रभाव नहीं होगा. इसी के साथ, यह नीति एक अस्थायी वर्कअराउंड के रूप में लक्षित है ताकि उद्यमों को विरासती Symantec प्रमाणपत्रों से दूर जाने के लिए अधिक समय दिया जा सके. यह नीति 1 जनवरी 2019 को या उसके आस-पास कभी भी निकाल दी जाएगी. + + अगर यह नीति सेट नहीं है या इसे गलत पर सेट किया गया है, तो फिर <ph name="PRODUCT_NAME" /> सार्वजनिक रूप से घोषित बहिष्करण शेड्यूल का पालन करेगा. + + इस बहिष्करण पर अधिक जानकारी के लिए https://g.co/chrome/symantecpkicerts देखें.</translation> <translation id="383466854578875212">आपको यह निर्दिष्ट करने देता है कि कौन से स्थानीय संदेश सेवा होस्ट कालीसूची के अधीन नहीं हैं. * वाले कालीसूची मान का अर्थ है कि सभी स्थानीय संदेश सेवा होस्ट कालीसूची में डाल दिए गए हैं और केवल श्वेतसूची में सूचीबद्ध स्थानीय संदेश सेवा होस्ट ही लोड किए जाएंगे. @@ -1016,7 +1022,6 @@ अगर नीति सेट किए बिना छोड़ दी जाती है, तो ऐप्लिकेशन के उस समूह पर कोई भी प्रतिबंध नहीं होगा जिसे उपयोगकर्ता नीति की ओर से लागू की गई लॉक स्क्रीन पर सक्षम कर सकता है.</translation> <translation id="4309640770189628899">क्या TLS में DHE सिफ़र सुइट सक्षम किए हुए हैं</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 या बाद का वर्शन</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> वर्शन को नियंत्रित करने के लिए शून्य विलंब किओस्क ऐप वाले स्वत: लॉन्च को अनुमति दें</translation> <translation id="4325690621216251241">सिस्टम ट्रे में एक प्रस्थान करें बटन जोड़ें</translation> <translation id="4346674324214534449">आपको यह सेट करने की अनुमति देती है कि तंग करने वाले विज्ञापनों वाली साइटों पर विज्ञापन ब्लॉक किए जाने चाहिए या नहीं. @@ -2434,9 +2439,9 @@ यह नीति इस पर कोई प्रभाव नहीं डालती है कि उपयोगकर्ता अलग-अलग डिवाइसों पर प्रिंटर कॉन्फ़िगर कर सकते हैं या नहीं. इसे अलग-अलग उपयोगकर्ताओं के प्रिंटर के कॉन्फ़िगरेशन का पूरक होने के लिए बनाया गया है. </translation> -<translation id="8934944553121392674">यह नियंत्रित करती है कि <ph name="DEVICE_PRINTERS_POLICY" /> से कौन-कौन से प्रिंटर उपयोगकर्ताओं के लिए उपलब्ध हैं. +<translation id="8934944553121392674">यह नियंत्रित करती है कि <ph name="DEVICE_PRINTERS_POLICY" /> से कौन-कौनसे प्रिंटर उपयोगकर्ताओं के लिए उपलब्ध हैं. - बल्क प्रिंटर कॉन्फ़िगरेशन के लिए इस्तेमाल की जाने वाली एक्सेस नीति के बारे में बताती है. अगर <ph name="PRINTERS_ALLOW_ALL" /> को चुना जाता है, तो सभी प्रिंटर दिखाए जाते हैं. अगर <ph name="PRINTERS_BLACKLIST" /> को चुना जाता है, तो तय किए गए प्रिंटर के एक्सेस सीमित करने के लिए <ph name="DEVICE_PRINTERS_BLACKLIST" /> का इस्तेमाल किया जाता है. अगर <ph name="PRINTERS_WHITELIST" /> को चुना जाता है, तो <ph name="DEVICE_PRINTERS_WHITELIST" /> सिर्फ़ चुने जा सकने वाले प्रिंटर के बारे में बताती है. + बल्क प्रिंटर कॉन्फ़िगरेशन के लिए इस्तेमाल की जाने वाली एक्सेस नीति के बारे में बताती है. अगर <ph name="PRINTERS_ALLOW_ALL" /> को चुना जाता है, तो सभी प्रिंटर दिखाए जाते हैं. अगर <ph name="PRINTERS_BLACKLIST" /> को चुना जाता है, तो तय किए गए प्रिंटर के एक्सेस सीमित करने के लिए <ph name="DEVICE_PRINTERS_BLACKLIST" /> का इस्तेमाल किया जाता है. अगर <ph name="PRINTERS_WHITELIST" /> को चुना जाता है, तो <ph name="DEVICE_PRINTERS_WHITELIST" /> सिर्फ़ चुने जा सकने वाले प्रिंटर के बारे में बताती है. अगर यह नीति सेट नहीं की जाती है, तो <ph name="PRINTERS_ALLOW_ALL" /> की स्थिति मानी जाती है. </translation>
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb index 226f3cb12..8b23057 100644 --- a/components/policy/resources/policy_templates_hr.xtb +++ b/components/policy/resources/policy_templates_hr.xtb
@@ -519,13 +519,6 @@ <translation id="267596348720209223">Određuje kodiranje znakova koje podržava davatelj usluga pretraživanja. Kodiranja su nazivi kodnih stranica poput UTF-8, GB2312 i ISO-8859-1. Isprobavaju se navedenim redoslijedom. Ovo je pravilo izborno. Ako nije postavljeno, upotrebljavat će se zadana stranica UTF-8. Ovo će se pravilo poštovati samo ako je omogućeno pravilo "DefaultSearchProviderEnabled".</translation> <translation id="2682225790874070339">Onemogućuje Disk u aplikaciji Datoteke za <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Omogući značajku proxyja za kompresiju podataka</translation> -<translation id="2726613915126661822">Omogućuje vam da odredite je li virtualnim računalima dopušteno pokretanje na OS-u Chrome. - - Ako je pravilo postavljeno na True, uređaju je dopušteno pokretanje virtualnih računala. - Ako je pravilo postavljeno na False, uređaju nije dopušteno pokretanje virtualnih računala. - Kada se ovo pravilo promijeni na False, primjenjuje se na pokretanje novih virtualnih računala, ali ne isključuje virtualna računala koja su već pokrenuta. - Kada ovo pravilo nije postavljeno na upravljanom uređaju, uređaju nije dopušteno pokretanje virtualnih računala. - Neupravljanim je uređajima dopušteno pokretanje virtualnih računala.</translation> <translation id="2731627323327011390">Onemogući upotrebu <ph name="PRODUCT_OS_NAME" /> certifikata za ARC aplikacije</translation> <translation id="2742843273354638707">Skrivanje aplikacije Chrome web-trgovine i veze u podnožju na web-stranici nove kartice i pokretača aplikacija za <ph name="PRODUCT_OS_NAME" />. @@ -590,6 +583,12 @@ <translation id="2893546967669465276">Šalji zapisinike sustava poslužitelju za upravljanje</translation> <translation id="2899002520262095963">Android aplikacije mogu upotrebljavati mrežne konfiguracije i CA certifikate postavljene putem tog pravila, no nemaju pristup nekim opcijama konfiguracije.</translation> <translation id="2906874737073861391">Popis proširenja AppPack</translation> +<translation id="2907992746861405243">Određuje koji su pisači iz pravila <ph name="BULK_PRINTERS_POLICY" /> dostupni korisnicima. + + Određuje koje se pravilo za pristup upotrebljava za skupnu konfiguraciju pisača. Ako se odabere <ph name="PRINTERS_ALLOW_ALL" />, prikazuju se svi pisači. Ako se odabere <ph name="PRINTERS_BLACKLIST" />, <ph name="BULK_PRINTERS_BLACKLIST" /> upotrebljava se za ograničenje pristupa navedenim pisačima. Ako se odabere <ph name="PRINTERS_WHITELIST" />, <ph name="BULK_PRINTERS_WHITELIST" /> određuje samo one pisače koji se mogu odabrati. + + Ako se to pravilo ne postavi, pretpostavlja se da vrijedi <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maksimalan broj istodobnih veza na proxy poslužitelju</translation> <translation id="2956777931324644324">To je pravilo ukinuto od verzije <ph name="PRODUCT_NAME" /> 36. @@ -611,9 +610,6 @@ Vrijednost pravila treba navesti u milisekundama. Vrijednosti su ograničene na vrijeme kraće od odgode isključivanja zaslona i odgode neaktivnosti ili jednako tom vremenu (ako je postavljeno).</translation> <translation id="2987155890997901449">Omogući ARC</translation> <translation id="2987227569419001736">Upravljanje upotrebom API-ja Web Bluetooth</translation> -<translation id="3001534538097271560">Ako se to pravilo postavi na "false", korisnici neće moći odabrati slanje nekih informacija sustava i sadržaja stranice Googleovim poslužiteljima. Ako se ta postavka postavi na "true" ili se ne konfigurira, korisnici će moći slati neke informacije sustava i sadržaj stranice Sigurnom pregledavanju radi boljeg otkrivanja opasnih aplikacija i web-lokacija. - - Više informacija o Sigurnom pregledavanju potražite na stranici https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Aplikacije za izradu bilježaka dopuštene na zaključanom zaslonu uređaja sa sustavom <ph name="PRODUCT_OS_NAME" /> stavi na popis dopuštenih</translation> <translation id="3030000825273123558">Omogući izvješće o metrici</translation> <translation id="3034580675120919256">Omogućuje da postavite smiju li web-lokacije pokretati JavaScript. Pokretanje JavaScripta može biti dopušteno za sve web-lokacije ili odbijeno za sve web-lokacije. Ako ovo pravilo nije postavljeno, upotrebljavat će se pravilo "AllowJavaScript", a korisnik će to moći promijeniti.</translation> @@ -718,6 +714,9 @@ Ako se to pravilo upotrebljava, korisniku su dostupni samo pisači s ID-ovima podudarnim s vrijednostima u tom pravilu. ID-ovi se moraju podudarati s unosima u datoteci navedenoj u pravilu <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Ako se to pravilo ne konfigurira, <ph name="PRODUCT_NAME" /> upotrebljava zadanu minimalnu verziju, a to je TLS 1.0. + + U suprotnom se može postaviti na jednu od sljedećih vrijednosti: "tls1", "tls1.1" ili "tls1.2". Kad se to pravilo postavi, <ph name="PRODUCT_NAME" /> neće upotrebljavati verzije SSL-a/TLS-a manje od navedene verzije. Vrijednost koja se ne prepozna ignorirat će se.</translation> <translation id="3417418267404583991">Ako je to pravilo postavljeno na "istinito" ili ako nije konfigurirano, sustav <ph name="PRODUCT_OS_NAME" /> omogućit će prijave gostiju. Prijave gostiju predstavljaju sesije anonimnih korisnika i zaporka nije potrebna. Ako je to pravilo postavljeno na "lažno", sustav <ph name="PRODUCT_OS_NAME" /> neće dopustiti pokretanje gostujućih sesija.</translation> @@ -826,6 +825,13 @@ Ako ne postavite ovo pravilo, tipkovnica na zaslonu u početku je onemogućena, ali je korisnici mogu omogućiti u bilo kojem trenutku.</translation> <translation id="382476126209906314">Konfiguriraj prefiks TalkGadget za hostove daljinskog pristupa</translation> +<translation id="3831376478177535007">Kada se ta postavka omogući, <ph name="PRODUCT_NAME" /> dopušta da se certifikati izdani u okviru Legacy PKI operacija tvrtke Symantec Corporation smatraju pouzdanima ako se inače mogu uspješno potvrditi i ulančavati s priznatim CA certifikatom. + + Napominjemo da ovo pravilo ovisi o tome hoće li operativni sustav još prepoznati certifikate Symantecove stare infrastrukture. Ako ažuriranje OS-a promijeni način na koji operativni sustav rukuje takvim certifikatima, to pravilo više neće imati utjecaja. Osim toga, to je pravilo predviđeno kao privremeno zaobilazno rješenje koje organizacijama omogućuje više vremena za prijelaz sa starih Symantecovih certifikata. To će se pravilo ukloniti u razdoblju oko 1. siječnja 2019. + + Ako se to pravilo ne postavi ili se postavi na netočno, <ph name="PRODUCT_NAME" /> pridržava se javno objavljenog rasporeda obustavljanja. + + Više pojedinosti o obustavljanju dostupno je na https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Omogućuje vam da odredite koji hostovi za lokalno slanje poruka neće biti podložni zabrani. Vrijednost "*" na popisu nedopuštenih znači da su svi hostovi za lokalno slanje poruka zabranjeni i da će se učitati samo hostovi za lokalno slanje poruka koji su navedeni na popisu dopuštenih. @@ -982,7 +988,6 @@ Ako se to pravilo ne postavi, pravila neće nametati ograničenja za skup aplikacija koje korisnik može omogućiti na zaključanom zaslonu.</translation> <translation id="4309640770189628899">Omogući DHE pakete šifri u TLS-u</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ili noviji</translation> <translation id="4322842393287974810">Dopusti kiosk aplikaciji pokrenutoj automatski bez odgode da upravlja verzijom proizvoda <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Dodaj gumb za odjavu na programsku traku</translation> <translation id="4346674324214534449">Omogućuje vam da postavite hoće li se oglasi blokirati na web-lokacijama s ometajućim oglasima.
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb index 775869d..84650979 100644 --- a/components/policy/resources/policy_templates_hu.xtb +++ b/components/policy/resources/policy_templates_hu.xtb
@@ -518,13 +518,6 @@ <translation id="267596348720209223">Meghatározza a keresési szolgáltató által támogatott karakterkódolásokat. A kódolások kódtáblanevek, például UTF-8, GB2312 vagy ISO-8859-1. A szolgáltató a megadott sorrendben próbálja őket használni. A házirend nem kötelező. Ha nincs beállítva, akkor a rendszer az alapértelmezés szerinti UTF-8-at használja. A házirend csak akkor teljesül, ha a "DefaultSearchProviderEnabled" házirend engedélyezve van.</translation> <translation id="2682225790874070339">Letiltja a Google Drive szolgáltatást a <ph name="PRODUCT_OS_NAME" /> Fájlok alkalmazásában</translation> <translation id="268577405881275241">Az adattömörítő proxyfunkció engedélyezése</translation> -<translation id="2726613915126661822">Segítségével szabályozhatja, hogy futhatnak-e virtuális gépek a Chrome OS rendszeren. - - Ha a házirend értéke „Igaz”, az eszközön futhatnak virtuális gépek. - Ha a házirend értéke „Hamis”, az eszközön nem futhatnak virtuális gépek. - Amikor „Hamis” értékre állítja ezt a házirendet, a módosítás az új virtuális gépek indítására vonatkozik, de nem kapcsolja ki a már futó virtuális gépeket. - Ha a házirend nincs beállítva kezelt eszközön, az eszköz számára nem lesz engedélyezve a virtuális gépek futtatása. - A nem kezelt eszközök számára engedélyezett a virtuális gépek futtatása.</translation> <translation id="2731627323327011390">A(z) <ph name="PRODUCT_OS_NAME" /> által az ARC-alkalmazásoknak kiadott CA-tanúsítványok használatának letiltása</translation> <translation id="2742843273354638707">A Chrome Internetes áruház alkalmazásnak és a láblécben lévő linkjének elrejtése az Új lap oldalon és a <ph name="PRODUCT_OS_NAME" /> alkalmazásindítóban. @@ -589,6 +582,12 @@ <translation id="2893546967669465276">Rendszernaplók küldése a kezelőszervernek</translation> <translation id="2899002520262095963">Az androidos alkalmazások használhatják a házirenden keresztül beállított hálózati beállításokat és a CA tanúsítványokat, de nem rendelkeznek hozzáféréssel egyes konfigurációs beállításokhoz.</translation> <translation id="2906874737073861391">AppPack bővítmények listája</translation> +<translation id="2907992746861405243">Azt vezérli, hogy a <ph name="BULK_PRINTERS_POLICY" /> házirend mely nyomtatói állnak a felhasználók rendelkezésére. + + Kijelöli, hogy melyik hozzáférési házirend van használatban a tömeges nyomtatóbeállításnál. Ha az <ph name="PRINTERS_ALLOW_ALL" /> van kiválasztva, minden nyomtató megjelenik. Ha a <ph name="PRINTERS_BLACKLIST" /> van kiválasztva, a <ph name="BULK_PRINTERS_BLACKLIST" /> házirend korlátozza a megadott nyomtatókhoz való hozzáférést. Ha a <ph name="PRINTERS_WHITELIST" /> van kiválasztva, a <ph name="BULK_PRINTERS_WHITELIST" /> csak a kiválasztható nyomtatókat jelöli ki. + + Ha a házirend nincs beállítva, akkor az <ph name="PRINTERS_ALLOW_ALL" /> van érvényben. + </translation> <translation id="2908277604670530363">Egyidejű kapcsolatok maximális száma a proxyszerverhez</translation> <translation id="2956777931324644324">Ezt a házirendet a <ph name="PRODUCT_NAME" /> 36-os verziójától kezdve visszavontuk. @@ -610,9 +609,6 @@ A házirend értékét ezredmásodpercben kell megadni. Az értéknek kisebbnek kell lennie a képernyő kikapcsolásának késleltetésénél (ha be van állítva) és a tétlenségi késleltetésnél.</translation> <translation id="2987155890997901449">ARC engedélyezése</translation> <translation id="2987227569419001736">A Web Bluetooth API használatának irányítása</translation> -<translation id="3001534538097271560">Ha ennek a házirendnek az értéke hamis, akkor a felhasználók nem dönthetik el, hogy elküldjenek-e bizonyos rendszer-információkat és oldaltartalmakat a Google szervereinek. Ha a beállítás értéke igaz, vagy ha nincs megadva, akkor a felhasználók elküldhetnek bizonyos rendszer-információkat és oldaltartalmakat a Biztonságos Böngészés szolgáltatásnak, hogy segítsék a veszélyes alkalmazások és webhelyek észlelését. - - Ha további információt szeretne kapni a Biztonságos Böngészésről, látogasson el a https://developers.google.com/safe-browsing oldalra.</translation> <translation id="3016255526521614822">A(z) <ph name="PRODUCT_OS_NAME" /> lezárási képernyőjén engedélyezett jegyzetkészítő alkalmazások engedélyezőlistára tétele</translation> <translation id="3030000825273123558">Mutatók jelentéseinek engedélyezése</translation> <translation id="3034580675120919256">Meghatározhatja, hogy a webhelyek futtathatnak-e JavaScriptet. A JavaScript futtatását engedélyezheti vagy letilthatja minden webhely számára. Ha a házirend beállítatlanul marad, a rendszer az "AllowJavaScript" értéket használja, amelyet a felhasználó módosíthat.</translation> @@ -721,6 +717,9 @@ Ha használatban van a házirend, csak a házirendben lévő értékeknek megfelelő azonosítójú nyomtatók állnak a felhasználó rendelkezésére. Az azonosítóknak meg kell felelniük a(z) <ph name="DEVICE_PRINTERS_POLICY" /> házirend fájljában meghatározott bejegyzéseknek. </translation> +<translation id="3414260318408232239">Ha a házirend nincs beállítva, akkor a <ph name="PRODUCT_NAME" /> az alapértelmezés szerinti legkisebb verziót használja majd, amely a TLS 1.0. + + Ellenkező esetben a következő értékek egyikét lehet beállítani: „tls1”, „tls1.1” vagy „tls1.2”. Ha beállítja a házirendet, a <ph name="PRODUCT_NAME" /> nem használ majd a megadottnál alacsonyabb verziószámú SSL/TLS-verziót. Az ismeretlen értékeket a rendszer figyelmen kívül hagyja.</translation> <translation id="3417418267404583991">Ha a házirend beállítása igaz, vagy nincs megadva az értéke, akkor a(z) <ph name="PRODUCT_OS_NAME" /> engedélyezi a Vendég módban való bejelentkezéseket. A vendégbejelentkezések névtelen felhasználói munkamenetek, amelyek nem kérik jelszó magadását. Ha a házirend értéke hamis, akkor a(z) <ph name="PRODUCT_OS_NAME" /> nem engedélyezi a vendégmunkamenetek indítását.</translation> @@ -826,6 +825,13 @@ Ha nem állítja be ezt a házirendet, akkor a képernyő-billentyűzet kezdetben le lesz tiltva, de a felhasználó bármikor engedélyezheti.</translation> <translation id="382476126209906314">Beállítja a távoli hozzáférésű gazdagép TalkGadget előtagját</translation> +<translation id="3831376478177535007">Ha engedélyezve van ez a beállítás, a <ph name="PRODUCT_NAME" /> engedélyezi a Symantec Corporation régi PKI-műveletei által kibocsátott tanúsítványok megbízhatóként való elfogadását, ha azok más módon sikeresen hitelesítettek, és elismert CA-tanúsítványhoz tartoznak. + + Felhívjuk figyelmét arra, hogy ez a házirend függ attól, hogy az adott operációs rendszer továbbra is felismeri-e a Symantec régi infrastruktúrájából származó tanúsítványokat. Ha az operációs rendszer valamelyik frissítése módosítja az ilyen tanúsítványok kezelésének módját, akkor ez a házirend a továbbiakban hatástalan lesz. Továbbá ez a házirend csak ideiglenes megoldásként szolgál, hogy a vállalatoknak több idejük legyen áttérni a Symantec régi tanúsítványairól. Ez a házirend 2019. január 1-je körül eltávolításra kerül. + + Ha a házirend nincs beállítva, vagy ha „hamis” értékre van állítva, akkor a <ph name="PRODUCT_NAME" /> követi a nyilvánosan közzétett megszüntetési ütemtervet. + + A megszüntetésről a következő linken találhat további információt: https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Lehetővé teszi annak meghatározását, hogy mely natív üzenetkezelő gazdagépek ne kerüljenek fel a tiltólistára. A tiltólista * értéke azt jelenti, hogy minden üzenetkezelő gazdagép felkerül rá, és csak a engedélyezőlistán szereplő üzenetkezelő gazdagépeket tölti be a rendszer. @@ -979,7 +985,6 @@ Ha nem állítja be ezt a házirendet, akkor a házirend által előírt korlátozások nem vonatkoznak majd a felhasználó által a lezárási képernyőn engedélyezhető alkalmazások készletére.</translation> <translation id="4309640770189628899">Engedélyezve vannak-e a DHE rejtjelezési csomagok a TLS protokollban</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 vagy újabb</translation> <translation id="4322842393287974810">Annak engedélyezése, hogy a <ph name="PRODUCT_OS_NAME" /> verziójának ellenőrzését a késés nélkül, automatikusan indított kioszkalkalmazás végezze.</translation> <translation id="4325690621216251241">Kijelentkezés gomb elhelyezése a tálcán</translation> <translation id="4346674324214534449">Lehetővé teszi annak a beállítását, hogy le szeretné-e tiltani a hirdetéseket a tolakodó hirdetéseket tartalmazó webhelyeken.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb index 4751c39..c767c43e 100644 --- a/components/policy/resources/policy_templates_id.xtb +++ b/components/policy/resources/policy_templates_id.xtb
@@ -519,13 +519,6 @@ <translation id="267596348720209223">Menentukan penyandiaksaraan karakter yang didukung oleh penyedia penelusuran. Penyandiaksaraan adalah nama-nama halaman kode seperti UTF-8, GB2312, dan ISO-8859-1. Kode tersebut dicoba dalam urutan yang disediakan. Kebijakan ini bersifat opsional. Jika tidak disetel, default yang akan digunakan adalah UTF-8. Kebijakan ini hanya dipatuhi jika kebijakan 'DefaultSearchProviderEnabled' diaktifkan.</translation> <translation id="2682225790874070339">Menonaktifkan Drive di aplikasi File <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Aktifkan fitur proxy kompresi data</translation> -<translation id="2726613915126661822">Mengizinkan Anda mengontrol apakah mesin virtual diizinkan untuk dijalankan di Chrome OS atau tidak. - - Jika kebijakan disetel ke True, perangkat akan diizinkan untuk menjalankan mesin virtual. - Jika kebijakan disetel ke False, perangkat tidak akan diizinkan untuk menjalankan mesin virtual. - Jika kebijakan ini diubah ke False, setelan ini berlaku untuk mesin virtual yang baru dimulai, tetapi tidak mematikan mesin virtual yang sedang berjalan. - Jika kebijakan ini tidak disetel di perangkat yang dikelola, perangkat tidak akan diizinkan untuk menjalankan mesin virtual. - Perangkat yang tidak dikelola tidak diizinkan untuk menjalankan mesin virtual.</translation> <translation id="2731627323327011390">Menonaktifkan penggunaan sertifikat <ph name="PRODUCT_OS_NAME" /> untuk aplikasi ARC</translation> <translation id="2742843273354638707">Menyembunyikan aplikasi Chrome Webstore serta link footer dari Halaman Tab Baru dan peluncur aplikasi <ph name="PRODUCT_OS_NAME" />. @@ -617,9 +610,6 @@ Nilai kebijakan harus ditentukan dalam milidetik. Nilai dijepit hingga kurang dari atau setara dengan penundaan mematikan layar (jika disetel) dan penundaan waktu menganggur.</translation> <translation id="2987155890997901449">Aktifkan ARC</translation> <translation id="2987227569419001736">Mengontrol penggunaan API Bluetooth Web</translation> -<translation id="3001534538097271560">Menyetel kebijakan ini ke false akan membuat pengguna tidak dapat mengirim beberapa informasi sistem dan konten halaman ke server Google. Jika disetel ke true atau tidak dikonfigurasi, pengguna akan diizinkan mengirim beberapa informasi sistem dan konten halaman ke Safe Browsing untuk membantu mendeteksi situs dan aplikasi berbahaya. - - Lihat https://developers.google.com/safe-browsing untuk mendapatkan informasi selengkapnya terkait SafeBrowsing.</translation> <translation id="3016255526521614822">Beri akses aplikasi pencatat yang diizinkan di layar kunci <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Aktifkan pelaporan metrik</translation> <translation id="3034580675120919256">Memungkinkan Anda menyetel apakah situs web diizinkan menjalankan JavaScript. Menjalankan JavaScript dapat diizinkan atau ditolak untuk semua situs web. Jika kebijakan ini tidak disetel, 'AllowJavaScript' akan digunakan dan pengguna dapat mengubahnya.</translation> @@ -730,7 +720,7 @@ </translation> <translation id="3414260318408232239">Jika kebijakan ini tidak dikonfigurasi, <ph name="PRODUCT_NAME" /> akan menggunakan versi minimum default yaitu TLS 1.0. - Jika kebijakan dikonfigurasi, kebijakan dapat disetel ke salah satu nilai berikut: "tls1", "tls1.1", atau "tls1.2". Jika disetel, <ph name="PRODUCT_NAME" /> tidak akan menggunakan versi SSL/TLS yang lebih rendah dari versi yang ditentukan. Nilai yang tidak dikenal akan diabaikan.</translation> + Jika kebijakan dikonfigurasi, kebijakan dapat disetel ke salah satu nilai berikut: "tls1", "tls1.1", atau "tls1.2". Jika disetel, <ph name="PRODUCT_NAME" /> tidak akan menggunakan versi SSL/TLS yang lebih rendah daripada versi yang ditentukan. Nilai yang tidak dikenal akan diabaikan.</translation> <translation id="3417418267404583991">Jika kebijakan ini disetel ke true atau tidak dikonfigurasi, <ph name="PRODUCT_OS_NAME" /> akan mengaktifkan masuk sebagai tamu. Masuk sebagai tamu adalah sesi pengguna anonim dan tidak memerlukan sandi. Jika kebijakan ini disetel ke false, <ph name="PRODUCT_OS_NAME" /> tidak akan mengizinkan dimulainya sesi tamu.</translation> @@ -1002,7 +992,6 @@ Jika kebijakan tidak disetel, tidak akan ada batasan di kumpulan aplikasi yang dapat diaktifkan oleh pengguna di layar kunci yang diterapkan oleh kebijakan.</translation> <translation id="4309640770189628899">Untuk mengetahui apakah cipher suite DHE di TLS diaktifkan</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 atau yang lebih baru</translation> <translation id="4322842393287974810">Izinkan peluncuran otomatis dengan aplikasi kios tanpa penundaan untuk mengontrol versi <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Tambahkan tombol keluar di baki sistem</translation> <translation id="4346674324214534449">Memungkinkan Anda menyetel apakah iklan harus diblokir di situs yang menayangkan iklan mengganggu.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb index 9584f20..c33c9fc 100644 --- a/components/policy/resources/policy_templates_it.xtb +++ b/components/policy/resources/policy_templates_it.xtb
@@ -502,13 +502,6 @@ <translation id="267596348720209223">Consente di specificare le codifiche dei caratteri supportate dal provider di ricerca. Le codifiche sono nomi di pagine codificati come UTF-8, GB2312 e ISO-8859-1. Vengono provate nell'ordine indicato. Questa norma è facoltativa. Se non viene impostata viene utilizzato il valore predefinito UTF-8. Questa norma viene rispettata soltanto se è attiva la norma "DefaultSearchProviderEnabled".</translation> <translation id="2682225790874070339">Consente di disattivare Drive nell'app File di <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Attiva la funzione proxy di compressione dei dati</translation> -<translation id="2726613915126661822">Ti consente di controllare se le macchine virtuali possono essere eseguite su Chrome OS. - - Se la norma viene impostata su true, al dispositivo è consentito eseguire le macchine virtuali. - Se la norma viene impostata su false, al dispositivo non è consentito eseguire le macchine virtuali. - Quando l'impostazione di questa norma viene modificata in false, la norma consente di avviare le nuove macchine virtuali, ma non determina l'arresto delle macchine virtuali già in esecuzione. - Quando questa norma non è impostata su un dispositivo gestito, il dispositivo non potrà eseguire macchine virtuali. - I dispositivi non gestiti sono autorizzati a eseguire macchine virtuali.</translation> <translation id="2731627323327011390">Disattiva l'utilizzo dei certificati <ph name="PRODUCT_OS_NAME" /> per le app ARC</translation> <translation id="2742843273354638707">Consente di nascondere l'app Chrome Web Store e il link nel piè di pagina nella pagina Nuova scheda e in Avvio applicazioni di <ph name="PRODUCT_OS_NAME" />. @@ -600,9 +593,6 @@ Il valore della norma deve essere specificato in millisecondi. I valori devono essere inferiori o uguali al ritardo di disattivazione dello schermo (se impostato) e al ritardo di inattività.</translation> <translation id="2987155890997901449">Attiva ARC</translation> <translation id="2987227569419001736">Controlla l'utilizzo dell'API Web Bluetooth</translation> -<translation id="3001534538097271560">L'impostazione di questa norma su false impedisce agli utenti di decidere di inviare ai server di Google alcune informazioni sul sistema e alcuni contenuti delle pagine. Se questa norma viene impostata su true o non viene configurata, gli utenti potranno inviare alcune informazioni sul sistema e alcuni contenuti delle pagine alla funzione Navigazione sicura per contribuire a rilevare app e siti pericolosi. - - Visita il sito https://developers.google.com/safe-browsing per avere ulteriori informazioni sulla funzione Navigazione sicura.</translation> <translation id="3016255526521614822">Autorizza l'uso di app per scrivere note nella schermata di blocco di <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Attiva rapporti sulle metriche</translation> <translation id="3034580675120919256">Permette di stabilire se consentire o meno l'esecuzione di JavaScript nei siti web. L'esecuzione di JavaScript può essere consentita o negata per tutti i siti web. Se questa norma non viene impostata, verrà utilizzato il valore "AllowJavaScript", che potrà essere modificato dagli utenti.</translation> @@ -976,7 +966,6 @@ Se la norma non viene impostata, non ci saranno limitazioni relative al gruppo di app che l'utente potrà attivare nella schermata di blocco.</translation> <translation id="4309640770189628899">Attiva o meno i pacchetti di crittografia DHE in TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 o versione successiva</translation> <translation id="4322842393287974810">Consenti all'app kiosk avviata automaticamente senza ritardo di controllare la versione di <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Aggiungi un pulsante di uscita all'area di notifica</translation> <translation id="4346674324214534449">Consente di stabilire se bloccare o meno gli annunci su siti con annunci invasivi.
diff --git a/components/policy/resources/policy_templates_iw.xtb b/components/policy/resources/policy_templates_iw.xtb index 1d9a47e..3c804f4 100644 --- a/components/policy/resources/policy_templates_iw.xtb +++ b/components/policy/resources/policy_templates_iw.xtb
@@ -205,7 +205,7 @@ יש להגדיר את המדיניות ככתובת אתר שממנה <ph name="PRODUCT_OS_NAME" /> יכול להוריד את התנאים וההגבלות. התנאים וההגבלות חייבים להיות בטקסט פשוט ומוצגים כסוג MIME טקסט/פשוט. השימוש בסימון אסור.</translation> <translation id="1750315445671978749">חסום את כל ההורדות</translation> <translation id="1781356041596378058">המדיניות הזו שולטת גם על הגישה אל אפשרויות למפתחים ב-Android. אם תגדיר את המדיניות הזו כ-true, משתמשים לא יוכלו לגשת אל אפשרויות למפתחים. אם תגדירו אותה כ-false או לא תגדיר אותה, משתמשים יוכלו לגשת אל אפשרויות למפתחים על-ידי הקשה שבע פעמים על מספר ה-Build באפליקציית ההגדרות של Android.</translation> -<translation id="1797233582739332495">הצגת הודעה חוזרת למשמש המציינת שיש צורך להפעיל מחדש</translation> +<translation id="1797233582739332495">הצגת הודעה חוזרת למשתמש המציינת שיש צורך להפעיל מחדש</translation> <translation id="1803646570632580723">רשימת יישומים מוצמדים שיש להציג במפעיל</translation> <translation id="1808715480127969042">חסום קובצי Cookie באתרים אלה</translation> <translation id="1827523283178827583">השתמש בשרתי Proxy קבועים</translation> @@ -280,7 +280,7 @@ <translation id="2067011586099792101">חסום את הגישה לאתרים שמחוץ לחבילות תוכן</translation> <translation id="2070270043919235595">הצגת הודעה למשתמשים על כך שצריך להפעיל מחדש את <ph name="PRODUCT_NAME" /> כדי להחיל עדכון שנמצא בהמתנה. - המדיניות הזו מאפשרת להציג למשתמש הודעות על כך שמומלץ לבצע הפעלה מחדש של הדפדפן, או שהיא נדרשת. אם המדיניות לא מוגדרת, <ph name="PRODUCT_NAME" /> מציין למשתמש שיש צורך בהפעלה מחדש בעזרת שינויים קלים במראה התפריט. אם היא מוגדרת כ'מומלצת', תוצג למשתמש אזהרה חוזרת על כך שמומלץ להפעיל מחדש את הדפדפן. המשתמש יכול לסגור את האזהרה כדי לדחות את ההפעלה מחדש. אם היא מוגדרת כ'נדרשת', תוצג למשתמש אזהרה חוזרת על כך שתבוצע הפעלה מחדש כפויה של הדפדפן בסיום תקופת ההודעה. התקופה נקבעת כברירת מחדל לשבעה ימים, ואפשר לשנות אותה דרך הגדרת המדיניות <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" />. + המדיניות הזו מאפשרת להציג למשתמש הודעות על כך שמומלץ לבצע הפעלה מחדש של הדפדפן, או שהיא נדרשת. אם המדיניות לא מוגדרת, <ph name="PRODUCT_NAME" /> מציין למשתמש שיש צורך בהפעלה מחדש בעזרת שינויים קלים במראה התפריט. אם היא מוגדרת כ'מומלצת', תוצג למשתמש אזהרה חוזרת על כך שמומלץ להפעיל מחדש את הדפדפן. המשתמש יכול לסגור את האזהרה כדי לדחות את ההפעלה מחדש. אם המדיניות מוגדרת כ'נדרשת', תוצג למשתמש אזהרה חוזרת על כך שתבוצע הפעלה מחדש כפויה של הדפדפן בסיום תקופת ההודעה. התקופה נקבעת כברירת מחדל לשבעה ימים, ואפשר לשנות אותה דרך הגדרת המדיניות <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" />. בסיום ההפעלה מחדש המשתמש יוחזר למצב שבו היה.</translation> <translation id="2077129598763517140">השתמש בהאצת חומרה כשניתן</translation> @@ -327,7 +327,7 @@ אם ההגדרה הזו נקבעה, משתמשים שהגדירו ביטול נעילה מהיר יתבקשו להזין את הסיסמה במסך הנעילה בהתאם להגדרה הזו. אם ההגדרה הזו לא נקבעה, משתמשים שהגדירו ביטול נעילה מהיר יתבקשו להזין את הסיסמה במסך הנעילה בכל יום.</translation> -<translation id="2188722565665306629">מאפשרת לקבוע את תקופת הזמן להצגת ההודעות של <ph name="PRODUCT_NAME" /> לגבי הצורך בהפעלה מחדש כדי להחיל עדכון שנמצא בהמתנה. +<translation id="2188722565665306629">המדיניות מאפשרת לקבוע את תקופת הזמן להצגת ההודעות של <ph name="PRODUCT_NAME" /> לגבי הצורך בהפעלה מחדש כדי להחיל עדכון שנמצא בהמתנה. בעזרת הגדרת המדיניות הזו אפשר לקבוע במשך כמה זמן (באלפיות שנייה) תוצג למשתמש הודעה חוזרת על כך שיש להפעיל מחדש את <ph name="PRODUCT_NAME" /> (או את <ph name="PRODUCT_OS_NAME" />) כדי להחיל עדכון. בתקופת הזמן הזו המשתמש יראה הודעה חוזרת לגבי הצורך בעדכון, בהתבסס על ההגדרה של המדיניות <ph name="RELAUNCH_NOTIFICATION_POLICY_NAME" />. אם היא לא מוגדרת, תקופת ברירת המחדל היא 604800000 אלפיות שנייה (שבוע).</translation> <translation id="2194470398825717446">המדיניות הזו יצאה משימוש ב-M61. במקומה יש להשתמש ב-EcryptfsMigrationStrategy. @@ -516,13 +516,6 @@ <translation id="267596348720209223">מציין את קידודי התווים שנתמכים על ידי ספק החיפוש. קידודים הם שמות דפי קידוד כגון UTF-8, GB2312 ו-ISO-8859-1. יש להשתמש בהם לפי הסדר שבו הם סופקו. מדיניות זו היא אופציונלית. אם היא אינה מוגדרת, ברירת המחדל שבה המערכת תשתמש הוא UTF-8. מדיניות זו תקפה רק אם המדיניות 'DefaultSearchProviderEnabled' מופעלת.</translation> <translation id="2682225790874070339">משביתה את Google Drive ביישום 'קבצים' של <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">הפעל את התכונה של שרת Proxy לדחיסת נתונים</translation> -<translation id="2726613915126661822">מאפשרת לך לקבוע אם מכונות וירטואליות יכולות לפעול ב-Chrome OS. - - אם המדיניות מוגדרת כ-True, המכשיר מורשה להפעיל מכונות וירטואליות. - אם המדיניות מוגדרת כ-False, המכשיר לא יורשה להפעיל מכונות וירטואליות. - כשמשנים את המדיניות הזו ל-False, השינוי חל על הפעלת מכונות וירטואליות חדשות, אבל לא משבית מכונות וירטואליות שכבר פועלות. - כשהמדיניות הזו לא פועלת במכשיר מנוהל, הוא לא יורשה להפעיל מכונות וירטואליות. - מכשירים שאינם מנוהלים מורשים להפעיל מכונות וירטואליות.</translation> <translation id="2731627323327011390">השבת את השימוש באישורי <ph name="PRODUCT_OS_NAME" /> ביישומי ARC</translation> <translation id="2742843273354638707">הסתר את יישום חנות האינטרנט של Chrome ואת הקישור בכותרת התחתונה בדף הכרטיסייה החדשה ובמפעיל היישומים של <ph name="PRODUCT_OS_NAME" />. @@ -614,9 +607,6 @@ ערך המדיניות צריך להיות באלפיות שנייה. הערכים מצומצמים כך שיהיו קטנים ממשך ההשהיה לפני מצב לא פעיל.</translation> <translation id="2987155890997901449">הפעל את ARC</translation> <translation id="2987227569419001736">שליטה על השימוש ב-Web Bluetooth API</translation> -<translation id="3001534538097271560">הגדרת המדיניות הזו כ-false מונעת ממשתמשים לשלוח חלק מפרטי המערכת ותוכן הדף אל שרתי Google. אם ההגדרה הזו נקבעת כ-true או לא נקבעת, משתמשים יוכלו לשלוח פרטי מערכת ותוכן דף אל 'גלישה בטוחה' כדי לעזור בזיהוי של אפליקציות ואתרים מסוכנים. - -עיין בכתובת https://developers.google.com/safe-browsing לקבלת מידע נוסף על 'גלישה בטוחה'.</translation> <translation id="3016255526521614822">הוסף לרשימת ההיתרים אפליקציות לרישום הערות שמותרות במסך הנעילה של <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">הפעל דיווח על מדדים</translation> <translation id="3034580675120919256">מאפשר לך לקבוע אם מותר לאתרים להפעיל JavaScript. ניתן להפעיל JavaScript עבור כל האתרים או לבטל את ההגדרה עבור כל האתרים. אם לא הגדרת מדיניות זו, המערכת תשתמש ב-'AllowJavaScript' והמשתמש יוכל לשנות זאת.</translation> @@ -835,7 +825,7 @@ <translation id="382476126209906314">הגדר את קידומת TalkGadget עבור מארחים של גישה מרחוק</translation> <translation id="3831376478177535007">כשהמדיניות הזו פועלת, <ph name="PRODUCT_NAME" /> מתיר מתן אמון באישורים שהונפקו על-ידי פעולות ה-PKI מדור קודם של Symantec Corporation, אם מתבצע אימות מוצלח שלהם בדרך אחרת והם מקשרים אל אישור CA מוכר. - הערה: המדיניות הזו תלויה בכך שמערכת ההפעלה עדיין תזהה אישורים מהתשתית של Symantec מדור קודם. אם עדכון של ה-OS משנה את האופן שבו ה-OS מטפלת באישורים כאלה, לא תהיה למדיניות השפעה. בנוסף, מטרת המדיניות הזו היא לשמש כפתרון זמני שמאריך את הזמן שיעמוד לרשות ארגונים עד שיפסיקו את השימוש באישורים מדור קוד של Symantec. מדיניות זו תוסר ב-1 בינואר 2019 או בסביבות תאריך זה. + הערה: המדיניות הזו תלויה בכך שמערכת ההפעלה עדיין תזהה אישורים מהתשתית של Symantec מדור קודם. אם עדכון של ה-OS משנה את האופן שבו ה-OS מטפלת באישורים כאלה, לא תהיה למדיניות השפעה. בנוסף, מטרת המדיניות הזו היא לשמש כפתרון זמני שמאריך את הזמן שיעמוד לרשות ארגונים עד שיפסיקו את השימוש באישורים מדור קודם של Symantec. מדיניות זו תוסר ב-1 בינואר 2019 או בסביבות תאריך זה. אם המדיניות הזו לא מוגדרת, או אם היא מוגדרת כ-false, <ph name="PRODUCT_NAME" /> יציית ללוח הזמנים שהוכרז לגבי ההוצאה משימוש. @@ -996,7 +986,6 @@ אם המדיניות תישאר ללא הגדרה, לא יחולו מגבלות שנובעות מהמדיניות על קבוצת האפליקציות שהמשתמש יכול לאשר לשימוש במסך הנעילה.</translation> <translation id="4309640770189628899">האם חבילות הצפנים של DHE ב-TLS (אבטחת שכבת התעבורה) מופעלות</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ואילך</translation> <translation id="4322842393287974810">התר ליישום הקיוסק המופעל באופן אוטומטי ללא השהייה לקבוע את הגירסה של <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">הוסף לחצן התנתקות למגש המערכת</translation> <translation id="4346674324214534449">המדיניות הזו מאפשרת לך להגדיר אם צריך לחסום מודעות באתרים עם מודעות שמפריעות.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb index 3ace735..9e8c7cc5 100644 --- a/components/policy/resources/policy_templates_ja.xtb +++ b/components/policy/resources/policy_templates_ja.xtb
@@ -514,13 +514,6 @@ <translation id="267596348720209223">検索プロバイダによってサポートされる文字エンコードを指定します。エンコードは、UTF-8、GB2312、ISO-8859-1 などのコード ページ名であり、指定された順序で適用されます。このポリシーは省略可能です。未設定の場合、デフォルトでは UTF-8 が使用されます。このポリシーは、「DefaultSearchProviderEnabled」ポリシーが有効な場合にのみ適用されます。</translation> <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ファイル アプリでのドライブの同期を無効にする</translation> <translation id="268577405881275241">データ圧縮プロキシ機能を有効にする</translation> -<translation id="2726613915126661822">Chrome OS で仮想マシンを実行できるかどうかを制御します。 - - このポリシーが true に設定されている場合、その端末では仮想マシンを実行できます。 - このポリシーが false に設定されている場合、その端末では仮想マシンを実行できません。 - このポリシーが false に変更された場合は、それ以降の新しい仮想マシンがポリシーの適用対象となります。すでに実行中の仮想マシンは、終了されずに実行を続けることができます。 - このポリシーが設定されていない場合、管理対象の端末では仮想マシンを実行できません。 - 管理対象ではない端末では仮想マシンを実行できます。</translation> <translation id="2731627323327011390">ARC アプリで <ph name="PRODUCT_OS_NAME" /> の証明書を使用できないようにする</translation> <translation id="2742843273354638707">[新しいタブ] ページと <ph name="PRODUCT_OS_NAME" /> のアプリ ランチャーで、Chrome ウェブストア アプリとフッターのリンクを非表示にします。 @@ -585,6 +578,12 @@ <translation id="2893546967669465276">管理サーバーにシステムログを送信する</translation> <translation id="2899002520262095963">Android アプリは、このポリシーで設定したネットワーク設定と CA 証明書を使用できますが、一部の設定オプションにはアクセスできません。</translation> <translation id="2906874737073861391">AppPack 拡張機能リスト</translation> +<translation id="2907992746861405243">ユーザーが <ph name="BULK_PRINTERS_POLICY" /> のどのプリンタを使用できるかを制御します。 + + このポリシーは、プリンタの一括設定で使用するアクセス ポリシーを指定するものです。<ph name="PRINTERS_ALLOW_ALL" /> が選択されている場合は、すべてのプリンタが表示されます。<ph name="PRINTERS_BLACKLIST" /> が選択されている場合は、<ph name="BULK_PRINTERS_BLACKLIST" /> で指定されたプリンタへのアクセスが制限されます。<ph name="PRINTERS_WHITELIST" /> が選択されている場合は、<ph name="BULK_PRINTERS_WHITELIST" /> で指定されたプリンタのみが選択可能になります。 + + このポリシーが未設定の場合は、<ph name="PRINTERS_ALLOW_ALL" /> が選択された場合と同じ動作になります。 + </translation> <translation id="2908277604670530363">プロキシ サーバーへの最大同時接続数</translation> <translation id="2956777931324644324">このポリシーは <ph name="PRODUCT_NAME" /> バージョン 36 で廃止されました。 @@ -606,9 +605,6 @@ ポリシーの値はミリ秒単位で指定してください。画面がオフになるまでの時間(設定している場合)やアイドル時間より長い値は指定できません。</translation> <translation id="2987155890997901449">ARC を有効にする</translation> <translation id="2987227569419001736">Web Bluetooth API の使用を管理する</translation> -<translation id="3001534538097271560">このポリシーを false に設定した場合、ユーザーは Google サーバーに一部のシステム情報やページのコンテンツを送信するよう指定できなくなります。このポリシーを true に設定するか未設定のままにした場合、ユーザーは危険なアプリやサイトの検出に役立てるために一部のシステム情報やページのコンテンツをセーフ ブラウジングに送信できます。 - - セーフ ブラウジングの詳細については、https://developers.google.com/safe-browsing をご覧ください。</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> のロック画面で使用できるメモ作成アプリをホワイトリスト登録する</translation> <translation id="3030000825273123558">統計情報のレポート送信を有効にする</translation> <translation id="3034580675120919256">ウェブサイトに対して JavaScript の実行を許可するかどうかを設定できます。JavaScript の実行は、すべてのウェブサイトに対して許可または禁止することができます。このポリシーが未設定の場合、「AllowJavaScript」が使用され、ユーザーはこの設定を変更できます。</translation> @@ -717,6 +713,9 @@ このポリシーが使用される場合、ユーザーはこのポリシーに指定されている値に一致する ID のプリンタのみを使用できます。この ID は、<ph name="DEVICE_PRINTERS_POLICY" /> で指定されたファイル内のエントリに対応している必要があります。 </translation> +<translation id="3414260318408232239">このポリシーが未設定の場合、<ph name="PRODUCT_NAME" /> ではデフォルトの最小バージョン(TLS 1.0)が使用されます。 + + このポリシーを設定する場合、「tls1」、「tls1.1」、「tls1.2」のいずれかの値を指定できます。<ph name="PRODUCT_NAME" /> では、指定されたバージョンより小さい SSL / TLS バージョンは使用されません。認識されない値は無視されます。</translation> <translation id="3417418267404583991">このポリシーを true に設定した場合または未設定の場合、<ph name="PRODUCT_OS_NAME" /> ではゲスト ログインが有効になります。ゲスト ログインは匿名ユーザーのセッションで、パスワードが不要です。 このポリシーを false に設定した場合、<ph name="PRODUCT_OS_NAME" /> ではゲスト セッションを開始できません。</translation> @@ -824,6 +823,13 @@ このポリシーが未設定の場合は、画面キーボードは無効になりますが、ユーザーがいつでも有効にできます。</translation> <translation id="382476126209906314">リモート アクセス ホストに TalkGadget プレフィックスを設定する</translation> +<translation id="3831376478177535007">この設定が有効な場合、<ph name="PRODUCT_NAME" /> で、証明書の検証に成功し、認識可能な CA 証明書へのチェーンを確立できている場合に、Symantec Corporation の古い PKI 処理で発行された証明書を信頼できるようにします。 + + ただし、このポリシーを機能させるには、オペレーティング システムで Symantec の古いインフラストラクチャの証明書が認識されている必要があります。OS の更新でこうした証明書の取り扱いが変更された場合、このポリシーは効力を失います。また、このポリシーは、古い Symantec 証明書からの移行が完了するまでの一時的な使用を目的としており、2019 年 1 月 1 日をめどに削除される予定です。 + + このポリシーが未設定か、false に設定されている場合、<ph name="PRODUCT_NAME" /> は公式に発表されているサポート終了のスケジュールに沿って動作します。 + + 古い証明書のサポート終了について詳しくは、https://g.co/chrome/symantecpkicerts をご覧ください。</translation> <translation id="383466854578875212">ブラックリストから除外するネイティブ メッセージング ホストを指定できます。 ブラック リストの値「*」は、すべてのネイティブ メッセージング ホストがブラックリストに登録されていることを意味します。ホワイトリストに登録されたネイティブ メッセージング ホストのみが読み込まれます。 @@ -980,7 +986,6 @@ このポリシーが未設定のままの場合は、ユーザーがロック画面で有効にできるアプリに関して、ポリシーによる制限は課されません。</translation> <translation id="4309640770189628899">TLS の DHE 暗号スイートの有効化</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 以降</translation> <translation id="4322842393287974810">遅延なしで自動開始されるキオスクアプリから <ph name="PRODUCT_OS_NAME" /> のバージョンを制御できるようにする</translation> <translation id="4325690621216251241">システム トレイにログアウト ボタンを追加する</translation> <translation id="4346674324214534449">煩わしい広告を含むサイトで広告をブロックするかどうかを設定します。
diff --git a/components/policy/resources/policy_templates_kn.xtb b/components/policy/resources/policy_templates_kn.xtb index 6398e653..0e6d574 100644 --- a/components/policy/resources/policy_templates_kn.xtb +++ b/components/policy/resources/policy_templates_kn.xtb
@@ -309,7 +309,7 @@ <translation id="2067011586099792101">ವಿಷಯದ ಪ್ಯಾಕ್ಗಳಿಂದ ಹೊರಗಿನ ಸೈಟ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation> <translation id="2070270043919235595">ಬಾಕಿ ಇರುವ ಅಪ್ಡೇಟ್ ಅನ್ನು ಅನ್ವಯಿಸಲು <ph name="PRODUCT_NAME" /> ಅನ್ನು ಪುನರಾರಂಭಿಸಬೇಕು ಎಂದು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಸಿ. - ಬ್ರೌಸರ್ ಅನ್ನು ಪುನರಾರಂಭಿಸುವುದು ಅಗತ್ಯವಿದೆ ಅಥವಾ ಅದನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ ಎಂದು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಸಲು ಈ ಕಾರ್ಯನೀತಿ ಸೆಟ್ಟಿಂಗ್ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಮೆನುವಿಗೆ ಸೂಕ್ಷ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ <ph name="PRODUCT_NAME" />, ಬಳಕೆದಾರರಿಗೆ ಸೂಚನೆ ನೀಡುತ್ತದೆ. 'ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಪುನರಾರಂಭಿಸುವುದನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ ಎಂದು ಬಳಕೆದಾದರಿಗೆ ಸೂಚಿಸುವ, ಮರುಕಳಿಸುವ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. ಪುನರಾರಂಭಿಸುವುದನ್ನು ಮುಂದೂಡಲು, ಬಳಕೆದಾರರು ಈ ಎಚ್ಚರಿಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಬಹುದು. 'ಅಗತ್ಯವಿದೆ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಅಧಿಸೂಚನೆಯು ಮರೆಯಾದ ಬಳಿಕ, ಬ್ರೌಸರ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ಪುನರಾರಂಭಿಸಲಾಗುವುದು ಎಂದು ಬಳಕೆದಾರರಿಗೆ ಸೂಚಿಸುವ, ಮರುಕಳಿಸುವ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. ಈ ಕಾಲಾವಧಿಯು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಏಳು ದಿನಗಳಾಗಿರುತ್ತದೆ ಮತ್ತು <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" /> ಕಾರ್ಯನೀತಿ ಸೆಟ್ಟಿಂಗ್ ಮೂಲಕ ಇದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. + ಬ್ರೌಸರ್ ಅನ್ನು ಪುನರಾರಂಭಿಸುವುದು ಅಗತ್ಯವಿದೆ ಅಥವಾ ಅದನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ ಎಂದು ಬಳಕೆದಾರರಿಗೆ ತಿಳಿಸಲು ಈ ಕಾರ್ಯನೀತಿ ಸೆಟ್ಟಿಂಗ್ ಅಧಿಸೂಚನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಇದನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಮೆನುವಿಗೆ ಸೂಕ್ಷ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ <ph name="PRODUCT_NAME" />, ಪುನರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆಯೆಂದು ಬಳಕೆದಾರರಿಗೆ ಸೂಚನೆ ನೀಡುತ್ತದೆ. 'ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಪುನರಾರಂಭಿಸುವುದನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ ಎಂದು ಬಳಕೆದಾದರಿಗೆ ಸೂಚಿಸುವ, ಮರುಕಳಿಸುವ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. ಪುನರಾರಂಭಿಸುವುದನ್ನು ಮುಂದೂಡಲು, ಬಳಕೆದಾರರು ಈ ಎಚ್ಚರಿಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಬಹುದು. 'ಅಗತ್ಯವಿದೆ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಅಧಿಸೂಚನೆಯು ಮರೆಯಾದ ಬಳಿಕ, ಬ್ರೌಸರ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ಪುನರಾರಂಭಿಸಲಾಗುವುದು ಎಂದು ಬಳಕೆದಾರರಿಗೆ ಸೂಚಿಸುವ, ಮರುಕಳಿಸುವ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. ಈ ಕಾಲಾವಧಿಯು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಏಳು ದಿನಗಳಾಗಿರುತ್ತದೆ ಮತ್ತು <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" /> ಕಾರ್ಯನೀತಿ ಸೆಟ್ಟಿಂಗ್ ಮೂಲಕ ಇದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಪುನರಾರಂಭಿಸಿದ ಬಳಿಕ, ಬಳಕೆದಾರರ ಸೆಶನ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಲಾಗುವುದು.</translation> <translation id="2077129598763517140">ಲಭ್ಯವಿರುವಾಗ ಹಾರ್ಡ್ವೇರ್ ಆಕ್ಸಲರೇಶನ್ ಬಳಸು</translation> @@ -567,13 +567,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ಫೈಲ್ಗಳ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಡ್ರೈವ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ</translation> <translation id="268577405881275241">ಡೇಟಾ ಕಂಪ್ರೆಷನ್ ಪ್ರಾಕ್ಸಿ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="2710534340210290498">ಈ ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದ್ದರೆ, ಬಳಕೆದಾರರು ಪರದೆಯನ್ನು ಲಾಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ (ಬಳಕೆದಾರ ಸೆಷನ್ನಿಂದ ಸೈನ್ ಔಟ್ ಮಾಡಲು ಮಾತ್ರ ಸಾಧ್ಯವಾಗುತ್ತದೆ). ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸರಿ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಿದ್ದರೆ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ದೃಢೀಕರಿಸಿದ ಬಳಕೆದಾರರು ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಮಾಡಬಹುದು.</translation> -<translation id="2726613915126661822">Chrome OS ನಲ್ಲಿ ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳು ರನ್ ಆಗಲು ಅನುಮತಿ ನೀಡಬೇಕೇ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. - - ಈ ಕಾರ್ಯನೀತಿಯನ್ನು True ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳನ್ನು ರನ್ ಮಾಡಲು ಸಾಧನಕ್ಕೆ ಅನುಮತಿ ನೀಡಲಾಗುತ್ತದೆ. - ಈ ಕಾರ್ಯನೀತಿಯನ್ನು False ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳನ್ನು ರನ್ ಮಾಡಲು ಸಾಧನಕ್ಕೆ ಅನುಮತಿ ನೀಡಲಾಗುವುದಿಲ್ಲ. - ಈ ಕಾರ್ಯನೀತಿಯನ್ನು False ಗೆ ಬದಲಾಯಿಸಿದರೆ, ಅದು ಹೊಸ ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಅನ್ವಯಿಸುತ್ತದೆಯೇ ಹೊರತು ಈಗಾಗಲೇ ರನ್ ಆಗುತ್ತಿರುವ ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳಿಗೆ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. - ನಿರ್ವಹಿತ ಸಾಧನದಲ್ಲಿ ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳನ್ನು ರನ್ ಮಾಡಲು ಸಾಧನಕ್ಕೆ ಅನುಮತಿ ನೀಡಲಾಗುವುದಿಲ್ಲ. - ನಿರ್ವಹಿಸದಿರುವ ಸಾಧನಗಳಿಗೆ ವರ್ಚುವಲ್ ಮೆಷೀನ್ಗಳನ್ನು ರನ್ ಮಾಡಲು ಅನುಮತಿ ನೀಡಲಾಗುತ್ತದೆ.</translation> <translation id="2731627323327011390">ARC-ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ <ph name="PRODUCT_OS_NAME" /> ಪ್ರಮಾಣಪತ್ರಗಳ ಬಳಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="2742843273354638707">ಹೊಸ ಟ್ಯಾಬ್ ಪುಟ ಮತ್ತು <ph name="PRODUCT_OS_NAME" /> ಅಪ್ಲಿಕೇಶನ್ ಲಾಂಚರ್ನಿಂದ Chrome ವೆಬ್ ಸ್ಟೋರ್ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಅಡಿಟಿಪ್ಪಣಿ ಲಿಂಕ್ ಅನ್ನು ಮರೆಮಾಡಿ. @@ -638,6 +631,8 @@ <translation id="2893546967669465276">ನಿರ್ವಹಣೆ ಸರ್ವರ್ಗೆ ಸಿಸ್ಟಂ ಲಾಗ್ಗಳನ್ನು ಕಳುಹಿಸಿ</translation> <translation id="2899002520262095963">ಈ ನೀತಿಯ ಮೂಲಕ ಹೊಂದಿಸಲಾದ ನೆಟ್ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ಗಳು ಮತ್ತು CA ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು Android ಅಪ್ಲಿಕೇಶನ್ಗಳು ಬಳಸಬಹುದು, ಆದರೆ ಕೆಲವು ಕಾನ್ಫಿಗರೇಶನ್ ಆಯ್ಕೆಗಳಿಗೆ ಅವುಗಳಿಗೆ ಪ್ರವೇಶವಿರುವುದಿಲ್ಲ.</translation> <translation id="2906874737073861391">AppPack ವಿಸ್ತರಣೆಗಳ ಪಟ್ಟಿ</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" /> ಯಿಂದ ಯಾವ ಪ್ರಿಂಟರ್ಗಳು ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿವೆ ಎನ್ನುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ಪ್ರಿಂಟರ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಯಾವ ಪ್ರವೇಶ ಕಾರ್ಯನೀತಿಯನ್ನು ಬಳಸಬೇಕು ಎನ್ನುವುದನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. <ph name="PRINTERS_ALLOW_ALL" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಎಲ್ಲ ಪ್ರಿಂಟರ್ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. <ph name="PRINTERS_BLACKLIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ನಿರ್ದಿಷ್ಟ ಪ್ರಿಂಟರ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು <ph name="BULK_PRINTERS_BLACKLIST" /> ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. <ph name="PRINTERS_WHITELIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಆಯ್ಕೆ ಮಾಡಬಹುದಾದ ಪ್ರಿಂಟರ್ಗಳನ್ನು ಮಾತ್ರ <ph name="BULK_PRINTERS_WHITELIST" /> ನಿಗದಿಪಡಿಸುತ್ತದೆ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, <ph name="PRINTERS_ALLOW_ALL" /> ಎಂದು ಭಾವಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. + </translation> <translation id="2908277604670530363">ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ಗೆ ಏಕಕಾಲೀನ ಸಂಪರ್ಕಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆ</translation> <translation id="2956777931324644324">ಈ ನೀತಿಯನ್ನು <ph name="PRODUCT_NAME" /> ಆವೃತ್ತಿ 36 ರ ರೂಪದಲ್ಲಿ ಹಿಂತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ. @@ -664,9 +659,6 @@ ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದಿರುವಾಗ ಹೆಚ್ಚು-ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನೀತಿಗಳ ವರ್ತನೆಯು ಬಾಧಿತವಾಗದೇ ಉಳಿಯುತ್ತದೆ.</translation> <translation id="2987155890997901449">ARC ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="2987227569419001736">Web ಬ್ಲೂಟೂತ್ API ನ ನಿಯಂತ್ರಣ ಬಳಕೆ</translation> -<translation id="3001534538097271560">ಈ ಕಾರ್ಯನೀತಿಯನ್ನು FALSE ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, Google ಸರ್ವರ್ಗಳಿಗೆ ಕಳುಹಿಸುವುದಕ್ಕಾಗಿ ಬಳಕೆದಾರರು ಕೆಲವು ಸಿಸ್ಟಂ ಮಾಹಿತಿ ಮತ್ತು ಪುಟದ ವಿಷಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು TRUE ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದ್ದರೆ ಅಥವಾ ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ಅಪಾಯಕಾರಿ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹಾಗೂ ಸೈಟ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಹಾಯ ಮಾಡುವುದಕ್ಕಾಗಿ ಬಳಕೆದಾರರು ಕೆಲವು ಸಿಸ್ಟಂ ಮಾಹಿತಿ ಹಾಗೂ ಪುಟದ ವಿಷಯವನ್ನು ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್ಗೆ ಕಳುಹಿಸಬಹುದು. - - ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ https://developers.google.com/safe-browsing ನೋಡಿ.</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> ಪರದೆ ಲಾಕ್ನಲ್ಲಿ ಶ್ವೇತಪಟ್ಟಿ ಟಿಪ್ಪಣಿ-ತೆಗೆದುಕೊಳ್ಳುವ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ</translation> <translation id="3030000825273123558">ಮಾಪನಗಳ ವರದಿಗಾರಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="3034580675120919256">JavaScript ಅನ್ನು ಚಾಲನೆ ಮಾಡಲು ವೆಬ್ಸೈಟ್ಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿದೆಯೇ ಎಂದು ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. JavaScript ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದರಿಂದ ಎಲ್ಲ ವೆಬ್ಸೈಟ್ಗಳಿಗೂ ಅನುಮತಿಸಬಹುದು ಅಥವಾ ಎಲ್ಲ ವೆಬ್ಸೈಟ್ಗಳಿಗೂ ನಿರಾಕರಿಸಬಹುದಾಗಿದೆ. ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೆ ಬಿಟ್ಟರೆ, 'AllowJavaScript' ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬಳಕೆದಾರರು ಬದಲಾಯಿಸಬಹುದಾಗಿರುತ್ತದೆ.</translation> @@ -775,6 +767,7 @@ <translation id="3381968327636295719">ಹೋಸ್ಟ್ ಬ್ರೌಸರ್ ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸಿ</translation> <translation id="3395348522300156660">ಬಳಕೆದಾರರು ಬಳಸಬಹುದಾದ ಪ್ರಿಂಟರ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. <ph name="PRINTERS_WHITELIST" /> ಅನ್ನು <ph name="DEVICE_PRINTERS_ACCESS_MODE" /> ಗಾಗಿ ಆರಿಸಿದಾಗ ಮಾತ್ರ ಈ ನೀತಿಯು ಬಳಕೆಯಾಗುತ್ತದೆ ಈ ನೀತಿಯನ್ನು ಬಳಸಿದ್ದರೆ, ಈ ನೀತಿಯಲ್ಲಿರುವ ಮೌಲ್ಯಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಐಡಿಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರಿಂಟರ್ಗಳು ಮಾತ್ರ ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿರುತ್ತವೆ. ಐಡಿಗಳು <ph name="DEVICE_PRINTERS_POLICY" /> ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ ಫೈಲ್ನಲ್ಲಿನ ನಮೂದುಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗಬೇಕು. </translation> +<translation id="3414260318408232239">ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ಡಿಫಾಲ್ಟ್ ಕನಿಷ್ಠ ಆವೃತ್ತಿಯಾದ TLS 1.0 ಅನ್ನು <ph name="PRODUCT_NAME" /> ಬಳಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಅದನ್ನು ಈ ಕೆಳಗಿನ ಮೌಲ್ಯಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದು ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸಬಹುದು: "tls1", "tls1.1" ಅಥವಾ "tls1.2". ಇದನ್ನು ಹೊಂದಿಸಿದಾಗ, ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಆವೃತ್ತಿಗಿಂತ ಹಳೆಯದಾಗಿರುವ SSL/TLS ಆವೃತ್ತಿಗಳನ್ನು <ph name="PRODUCT_NAME" /> ಬಳಸುವುದಿಲ್ಲ. ಗುರುತಿಸಲಾಗದ ಮೌಲ್ಯವನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುವುದು.</translation> <translation id="3417418267404583991">ಈ ನೀತಿಯನ್ನು 'ನಿಜ' ಎಂದು ಹೋಲಿಸಿದರೆ ಅಥವಾ ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, <ph name="PRODUCT_OS_NAME" /> ಅತಿಥಿ ಲಾಗಿನ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಅತಿಥಿ ಲಾಗಿನ್ಗಳು ಅಜ್ಞಾತನಾಮಕ ಬಳಕೆದಾರ ಸೆಶನ್ಗಳಾಗಿವೆ ಹಾಗೂ ಪಾಸ್ವರ್ಡ್ನ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ. ಈ ನೀತಿಯನ್ನು 'ತಪ್ಪು' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಅತಿಥಿ ಸೆಶನ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು <ph name="PRODUCT_OS_NAME" /> ಅನುಮತಿಸುವುದಿಲ್ಲ.</translation> <translation id="3418871497193485241">YouTube ನಲ್ಲಿ ಕನಿಷ್ಠ ಮಧ್ಯಮ ನಿರ್ಬಂಧಿತ ಮೋಡ್ ಜಾರಿಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಕಡಿಮೆ ನಿರ್ಬಂಧಿತ ಮೋಡ್ ಆರಿಸಿಕೊಳ್ಳದಂತೆ ಬಳಕೆದಾರರನ್ನು ತಡೆಗಟ್ಟುತ್ತದೆ. @@ -904,6 +897,7 @@ ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೇ ಬಿಟ್ಟರೆ, ಆರಂಭದಲ್ಲಿ ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ ಆದರೆ ಯಾವುದೇ ಸಮಯಲ್ಲಿ ಬಳಕೆದಾರನನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.</translation> <translation id="382476126209906314">ರಿಮೋಟ್ ಪ್ರವೇಶ ಹೋಸ್ಟ್ಗಳಿಗಾಗಿ TalkGadget ಪೂರ್ವಪ್ರತ್ಯಯ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ</translation> +<translation id="3831376478177535007">ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ Symantec Corporation ನ ಪರಂಪರಾನುಗತ PKI ಕಾರ್ಯಾಚರಣೆಗಳು ಅನ್ಯಥಾ ಯಶಸ್ವಿಯಾಗಿ ದೃಢೀಕೃತಗೊಂಡು, ಮಾನ್ಯವಾದ CA ಪ್ರಮಾಣಪತ್ರಕ್ಕೆ ಜೋಡಣೆಯಾದರೆ, ಅವುಗಳು ಒದಗಿಸಿರುವ ಪ್ರಮಾಣಪತ್ರಗಳ ಕುರಿತು ವಿಶ್ವಾಸವಿರಿಸಲು <ph name="PRODUCT_NAME" /> ಅನುಮತಿಸುತ್ತದೆ. Symantec ನ ಪರಂಪರಾನುಗತ ಸಂರಚನೆಯ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಅಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಗುರುತಿಸುವುದರ ಮೇಲೆ ಈ ಕಾರ್ಯನೀತಿ ಅವಲಂಬಿತವಾಗಿದೆ ಎನ್ನುವುದನ್ನು ಗಮನಿಸಿ. ಅಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್, ಇಂತಹ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನಿಭಾಯಿಸುವ ರೀತಿಯು OS ಅಪ್ಡೇಟ್ನಿಂದಾಗಿ ಬದಲಾದರೆ, ಈ ಕಾರ್ಯನೀತಿಯು ಇನ್ನು ಮುಂದೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ. ಮಾತ್ರವಲ್ಲದೆ, ಪರಂಪರಾನುಗತ Symantec ಪ್ರಮಾಣಪತ್ರಗಳಿಂದ ಪರಿವರ್ತಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ತಿಗೊಳಿಸಲು ಉದ್ಯಮಗಳಿಗೆ ಹೆಚ್ಚು ಸಮಯವನ್ನು ಒದಗಿಸುವ ತಾತ್ಕಾಲಿಕ ಪರ್ಯಾಯ ಮಾರ್ಗವಾಗಿ ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ರೂಪಿಸಲಾಗಿದೆ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು 1 ಜನವರಿ 2019 ರ ಸುಮಾರಿಗೆ ತೆಗೆದುಹಾಕಲಾಗುವುದು. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ ಅಥವಾ ಅದನ್ನು false ಎಂದು ಹೊಂದಿಸಿದರೆ, ಸಾರ್ವಜನಿಕವಾಗಿ ಘೋಷಿಸಿರುವ ತಡೆಹಿಡಿಯುವಿಕೆ ವೇಳಾಪಟ್ಟಿಯನ್ನು <ph name="PRODUCT_NAME" /> ಅನುಸರಿಸುತ್ತದೆ. ಈ ತಡೆಹಿಡಿಯುವಿಕೆಯ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ https://g.co/chrome/symantecpkicerts ನೋಡಿ.</translation> <translation id="383466854578875212">ಯಾವ ಸ್ಥಳೀಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಹೋಸ್ಟ್ಗಳಪ ಕಪ್ಪುಪಟ್ಟಿಗೆ ಒಳಪಡುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. * ನ ಕಪ್ಪುಪಟ್ಟಿ ಮೌಲ್ಯವು ಎಂದರೆ ಎಲ್ಲ ಸ್ಥಳಿಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಹೋಸ್ಟ್ಗಳನ್ನು ಕಪ್ಪುಪಟ್ಟಿಯನ್ನಾಗಿ ಮಾಡಲಾಗಿದೆ ಎಂದರ್ಥ ಮತ್ತು ಕೇವಲ ಅನುಮತಿಪಟ್ಟಿಯಲ್ಲಿ ಪಟ್ಟಿಮಾಡಲಾಗಿರುವ ಸ್ಥಳೀಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಹೋಸ್ಟ್ಗಳನ್ನು ಮಾತ್ರ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ. @@ -1099,7 +1093,6 @@ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೆ ಬಿಟ್ಟರೆ, ನೀತಿಯ ಮೂಲಕ ವಿಧಿಸಿದ ಲಾಕ್ ಪರದೆಯ ಮೇಲೆ ಬಳಕೆದಾರನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಹೊಂದಿಕೆಯಲ್ಲಿ ಯಾವುದೇ ನಿರ್ಬಂಧಗಳಿರುವುದಿಲ್ಲ.</translation> <translation id="4309640770189628899">TLS ರಲ್ಲಿ DHE ಸೈಫರ್ ಸ್ಯೂಟ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆಯೇ</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ಅಥವಾ ನಂತರದ್ದು</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> ಆವೃತ್ತಿಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಸ್ವಯಂ ಪ್ರಾರಂಭಗೊಂಡ ಶೂನ್ಯ ವಿಳಂಬದ ಕಿಯೋಸ್ಕ್ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸಿ</translation> <translation id="4325690621216251241">ಸಿಸ್ಟಂ ಟ್ರೇ ಗೆ ಲಾಗ್ಔಟ್ ಬಟನ್ ಅನ್ನು ಸೇರಿಸಿ</translation> <translation id="4346674324214534449">ಅತಿಕ್ರಮಣಕಾರಿಯಾಗಿರುವ ಜಾಹೀರಾತುಗಳಿರುವ ಸೈಟ್ಗಳಲ್ಲಿ ಜಾಹೀರಾತುಗಳನ್ನು ನಿರ್ಬಂಧಿಸಬೇಕೇ ಎಂಬುದನ್ನು ಹೊಂದಿಸಲು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ. @@ -1114,13 +1107,7 @@ <translation id="4347908978527632940">ನಿಜವಾಗಿದ್ದರೆ ಮತ್ತು ಬಳಕೆದಾರರು ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರಾಗಿದ್ದರೆ ವಿಷಯ ಒದಗಿಸುವವರ ಮೂಲಕ ಬಳಕೆದಾರರ ವೆಬ್ ನಿಯಂತ್ರಣಗಳನ್ನು Android ಅಪ್ಲಿಕೇಶನ್ಗಳು ಪ್ರಶ್ನೆಮಾಡಬಹುದು. ತಪ್ಪಾಗಿದ್ದರೆ ಅಥವಾ ಹೊಂದಿಸಲಾಗದೇ ಇದ್ದ ಸಂದರ್ಭದಲ್ಲಿ ವಿಷಯ ಒದಗಿಸುವವರು ಯಾವುದೇ ಮಾಹಿತಿ ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ.</translation> -<translation id="435461861920493948"><ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಖಾತೆಗಳ ಗೋಚರತೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಳಸುವ ವಿನ್ಯಾಸಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. - -<ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಖಾತೆಯ ಗೋಚರತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧನದಲ್ಲಿನ ಪ್ರತಿ Google ಖಾತೆಯನ್ನು ಈ ನೀತಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ಪ್ಯಾಟರ್ನ್ಗಳೊಂದಿಗೆ ಹೋಲಿಸಲಾಗುತ್ತದೆ. ಪಟ್ಟಿಯಲ್ಲಿನ ಯಾವುದೇ ಪ್ಯಾಟರ್ನ್ನೊಂದಿಗೆ ಅದರ ಹೆಸರು ಹೊಂದಾಣಿಕೆಯಾದರೆ ಖಾತೆಯು ಗೋಚರಿಸುತ್ತದೆ. ಇಲ್ಲವಾದರೆ, ಖಾತೆಯು ಮರೆಯಾಗಿರುತ್ತದೆ. - -ಶೂನ್ಯ ಅಥವಾ ಹೆಚ್ಚಿನ ಅನಿಯಂತ್ರಿತ ಕ್ಯಾರೆಕ್ಟರ್ಗಳಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಲು '*' ವೈಲ್ಡ್ಕಾರ್ಡ್ ಕ್ಯಾರೆಕ್ಟರ್ ಅನ್ನು ಬಳಸಿ. ಎಸ್ಕೇಪ್ ಕ್ಯಾರೆಕ್ಟರ್ '\' ಆಗಿದೆ, ಆದ್ದರಿಂದ ನಿಜವಾದ '*' ಅಥವಾ '\' ಕ್ಯಾರೆಕ್ಟರ್ಗಳಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಲು, ಅವುಗಳ ಮುಂದೆ ನೀವು '\' ಹಾಕಿ. - -ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಸಾಧನದಲ್ಲಿನ ಎಲ್ಲಾ Google ಖಾತೆಗಳು <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ.</translation> +<translation id="435461861920493948"><ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಖಾತೆಗಳ ಗೋಚರತೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಳಸುವ ವಿನ್ಯಾಸಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಖಾತೆಯ ಗೋಚರತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧನದಲ್ಲಿನ ಪ್ರತಿ Google ಖಾತೆಯನ್ನು ಈ ನೀತಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ಪ್ಯಾಟರ್ನ್ಗಳೊಂದಿಗೆ ಹೋಲಿಸಲಾಗುತ್ತದೆ. ಪಟ್ಟಿಯಲ್ಲಿನ ಯಾವುದೇ ಪ್ಯಾಟರ್ನ್ನೊಂದಿಗೆ ಅದರ ಹೆಸರು ಹೊಂದಾಣಿಕೆಯಾದರೆ ಖಾತೆಯು ಗೋಚರಿಸುತ್ತದೆ. ಇಲ್ಲವಾದರೆ, ಖಾತೆಯು ಮರೆಯಾಗಿರುತ್ತದೆ. ಶೂನ್ಯ ಅಥವಾ ಹೆಚ್ಚಿನ ಅನಿಯಂತ್ರಿತ ಕ್ಯಾರೆಕ್ಟರ್ಗಳಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಲು '*' ವೈಲ್ಡ್ಕಾರ್ಡ್ ಕ್ಯಾರೆಕ್ಟರ್ ಅನ್ನು ಬಳಸಿ. ಎಸ್ಕೇಪ್ ಕ್ಯಾರೆಕ್ಟರ್ '\' ಆಗಿದೆ, ಆದ್ದರಿಂದ ನಿಜವಾದ '*' ಅಥವಾ '\' ಕ್ಯಾರೆಕ್ಟರ್ಗಳಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಲು, ಅವುಗಳ ಮುಂದೆ ನೀವು '\' ಹಾಕಿ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಸಾಧನದಲ್ಲಿನ ಎಲ್ಲಾ Google ಖಾತೆಗಳು <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ.</translation> <translation id="4360826270668210664">ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸಿದಲ್ಲಿ, ರಿಮೋಟ್ ಪ್ರವೇಶ ಹೋಸ್ಟ್ ಸಂಪರ್ಕಿಸುವ ಸಲುವಾಗಿ ಈ URL ನಿಂದ ಪ್ರಮಾಣೀಕರಣದ ಟೋಕನ್ ಪಡೆಯಲು ಪ್ರಮಾಣೀಕರಿಸುವ ಕ್ಲೈಂಟ್ಗಳು ಅಗತ್ಯವಿರುತ್ತವೆ. RemoteAccessHostTokenValidationUrl ಸಂಯೋಗದೊಂದಿಗೆ ಬಳಸಬೇಕಾಗಿರುತ್ತದೆ. ಪ್ರಸ್ತುತ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸರ್ವರ್ನಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.</translation> @@ -2447,13 +2434,7 @@ <translation id="8424255554404582727">ಪ್ರತಿ ಮರುಬೂಟ್ನಲ್ಲಿ ಡಿಫಾಲ್ಟ್ ಪ್ರದರ್ಶನ ತಿರುಗಿಸುವಿಕೆಯನ್ನು ಮರು ಅನ್ವಯಿಸಿ</translation> <translation id="8426231401662877819">ಪರದೆಯನ್ನು 90 ಡಿಗ್ರಿಗಳಲ್ಲಿ ಪ್ರದಕ್ಷಿಣಾಕಾರವಾಗಿ ತಿರುಗಿಸಿ</translation> <translation id="8451988835943702790">ಹೊಸ ಟ್ಯಾಬ್ ಪುಟವನ್ನು ಮುಖಪುಟದಂತೆ ಬಳಸಿ</translation> -<translation id="8459216513698220096">ಕಂಪ್ಯೂಟರ್ GPO ಯಿಂದ ಬಳಕೆದಾರ ನೀತಿ ಪ್ರಕ್ರಿಯೆ ಆಗಿದೆಯೇ ಮತ್ತು ಹೇಗೆ ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. - -ನೀತಿಯನ್ನು 'ಡಿಫಾಲ್ಟ್' ಎಂದು ಹೊಂದಿಸಿದರೆ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಬಳಕೆದಾರರ GPO ಗಳಿಂದ ಮಾತ್ರ ಓದುತ್ತದೆ (ಕಂಪ್ಯೂಟರ್ GPO ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ). - -ನೀತಿಯನ್ನು 'ವಿಲೀನಗೊಳಿಸಿ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಕಂಪ್ಯೂಟರ್ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರರ ನೀತಿಯೊಂದಿಗೆ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ (ಕಂಪ್ಯೂಟರ್ GPO ಗಳು ಆದ್ಯತೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ). - -ನೀತಿಯನ್ನು 'ಬದಲಿಸಿ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಕಂಪ್ಯೂಟರ್ GPO ಗಳಲ್ಲಿ ಬಳಕೆದಾರರ ನೀತಿಯಿಂದ ಬದಲಿಸಲಾಗುತ್ತದೆ (ಬಳಕೆದಾರ GPO ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ).</translation> +<translation id="8459216513698220096">ಕಂಪ್ಯೂಟರ್ GPO ಯಿಂದ ಬಳಕೆದಾರ ನೀತಿ ಪ್ರಕ್ರಿಯೆ ಆಗಿದೆಯೇ ಮತ್ತು ಹೇಗೆ ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ನೀತಿಯನ್ನು 'ಡಿಫಾಲ್ಟ್' ಎಂದು ಹೊಂದಿಸಿದರೆ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಬಳಕೆದಾರರ GPO ಗಳಿಂದ ಮಾತ್ರ ಓದುತ್ತದೆ (ಕಂಪ್ಯೂಟರ್ GPO ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ). ನೀತಿಯನ್ನು 'ವಿಲೀನಗೊಳಿಸಿ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಕಂಪ್ಯೂಟರ್ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರರ ನೀತಿಯೊಂದಿಗೆ ವಿಲೀನಗೊಳಿಸಲಾಗುತ್ತದೆ (ಕಂಪ್ಯೂಟರ್ GPO ಗಳು ಆದ್ಯತೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ). ನೀತಿಯನ್ನು 'ಬದಲಿಸಿ' ಎಂದು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರ GPO ಗಳಲ್ಲಿನ ಬಳಕೆದಾರ ನೀತಿಯನ್ನು ಕಂಪ್ಯೂಟರ್ GPO ಗಳಲ್ಲಿ ಬಳಕೆದಾರರ ನೀತಿಯಿಂದ ಬದಲಿಸಲಾಗುತ್ತದೆ (ಬಳಕೆದಾರ GPO ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ).</translation> <translation id="8465065632133292531">POST ಬಳಸಿಕೊಳ್ಳುವ ತತ್ಕ್ಷಣದ URL ಗಾಗಿ ಮಾನದಂಡಗಳು</translation> <translation id="847472800012384958">ಯಾವುದೇ ಸೈಟ್ ಅನ್ನು ಪಾಪ್-ಅಪ್ಗಳನ್ನು ತೋರಿಸಲು ಅನುಮತಿಸಬೇಡ</translation> <translation id="8477885780684655676">TLS 1.0</translation> @@ -2621,11 +2602,7 @@ ಪ್ರತ್ಯೇಕ ಸಾಧನಗಳಲ್ಲಿ ಬಳಕೆದಾರರು ಪ್ರಿಂಟರ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದೇ ಎಂಬುದರ ಮೇಲೆ ಈ ನೀತಿ ಯಾವುದೇ ಪರಿಣಾಮ ಹೊಂದಿರುವುದಿಲ್ಲ. ಇದು ಪ್ರತ್ಯೇಕ ಬಳಕೆದಾರರಿಂದ ಪ್ರಿಂಟರ್ಗಳ ಕಾನ್ಫಿಗರೇಶನ್ಗೆ ಪೂರಕಗೊಳಿಸಲು ಉದ್ದೇಶಿತವಾಗಿದೆ. </translation> -<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" /> ಯಿಂದ ಯಾವ ಪ್ರಿಂಟರ್ಗಳು ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿವೆ ಎಂಬುದನ್ನು ಇದು ನಿಯಂತ್ರಿಸುತ್ತದೆ. - -ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪ್ರಿಂಟರ್ ಕಾನ್ಫಿಗರೇಶನ್ಗಾಗಿ ಯಾವ ಪ್ರವೇಶ ಕಾರ್ಯನೀತಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಎನ್ನುವುದನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ. ಒಂದುವೇಳೆ <ph name="PRINTERS_ALLOW_ALL" /> ಅನ್ನು ಆಯ್ಕೆಮಾಡಿದರೆ, ಎಲ್ಲಾ ಪ್ರಿಂಟರ್ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. ಒಂದುವೇಳೆ <ph name="PRINTERS_BLACKLIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ನಿರ್ದಿಷ್ಟ ಪ್ರಿಂಟರ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು <ph name="DEVICE_PRINTERS_BLACKLIST" /> ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಒಂದು ವೇಳೆ <ph name="PRINTERS_WHITELIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಆರಿಸಬಹುದಾದ ಪ್ರಿಂಟರ್ಗಳನ್ನು ಮಾತ್ರ <ph name="DEVICE_PRINTERS_WHITELIST" /> ನಿಯೋಜಿಸುತ್ತದೆ. - -ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದಲ್ಲಿ, <ph name="PRINTERS_ALLOW_ALL" /> ಎಂದು ಭಾವಿಸಲಾಗುತ್ತದೆ. +<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" /> ಯಿಂದ ಯಾವ ಪ್ರಿಂಟರ್ಗಳು ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿವೆ ಎನ್ನುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ಪ್ರಿಂಟರ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಯಾವ ಪ್ರವೇಶ ಕಾರ್ಯನೀತಿಯನ್ನು ಬಳಸಬೇಕು ಎನ್ನುವುದನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. <ph name="PRINTERS_ALLOW_ALL" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಎಲ್ಲ ಪ್ರಿಂಟರ್ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ. <ph name="PRINTERS_BLACKLIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ನಿರ್ದಿಷ್ಟ ಪ್ರಿಂಟರ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು <ph name="DEVICE_PRINTERS_BLACKLIST" /> ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. <ph name="PRINTERS_WHITELIST" /> ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಆಯ್ಕೆ ಮಾಡಬಹುದಾದ ಪ್ರಿಂಟರ್ಗಳನ್ನು ಮಾತ್ರ <ph name="DEVICE_PRINTERS_WHITELIST" /> ನಿಗದಿಪಡಿಸುತ್ತದೆ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, <ph name="PRINTERS_ALLOW_ALL" /> ಎಂದು ಭಾವಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. </translation> <translation id="8947415621777543415">ಸಾಧನದ ಸ್ಥಳವನ್ನು ವರದಿ ಮಾಡಿ</translation> <translation id="8951350807133946005">ಡಿಸ್ಕ್ ಸಂಗ್ರಹದ ಡೈರೆಕ್ಟರಿಯನ್ನು ಹೊಂದಿಸಿ</translation>
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb index c258e1e..2f74cf29 100644 --- a/components/policy/resources/policy_templates_ko.xtb +++ b/components/policy/resources/policy_templates_ko.xtb
@@ -543,13 +543,6 @@ 이 정책은 'DefaultSearchProviderEnabled' 정책을 사용하도록 설정한 경우에만 적용됩니다.</translation> <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> 파일 앱에서 Google 드라이브 사용 중지</translation> <translation id="268577405881275241">데이터 압축 프록시 기능 사용</translation> -<translation id="2726613915126661822">Chrome OS에서 가상 머신 실행을 허용할지 여부를 설정할 수 있습니다. - - 정책을 True로 설정하면 기기에서 가상 머신을 실행할 수 있습니다. - 정책을 False로 설정하면 기기에서 가상 머신을 실행할 수 없습니다. - 이 정책을 False로 변경하면 새로운 가상 머신을 실행할 수 없지만 이미 실행 중인 가상 머신이 종료되지는 않습니다. - 관리 대상 기기에 이 정책을 설정하지 않으면 기기에서 가상 머신을 실행할 수 없습니다. - 관리 대상이 아닌 기기에서는 가상 머신을 실행할 수 있습니다.</translation> <translation id="2731627323327011390">ARC 앱에서 <ph name="PRODUCT_OS_NAME" /> 인증서를 사용하지 않도록 설정</translation> <translation id="2742843273354638707">새 탭 페이지 및 <ph name="PRODUCT_OS_NAME" /> 앱 런처에서 Chrome 웹 스토어 앱과 바닥글 링크가 표시되지 않도록 숨깁니다. @@ -614,6 +607,12 @@ <translation id="2893546967669465276">시스템 로그를 관리 서버로 전송합니다.</translation> <translation id="2899002520262095963">Android 앱은 이 정책을 통해 설정된 네트워크 구성 및 CA 인증서를 사용할 수 있지만 일부 구성 옵션에는 액세스할 권한이 없습니다.</translation> <translation id="2906874737073861391">AppPack 확장 프로그램 목록</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" />에 명시된 프린터 중 어떤 프린터를 사용자에게 제공할지 관리합니다. + + 일괄 프린터 설정에 사용할 액세스 정책을 지정합니다. <ph name="PRINTERS_ALLOW_ALL" />을(를) 선택하면 모든 프린터가 표시됩니다. <ph name="PRINTERS_BLACKLIST" />을(를) 선택하면 <ph name="BULK_PRINTERS_BLACKLIST" />이(가) 사용되어 특정 프린터에 관한 액세스 권한이 제한됩니다. <ph name="PRINTERS_WHITELIST" />을(를) 선택하면 <ph name="BULK_PRINTERS_WHITELIST" />이(가) 사용되어 선택 가능한 프린터만 지정됩니다. + + 이 정책이 설정되어 있지 않으면 <ph name="PRINTERS_ALLOW_ALL" />이(가) 기본적으로 사용됩니다. + </translation> <translation id="2908277604670530363">프록시 서버에 대한 최대 동시 연결 수</translation> <translation id="2956777931324644324">이 정책은 <ph name="PRODUCT_NAME" /> 버전 36을 기준으로 지원 중단되었습니다. @@ -635,9 +634,6 @@ 정책 값은 밀리초 단위로 지정해야 하며, 화면 꺼짐 지연 시간(설정된 경우) 및 유휴 지연 시간보다 작거나 같도록 값이 잘립니다.</translation> <translation id="2987155890997901449">ARC 사용</translation> <translation id="2987227569419001736">Web Bluetooth API 사용 조정</translation> -<translation id="3001534538097271560">이 정책을 false로 설정하면 사용자가 일부 시스템 정보 및 페이지 콘텐츠를 Google 서버로 전송하지 못하지 못하게 됩니다. 이 설정이 true로 설정되거나 설정되지 않으면 사용자는 위험한 앱 및 사이트를 감지하기 위해 일부 시스템 정보와 페이지 콘텐츠를 세이프 브라우징으로 전송할 수 있습니다. - - 세이프 브라우징에 관해 자세히 알아보려면 https://developers.google.com/safe-browsing을 참조하세요.</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> 잠금 화면에서 사용 설정된 메모 앱을 허용 목록에 추가</translation> <translation id="3030000825273123558">통계 보고 사용</translation> <translation id="3034580675120919256">웹사이트에서 자바스크립트를 실행하도록 허용할지 여부를 설정할 수 있습니다. 자바스크립트 실행은 모든 웹사이트에서 허용 또는 거부하도록 할 수 있습니다. @@ -752,6 +748,9 @@ 이 정책을 사용하면 이 정책에 있는 값과 ID가 일치하는 프린터만 사용자에게 제공됩니다. 이 ID는 <ph name="DEVICE_PRINTERS_POLICY" />에 명시된 파일 내 항목과 일치해야 합니다. </translation> +<translation id="3414260318408232239">이 정책을 설정하지 않으면 <ph name="PRODUCT_NAME" />에서 기본 최소 버전인 TLS 1.0이 사용됩니다. + + 정책을 설정하는 경우 'tls1', 'tls1.1', 'tls1.2' 중 하나로 설정할 수 있으며, 버전을 설정하면 <ph name="PRODUCT_NAME" />에서 지정된 버전보다 낮은 SSL/TLS 버전은 사용되지 않습니다. 인식할 수 없는 값은 무시됩니다.</translation> <translation id="3417418267404583991">이 정책을 true로 설정하거나 구성하지 않으면 <ph name="PRODUCT_OS_NAME" />은(는) 손님 로그인을 사용합니다. 손님 로그인은 익명 사용자 세션이며 비밀번호가 필요없습니다. 이 정책을 false로 설정하면, <ph name="PRODUCT_OS_NAME" />은(는) 손님 세션을 시작하지 않습니다.</translation> @@ -859,6 +858,13 @@ 이 정책을 설정하지 않으면 처음에는 터치 키보드를 사용하지 않도록 설정되지만 사용자가 언제든지 사용하도록 설정할 수 있습니다.</translation> <translation id="382476126209906314">원격 액세스 호스트에 대한 TalkGadget 프리픽스 구성</translation> +<translation id="3831376478177535007">이 설정이 사용 설정되어 있으면 Symantec Corporation의 이전 PKI 작업에서 발급한 인증서가 별도로 확인되었고 인식할 수 있는 CA 인증서에 체인이 구축되어있을 시 <ph name="PRODUCT_NAME" />에서 이 인증서를 신뢰할 수 있도록 허용합니다. + + 이 정책을 사용하려면 여전히 이전 Symantec 인프라의 인증서를 인식하고 있는 운영체제가 필요합니다. OS 업데이트로 인해 이 인증서의 OS 처리가 변경되면 이 정책은 더 이상 적용되지 않습니다. 또한 이 정책은 기업에서 이전 Symantec 인증서에서 전환할 시간을 주기 위해 사용되는 임시 해결 방법입니다. 이 정책은 2019년 1월 1일경에 중단됩니다. + + 이 정책이 설정되어 있지 않거나 false로 설정되어 있으면 <ph name="PRODUCT_NAME" />에서 공개 발표된 지원 중단 일정을 따릅니다. + + 지원 중단에 관한 자세한 정보는 https://g.co/chrome/symantecpkicerts를 확인하세요.</translation> <translation id="383466854578875212">차단 목록에 적용되지 않는 기본 메시지 호스트를 지정하도록 허용합니다. 차단 목록 * 값은 모든 기본 메시지 호스트가 차단되며 허용 목록에 표시된 기본 메시지 호스트만 로드됨을 나타냅니다. @@ -1019,7 +1025,6 @@ 정책을 설정하지 않은 상태로 두면 사용자가 잠금 화면에서 사용 설정할 수 있는 앱 집합에 이 정책에 따른 제한이 적용되지 않습니다.</translation> <translation id="4309640770189628899">TLS DHE 암호화 기술 사용 설정 여부</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 이상</translation> <translation id="4322842393287974810">지연 없이 자동 실행된 키오스크 앱에서 <ph name="PRODUCT_OS_NAME" /> 버전을 제어하도록 허용합니다.</translation> <translation id="4325690621216251241">작업 표시줄에 로그아웃 버튼 추가</translation> <translation id="4346674324214534449">방해가 되는 광고가 포함된 사이트에서 광고를 차단할지 설정할 수 있습니다. @@ -2464,7 +2469,7 @@ 이 정책은 사용자가 개별 기기에서 프린터를 설정할 수 있는지에 영향을 미치지 않습니다. 이 정책은 개별 사용자의 프린터 설정을 보완하기 위한 것입니다. </translation> -<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" />에 명시된 프린터 중 어떤 프린터가 사용자에게 제공될지 관리합니다. +<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" />에 명시된 프린터 중 어떤 프린터를 사용자에게 제공할지 관리합니다. 일괄 프린터 설정에 사용할 액세스 정책을 지정합니다. <ph name="PRINTERS_ALLOW_ALL" />을(를) 선택하면 모든 프린터가 표시됩니다. <ph name="PRINTERS_BLACKLIST" />을(를) 선택하면 <ph name="DEVICE_PRINTERS_BLACKLIST" />이(가) 사용되어 특정 프린터에 관한 액세스 권한이 제한됩니다. <ph name="PRINTERS_WHITELIST" />을(를) 선택하면 <ph name="DEVICE_PRINTERS_WHITELIST" />이(가) 사용되어 선택 가능한 프린터만 지정됩니다.
diff --git a/components/policy/resources/policy_templates_lt.xtb b/components/policy/resources/policy_templates_lt.xtb index b8434acd..e6b0188a 100644 --- a/components/policy/resources/policy_templates_lt.xtb +++ b/components/policy/resources/policy_templates_lt.xtb
@@ -545,13 +545,6 @@ Į šią politiką atsižvelgiama, tik jei įgalinta politika „Numatytasis paieškos teikėjas įgalintas“.</translation> <translation id="2682225790874070339">Išjungiamas Diskas „<ph name="PRODUCT_OS_NAME" />“ programoje „Failai“</translation> <translation id="268577405881275241">Įgalinti duomenų glaudinimo tarpinio serverio funkciją</translation> -<translation id="2726613915126661822">Leidžiama valdyti, ar virtualiesiems įrenginiams leidžiama veikti „Chrome“ OS. - - Jei politika nustatyta kaip „True“, įrenginiui leidžiama paleisti virtualiuosius įrenginius. - Jei politika nustatyta kaip „False“, įrenginiui neleidžiama paleisti virtualiųjų įrenginių. - Pakeitus šios politikos nustatymą į „False“, jis taikomas paleidžiant naujus virtualiuosius įrenginius, bet jau veikiantys virtualieji įrenginiai nėra išjungiami. - Jei ši politika nenustatyta valdomame įrenginyje, įrenginiui neleidžiama paleisti virtualiųjų įrenginių. - Nevaldomiems įrenginiams leidžiama paleisti virtualiuosius įrenginius.</translation> <translation id="2731627323327011390">Neleisti naudoti „<ph name="PRODUCT_OS_NAME" />“ sertifikatų ARC programose</translation> <translation id="2742843273354638707">Slėpti „Chrome“ internetinės parduotuvės programą ir poraštės nuorodą Naujo skirtuko puslapyje ir „<ph name="PRODUCT_OS_NAME" />“ programų paleidimo priemonėje. @@ -616,6 +609,12 @@ <translation id="2893546967669465276">Sistemos žurnalų siuntimas valdymo serveriui</translation> <translation id="2899002520262095963">„Android“ programos gali naudoti šioje politikoje nustatytas tinklo konfigūracijas ir CA sertifikatus, bet negali pasiekti kai kurių konfigūravimo parinkčių.</translation> <translation id="2906874737073861391">„Programų paketo“ plėtinių sąrašas</translation> +<translation id="2907992746861405243">Valdoma, kurie spausdintuvai iš „<ph name="BULK_PRINTERS_POLICY" />“ pasiekiami naudotojams. + + Nustatoma, kuri pasiekiamumo politika naudojama masinei spausdintuvų konfigūracijai. Jei pasirinkta „<ph name="PRINTERS_ALLOW_ALL" />“, rodomi visi spausdintuvai. Jei pasirinkta „<ph name="PRINTERS_BLACKLIST" />“, „<ph name="BULK_PRINTERS_BLACKLIST" />“ naudojama pasiekiamumui prie nurodytų spausdintuvų apriboti. Jei pasirinkta „<ph name="PRINTERS_WHITELIST" />“, „<ph name="BULK_PRINTERS_WHITELIST" />“ nustato tik tuos spausdintuvus, kuriuos galima pasirinkti. + + Jei ši politika nenustatyta, taikoma „<ph name="PRINTERS_ALLOW_ALL" />“. + </translation> <translation id="2908277604670530363">Didžiausias jungčių prie tarpinio serverio vienu metu skaičius</translation> <translation id="2956777931324644324">Ši politika nebenaudojama nuo 36 versijos „<ph name="PRODUCT_NAME" />“. @@ -637,9 +636,6 @@ Politikos vertė turėtų būti nurodyta milisekundėmis. Vertės sumažinamos, kad neviršytų ekrano išjungimo delsos laiko (jei jis nustatytas) ar neveikos delsos laiko arba būtų jam lygios.</translation> <translation id="2987155890997901449">ARC įgalinimas</translation> <translation id="2987227569419001736">Valdyti „Web Bluetooth“ API naudojimą</translation> -<translation id="3001534538097271560">Nustačius šią politiką į „False“ naudotojai nebegalės pasirinkti siųsti tam tikros sistemos informacijos ir puslapių turinio į „Google“ serverius. Jei šis nustatymas nustatytas į „True“ arba nesukonfigūruotas, naudotojai galės siųsti tam tikrą sistemos informaciją ir puslapių turinį Saugaus naršymo funkcijai, kad padėtų aptikti pavojingas programas ir svetaines. - - Daugiau informacijos apie Saugų naršymą rasite adresu https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Įtraukti į baltąjį sąrašą užrašų programas, kurios leidžiamos „<ph name="PRODUCT_OS_NAME" />“ užrakinimo ekrane</translation> <translation id="3030000825273123558">Įgalinti metrikos ataskaitų teikimą</translation> <translation id="3034580675120919256">Leidžiama nustatyti, ar svetainėse leidžiama paleisti „JavaScript“. Gali būti leidžiama arba draudžiama paleisti „JavaScript“ visose svetainėse. @@ -754,6 +750,9 @@ Jei ši politika naudojama, naudotojui pasiekiami tik spausdintuvai, kurių ID atitinka šioje politikoje nurodytas vertes. ID turi atitikti įrašus faile, kuris nurodytas „<ph name="DEVICE_PRINTERS_POLICY" />“. </translation> +<translation id="3414260318408232239">Jei ši politika nesukonfigūruota, „<ph name="PRODUCT_NAME" />“ naudos numatytosios minimalios 1.0 versijos TLS. + + Kitaip gali būti nustatyta viena iš šių verčių: „tls1“, „tls1.1“ arba „tls1.2“. Nustačius šią politiką „<ph name="PRODUCT_NAME" />“ nenaudos senesnės nei nurodytos versijos SSL / TLS. Neatpažįstamos vertės bus nepaisoma.</translation> <translation id="3417418267404583991">Jei ši politika nustatyta į „true“ (tiesa) arba nesukonfigūruota, „<ph name="PRODUCT_OS_NAME" />“ įgalinami svečių prisijungimai. Svečių prisijungimai – tai anoniminės naudotojų sesijos ir nereikalaujama slaptažodžio. Jei ši politika nustatyta į „false“ (netiesa), „<ph name="PRODUCT_OS_NAME" />“ neleidžiama pradėti svečio sesijų.</translation> @@ -867,6 +866,13 @@ Jei ši politika paliekama nenustatyta, ekrano klaviatūra yra išjungta, bet naudotojas ją gali bet kada įgalinti.</translation> <translation id="382476126209906314">Konfigūruoti nuotolinės prieigos prieglobų „TalkGadget“ (Pokalbių programėlės) kodą</translation> +<translation id="3831376478177535007">Įgalinus šį nustatymą, „<ph name="PRODUCT_NAME" />“ leidžia „Symantec Corporation“ išduotus pasenusių PKI operacijų sertifikatus nustatyti kaip patikimus, jei jie sėkmingai patvirtinami ir susiejami su atpažįstamu CA sertifikatu. + + Atminkite, kad ši politika nustatoma atsižvelgiant į operacinę sistemą, kuri vis dar atpažįsta sertifikatus iš „Symantec“ pasenusios infrastruktūros. Jei atnaujinus OS pakeičiama, kaip OS apdoroja tokius sertifikatus, ši politika nebegalioja. Be to, ši politika teikiama kaip laikina sprendimo priemonė, norint suteikti įmonėms daugiau laiko pereiti nuo pasenusių „Symantec“ sertifikatų. Ši politika bus pašalinta 2019 m. sausio 1 d. arba šiek tiek vėliau / anksčiau. + + Jei ši politika nenustatyta arba nustatyta į „false“, „<ph name="PRODUCT_NAME" />“ vykdys viešai paskelbtą naudojimo nutraukimo tvarkaraštį. + + Daugiau informacijos apie šį naudojimo nutraukimą žr. https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Leidžiama nurodyti, kurios savųjų susirašinėjimo pranešimais programų prieglobos neturėtų būti įtrauktos į juodąjį sąrašą. Juodojo sąrašo vertė * reiškia, kad visos savosios susirašinėjimo pranešimais programos prieglobos yra įtrauktos į juodąjį sąrašą ir bus įkeltos tik savųjų susirašinėjimo pranešimais programų prieglobos, esančios baltajame sąraše. @@ -1027,7 +1033,6 @@ Jei politika nenustatyta, nebus taikoma jokių programų, kurias naudotojas gali įgalinti užrakinimo ekrane, rinkinio apribojimų.</translation> <translation id="4309640770189628899">Ar įgalinti DHE šifruotieji programų komplektai TLS</translation> -<translation id="4320376026953250541">„Microsoft Windows XP“ SP2 arba naujesnė versija</translation> <translation id="4322842393287974810">Leisti automatiškai be delsos paleistai viešojo terminalo programai valdyti „<ph name="PRODUCT_OS_NAME" />“ versiją</translation> <translation id="4325690621216251241">Pridėti atsijungimo mygtuką prie sistemos dėklo</translation> <translation id="4346674324214534449">Leidžiama nustatyti, ar skelbimai turėtų būti blokuojami svetainėse su nepageidaujamais skelbimais.
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb index c4faa7a5..44ce844 100644 --- a/components/policy/resources/policy_templates_lv.xtb +++ b/components/policy/resources/policy_templates_lv.xtb
@@ -546,13 +546,6 @@ Šī politika tiek ievērota tikai tad, ja ir iespējota politika DefaultSearchProviderEnabled.</translation> <translation id="2682225790874070339">Tiek atspējota Diska izmantošana operētājsistēmas <ph name="PRODUCT_OS_NAME" /> lietotnē Faili.</translation> <translation id="268577405881275241">Iespējot datu saspiešanas starpniekservera funkciju</translation> -<translation id="2726613915126661822">Ļauj kontrolēt, vai ir atļauta virtuālu mašīnu darbība ar Chrome OS. - - Ja šai politikai ir iestatīta vērtība “True”, ierīces darbība virtuālās mašīnās ir atļauta. - Ja šai politikai ir iestatīta vērtība “False”, ierīces darbība virtuālās mašīnās nav atļauta. - Ja šīs politikas iestatījums ir mainīts uz “False”, tā attiecas uz darba sākšanu jaunās virtuālās mašīnās, taču neizslēdz jau darbojošās virtuālās mašīnas. - Ja šī politika nav iestatīta pārvaldītā ierīcē, ierīces darbība virtuālās mašīnās nav atļauta. - Nepārvaldītām ierīcēm ir atļauts darboties virtuālās mašīnās.</translation> <translation id="2731627323327011390">Atspējot <ph name="PRODUCT_OS_NAME" /> sertifikātu izmantošanu ARC lietotnēm</translation> <translation id="2742843273354638707">Paslēpt Chrome interneta veikala lietotnes un kājenes saiti Jaunas cilnes lapā un <ph name="PRODUCT_OS_NAME" /> lietotņu palaidējā. @@ -617,6 +610,12 @@ <translation id="2893546967669465276">Sistēmas žurnālu sūtīšana pārvaldības serverim</translation> <translation id="2899002520262095963">Android lietotnes var izmantot tīkla konfigurācijas un CA sertifikātus, kas iestatīti, izmantojot šo politiku, bet lietotnēm nav piekļuves dažām konfigurācijas opcijām.</translation> <translation id="2906874737073861391">AppPack paplašinājumu saraksts</translation> +<translation id="2907992746861405243">Kontrolē, kuri printeri no politikas <ph name="BULK_PRINTERS_POLICY" /> ir pieejami lietotājiem. + + Norāda, kura piekļuves politika tiek izmantota printeru lielapjoma konfigurācijai. Ja ir atlasīta vērtība <ph name="PRINTERS_ALLOW_ALL" />, tiek rādīti visi printeri. Ja ir atlasīta vērtība <ph name="PRINTERS_BLACKLIST" />, tiek izmantota politika <ph name="BULK_PRINTERS_BLACKLIST" />, lai ierobežotu piekļuvi norādītajiem printeriem. Ja ir atlasīta vērtība <ph name="PRINTERS_WHITELIST" />, politika <ph name="BULK_PRINTERS_WHITELIST" /> nosaka piekļuvi tikai tiem printeriem, kurus var atlasīt. + + Ja šī politika nav iestatīta, tiek izmantota vērtība <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maksimālais vienlaikus iespējamais savienojumu skaits ar starpniekserveri</translation> <translation id="2956777931324644324">Kopš <ph name="PRODUCT_NAME" /> versijas 36 izlaišanas šī politika vairs netiek izmantota. @@ -638,9 +637,6 @@ Politikas vērtību nedrīkst norādīt milisekundēs. Ir jānorāda vērtības, kas ir mazākas par aizkavi līdz ekrāna izslēgšanai (ja tāda ir iestatīta) un dīkstāvei vai kas ir vienādas ar to.</translation> <translation id="2987155890997901449">ARC iespējošana</translation> <translation id="2987227569419001736">Web Bluetooth API lietošanas pārvaldība</translation> -<translation id="3001534538097271560">Ja šai politikai ir iestatīta vērtība “False”, lietotājiem tiek liegta iespēja nosūtīt sistēmas informāciju un lapu saturu Google serveriem. Ja šī vērtība ir “True” vai nav konfigurēta, lietotāji varēs nosūtīt sistēmas informāciju un lapu saturu funkcijai Droša pārlūkošana, lai palīdzētu noteikt bīstamas lietotnes un vietnes. - - Plašāku informāciju par funkciju Droša pārlūkošana skatiet vietnē https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Baltajā sarakstā iekļautas piezīmju lietotnes, kas ir atļautas <ph name="PRODUCT_OS_NAME" /> bloķēšanas ekrānā</translation> <translation id="3030000825273123558">Iespējot metrikas ziņošanu</translation> <translation id="3034580675120919256">Ļauj iestatīt, vai vietnēm ir atļauts izpildīt JavaScript. JavaScript izpilde var tikt atļauta visām vietnēm vai noraidīta visām vietnēm. @@ -755,6 +751,9 @@ Ja šī politika tiek izmantota, lietotājam ir pieejami tikai tie printeri, kuru identifikatori atbilst šajā politikā norādītajām vērtībām. Identifikatoriem ir jāatbilst ierakstiem failā, kas norādīts politikā <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Ja šī politika nav konfigurēta, pārlūkā <ph name="PRODUCT_NAME" /> tiek izmantota noklusējuma minimālā versija TLS 1.0. + + Pretējā gadījumā var būt iestatīta kāda no šīm vērtībām: “tls1”, “tls1.1” vai “tls1.2”. Ja politikai ir iestatīta vērtība, pārlūkā <ph name="PRODUCT_NAME" /> netiek izmantotas standarta SSL/TLS versijas, kas vecākas par norādīto versiju. Neatpazītas versijas tiek ignorētas.</translation> <translation id="3417418267404583991">Ja šī politika ir iestatīta uz Patiesa vai nav konfigurēta, produkts <ph name="PRODUCT_OS_NAME" /> iespējo viesu pieteikšanās sesijas. Viesu pieteikšanās sesijas ir anonīmu lietotāju sesijas, un tām nav jāizmanto parole. Ja šī politika ir iestatīta uz Aplama, produkts <ph name="PRODUCT_OS_NAME" /> neļauj sākt viesu sesijas.</translation> @@ -866,6 +865,13 @@ Ja šī politika netiek iestatīta, ekrāna tastatūra sākotnēji tiek atspējota, taču lietotājs jebkurā laikā var to iespējot.</translation> <translation id="382476126209906314">Sīkrīka TalkGadget prefiksa konfigurēšana attālās piekļuves saimniekdatoriem</translation> +<translation id="3831376478177535007">Šim iestatījumam esot iespējotam, pārlūkā <ph name="PRODUCT_NAME" /> ir atļauti sertifikāti, kas izdoti ar Symantec Corporation mantotā PKI darbībām, ja tie ir veiksmīgi apstiprināti un saistīti ar atzītu CA sertifikātu. + + Ņemiet vērā, ka šī politika ir atkarīga no tā, vai operētājsistēma joprojām atzīst Symantec mantotās infrastruktūras sertifikātus. Ja operētājsistēmas atjauninājuma dēļ ir mainīta šādu sertifikātu apstrādes kārtība operētājsistēmā, šī politika vairs nav spēkā. Turklāt šī politika ir paredzēta kā pagaidu risinājums, lai uzņēmumiem būtu vairāk laika pāriet no Symantec mantotās infrastruktūras sertifikātiem. Šī politika tiks noņemta 2019. gada 1. janvārī vai ap to laiku. + + Ja šī politika nav iestatīta vai ir iestatīta vērtība “Nepatiesa”, pārlūkā <ph name="PRODUCT_NAME" /> tiek ievērots publicētais lietošanas pārtraukšanas grafiks. + + Plašāku informāciju par šo lietošanas pārtraukšanu skatiet vietnē https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Norādiet, kuri vietējās ziņojumapmaiņas saimniekdatori nav jāiekļauj melnajā sarakstā. Ja melnā saraksta vērtība ir “*”, visi vietējās ziņojumapmaiņas saimniekdatori ir iekļauti melnajā sarakstā un tiks ielādēti tikai tie vietējās ziņojumapmaiņas saimniekdatori, kas ir iekļauti baltajā sarakstā. @@ -1023,7 +1029,6 @@ Ja politika nav iestatīta, attiecībā uz lietotnēm, kuras lietotājs var iespējot bloķēšanas ekrānā, nav nekādu politikā noteiktu ierobežojumu.</translation> <translation id="4309640770189628899">DHE šifra komplektu iespējošana standartā TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 vai jaunāka versija</translation> <translation id="4322842393287974810">Atļaut kioska lietotnei, kas tiek automātiski palaista ar nulles aizkavi, kontrolēt <ph name="PRODUCT_OS_NAME" /> versiju</translation> <translation id="4325690621216251241">Atteikšanās pogas pievienošana sistēmas teknei</translation> <translation id="4346674324214534449">Ļauj iestatīt, vai bloķēt reklāmu rādīšanu vietnēs, kurās tiek rādītas traucējošas reklāmas. @@ -2472,7 +2477,7 @@ </translation> <translation id="8934944553121392674">Kontrolē, kuri printeri no politikas <ph name="DEVICE_PRINTERS_POLICY" /> ir pieejami lietotājiem. - Norāda, kura piekļuves politika tiek izmantota printeru lielapjoma konfigurācijai. Ja ir atlasīta vērtība <ph name="PRINTERS_ALLOW_ALL" />, tiek rādīti visi printeri. Ja ir atlasīta vērtība <ph name="PRINTERS_BLACKLIST" />, politika <ph name="DEVICE_PRINTERS_BLACKLIST" /> tiek izmantota, lai ierobežotu piekļuvi norādītajiem printeriem. Ja ir atlasīta vērtība <ph name="PRINTERS_WHITELIST" />, politika <ph name="DEVICE_PRINTERS_WHITELIST" /> nosaka piekļuvi tikai tiem printeriem, kurus var atlasīt. + Norāda, kura piekļuves politika tiek izmantota printeru lielapjoma konfigurācijai. Ja ir atlasīta vērtība <ph name="PRINTERS_ALLOW_ALL" />, tiek rādīti visi printeri. Ja ir atlasīta vērtība <ph name="PRINTERS_BLACKLIST" />, tiek izmantota politika <ph name="DEVICE_PRINTERS_BLACKLIST" />, lai ierobežotu piekļuvi norādītajiem printeriem. Ja ir atlasīta vērtība <ph name="PRINTERS_WHITELIST" />, politika <ph name="DEVICE_PRINTERS_WHITELIST" /> nosaka piekļuvi tikai tiem printeriem, kurus var atlasīt. Ja šī politika nav iestatīta, tiek izmantota vērtība <ph name="PRINTERS_ALLOW_ALL" />. </translation>
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb index 7ab22d4..31dfb3b 100644 --- a/components/policy/resources/policy_templates_ml.xtb +++ b/components/policy/resources/policy_templates_ml.xtb
@@ -28,7 +28,7 @@ <translation id="1062011392452772310">ഉപകരണത്തിനായി വിദൂര അറ്റസ്റ്റേഷൻ പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="1062407476771304334">മാറ്റിസ്ഥാപിക്കുക</translation> <translation id="1087437665304381368">ഈ നയം <ph name="PRODUCT_OS_NAME" /> ഡെവലപ്പർ മോഡ് മാത്രമാണ് നിയന്ത്രിക്കുന്നത്. Android ഡെവലപ്പർ ഓപ്ഷനുകളിലേക്കുള്ള ആക്സസ് നിങ്ങൾക്ക് തടയണമെങ്കിൽ, <ph name="DEVELOPER_TOOLS_DISABLED_POLICY_NAME" /> സജ്ജമാക്കേണ്ടതുണ്ട്.</translation> -<translation id="109166998561583554">പാസ്വേഡ് പരിരക്ഷ വഴി അപകടസാധ്യതാ അക്കൗണ്ട് ഫ്ലാഗ് ചെയ്യല് ട്രിഗ്ഗര്</translation> +<translation id="109166998561583554">പാസ്വേഡ് പരിരക്ഷ വഴി അപകടസാധ്യതാ അക്കൗണ്ട് ഫ്ലാഗ് ചെയ്യൽ ട്രിഗ്ഗർ</translation> <translation id="1093082332347834239">ഈ ക്രമീകരണം പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, <ph name="UIACCESS_PERMISSION_NAME" /> അനുമതികൾ ഉള്ള ഒരു പ്രോസസ്സിൽ റിമോട്ട് അസിസ്റ്റൻസ് ഹോസ്റ്റ് റൺ ചെയ്യും. ഇത് പ്രാദേശിക ഉപയോക്താവിന്റെ ഡെസ്ക്ടോപ്പിലെ എലിവേറ്റഡ് വിൻഡോകളുമായി സംവദിക്കാൻ വിദൂര ഉപയോക്താക്കളെ അനുവദിക്കും. ഈ ക്രമീകരണം പ്രവർത്തനരഹിതമാക്കുകയോ കോൺഫിഗർ ചെയ്യാതിരിക്കുകയോ ആണെങ്കിൽ, റിമോട്ട് അസിസ്റ്റൻസ് ഹോസ്റ്റ്, ഉപയോക്താവിന്റെ പശ്ചാത്തലത്തിൽ റൺ ചെയ്യുന്നതിനാൽ ഡെസ്ക്ടോപ്പിലെ എലിവേറ്റഡ് വിൻഡോകളുമായി വിദൂര ഉപയോക്താക്കൾക്ക് സംവദിക്കാൻ കഴിയുകയുമില്ല.</translation> @@ -633,13 +633,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ഫയലുകളുടെ അപ്ലിക്കേഷനിൽ ഡ്രൈവ് പ്രവർത്തനരഹിതമാക്കുന്നു</translation> <translation id="268577405881275241">ഡാറ്റ കംപ്രഷൻ പ്രോക്സി സവിശേഷത പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="2710534340210290498">ഈ നയം 'തെറ്റ്' എന്ന് സജ്ജമാക്കുകയാണെങ്കിൽ, ഉപയോക്താക്കൾക്ക് സ്ക്രീൻ ലോക്കുചെയ്യാൻ കഴിയില്ല (ഉപയോക്തൃ സെഷനിൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യാൻ മാത്രമേ കഴിയൂ). ഈ ക്രമീകരണം 'ശരി' എന്ന് സജ്ജമാക്കുകയോ സജ്ജമാക്കാതെ വിടുകയോ ചെയ്യുകയാണെങ്കിൽ, ഒരു പാസ്വേഡ് ഉപയോഗിച്ച് വിശ്വാസ്യത ഉറപ്പാക്കിയ ഉപയോക്താക്കൾക്കേ സ്ക്രീൻ ലോക്കുചെയ്യാൻ കഴിയൂ.</translation> -<translation id="2726613915126661822">Chrome OS-ൽ വെർച്വൽ മെഷീനുകൾ റൺ ചെയ്യാൻ അനുവദിക്കണോ എന്നത് നിയന്ത്രിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. - - നയം 'ശരി' എന്ന് സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, വെർച്വൽ മെഷീനുകൾ റൺ ചെയ്യാൻ ഉപകരണത്തെ അനുവദിക്കും. - നയം 'തെറ്റ്' എന്ന് സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, വെർച്വൽ മെഷീനുകൾ റൺ ചെയ്യാൻ ഉപകരണത്തെ അനുവദിക്കില്ല. - ഈ നയം 'തെറ്റ്' ആയി മാറ്റുമ്പോൾ, പുതിയ വെർച്വൽ മെഷീനുകൾ ആരംഭിക്കുന്നതിനെ സംബന്ധിച്ചായിരിക്കും ഇത് പ്രായോഗികമാവുക. നേരത്തെ മുതൽ റൺ ചെയ്യുന്ന വെർച്വൽ മെഷീനുകളെ ഇത് ഷട്ട് ഡൗൺ ചെയ്യില്ല. - മാനേജ് ചെയ്യപ്പെട്ട ഉപകരണത്തിൽ ഈ നയം സജ്ജീകരിക്കാത്തപ്പോൾ, വെർച്വൽ മെഷീനുകൾ റൺ ചെയ്യാൻ ഉപകരണത്തെ അനുവദിക്കില്ല. - മാനേജ് ചെയ്യപ്പെടാത്ത ഉപകരണങ്ങളെ വെർച്വൽ മെഷീനുകൾ റൺ ചെയ്യാൻ അനുവദിക്കും.</translation> <translation id="2731627323327011390">ARC-ആപ്സിനുള്ള <ph name="PRODUCT_OS_NAME" /> സർട്ടിഫിക്കറ്റുകളുടെ ഉപയോഗം പ്രവർത്തനരഹിതമാക്കുക</translation> <translation id="2742843273354638707">പുതിയ ടാബ് പേജിൽ നിന്നും <ph name="PRODUCT_OS_NAME" /> അപ്ലിക്കേഷൻ ലോഞ്ചറിൽ നിന്നും Chrome വെബ് സ്റ്റോർ അപ്ലിക്കേഷനും അടിക്കുറിപ്പ് ലിങ്കും മറയ്ക്കുക. @@ -708,6 +701,12 @@ <translation id="2893546967669465276">മാനേജ്മെന്റ് സെർവറിലേക്ക് സിസ്റ്റം ലോഗുകൾ അയയ്ക്കുക</translation> <translation id="2899002520262095963">Android ആപ്സുകൾക്ക്, ഈ നയം വഴി സജ്ജമാക്കിയ നെറ്റ്വർക്ക് കോൺഫിഗറേഷനുകളും CA സർട്ടിഫിക്കറ്റുകളും ഉപയോഗിക്കാനാവുമെങ്കിലും, ചില കോൺഫിഗറേഷൻ ഓപ്ഷനുകളിലേക്ക് ആക്സസ് ഉണ്ടായിരിക്കില്ല.</translation> <translation id="2906874737073861391">AppPack വിപുലീകരണങ്ങളുടെ ലിസ്റ്റ്</translation> +<translation id="2907992746861405243">ഉപയോക്താക്കൾക്ക്, <ph name="BULK_PRINTERS_POLICY" /> നയത്തിൽ നിന്ന് ഏതൊക്കെ പ്രിന്ററുകൾ ലഭ്യമാക്കണമെന്നത് നിയന്ത്രിക്കുന്നു + ബൾക്ക് പ്രിന്റർ കോൺഫിഗറേഷന് ഏത് ആക്സസ്സ് നയം ഉപയോഗിക്കണമെന്നത് നിയോഗിക്കുന്നു. <ph name="PRINTERS_ALLOW_ALL" /> തിരഞ്ഞെടുത്തിട്ടുണ്ടെങ്കിൽ, എല്ലാ പ്രിന്ററുകളും കാണിക്കുന്നു. <ph name="PRINTERS_BLACKLIST" /> തിരഞ്ഞെടുത്തിട്ടുണ്ടെങ്കിൽ, വ്യക്തമാക്കിയിട്ടുള്ള പ്രിന്ററുകളിലേക്കുള്ള ആക്സസ്സ് നിയന്ത്രിക്കാൻ, <ph name="BULK_PRINTERS_BLACKLIST" /> ഉപയോഗിക്കപ്പെടും. <ph name="PRINTERS_WHITELIST" /> ആണ് തിരഞ്ഞെടുത്തതെങ്കിൽ, തിരഞ്ഞെടുക്കാവുന്ന പ്രിന്ററുകൾ മാത്രം <ph name="BULK_PRINTERS_WHITELIST" /> നിർദ്ദേശിക്കും +. + + ഈ നയം സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, <ph name="PRINTERS_ALLOW_ALL" /> അനുമാനിക്കപ്പെടും. + </translation> <translation id="2908277604670530363">പ്രോക്സി സെർവറിനായി ഒരേ സമയമുള്ള പരമാവധി എണ്ണം കണക്ഷനുകൾ</translation> <translation id="2956777931324644324"><ph name="PRODUCT_NAME" /> പതിപ്പ് 36 മുതൽ ഈ നയം റദ്ദാക്കി. @@ -735,9 +734,6 @@ ഈ നയം സജ്ജമാക്കിയിട്ടില്ലെങ്കിൽ കൂടുതൽ വ്യക്തമാക്കിയ നയങ്ങളുടെ പ്രവർത്തനരീതി ബാധിക്കപ്പെടാതെ തുടരുന്നു.</translation> <translation id="2987155890997901449">ARC പ്രവർത്തനക്ഷമമാക്കുക</translation> <translation id="2987227569419001736">വെബ് Bluetooth API ഉപയോഗം നിയന്ത്രിക്കുക</translation> -<translation id="3001534538097271560">ഈ നയം 'തെറ്റ്' എന്ന് സജ്ജമാക്കുന്നത്, ചില സിസ്റ്റം വിവരങ്ങളും പേജ് ഉള്ളടക്കവും Google സെർവറുകളിലേക്ക് അയയ്ക്കാൻ തിരഞ്ഞെടുക്കുന്നതിൽ നിന്ന് ഉപയോക്താക്കളെ തടയും. ഈ ക്രമീകരണം 'ശരി' ആണെങ്കിലോ കോൺഫിഗർ ചെയ്തിട്ടില്ലെങ്കിലോ, അപകടകരമായ ആപ്പുകളും സൈറ്റുകളും കണ്ടെത്താൻ സഹായിക്കുന്നതിന്, 'സുരക്ഷിതമായ ബ്രൗസുചെയ്യൽ' എന്നതിലേക്ക് ചില സിസ്റ്റം വിവരങ്ങളും പേജ് ഉള്ളടക്കവും അയയ്ക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്നതാണ്. - - സുരക്ഷിതമായ ബ്രൗസുചെയ്യലിനെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് https://developers.google.com/safe-browsing കാണുക.</translation> <translation id="3016255526521614822">വൈറ്റ്ലിസ്റ്റ് ചെയ്ത 'കുറിപ്പ്-എടുക്കൽ' ആപ്പുകൾക്ക് <ph name="PRODUCT_OS_NAME" /> ലോക്ക് സ്ക്രീനിൽ അനുവാദമുണ്ട്</translation> <translation id="3030000825273123558">അളവുകൾ റിപ്പോർട്ടുചെയ്യൽ പ്രാപ്തമാക്കുക</translation> <translation id="3034580675120919256">വെബ്സൈറ്റുകളെ JavaScript പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കണമോ എന്ന് സജ്ജീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. പ്രവർത്തിക്കുന്ന JavaScript എല്ലാ വെബ്സൈറ്റുകൾക്കും അനുവദിച്ചിട്ടുള്ളതോ നിരസിച്ചിട്ടുള്ളതോ ആയിരിക്കാം. @@ -858,6 +854,9 @@ ഈ നയം ഉപയോഗിക്കുകയാണെങ്കിൽ, ഈ നയത്തിലെ മൂല്യങ്ങളുമായി പൊരുത്തപ്പെടുന്ന ഐഡികളുള്ള പ്രിന്ററുകൾ മാത്രം ഉപയോക്താവിന് ലഭ്യമാകുന്നു. <ph name="DEVICE_PRINTERS_POLICY" />-ൽ വ്യക്തമാക്കിയിട്ടുള്ള ഫയലിലെ എൻട്രികളുമായി ഐഡികൾ പൊരുത്തമുള്ളതായിരിക്കണം. </translation> +<translation id="3414260318408232239">ഈ നയം കോൺഫിഗർ ചെയ്തിട്ടില്ലെങ്കിൽ <ph name="PRODUCT_NAME" /> ഏറ്റവും പഴയ ഡിഫോൾട്ട് പതിപ്പായ TLS 1.0. ഉപയോഗിക്കുന്നു. + + അല്ലെങ്കിൽ ഇത് ഇനിപ്പറയുന്ന മൂല്യങ്ങളിൽ ഒന്നിലേക്ക് സജ്ജീകരിക്കപ്പെട്ടേക്കാം: "tls1", "tls1.1" അല്ലെങ്കിൽ "tls1.2". സജ്ജീകരിച്ച ശേഷം, <ph name="PRODUCT_NAME" /> നിർദ്ദിഷ്ടമാക്കിയ പതിപ്പിന് മുമ്പുള്ള SSL/TLS പതിപ്പുകൾ ഉപയോഗിക്കില്ല. തിരിച്ചറിയാനാവാത്ത മൂല്യം അവഗണിക്കപ്പെടും.</translation> <translation id="3417418267404583991">ഈ നയം ട്രൂ എന്നായി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലോ കോൺഫിഗർ ചെയ്തിട്ടില്ലെങ്കിലോ, <ph name="PRODUCT_OS_NAME" /> അതിഥി ലോഗിനുകളെ പ്രാപ്തമാക്കും. അതിഥി ലോഗിനുകൾ അജ്ഞാത ഉപയോക്തൃ സെഷനുകളാണ്, അവയ്ക്ക് ഒരു പാസ്വേഡ് ആവശ്യമില്ല. ഈ നയം ഫാൾസ് എന്നായി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, അതിഥി സെഷനുകളെ ആരംഭിക്കാൻ <ph name="PRODUCT_OS_NAME" /> അനുവദിക്കില്ല.</translation> @@ -996,6 +995,13 @@ ഈ നയം സജ്ജീകരിക്കാതെ വിടുകയാണെങ്കിൽ, പ്രാരംഭത്തിൽ ഓൺ-സ്ക്രീൻ കീബോർഡ് പ്രവർത്തനരഹിതമാകുമെങ്കിലും ഉപയോക്താവിന് ഏതുസമയത്തും അത് പ്രവർത്തനക്ഷമമാക്കാനാകും.</translation> <translation id="382476126209906314">വിദൂര ആക്സസ്സ് ഹോസ്റ്റുകൾക്കായി TalkGadget പ്രിഫിക്സ് കോൺഫിഗർ ചെയ്യുക</translation> +<translation id="3831376478177535007">ഈ ക്രമീകരണം പ്രവർത്തനക്ഷമമായിരിക്കുമ്പോൾ, അംഗീകൃത CA സർട്ടിഫിക്കറ്റ് സാധൂകരിക്കുകയും ബന്ധിപ്പിക്കുകയും ചെയ്യുകയാണെങ്കിൽ, Symantec Corporation-ന്റെ Legacy PKI പ്രവർത്തനങ്ങൾ നൽകിയ സർട്ടിഫിക്കറ്റുകൾ <ph name="PRODUCT_NAME" /> അനുവദിക്കും + + ഈ നയം, Symantec-ന്റെ ലെഗസി ഇൻഫ്രാസ്ട്രക്ചറിൽ നിന്നുള്ള സർട്ടിഫിക്കറ്റുകൾ ഇപ്പോഴും അംഗീകരിക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ ആശ്രയിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക. ഒരു OS അപ്ഡേറ്റ്, ഇത്തരം സർട്ടിഫിക്കറ്റുകളുടെ OS ഹാൻഡിലിംഗ് മാറ്റുന്നെങ്കിൽ, ഈ നയത്തിന് പിന്നെ പ്രാബല്യമുണ്ടാകില്ല. കൂടുതലായി, ലെഗസി Symantec സർട്ടിഫിക്കറ്റുകളിൽ നിന്നുള്ള പരിവർത്തനത്തിന്, എന്റർപ്രൈസുകൾക്ക് കൂടുതൽ സമയം നൽകാൻ ഉദ്ദേശിച്ചുള്ള ഒരു താൽക്കാലിക പരിഹാരമാർഗ്ഗം കൂടിയാണ് ഈ നയം. 2019 ജനുവരി 1-നോ അടുത്ത മറ്റൊരു ദിവസമോ ഈ നയം നീക്കം ചെയ്യപ്പെടും. + + ഈ നയം സജ്ജീകരിക്കാതിരിക്കുകയോ തെറ്റാണെന്ന് സജ്ജീകരിക്കുകയോ ചെയ്താൽ, എല്ലാവർക്കുമായി അറിയിച്ച അവസാനിപ്പിക്കൽ ഷെഡ്യൂൾ <ph name="PRODUCT_NAME" /> പാലിക്കും. + + ഈ അവസാനിപ്പിക്കലിനെ കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾക്ക് https://g.co/chrome/symantecpkicerts കാണുക.</translation> <translation id="383466854578875212">ഏതൊക്കെ നേറ്റീവ് സന്ദേശമയയ്ക്കൽ ഹോസ്റ്റുകളാണ് ബ്ലാക്ക്ലിസ്റ്റിന് വിധേയമല്ലാത്തവയെന്ന് വ്യക്തമാക്കുന്നതിന് നിങ്ങളെ അനുവദിക്കുന്നു. * എന്ന ബ്ലാക്ക്ലിസ്റ്റ് മൂല്യം, എല്ലാ നേറ്റീവ് സന്ദേശമയയ്ക്കൽ ഹോസ്റ്റുകളും ബ്ലാക്ക്ലിസ്റ്റുചെയ്തുവെന്നും വൈറ്റ്ലിസ്റ്റിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന നേറ്റീവ് സന്ദേശമയയ്ക്കൽ ഹോസ്റ്റുകൾ മാത്രമേ ലോഡുചെയ്യുകയുള്ളൂ എന്നുമാണ് അർത്ഥമാക്കുന്നത്. @@ -1195,7 +1201,6 @@ നയം സജ്ജമാക്കാതെ വിടുകയാണെങ്കിൽ, നയം നടപ്പിലാക്കിയിട്ടുള്ള ലോക്ക് സ്ക്രീനിൽ ഉപയോക്താവിന് പ്രവർത്തനക്ഷമമാക്കാൻ കഴിയുന്ന ആപ്പ് ഗണവുമായി ബന്ധപ്പെട്ട് നിയന്ത്രണങ്ങളൊന്നും ഉണ്ടായിരിക്കുകയില്ല.</translation> <translation id="4309640770189628899">TLS-ൽ RC4 സൈഫർ സ്യൂട്ടുകൾ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നെങ്കിൽ</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 അല്ലെങ്കില് അതിനുശേഷമുള്ളത്</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> പതിപ്പ് നിയന്ത്രിക്കാൻ, കാലതാമസമില്ലാതെ കിയോസ്ക് അപ്ലിക്കേഷൻ സ്വയം സമാരംഭിക്കുന്നതിന് അനുവദിക്കുക.</translation> <translation id="4325690621216251241">സിസ്റ്റം ട്രേയിൽ ഒരു ലോഗ്ഔട്ട് ബട്ടൺ ചേർക്കുക</translation> <translation id="4346674324214534449">തടസ്സമുണ്ടാക്കുന്ന പരസ്യങ്ങളുള്ള സൈറ്റുകളിൽ പരസ്യം ബ്ലോക്ക് ചെയ്യണോ എന്ന് സജ്ജമാക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb index d052bf4..596ad2e 100644 --- a/components/policy/resources/policy_templates_mr.xtb +++ b/components/policy/resources/policy_templates_mr.xtb
@@ -272,7 +272,7 @@ नवीन डिव्हाइसेस "यूएस/पॅसिफिक" वर सेट केलेल्या टाइमझोनसह प्रारंभ होतात. - मूल्यांचे स्वरूपन "IANA टाईम झोन डेटाबेस" मधील टाईमझोनच्या नावांचे अनुसरण करते ( "https://en.wikipedia.org/wiki/Tz_database" पहा). विशेषत:, बहुतांश टाईमझोनचा "खंड/मोठा_शहर" किंवा "महासागर/मोठा_शहर" द्वारे संदर्भ घेतला जाऊ शकतो. + मूल्यांचे स्वरूपन "IANA टाईम झोन डेटाबेस" मधील टाईमझोनच्या नावांचे फॉलो करते ( "https://en.wikipedia.org/wiki/Tz_database" पहा). विशेषत:, बहुतांश टाईमझोनचा "खंड/मोठा_शहर" किंवा "महासागर/मोठा_शहर" द्वारे संदर्भ घेतला जाऊ शकतो. हे धोरण सेट केल्यामुळे डिव्हाइस स्थानाने निराकरण केलेला स्वयंचलित टाइमझोन पूर्णपणे अक्षम होतो. ते SystemTimezoneAutomaticDetection धोरण अधिशून्य देखील करते.</translation> <translation id="1897365952389968758">सर्व साइटना JavaScript चालविण्याची परवानगी द्या</translation> @@ -505,7 +505,7 @@ <ph name="CLOUD_PRINT_NAME" /> शी कनेक्ट केलेल्या प्रिंटरचा <ph name="PRINTER_TYPE_CLOUD" /> म्हणून विचार केला जातो, उर्वरित प्रिंटरचे <ph name="PRINTER_TYPE_LOCAL" /> म्हणून वर्गीकरण केले जाते. फील्ड वगळणे अर्थात सर्व मूल्ये जुळतात असा होय, उदाहरणार्थ, कनेक्टिव्हिटी निर्दिष्ट न करण्यामुळे प्रिंट पूर्वावलोकनास सर्व प्रकारचे प्रिंटर, स्थानिक आणि क्लाउडचा शोध आरंभ करावा लागेल. - रेग्युलर एक्स्प्रेशन नमुन्यांनी JavaScript RegExp मांडणीचे अनुसरण करणे आवश्यक आहे आणि जुळण्या प्रकरण संवेदी असतात.</translation> + रेग्युलर एक्स्प्रेशन नमुन्यांनी JavaScript RegExp मांडणीचे फॉलो करणे आवश्यक आहे आणि जुळण्या प्रकरण संवेदी असतात.</translation> <translation id="2426782419955104525"><ph name="PRODUCT_NAME" />चे झटपट वैशिष्ट्य सक्षम करते आणि वापरकर्त्यांना ही सेटिंग बदलण्यापासून प्रतिबंध करते. आपण ही सेटिंग सक्षम केल्यास, <ph name="PRODUCT_NAME" /> झटपट सक्षम होते. @@ -609,13 +609,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> फायली अॅप मध्ये ड्राइव्ह अक्षम करते</translation> <translation id="268577405881275241">डेटा संक्षेप प्रॉक्सी वैशिष्ट्य सक्षम करा</translation> <translation id="2710534340210290498">ही सेटिंग असत्य वर सेट केली असल्यास, वापरकर्ते स्क्रीन लॉक करू शकणार नाहीत (केवळ वापरकर्ता सत्रातून साइनिंग आउट केल्यावर शक्य होईल). ही सेटिंग सत्य वर सेट केली असल्यास, जे वापरकर्ते पासवर्डद्वारे प्रमाणित आहेत ते स्क्रीन लॉक करू शकतील.</translation> -<translation id="2726613915126661822">आभासी मशीनना Chrome OS वर रन होण्याची अनुमती आहे की, नाही हे नियंत्रित करण्याची तुम्हाला अनुमती देते. - - हे धोरण सत्य वर सेट केल्यास, आभासी मशीन रन करण्याची डिव्हाइस अनुमती देते. - हे धोरण असत्य वर सेट केल्यास, आभासी मशीन रन करण्याची डिव्हाइस अनुमती देत नाही. - हे धोरण असत्य वर सेट केल्यावर, ते नवीन आभासी मशीन सुरू करण्यास लागू होते पण आभासी मशीन या आधीपासून चालत असलेल्या आभासी मशीन बंद करत नाहीत. - हे धोरण व्यवस्थापित डिव्हाइसवर सेट केलेले नसताना, डिव्हाइसला आभासी मशीन रन करण्याची अनुमती असणार नाही. - अव्यवस्थापित डिव्हाइसना आभासी मशीन रन करण्याची अनुमती आहे.</translation> <translation id="2731627323327011390">ARC-अॅप्स वर <ph name="PRODUCT_OS_NAME" /> प्रमाणपत्रांचा वापर अक्षम करा</translation> <translation id="2742843273354638707">नवीन टॅब पृष्ठावरील आणि <ph name="PRODUCT_OS_NAME" /> अॅप लाँचरवरील Chrome वेब स्टोअर अॅप आणि फूटर दुवा लपवा. @@ -683,6 +676,13 @@ <translation id="2893546967669465276">व्यवस्थापन सर्व्हरकडे सिस्टम लॉग पाठवा</translation> <translation id="2899002520262095963">Android अॅप्स या धोरणाद्वारे नेटवर्क कॉन्फिगरेशन आणि CA प्रमाणपत्र संचाचा वापर करू शकतात परंतु काही कॉन्फिगरेशन पर्यायांमध्ये त्यांना प्रवेश नसतो.</translation> <translation id="2906874737073861391">AppPack विस्तारांची सूची</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" /> मधील कोणते प्रिंटर वापरकर्त्यांसाठी उपलब्ध आहेत, ते नियंत्रित करते. + + मोठ्या प्रमाणात प्रिंटर कॉंफिगरेशनसाठी कोणते अॅक्सेस धोरण वापरले जावे हे नियुक्त करते. + <ph name="PRINTERS_ALLOW_ALL" /> निवडले असल्यास, सर्व प्रिंटर दाखवले जातात. <ph name="PRINTERS_BLACKLIST" /> निवडले असल्यास, निर्दिष्ट केलेल्या प्रिंटरचा अॅक्सेस मर्यादित करण्यासाठी <ph name="BULK_PRINTERS_BLACKLIST" /> वापरले जाते. <ph name="PRINTERS_WHITELIST" /> निवडले असल्यास, <ph name="BULK_PRINTERS_WHITELIST" /> फक्त निवडता येऊ शकणारे प्रिंटर नियुक्त करते. + + हे धोरण सेट केले नसल्यास, <ph name="PRINTERS_ALLOW_ALL" /> गृहित धरले जाते. + </translation> <translation id="2908277604670530363">प्रॉक्सी सर्व्हरच्या सहकालिक कनेक्शनची अधिकतम संख्या</translation> <translation id="2956777931324644324">हे धोरण <ph name="PRODUCT_NAME" /> आवृत्ती 36 प्रमाणे निवृत्त केले गेले आहे. @@ -710,9 +710,6 @@ हे धोरण सेट केले नसताना, अधिक विशिष्ट धोरणांच्या वर्तनावर कोणताही प्रभाव पडत नाही.</translation> <translation id="2987155890997901449">ARC सक्षम करा</translation> <translation id="2987227569419001736">Web Bluetooth API चा वापर नियंत्रित करा</translation> -<translation id="3001534538097271560">हे धोरण असत्यवर सेट केल्याने वापरकर्त्यांना काही सिस्टम माहिती आणि पेज आशय Google सर्व्हरकडे पाठवणे निवडण्यापासून थांबवते. हे सेटिंग सत्य असल्यास किंवा कॉन्फिगर केले नसल्यास, धोकादायक अॅप्स आणि साइट शोधण्यात मदत करण्यासाठी वापरकर्त्यांना काही सिस्टम माहिती आणि पेज सामग्री सुरक्षित ब्राउझिंगवर पाठवण्याची अनुमती दिली जाईल. - - सुरक्षित ब्राउझिंगवर अधिक माहितीसाठी https://developers.google.com/safe-browsing पहा.</translation> <translation id="3016255526521614822">Whitelist हे टिपा लिहिण्याचे अॅप्स <ph name="PRODUCT_OS_NAME" /> च्या लॉक स्क्रीनवर चालते</translation> <translation id="3030000825273123558">मेट्रिक्स अहवाल सक्षम करा</translation> <translation id="3034580675120919256">वेबसाइटना JavaScript चालवण्याची अनुमती आहे की नाही ते सेट करण्याची आपल्याला अनुमती देते. JavaScript चालवण्याची सर्व वेबसाइटना अनुमती देण्यात येईल किंवा सर्व वेबसाइटसाठी नाकारता येईल. @@ -839,6 +836,9 @@ हे धोरण वापरले गेल्यास, केवळ या धोरणातील मुल्यांशी जुळणारे आयडी असलेले प्रिंटर वापरकर्त्याला उपलब्ध होतात. आयडी <ph name="DEVICE_PRINTERS_POLICY" /> मध्ये निर्दिष्ट केलेल्या प्रविष्ट्यांच्या अनुरूप असणे आवश्यक आहे. </translation> +<translation id="3414260318408232239">हे धोरण कॉंफिगर केले नसल्यास <ph name="PRODUCT_NAME" /> एक किमान आवृत्ती म्हणजेच TLS 1.0 वापरते. + + नाहीतर, ते खालीलपैकी एखाद्या मूल्यावर सेट केलेले असू शकेल: "tls1", "tls1.1" किंवा "tls1.2". सेट केलेले असल्यावर, <ph name="PRODUCT_NAME" /> हे SSL/TLS च्या दिलेल्या आवृत्त्यांपेक्षा कमी आवृत्ती वापरणार नाही. ओळख न झालेल्या मूल्याकडे दुर्लक्ष केले जाईल.</translation> <translation id="3417418267404583991">हे धोरण खरे वर सेट केल्यास किंवा कॉन्फिगर केल्यास, <ph name="PRODUCT_OS_NAME" /> अतिथी लॉगिन सक्षम करेल. अतिथी लॉगिन ही अनामित वापरकर्ता सत्रे असून त्यासाठी संकेतशब्दाची आवश्यकता नसते. हे धोरण चुकीचे वर सेट केल्यास, <ph name="PRODUCT_OS_NAME" /> अतिथी सत्रे प्रारंभ करण्यास अनुमती देणार नाही.</translation> <translation id="3418871497193485241">YouTube वर किमान प्रतिबंधित मोडची अंमलबजावणी करते आणि वापरकर्त्यांना @@ -978,6 +978,14 @@ हे धोरण सेट न करता सोडल्यास, ऑन-स्क्रीन कीबोर्ड सुरुवातीस अक्षम असेल परंतु कोणत्याही वेळी वापरकर्त्याद्वारे सक्षम केला जाऊ शकतो.</translation> <translation id="382476126209906314">दूरस्थ प्रवेश होस्टसाठी TalkGadget उपसर्ग कॉन्फिगर करा</translation> +<translation id="3831376478177535007">ही सेटिंग सुरू केल्यावर, यशस्वीरीत्या पडताळणी केली असल्यास आणि स्वीकृत CA सर्टिफिकेट असल्यास, <ph name="PRODUCT_NAME" /> हे Symantec Corporation च्या लेगसी PKI ऑपरेशनने जारी केलेल्या सर्टिफिकेटांवर विश्वास ठेवण्याची अनुमती देते. + + अजूनही Symantec च्या लेगसी इंफ्रास्ट्रक्चरचे स्वीकृत सर्टिफिकेट असलेल्या ऑपरेटिंग सिस्टमवर हे धोरण अवलंबून आहे, हे लक्षात ठेवा. OS अपडेट अशा सर्टिफिकेटांचे OS हाताळणी बदलत असल्यास, या धोरणावर आता कोणताही परिणाम होणार नाही. पुढे, एंटरप्राइझला लेगसी Symantec सर्टिफिकेटांमधून संक्रमणाला अधिक वेळ देण्यासाठी तात्पुरते वर्कअराउंड देणे हा या धोरणाचा उद्देश आहे. १ जानेवारी २०१९ ला किंवा त्याच्या आसपास हे धोरण काढले जाईल. + + हे धोरण सेट केले नसल्यास किंवा असत्यवर सेट केले असल्यास, सार्वजनिकपणे घोषणा केलेल्या कालबाह्य शेड्युल <ph name="PRODUCT_NAME" /> फॉलो करते. + + + या कालबाह्यतेविषयीच्या अधिक तपशीलांसाठी https://g.co/chrome/symantecpkicerts पहा.</translation> <translation id="383466854578875212">कोणते मूळ संदेशन होस्ट काळ्यासूचीच्या अधीन नाहीत हे निर्दिष्ट करण्याची आपल्याला अनुमती देते. * चे काळीसूची मूल्य म्हणजे सर्व मूळ संदेशन होस्ट काळ्यासूचीमध्ये आहेत आणि केवळ श्वेतसूचीमध्ये सूचीबद्ध असलेले मूळ संदेशन होस्ट लोड केले जातील. @@ -1176,7 +1184,6 @@ धोरण सेट न केलेले असल्यास अॅप्सच्या संचावर धोरणाने लागू केलेल्या बंधनांपैकी कोणतीही बंधने वापरकर्ता लॉकस्क्रीनवरून चालू करू शकत नाही.</translation> <translation id="4309640770189628899">TLS मधील DHE सायफर संच सक्षम आहेत किंवा नाहीत</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 किंवा त्यानंतरची</translation> <translation id="4322842393287974810">विलंब न होणाऱ्या कियोस्क अॅपसह स्वयं लाँच केलेली <ph name="PRODUCT_OS_NAME" /> आवृत्ती नियंत्रित करण्याची अनुमती द्या</translation> <translation id="4325690621216251241">सिस्टम ट्रेवर लॉगआउट बटण जोडा</translation> <translation id="4346674324214534449">तुम्ही अनाहूत जाहिराती असलेल्या साइटवरील जाहिराती ब्लॉक कराव्यात की नाही ते सेट करू देते. @@ -2303,7 +2310,7 @@ SAML_INTERSTITIAL वर सेट केले असल्यास, वापरकर्त्यास डिव्हाइसच्या नोंदणी डोमेनच्या SAML IdP द्वारे प्रमाणीकरणासह पुढे नेणारी किंवा सामान्य GAIA लॉग इन प्रवाहावर परत नेणारी एक खंडित स्क्रीन लॉग इन दर्शवेल.</translation> <translation id="757395965347379751">हे सेटिंग सक्षम केले असते तेव्हा, SHA-1 स्वाक्षरीकृत प्रमाणपत्रे जोपर्यंत स्थानिकरित्या इंस्टॉल-केलेल्या CA प्रमाणपत्रांना यशस्वीरित्या प्रमाणित आणि श्रृंखलाबद्ध करतात तोपर्यंत त्यांना <ph name="PRODUCT_NAME" /> अनुमती देते. लक्षात ठेवा हे धोरण SHA-1 स्वाक्षर्यांना अनुमती देणार्या ऑपरेटिंग प्रणाली प्रमाणपत्र पडताळणी स्टॅकवर अलंबून असते. OS अपडेट SHA-1 प्रमाणपत्रांची OS हाताळणी बदलत असल्यास, हे धोरण यापुढे प्रभावी असणार नाही. तसेच, संस्थांना SHA-1 वरून हलविण्यासाठी आणखी वेळ देण्याकरिता तात्पुरती उपाययोजना असावी हा या धोरणाचा हेतू आहे. 1 जानेवारी 2019 रोजी किंवा त्याच्या आसपास हे धोरण काढले जाईल. - हे धोरण सेट न केल्यास किंवा ते असत्यावर सेट केले असल्यास, <ph name="PRODUCT_NAME" /> सार्वजनिकरीत्या घोषित केलेल्या SHA-1 नापसंत केलेल्या अनुसूचीचे अनुसरण करते.</translation> + हे धोरण सेट न केल्यास किंवा ते असत्यावर सेट केले असल्यास, <ph name="PRODUCT_NAME" /> सार्वजनिकरीत्या घोषित केलेल्या SHA-1 नापसंत केलेल्या अनुसूचीचे फॉलो करते.</translation> <translation id="7593523670408385997">डिस्कवर कॅश केलेल्या फायली संचयन करण्यासाठी <ph name="PRODUCT_NAME" /> वापर करेल त्या कॅश आकारास कॉन्फिगर करते. आपण हे धोरण सेट केल्यास, वापरकर्त्याने '--disk-cache-size' ध्वजांकन निर्दिष्ट केले आहे किंवा नाही त्याचा विचार न करता <ph name="PRODUCT_NAME" /> प्रदान केलेला कॅश आकार वापरेल. या धोरणात निर्दिष्ट केलेले मूल्य हे काटेकोर नसून त्याऐवजी कॅश सिस्टीमला एक सूचना आहे, थोड्या मेगाबाइट्सखालील कोणतेही मूल्य खूप लहान आहे आणि किमान चालू शकणार्या मूल्यावर पूर्ण केले जाईल. @@ -2767,9 +2774,10 @@ या धोरणाचा वापरकर्ते वैयक्तिक डिव्हाइसवर प्रिंटर कॉन्फिगर करू शकतात किंवा नाही यावर परिणाम होत नाही. वैयक्तिक वापरकर्त्यांद्वारे प्रिंटरच्या कॉन्फिगरेशनला पुरवणी म्हणून ते उद्देशित आहे. </translation> -<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" /> मधून कोणते प्रिंटर वापरकर्त्यांना उपलब्ध आहेत हे नियंत्रित करते. +<translation id="8934944553121392674"><ph name="DEVICE_PRINTERS_POLICY" /> मधून कोणते प्रिंटर वापरकर्त्यांसाठी उपलब्ध आहेत, ते नियंत्रित करते. - मोठ्या प्रमाणात प्रिंटर कॉन्फिगरेशनसाठी कोणते अॅक्सेस धोरण वापरले जावे हे नियुक्त करते. <ph name="PRINTERS_ALLOW_ALL" /> निवडले असल्यास, सर्व प्रिंटर दाखवले जातात. <ph name="PRINTERS_BLACKLIST" /> निवडले असल्यास, निर्दिष्ट केलेल्या प्रिंटरचा अॅक्सेस मर्यादित करण्यासाठी, <ph name="DEVICE_PRINTERS_BLACKLIST" /> वापरले जाते. <ph name="PRINTERS_WHITELIST" /> निवडले असल्यास, <ph name="DEVICE_PRINTERS_WHITELIST" /> फक्त निवडता येऊ शकणारे प्रिंटर नियुक्त करते. + मोठ्या प्रमाणात प्रिंटर कॉंफिगरेशनसाठी कोणते अॅक्सेस धोरण वापरले जावे हे नियुक्त करते. + <ph name="PRINTERS_ALLOW_ALL" /> निवडले असल्यास, सर्व प्रिंटर दाखवले जातात. <ph name="PRINTERS_BLACKLIST" /> निवडले असल्यास, निर्दिष्ट केलेल्या प्रिंटरचा अॅक्सेस मर्यादित करण्यासाठी <ph name="DEVICE_PRINTERS_BLACKLIST" /> वापरले जाते. <ph name="PRINTERS_WHITELIST" /> निवडले असल्यास, <ph name="DEVICE_PRINTERS_WHITELIST" /> फक्त निवडता येऊ शकणारे प्रिंटर नियुक्त करते. हे धोरण सेट केले नसल्यास, <ph name="PRINTERS_ALLOW_ALL" /> गृहित धरले जाते. </translation>
diff --git a/components/policy/resources/policy_templates_ms.xtb b/components/policy/resources/policy_templates_ms.xtb index db388cd..b711ca52 100644 --- a/components/policy/resources/policy_templates_ms.xtb +++ b/components/policy/resources/policy_templates_ms.xtb
@@ -543,13 +543,6 @@ Dasar ini hanya dihormati jika dasar 'DefaultSearchProviderEnabled' didayakan.</translation> <translation id="2682225790874070339">Melumpuhkan Drive dalam apl Fail <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Dayakan ciri proksi pemampatan data</translation> -<translation id="2726613915126661822">Membolehkan anda mengawal sama ada mesin maya dibenarkan untuk dijalankan pada OS Chrome. - - Jika dasar ditetapkan kepada Benar, peranti dibenarkan untuk menjalankan mesin maya. - Jika dasar ditetapkan kepada Palsu, peranti tidak akan dibenarkan untuk menjalankan mesin maya. - Apabila dasar ini ditukar kepada Palsu, dasar ini diguna pakai pada mesin maya baharu tetapi tidak mematikan mesin maya yang sudah dijalankan. - Apabila dasar ini tidak ditetapkan pada peranti terurus, peranti tidak akan dibenarkan untuk menjalankan mesin maya. - Peranti yang tidak diurus dibenarkan untuk menjalankan mesin maya.</translation> <translation id="2731627323327011390">Lumpuhkan penggunaan sijil <ph name="PRODUCT_OS_NAME" /> pada apl ARC</translation> <translation id="2742843273354638707">Sembunyikan apl Gedung Web Chrome dan pautan pembawah daripada Halaman Tab Baharu dan pelancar apl <ph name="PRODUCT_OS_NAME" />. @@ -641,9 +634,6 @@ Nilai dasar ini harus ditetapkan dalam milisaat. Nilai diapit supaya kurang daripada atau sama dengan kelewatan pemadaman skrin (jika ditetapkan) dan kelewatan melahu.</translation> <translation id="2987155890997901449">Dayakan ARC</translation> <translation id="2987227569419001736">Kawal penggunaan API Bluetooth Web</translation> -<translation id="3001534538097271560">Penetapan dasar ini kepada palsu akan menghentikan pengguna daripada memilih untuk menghantar beberapa maklumat sistem dan kandungan halaman kepada pelayan Google. Jika tetapan ini benar atau tidak dikonfigurasikan, maka pengguna akan dibenarkan menghantar beberapa maklumat sistem dan kandungan halaman kepada Penyemakan Imbas Selamat untuk mengesan apl dan tapak yang berbahaya. - - Lihat https://developers.google.com/safe-browsing untuk mendapatkan maklumat tentang Penyemakan Imbas Selamat.</translation> <translation id="3016255526521614822">Apl pencatatan nota senarai putih dibenarkan pada skrin kunci <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Dayakan laporan metrik</translation> <translation id="3034580675120919256">Membolehkan anda menetapkan sama ada laman web dibenarkan untuk menjalankan JavaScript. Menjalankan JavaScript boleh dibenarkan untuk semua tapak web atau dinafikan untuk semua tapak web. @@ -873,7 +863,7 @@ Jika dasar ini dibiarkan tidak ditetapkan, papan kekunci pada skrin dilumpuhkan pada mulanya tetapi boleh didayakan oleh pengguna pada bila-bila masa.</translation> <translation id="382476126209906314">Konfigurasi awalan TalkGadget untuk hos akses jauh</translation> -<translation id="3831376478177535007">Apabila tetapan ini didayakan, <ph name="PRODUCT_NAME" /> membenarkan sijil yang dikeluarkan oleh operasi PKI lama Symantec Corporation untuk dipercayai jika sijil ini berjaya disahkan dan dikaitkan dengan sijil CA yang dicam. +<translation id="3831376478177535007">Apabila tetapan ini didayakan, <ph name="PRODUCT_NAME" /> membenarkan sijil yang dikeluarkan oleh operasi PKI Lama Symantec Corporation untuk dipercayai jika sijil ini berjaya disahkan dan dikaitkan dengan sijil CA yang dicam. Sila ambil perhatian bahawa dasar ini bergantung pada sistem pengendalian untuk terus mengecam sijil daripada infrastruktur lama Symantec. Jika kemas kini OS mengubah cara pengendalian OS terhadap sijil tersebut, dasar ini tidak berkuat kuasa lagi. Selain itu, dasar ini bertujuan digunakan sebagai penyelesaian sementara bagi memberikan pihak syarikat lebih masa untuk beralih daripada sijil Symantec lama. Dasar ini akan dialih keluar pada atau kira-kira 1 Januari 2019. @@ -1040,7 +1030,6 @@ Jika dasar dibiarkan tanpa ditetapkan, tiada sekatan pada set apl yang boleh didayakan oleh pengguna pada skrin kunci yang dikenakan oleh dasar.</translation> <translation id="4309640770189628899">Sama ada suit sifer DHE dalam TLS didayakan</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 atau lebih baharu</translation> <translation id="4322842393287974810">Benarkan apl kios kelewatan sifar yang dilancarkan secara automatik untuk mengawal versi <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Tambahkan butang log keluar pada dulang sistem</translation> <translation id="4346674324214534449">Membenarkan anda menetapkan sama ada iklan harus disekat pada tapak yang mengandungi iklan yang mengganggu.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb index 4134a6b3..437470a 100644 --- a/components/policy/resources/policy_templates_nl.xtb +++ b/components/policy/resources/policy_templates_nl.xtb
@@ -541,13 +541,6 @@ Dit beleid wordt alleen gerespecteerd als het beleid 'DefaultSearchProviderEnabled' is ingeschakeld.</translation> <translation id="2682225790874070339">Schakelt Drive uit in de app Bestanden van <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">De proxyfunctie voor het comprimeren van gegevens inschakelen</translation> -<translation id="2726613915126661822">Hiermee kun je aangeven of virtuele machines al dan niet mogen worden uitgevoerd op Chrome OS. - - Als het beleid is ingesteld op True (Waar), mogen virtuele machines worden uitgevoerd op het apparaat. - Als het beleid is ingesteld op False (Onwaar), mogen er geen virtuele machines worden uitgevoerd op het apparaat. - Als dit beleid wordt gewijzigd naar False (Onwaar), wordt dit toegepast op nieuwe virtuele machines, maar worden reeds uitgevoerde virtuele machines niet uitgeschakeld. - Als dit beleid niet is ingesteld op een beheerd apparaat, mogen er geen virtuele machines worden uitgevoerd op het apparaat. - Virtuele machines mogen worden uitgevoerd op onbeheerde apparaten.</translation> <translation id="2731627323327011390">Gebruik van certificaten van <ph name="PRODUCT_OS_NAME" /> voor ARC-apps uitschakelen</translation> <translation id="2742843273354638707">De app en voettekstlink voor de Chrome Web Store verbergen op de pagina 'Nieuw tabblad' en in de App Launcher van <ph name="PRODUCT_OS_NAME" />. @@ -612,6 +605,12 @@ <translation id="2893546967669465276">Systeemlogboeken naar de beheerserver verzenden</translation> <translation id="2899002520262095963">Android-apps kunnen de netwerkconfiguraties en CA-certificaten gebruiken die via dit beleid zijn ingesteld, maar hebben geen toegang tot bepaalde configuratieopties.</translation> <translation id="2906874737073861391">Lijst met app-pakketextensies</translation> +<translation id="2907992746861405243">Hiermee wordt beheerd welke printers uit <ph name="BULK_PRINTERS_POLICY" /> beschikbaar zijn voor gebruikers. + + Hiermee wordt aangegeven welk toegangsbeleid wordt gebruikt voor bulksgewijze printerconfiguratie. Als <ph name="PRINTERS_ALLOW_ALL" /> is geselecteerd, worden alle printers weergegeven. Als <ph name="PRINTERS_BLACKLIST" /> is geselecteerd, wordt <ph name="BULK_PRINTERS_BLACKLIST" /> gebruikt om de toegang tot de opgegeven printers te beperken. Als <ph name="PRINTERS_WHITELIST" /> is geselecteerd, geeft <ph name="BULK_PRINTERS_WHITELIST" /> alleen die printers aan die kunnen worden geselecteerd. + + Als dit beleid niet is ingesteld, wordt er uitgegaan van <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maximaal aantal gelijktijdige verbindingen met de proxyserver</translation> <translation id="2956777931324644324">Dit beleid is buiten gebruik gesteld vanaf <ph name="PRODUCT_NAME" /> versie 36. @@ -633,9 +632,6 @@ De beleidswaarde moet worden opgegeven in milliseconden. Waarden moeten lager zijn dan of gelijk zijn aan de vertraging van scherm uitschakelen (indien ingesteld) en de inactieve vertraging.</translation> <translation id="2987155890997901449">ARC inschakelen</translation> <translation id="2987227569419001736">Gebruik van de Web Bluetooth API beheren</translation> -<translation id="3001534538097271560">Als dit beleid wordt ingesteld op false (onwaar), kunnen gebruikers geen systeeminformatie en paginacontent meer naar Google-servers verzenden. Als deze instelling wordt ingesteld op true (waar) of niet wordt geconfigureerd, kunnen gebruikers bepaalde systeeminformatie en paginacontent naar Safe Browsing verzenden om te helpen bij de detectie van gevaarlijke apps en sites - - Zie https://developers.google.com/safe-browsing voor meer informatie over Safe Browsing.</translation> <translation id="3016255526521614822">Notitie-apps die zijn toegestaan op het <ph name="PRODUCT_OS_NAME" />-vergrendelingsscherm toevoegen aan de witte lijst</translation> <translation id="3030000825273123558">Rapportage van statistieken inschakelen</translation> <translation id="3034580675120919256">Hiermee kun je instellen of JavaScript op websites mag worden uitgevoerd. Het uitvoeren van JavaScript kan voor alle websites worden toegestaan of voor alle websites worden geweigerd. @@ -750,6 +746,9 @@ Als dit beleid wordt gebruikt, zijn alleen de printers met ID's die overeenkomen met de waarden in dit beleid, beschikbaar voor de gebruiker. De ID's moeten overeenkomen met de vermeldingen in het bestand dat is opgegeven in <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Als dit beleid niet is geconfigureerd, gebruikt <ph name="PRODUCT_NAME" /> een standaard minimum versie, oftewel TLS 1.0. + + In andere gevallen kan een van de volgende waarden worden ingesteld: 'tls1', 'tls1.1' of 'tls1.2'. Wanneer dit beleid is ingesteld, gebruikt <ph name="PRODUCT_NAME" /> geen lagere SSL-/TLS-versies dan de gespecificeerde versie. Als er een waarde wordt ingesteld die niet wordt herkend, wordt deze genegeerd.</translation> <translation id="3417418267404583991">Als dit beleid is ingesteld op 'true' of niet is geconfigureerd, staat <ph name="PRODUCT_OS_NAME" /> gasten toe zich aan te melden. Gastensessies zijn anonieme sessies waar geen wachtwoord voor hoeft te worden ingevoerd. Als dit beleid is ingesteld op 'false', staat <ph name="PRODUCT_OS_NAME" /> niet toe dat er gastensessies worden gestart.</translation> @@ -863,6 +862,13 @@ Als dit beleid niet is ingesteld, wordt het schermtoetsenbord aanvankelijk uitgeschakeld, maar kan dit door gebruikers op elk moment worden ingeschakeld.</translation> <translation id="382476126209906314">Het voorvoegsel voor het TalkGadget configureren voor hosts voor externe toegang</translation> +<translation id="3831376478177535007">Wanneer deze instelling is ingeschakeld, staat <ph name="PRODUCT_NAME" /> toe dat certificaten die zijn uitgegeven via de verouderde PKI-bewerkingen van Symantec Corporation worden vertrouwd als deze correct worden gevalideerd en zijn gekoppeld aan een herkend CA-certificaat. + + Houd er rekening mee dat dit beleid afhankelijk is van het feit of de certificaten van de verouderde infrastructuur van Symantec nog door het besturingssysteem worden herkend. Als door een update van het besturingssysteem de verwerking van dergelijke certificaten door het besturingssysteem verandert, is dit beleid niet meer van toepassing. Daarnaast is dit beleid bedoeld als tijdelijke oplossing om bedrijven meer tijd te geven om af te stappen van de verouderde Symantec-certificaten. Dit beleid wordt op of rond 1 januari 2019 verwijderd. + + Als dit beleid niet is ingesteld of is ingesteld op 'false' (onwaar), volgt <ph name="PRODUCT_NAME" /> het openbaar aangekondigde beëindigingschema. + + Zie https://g.co/chrome/symantecpkicerts voor meer informatie over deze beëindiging.</translation> <translation id="383466854578875212">Hiermee kun je opgeven op welke hosts voor systeemeigen berichten de zwarte lijst niet van toepassing is. Een waarde van * voor de zwarte lijst betekent dat alle hosts voor systeemeigen berichten op de zwarte lijst staan en dat alleen hosts voor systeemeigen berichten die op de witte lijst worden vermeld, worden geladen. @@ -1022,7 +1028,6 @@ Als het beleid niet wordt ingesteld, gelden er geen beperkingen voor de reeks apps die de gebruiker kan inschakelen op het vergrendelingsscherm.</translation> <translation id="4309640770189628899">Of DHE-coderingssuites in TLS zijn ingeschakeld</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 of hoger</translation> <translation id="4322842393287974810">Toestaan dat de kiosk-app die automatisch zonder vertraging is gestart, de <ph name="PRODUCT_OS_NAME" />-versie beheert</translation> <translation id="4325690621216251241">Een afmeldknop toevoegen aan de systeembalk</translation> <translation id="4346674324214534449">Hiermee kun je instellen of advertenties moeten worden voorkomen op sites met opdringerige advertenties. @@ -1038,7 +1043,7 @@ Elk Google-account op het apparaat wordt vergeleken met in dit beleid opgeslagen patronen om de zichtbaarheid van het account in <ph name="PRODUCT_NAME" /> vast te stellen. Het account is zichtbaar als de naam overeenkomt met een patroon in de lijst. Als dit niet het geval is, wordt het account verborgen. - Gebruik het jokerteken '*' om overeenkomsten met nul of willekeurige tekens te zoeken. Het escapeteken is '\'. Als je dus overeenkomsten met de tekens '*' of '\' wilt zoeken, zet je hier een '\' voor. + Gebruik het jokerteken '*' om overeenkomsten met nul of meer willekeurige tekens te zoeken. Het escapeteken is '\'. Als je dus overeenkomsten met de tekens '*' of '\' wilt zoeken, zet je hier een '\' voor. Als dit beleid niet is ingesteld, zijn alle Google-accounts op het apparaat zichtbaar in <ph name="PRODUCT_NAME" />.</translation> <translation id="436581050240847513">Apparaatnetwerkinterface rapporteren</translation> @@ -2451,11 +2456,11 @@ Dit beleid is niet van invloed op de mogelijkheid van gebruikers om printers op afzonderlijke apparaten te configureren. Het is bedoeld als aanvulling op de configuratie van printers door individuele gebruikers. </translation> -<translation id="8934944553121392674">Hiermee wordt beheerd welke printers uit het <ph name="DEVICE_PRINTERS_POLICY" /> beschikbaar zijn voor gebruikers. +<translation id="8934944553121392674">Hiermee wordt beheerd welke printers uit <ph name="DEVICE_PRINTERS_POLICY" /> beschikbaar zijn voor gebruikers. - Hiermee wordt aangegeven welk toegangsbeleid wordt gebruikt voor bulksgewijze printerconfiguratie. Als <ph name="PRINTERS_ALLOW_ALL" /> is geselecteerd, worden alle printers weergegeven. Als <ph name="PRINTERS_BLACKLIST" /> is geselecteerd, wordt <ph name="DEVICE_PRINTERS_BLACKLIST" /> gebruikt om de toegang tot de opgegeven printers te beperken. Als <ph name="PRINTERS_WHITELIST" /> is geselecteerd, geeft <ph name="DEVICE_PRINTERS_WHITELIST" /> alleen de printers aan die kunnen worden geselecteerd. + Hiermee wordt aangegeven welk toegangsbeleid wordt gebruikt voor bulksgewijze printerconfiguratie. Als <ph name="PRINTERS_ALLOW_ALL" /> is geselecteerd, worden alle printers weergegeven. Als <ph name="PRINTERS_BLACKLIST" /> is geselecteerd, wordt <ph name="DEVICE_PRINTERS_BLACKLIST" /> gebruikt om de toegang tot de opgegeven printers te beperken. Als <ph name="PRINTERS_WHITELIST" /> is geselecteerd, geeft <ph name="DEVICE_PRINTERS_WHITELIST" /> alleen die printers aan die kunnen worden geselecteerd. - Als dit beleid niet is ingesteld, wordt uitgegaan van <ph name="PRINTERS_ALLOW_ALL" />. + Als dit beleid niet is ingesteld, wordt er uitgegaan van <ph name="PRINTERS_ALLOW_ALL" />. </translation> <translation id="8947415621777543415">Apparaatlocatie rapporteren</translation> <translation id="8951350807133946005">Directory voor schijfcache instellen</translation>
diff --git a/components/policy/resources/policy_templates_no.xtb b/components/policy/resources/policy_templates_no.xtb index 741286c..5284cfc 100644 --- a/components/policy/resources/policy_templates_no.xtb +++ b/components/policy/resources/policy_templates_no.xtb
@@ -533,13 +533,6 @@ Denne retningslinjen tas til etterretning bare hvis retningslinjen DefaultSearchProviderEnabled er aktivert.</translation> <translation id="2682225790874070339">Deaktiverer Google Disk i Filer-appen for <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Aktiver proxy-tjenerfunksjonen for datakomprimering</translation> -<translation id="2726613915126661822">Lar deg styre om virtuelle maskiner kan kjøre i Chrome OS. - - Hvis regelen er angitt som True (sann), kan enheten kjøre virtuelle maskiner. - Hvis regelen er angitt som False (usann), kan ikke enheten kjøre virtuelle maskiner. - Når denne regelen endres til False (usann), gjelder det for nye virtuelle maskiner. Virtuelle maskiner som allerede kjører, blir imidlertid ikke slått av. - Når denne regelen ikke er angitt på en administrert enhet, kan ikke enheten kjøre virtuelle maskiner. - Ikke-administrerte enheter kan ikke kjøre virtuelle maskiner.</translation> <translation id="2731627323327011390">Slå av bruken av <ph name="PRODUCT_OS_NAME" />-sertifikater for ARC-apper</translation> <translation id="2742843273354638707">Skjul Chrome Nettmarked-appen og linken fra ny fane-siden og <ph name="PRODUCT_OS_NAME" /> OS-appvelgeren. @@ -604,6 +597,12 @@ <translation id="2893546967669465276">Send systemlogger til administrasjonstjeneren</translation> <translation id="2899002520262095963">Android-apper kan bruke nettverkskonfigurasjoner og CA-sertifikater som angis via denne regelen, men de har ikke tilgang til alle konfigurasjonsalternativene.</translation> <translation id="2906874737073861391">Liste over AppPack-utvidelser</translation> +<translation id="2907992746861405243">Styrer hvilke av skriverne fra <ph name="BULK_PRINTERS_POLICY" /> som er tilgjengelige for brukerne. + + Angir hvilken tilgangsregel som brukes til å konfigurere flere skrivere om gangen. Hvis <ph name="PRINTERS_ALLOW_ALL" /> er valgt, vises alle skriverne. Hvis <ph name="PRINTERS_BLACKLIST" /> er valgt, brukes <ph name="BULK_PRINTERS_BLACKLIST" /> til å begrense tilgangen til de angitte skriverne. Hvis <ph name="PRINTERS_WHITELIST" /> er valgt, angir <ph name="BULK_PRINTERS_WHITELIST" /> bare hvilke skrivere som kan velges. + + Hvis regelen ikke er angitt, brukes <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maksimalt antall samtidige tilkoblinger til proxytjeneren</translation> <translation id="2956777931324644324">Denne innstillingen har ikke vært tilgjengelig siden <ph name="PRODUCT_NAME" />-versjon 36. @@ -625,9 +624,6 @@ Innstillingsverdien må spesifiseres i millisekunder. Verdien er låst til å være lavere enn eller samsvarende med forsinkelsen for å slå av skjermen (hvis den er konfigurert) og inaktivitetsforsinkelsen.</translation> <translation id="2987155890997901449">Slå på ARC</translation> <translation id="2987227569419001736">Kontrollér bruken av Web Bluetooth API</translation> -<translation id="3001534538097271560">Hvis denne regelen settes til «false» (usann), kan ikke brukerne velge å sende enkelte typer systeminformasjon og sideinnhold til Google-tjenere. Hvis denne regelen settes til «true» (sann) eller ikke konfigureres, kan brukerne sende enkelte typer systeminformasjon og sideinnhold til Safe Browsing for å bidra til å oppdage farlige apper og nettsteder. - - Gå til https://developers.google.com/safe-browsing for å få mer informasjon om Safe Browsing.</translation> <translation id="3016255526521614822">Godkjenn notatapper for å tillate dem på låseskjermen for <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Aktiver rapportering av beregninger</translation> <translation id="3034580675120919256">Gjør at du kan angi om nettsteder får kjøre JavaScript. Kjøring av JavaScript kan tillates for alle nettsteder, eller nektes for alle nettsteder. @@ -731,6 +727,9 @@ Hvis denne regelen brukes, blir bare skriverne med ID-er som samsvarer med verdiene i denne regelen, tilgjengelige for brukeren. ID-ene må samsvare med oppføringene i filen spesifisert i <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Hvis denne regelen ikke er konfigurert, bruker <ph name="PRODUCT_NAME" /> en standard minimumsversjon, som er TLS 1.0. + + Ellers kan den angis som en av de følgende verdiene: «tls1», «tls1.1» eller «tls1.2». Når den er angitt, bruker ikke <ph name="PRODUCT_NAME" /> lavere SSL/TLS-versjoner enn den angitte versjonen. Ukjente verdier blir ignorert.</translation> <translation id="3417418267404583991">Hvis denne retningslinjen er angitt som Sann eller ikke er konfigurert, aktiverer <ph name="PRODUCT_OS_NAME" /> gjestepålogging. Gjestepålogginger er anonyme brukerøkter og krever ikke passord. Hvis denne retningslinjen er angitt som Usann, tillater ikke <ph name="PRODUCT_OS_NAME" /> at gjesteøkter startes.</translation> @@ -840,6 +839,13 @@ Hvis denne innstillingen ikke angis, blir skjermtastaturet i utgangspunktet slått av, men kan slås på av brukeren når som helst.</translation> <translation id="382476126209906314">Konfigurer TalkGadget-prefikset for verter med ekstern adgang</translation> +<translation id="3831376478177535007">Når denne innstillingen er aktivert, tillater <ph name="PRODUCT_NAME" /> at sertifikater utstedt av Symantec Corporations eldre PKI-operasjoner kan brukes hvis de ellers godkjennes og er koblet til et gjenkjent CA-sertifikat. + + Merk at denne regelen avhenger av at operativsystemet fremdeles gjenkjenner sertifikater fra Symantecs eldre infrastruktur. Hvis en oppdatering av operativsystemet endrer operativsystemets håndtering av slike sertifikater, gjelder ikke denne regelen lenger. Videre er denne regelen ment som en midlertidig løsning for å gi selskaper mer tid på å gå bort fra eldre Symantec-sertifikater. Denne regelen fjernes på eller rundt 1. januar 2019. + + Hvis denne regelen ikke er angitt, eller hvis den er angitt som usann, følger <ph name="PRODUCT_NAME" /> den offentlig kunngjorte tidsplanen for avvikling. + + Du finner mer informasjon om denne avviklingen på https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Lar deg spesifisere hvilke innebygde meldingsverter som ikke er underlagt svartelisten. Svartelisteverdien * betyr at alle innebygde meldingsverter er svartelistet, og bare de innebygde meldingsvertene som er registrert som godkjente, blir lastet inn. @@ -999,7 +1005,6 @@ Hvis regelen ikke angis, innfører den ikke noen begrensinger for hvilke apper brukeren kan aktivere på låseskjermen.</translation> <translation id="4309640770189628899">Definerer om DHE-chifferserier i TLS er slått på</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 eller nyere</translation> <translation id="4322842393287974810">La den automatisk startede kioskappen uten forsinkelse kontrollere <ph name="PRODUCT_OS_NAME" />-versjonen</translation> <translation id="4325690621216251241">Legg til en avloggingsknapp for systemstatusfeltet</translation> <translation id="4346674324214534449">Lar deg angi om annonser skal blokkeres på nettsteder med forstyrrende annonser.
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb index c81ff64..820b130 100644 --- a/components/policy/resources/policy_templates_pl.xtb +++ b/components/policy/resources/policy_templates_pl.xtb
@@ -518,13 +518,6 @@ <translation id="267596348720209223">Pozwala określić kodowania znaków obsługiwane przez dostawcę wyszukiwania. Kodowania są określane za pomocą nazw stron kodowych, np. UTF-8, GB2312 czy ISO-8859-1. Są stosowane w podanej kolejności. Ta zasada jest opcjonalna. Jeśli nie zostanie skonfigurowana, będzie używana wartość domyślna, czyli UTF-8. Zasada ta jest stosowana tylko przy włączonej zasadzie „DefaultSearchProviderEnabled”.</translation> <translation id="2682225790874070339">Wyłącz Dysk w aplikacji Pliki w <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Włącz serwer proxy kompresowania danych</translation> -<translation id="2726613915126661822">Umożliwia określenie, czy w Chrome OS można uruchamiać maszyny wirtualne. - - Wybranie opcji prawda powoduje, że na urządzeniu można uruchamiać maszyny wirtualne. - Wybranie opcji fałsz powoduje, że na urządzeniu nie można uruchamiać maszyn wirtualnych. - Po zmianie na fałsz nie będzie można uruchomić nowych maszyn wirtualnych, ale uruchomione wcześniej nie zostaną wyłączone. - Gdy ta zasada jest nieskonfigurowana na urządzeniu zarządzanym, nie można na nim uruchamiać maszyn wirtualnych. - Na urządzeniach niezarządzanych można uruchamiać maszyny wirtualne.</translation> <translation id="2731627323327011390">Wyłącz korzystanie z certyfikatów <ph name="PRODUCT_OS_NAME" /> w aplikacjach ARC</translation> <translation id="2742843273354638707">Ukrywa aplikację Chrome Web Store i link w stopce na stronie Nowa karta oraz w menu z aplikacjami <ph name="PRODUCT_OS_NAME" />. @@ -589,6 +582,12 @@ <translation id="2893546967669465276">Wysyłaj dzienniki systemowe na serwer zarządzania</translation> <translation id="2899002520262095963">Aplikacje na Androida mogą używać konfiguracji sieci i certyfikatów CA ustawianych przez tę zasadę, ale nie mają dostępu do niektórych opcji konfiguracji.</translation> <translation id="2906874737073861391">Lista rozszerzeń z pakietu aplikacji</translation> +<translation id="2907992746861405243">Steruje tym, które drukarki określone w zasadzie <ph name="BULK_PRINTERS_POLICY" /> są dostępne dla użytkowników. + + Wskazuje zasadę dostępu, która jest używana do zbiorczego skonfigurowania drukarek. Jeśli wybrano opcję <ph name="PRINTERS_ALLOW_ALL" />, pokazywane są wszystkie drukarki. Jeśli wybrano opcję <ph name="PRINTERS_BLACKLIST" />, zasada <ph name="BULK_PRINTERS_BLACKLIST" /> jest używana do ograniczania dostępu do określonych drukarek. Jeśli wybrano opcję <ph name="PRINTERS_WHITELIST" />, zasada <ph name="BULK_PRINTERS_WHITELIST" /> wskazuje tylko te drukarki, które można wybrać. + + Jeśli ta zasada nie została skonfigurowana, domyślnie stosowana jest opcja <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Maksymalna liczba jednoczesnych połączeń z serwerem proxy</translation> <translation id="2956777931324644324">Ta zasada została wycofana w wersji 36 <ph name="PRODUCT_NAME" />. @@ -610,9 +609,6 @@ Wartość tej zasady powinna być określona w milisekundach. Wartości nie mogą być większe niż opóźnienie wyłączenia ekranu (jeśli jest ustawione) i opóźnienie bezczynności.</translation> <translation id="2987155890997901449">Włączenie ARC</translation> <translation id="2987227569419001736">Kontrolowanie użycia interfejsu API Web Bluetooth</translation> -<translation id="3001534538097271560">Wyłączenie tej zasady uniemożliwi użytkownikom wysyłanie na serwery Google pewnych informacji o systemie i zawartości stron. Jeśli włączysz tę zasadę lub jej nie skonfigurujesz, użytkownicy będą mogli wysyłać te dane do funkcji Bezpieczne przeglądanie, by pomóc w wykrywaniu niebezpiecznych aplikacji i stron. - - Więcej informacji o Bezpiecznym przeglądaniu znajdziesz na stronie https://developers.google.com/safe-browsing</translation> <translation id="3016255526521614822">Aplikacje do robienia notatek dodane do białej listy, które są dozwolone na ekranie blokady w: <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Włącz raportowanie danych</translation> <translation id="3034580675120919256">Umożliwia określenie, czy w witrynach może być wykonywany kod JavaScript. Wykonanie kodu JavaScript może być dozwolone lub zabronione we wszystkich witrynach. W przypadku nieskonfigurowania tej zasady będzie używane ustawienie „AllowJavaScript”, a użytkownik będzie mógł je zmienić.</translation> @@ -718,6 +714,9 @@ Jeśli ta zasada jest używana, użytkownik ma dostęp tylko do drukarek, których identyfikatory pasują do wartości w niej ustawionych. Identyfikatory muszą być zgodne z pozycjami w pliku określonym w zasadzie <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Jeśli ta zasada nie jest skonfigurowana, <ph name="PRODUCT_NAME" /> korzysta z domyślnej najniższej wersji TLS, czyli 1.0. + + W przeciwnym razie zasada może mieć jedną z tych wartości: „tls1”, „tls1.1” lub „tls1.2”. Po jej ustawieniu <ph name="PRODUCT_NAME" /> nie używa wersji SSL/TLS niższych niż określona. Nierozpoznana wartość jest ignorowana.</translation> <translation id="3417418267404583991">Jeśli ta zasada zostanie włączona lub nie będzie skonfigurowana, <ph name="PRODUCT_OS_NAME" /> będzie umożliwiał logowanie się w trybie gościa. Logowania w trybie gościa to anonimowe sesje użytkownika, które nie wymagają hasła. W przypadku wyłączenia tej zasady <ph name="PRODUCT_OS_NAME" /> nie będzie zezwalać na uruchamianie sesji gościa.</translation> @@ -823,6 +822,13 @@ Jeśli nie skonfigurujesz tej zasady, początkowo klawiatura ekranowa będzie wyłączona, ale użytkownik w każdej chwili będzie mógł ją włączyć.</translation> <translation id="382476126209906314">Skonfiguruj przedrostek gadżetu TalkGadget dla hostów zdalnego dostępu</translation> +<translation id="3831376478177535007">Gdy to ustawienie jest włączone, <ph name="PRODUCT_NAME" /> akceptuje certyfikaty ze starszej infrastruktury klucza publicznego Symantec Corporation, jeśli zostanie potwierdzona ich poprawność i zostaną łańcuchowo powiązane z rozpoznawanym certyfikatem CA. + + Uwaga: ta zasada zależy od tego, czy system operacyjny wciąż rozpoznaje certyfikaty ze starszej infrastruktury Symantec. Jeśli w systemie operacyjnym wskutek aktualizacji zmieni się sposób obsługi takich certyfikatów, ta zasada przestanie działać. Została ona pomyślana jako rozwiązanie tymczasowe, dzięki któremu firmy mają więcej czasu na rezygnację ze starszych certyfikatów Symantec. Ta zasada zostanie usunięta około 1 stycznia 2019 r. + + Jeśli ta zasada jest wyłączona lub nie została skonfigurowana, <ph name="PRODUCT_NAME" /> przestrzega opublikowanego harmonogramu wycofywania certyfikatów Symantec. + + Więcej informacji na temat wycofywania tych certyfikatów znajdziesz na https://g.co/chrome/symantecpkicerts</translation> <translation id="383466854578875212">Pozwala określić, które hosty wiadomości natywnych nie podlegają umieszczeniu na czarnej liście. Wartość * na czarnej liście oznacza, że wszystkie hosty wiadomości natywnych są umieszczane na czarnej liście i wczytywane będą tylko hosty z białej listy. @@ -978,7 +984,6 @@ Jeśli ta zasada nie zostanie skonfigurowana, nie będzie ograniczeń dotyczących aplikacji, które użytkownik może włączyć na ekranie blokady.</translation> <translation id="4309640770189628899">Czy włączone są mechanizmy szyfrowania DHE w TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP z dodatkiem SP2 lub nowszy</translation> <translation id="4322842393287974810">Zezwalaj aplikacji kiosku uruchamianej automatycznie z zerowym opóźnieniem na kontrolowanie wersji <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Dodaj przycisk wylogowania do paska zadań</translation> <translation id="4346674324214534449">Umożliwia ustawienie blokowania reklam na stronach zawierających uciążliwe reklamy. @@ -2327,9 +2332,9 @@ </translation> <translation id="8934944553121392674">Steruje tym, które drukarki określone w zasadzie <ph name="DEVICE_PRINTERS_POLICY" /> są dostępne dla użytkowników. - Wskazuje zasadę dostępu, która jest używana do zbiorczego skonfigurowania drukarek. Jeśli wybrano opcję <ph name="PRINTERS_ALLOW_ALL" />, pokazywane są wszystkie drukarki. Jeśli wybrano opcję <ph name="PRINTERS_BLACKLIST" />, zasada <ph name="DEVICE_PRINTERS_BLACKLIST" /> jest używana do ograniczania dostępu do określonych drukarek. Jeśli wybrano ustawienie <ph name="PRINTERS_WHITELIST" />, zasada <ph name="DEVICE_PRINTERS_WHITELIST" /> wskazuje tylko te drukarki, które można wybrać. + Wskazuje zasadę dostępu, która jest używana do zbiorczego skonfigurowania drukarek. Jeśli wybrano opcję <ph name="PRINTERS_ALLOW_ALL" />, pokazywane są wszystkie drukarki. Jeśli wybrano opcję <ph name="PRINTERS_BLACKLIST" />, zasada <ph name="DEVICE_PRINTERS_BLACKLIST" /> jest używana do ograniczania dostępu do określonych drukarek. Jeśli wybrano opcję <ph name="PRINTERS_WHITELIST" />, zasada <ph name="DEVICE_PRINTERS_WHITELIST" /> wskazuje tylko te drukarki, które można wybrać. - Jeśli ta zasada nie jest ustawiona, domyślnie stosowana jest opcja <ph name="PRINTERS_ALLOW_ALL" />. + Jeśli ta zasada nie została skonfigurowana, domyślnie stosowana jest opcja <ph name="PRINTERS_ALLOW_ALL" />. </translation> <translation id="8947415621777543415">Zgłoś lokalizację urządzenia</translation> <translation id="8951350807133946005">Ustaw katalog podręcznej pamięci dyskowej</translation>
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb index 82c2ed30d..f0ff01d 100644 --- a/components/policy/resources/policy_templates_pt-BR.xtb +++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -514,13 +514,6 @@ <translation id="267596348720209223">Especifica a codificação de caracteres suportados pelo mecanismo de pesquisa. Codificações são nomes de código da página como UTF-8, GB2312 e ISO-8859-1. Eles são testados na ordem fornecida. Esta política é opcional. Se não for definida, será utilizado o padrão, UTF-8. Esta política só é respeitada se a política "DefaultSearchProviderEnabled" estiver ativada.</translation> <translation id="2682225790874070339">Desativa o Google Drive no aplicativo Arquivos do <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Ativar o recurso de proxy de compactação de dados</translation> -<translation id="2726613915126661822">Permite controlar se máquinas virtuais podem ser executadas no Chrome OS. - - Se a política for definida como verdadeira, o dispositivo poderá executar máquinas virtuais. - Se a política for definida como falsa, o dispositivo não poderá executar máquinas virtuais. - Quando esta política é alterada para falsa, ela é aplicada à inicialização de novas máquinas virtuais, mas não ao encerramento das máquinas virtuais que já estejam em execução. - Quando esta política não é definida em um dispositivo gerenciado, o dispositivo não pode executar máquinas virtuais. - Dispositivos não gerenciados podem executar máquinas virtuais.</translation> <translation id="2731627323327011390">Desativar o uso de certificados do <ph name="PRODUCT_OS_NAME" /> para apps Arc</translation> <translation id="2742843273354638707">Oculta o link do aplicativo e do rodapé da Chrome Web Store na página "Nova guia" e no iniciador de aplicativos do <ph name="PRODUCT_OS_NAME" />. @@ -587,7 +580,7 @@ <translation id="2906874737073861391">Lista de extensões AppPack</translation> <translation id="2907992746861405243">Controla quais impressoras da <ph name="BULK_PRINTERS_POLICY" /> estão disponíveis para o usuário. - Designa qual política de acesso é usada na configuração de impressoras em massa. Se a opção <ph name="PRINTERS_ALLOW_ALL" /> for selecionada, todas as impressoras serão exibidas. Se a opção <ph name="PRINTERS_BLACKLIST" /> for selecionada, <ph name="BULK_PRINTERS_BLACKLIST" /> será utilizada para restringir o acesso às impressoras especificadas. Se a opção <ph name="PRINTERS_WHITELIST" /> for selecionada, <ph name="BULK_PRINTERS_WHITELIST" /> designará apenas as impressoras que puderem ser selecionadas. + Determina qual política de acesso é usada na configuração de impressoras em massa. Se a opção <ph name="PRINTERS_ALLOW_ALL" /> for selecionada, todas as impressoras serão exibidas. Se a opção <ph name="PRINTERS_BLACKLIST" /> for selecionada, <ph name="BULK_PRINTERS_BLACKLIST" /> será utilizada para restringir o acesso às impressoras especificadas. Se a opção <ph name="PRINTERS_WHITELIST" /> for selecionada, <ph name="BULK_PRINTERS_WHITELIST" /> designará apenas as impressoras que puderem ser selecionadas. Se esta política não for definida, a opção <ph name="PRINTERS_ALLOW_ALL" /> será adotada. </translation> @@ -612,9 +605,6 @@ O valor da política deve ser especificado em milissegundos. Os valores são fixos de modo a serem inferiores ou iguais ao intervalo de desligamento da tela (se definido) e ao intervalo de inatividade.</translation> <translation id="2987155890997901449">Ativar ARC</translation> <translation id="2987227569419001736">Controla o uso da API Web Bluetooth</translation> -<translation id="3001534538097271560">A configuração desta política como False impede que os usuários optem por enviar informações do sistema e conteúdo de páginas aos servidores do Google. Se essa configuração for definida como True ou não for configurada, os usuários terão permissão para enviar informações do sistema e conteúdo de página ao recurso "Navegação segura" para ajudar a detectar apps e sites perigosos. - - Consulte https://developers.google.com/safe-browsing (em inglês) para ver mais informações sobre o recurso "Navegação segura".</translation> <translation id="3016255526521614822">Colocar na lista de permissões os apps de anotação permitidos na tela de bloqueio do <ph name="PRODUCT_OS_NAME" />.</translation> <translation id="3030000825273123558">Ativa relatórios de métricas</translation> <translation id="3034580675120919256">Permite que você defina se os websites estão autorizados a executar JavaScript. O JavaScript em execução pode ser permitido ou negado para todos os websites. Se esta política for deixada sem definição, a política "AllowJavaScript" será utilizada, podendo ser modificada pelo usuário.</translation> @@ -994,7 +984,6 @@ Se a política for deixada sem definição, não haverá restrições impostas por ela no conjunto de apps que o usuário pode ativar na tela de bloqueio.</translation> <translation id="4309640770189628899">Se os pacotes de criptografia DHE em TLS estão ativados ou não</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ou posterior</translation> <translation id="4322842393287974810">Permitir que o aplicativo de quiosque aberto automaticamente com zero de atraso controle a versão do <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Adicionar um botão de logout à bandeja do sistema</translation> <translation id="4346674324214534449">Permite que você determine se os anúncios devem ser bloqueados em sites com anúncios invasivos.
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb index d45fb55..f628c52 100644 --- a/components/policy/resources/policy_templates_pt-PT.xtb +++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -527,13 +527,6 @@ <translation id="267596348720209223">Especifica as codificações de caracteres suportadas pelo fornecedor de pesquisas. As codificações são nomes de páginas de códigos, como UTF-8, GB2312 e ISO-8859-1, e são selecionadas por esta ordem. Esta política é opcional. Se não for definida, a codificação predefinida será UTF-8. Esta política aplica-se apenas se a política "DefaultSearchProviderEnabled" estiver ativada.</translation> <translation id="2682225790874070339">Desativa o Google Drive na aplicação Ficheiros do <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Ativar a funcionalidade proxy de compressão de dados</translation> -<translation id="2726613915126661822">Permite-lhe controlar se as máquinas virtuais têm autorização para serem executadas no Chrome OS. - - Se a política estiver definida como verdadeira, o dispositivo tem autorização para executar máquinas virtuais. - Se a política estiver definida como falsa, o dispositivo não tem autorização para executar máquinas virtuais. - Quando esta política é alterada para falsa, aplica-se à inicialização de novas máquinas virtuais e não desativa as que já se encontram em execução. - Quando esta política não está definida num dispositivo gerido, este não tem autorização para executar máquinas virtuais. - Os dispositivos não geridos têm autorização para executar máquinas virtuais.</translation> <translation id="2731627323327011390">Desativar a utilização de certificados do <ph name="PRODUCT_OS_NAME" /> em aplicações ARC</translation> <translation id="2742843273354638707">Oculta a aplicação da Web Store do Chrome e o link do rodapé da página Novo separador e do iniciador de aplicações do <ph name="PRODUCT_OS_NAME" />. @@ -624,9 +617,6 @@ O valor da política deve ser especificado em milissegundos. Os valores devem ser inferiores ou iguais ao atraso para desligar o ecrã (se estiver definido) e ao atraso de inatividade.</translation> <translation id="2987155890997901449">Ativar ARC</translation> <translation id="2987227569419001736">Controlar a utilização da API Web Bluetooth</translation> -<translation id="3001534538097271560">Definir esta política como falsa impede os utilizadores de optarem por enviar informações do sistema e conteúdo de páginas para os servidores da Google. Caso esta definição seja verdadeira ou não esteja configurada, os utilizadores podem enviar informações do sistema e conteúdo de páginas para a Navegação segura, de modo a ajudar a detetar aplicações e sites perigosos. - - Veja https://developers.google.com/safe-browsing para mais informações sobre a Navegação segura.</translation> <translation id="3016255526521614822">Adicionar à lista de autorizações as aplicações para tirar notas permitidas no ecrã de bloqueio do <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Ativar relatório de métricas</translation> <translation id="3034580675120919256">Permite definir se os Web sites estão autorizados a executar JavaScript. A execução de JavaScript pode ser permitida para todos os Web sites ou negada para todos os Web sites. Se esta política não for definida, será utilizada a definição "AllowJavaScript" e o utilizador poderá alterá-la.</translation> @@ -1009,7 +999,6 @@ Se a política não for definida, não se aplicam as restrições impostas pela política ao conjunto de aplicações que o utilizador pode ativar no ecrã de bloqueio.</translation> <translation id="4309640770189628899">Determinar se os conjuntos de cifras DHE no TLS estão ativados</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ou posterior</translation> <translation id="4322842393287974810">Permitir que a aplicação de quiosque de início automático com atraso zero controle a versão do <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Adicionar um botão para terminar sessão ao tabuleiro do sistema</translation> <translation id="4346674324214534449">Permite-lhe definir se os anúncios devem ser bloqueados em sites com anúncios intrusivos.
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb index f1eead85..75df68a 100644 --- a/components/policy/resources/policy_templates_ro.xtb +++ b/components/policy/resources/policy_templates_ro.xtb
@@ -522,13 +522,6 @@ <translation id="267596348720209223">Specifică codificările de caractere acceptate de furnizorul de căutare. Codificările reprezintă nume ale paginilor cu coduri cum ar fi UTF-8, GB2312 și ISO-8859-1. Acestea sunt încercate în ordinea furnizată. Politica este opțională. Dacă nu este setată, va fi utilizată codificarea standard, care este UTF-8. Această politică este urmată numai în cazul în care este activată politica „DefaultSearchProviderEnabled”.</translation> <translation id="2682225790874070339">Dezactivează Drive în aplicația Fișiere din <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Activează funcția proxy de comprimare a datelor</translation> -<translation id="2726613915126661822">Îți permite să controlezi dacă mașinile virtuale au permisiunea de a rula în sistemul de operare Chrome. - - Dacă politica este setată la True, dispozitivul are permisiunea de a rula mașini virtuale. - Dacă politica este setată la False, dispozitivul nu are permisiunea de a rula mașini virtuale. - Când este schimbată la False, politica se aplică pentru noile mașini virtuale, dar nu închide mașinile virtuale care rulează deja. - Când această politică nu este setată pe un dispozitiv gestionat, dispozitivul nu avea permisiunea să ruleze mașini virtuale. - Dispozitivele care nu sunt gestionate au permisiunea de a rula mașini virtuale.</translation> <translation id="2731627323327011390">Dezactivează folosirea certificatelor <ph name="PRODUCT_OS_NAME" /> pentru aplicațiile ARC</translation> <translation id="2742843273354638707">Ascunde aplicația Magazin web Chrome și linkul notei de subsol din pagina Filă nouă și din lansatorul de aplicații pentru <ph name="PRODUCT_OS_NAME" />. @@ -620,9 +613,6 @@ Valoarea politicii trebuie specificată în milisecunde. Valorile trebuie să fie mai mici sau egale cu intervalul pentru oprirea ecranului (dacă este setat) și cu intervalul de inactivitate.</translation> <translation id="2987155890997901449">Activează ARC</translation> <translation id="2987227569419001736">Controlează folosirea API-ului Web Bluetooth</translation> -<translation id="3001534538097271560">Dacă dezactivezi această politică, utilizatorii nu vor mai putea trimite unele informații de sistem și conținutul paginii la serverele Google. Dacă această setare este activată sau nu este configurată, utilizatorii au permisiunea să trimită unele informații de sistem și conținutul paginii la Navigarea sigură pentru detectarea aplicațiilor și a site-urilor periculoase. - - Consultă https://developers.google.com/safe-browsing pentru mai multe informații despre Navigarea sigură.</translation> <translation id="3016255526521614822">Trece în lista albă aplicațiile pentru creat note permise pe ecranul de blocare din <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Activați raportarea statisticilor</translation> <translation id="3034580675120919256">Vă permite să setați dacă site-urile web au permisiunea de a rula JavaScript. Rularea JavaScript poate fi permisă sau refuzată în bloc pentru toate site-urile web. Dacă această politică este lăsată nesetată, va fi utilizată politica „AllowJavaScript”, dar utilizatorul va putea să o schimbe.</translation> @@ -851,7 +841,7 @@ Reține că această politică depinde de recunoașterea certificatelor din infrastructura veche Symantec de către sistemul de operare. Dacă o actualizare a sistemului de operare modifică modul în care sistemul de operare gestionează aceste certificate, această politică nu se mai aplică. Mai mult, această politică are rolul de soluție temporară, pentru a le oferi companiilor mai mult timp să renunțe la certificatele Symantec vechi. Această politică va fi eliminată în data de 1 ianuarie 2019 sau în jurul acestei date. - Dacă această politică nu este setată sau nu este activată, <ph name="PRODUCT_NAME" /> urmează programul anunțat public de renunțare. + Dacă această politică nu este setată sau nu este activată, <ph name="PRODUCT_NAME" /> urmează programul de renunțare anunțat public. Accesați https://g.co/chrome/symantecpkicerts pentru mai multe detalii despre această renunțare.</translation> <translation id="383466854578875212">Vă permite să specificați gazdele de mesagerie nativă care nu sunt introduse în lista neagră. @@ -1010,7 +1000,6 @@ Dacă politica nu este configurată, nu vor exista restricții impuse de politică privind setul de aplicații pe care utilizatorul le poate activa pe ecranul de blocare.</translation> <translation id="4309640770189628899">Specifică dacă suitele de codificare DHE din TLS sunt activate</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 sau o versiune ulterioară</translation> <translation id="4322842393287974810">Permite aplicației chioșc lansate automat fără nicio întârziere să controleze versiunea <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Adăugați un buton de deconectare în bara de sistem</translation> <translation id="4346674324214534449">Îți permite să setezi dacă anunțurile trebuie blocate pe site-urile cu anunțuri deranjante. @@ -1026,7 +1015,7 @@ Fiecare cont Google de pe dispozitiv va fi comparat cu modelele stocate în această politică pentru a determina vizibilitatea contului în <ph name="PRODUCT_NAME" />. Contul va fi vizibil dacă numele acestuia corespunde cu un model din listă. Altfel, contul va fi ascuns. - Folosește metacaracterul „*” pentru a crea corespondențe cu zero caractere sau cu un număr arbitrar de caractere. Caracterul escape este „\”, astfel încât pentru a realiza corespondența cu caracterele „*” sau „\”, poți plasa „\” în fața acestora. + Folosește metacaracterul „*” pentru a crea corespondențe cu zero sau mai multe caractere arbitrare. Caracterul escape este „\”, astfel încât pentru caracterele „*” sau „\” propriu-zise, poți plasa „\” în fața acestora. Dacă această politică nu este configurată, toate conturile Google de pe dispozitiv vor fi vizibile în <ph name="PRODUCT_NAME" />.</translation> <translation id="436581050240847513">Raportează interfețele de rețea pentru dispozitiv</translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb index bbdb8841..b5a2f8b 100644 --- a/components/policy/resources/policy_templates_ru.xtb +++ b/components/policy/resources/policy_templates_ru.xtb
@@ -509,13 +509,6 @@ <translation id="267596348720209223">Задает кодировку текста, поддерживаемую поисковой системой. Кодировки – это названия кодовых страниц, например UTF-8, GB2312 или ISO-8859-1. Они применяются в том порядке, в котором перечислены. Это правило необязательно: если оно не настроено, по умолчанию используется кодировка UTF-8. Оно действует, только если активно правило DefaultSearchProviderEnabled.</translation> <translation id="2682225790874070339">Отключить Google Диск в приложении "Файлы" <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Использовать прокси-сервер для сжатия данных</translation> -<translation id="2726613915126661822">Позволяет разрешать или запрещать запуск виртуальных машин в Chrome OS. - - Если указано значение True, то устройству разрешено запускать виртуальные машины. - Если указано значение False, то устройству запрещено это делать. - При смене значения на False настройки начинают применяться к новым виртуальным машинам, не останавливая работу уже запущенных. - Если правило не задано на управляемом устройстве, то ему запрещено запускать виртуальные машины. - Устройствам, которые не управляются удаленно, разрешено запускать виртуальные машины.</translation> <translation id="2731627323327011390">Запретить приложениям ARC использовать сертификаты <ph name="PRODUCT_OS_NAME" /></translation> <translation id="2742843273354638707">Удаляет приложение из Интернет-магазина Chrome и ссылку на него со страницы быстрого доступа и с панели запуска приложений <ph name="PRODUCT_OS_NAME" />. @@ -605,9 +598,6 @@ Значение правила следует указывать в миллисекундах. Оно не должно быть больше времени задержки отключения экрана (если оно задано) и перехода в спящий режим.</translation> <translation id="2987155890997901449">Включить ARC</translation> <translation id="2987227569419001736">Контроль использования Web Bluetooth API</translation> -<translation id="3001534538097271560">Отправка некоторых системных данных и контента страниц на серверы Google помогает улучшить распознавание опасных приложений и сайтов в режиме безопасного просмотра. Если для правила задано значение False, пользователи не смогут отправлять эту информацию. Если правило не настроено либо для него задано значение True, пользователи смогут отправлять эти данные. - - Дополнительную информацию о Безопасном просмотре можно прочитать на странице https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Приложения для заметок, которые могут работать на заблокированном экране <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Включить передачу статистической информации</translation> <translation id="3034580675120919256">Определяет, могут ли сайты запускать JavaScript. Поддержку JavaScript можно разрешить или запретить для всех сайтов. Если это правило не настроено, действует правило AllowJavaScript, но пользователи могут самостоятельно изменить его значение.</translation> @@ -829,7 +819,7 @@ Если правило не настроено или в нем указано false, то <ph name="PRODUCT_NAME" /> использует общедоступное расписание прекращения поддержки. - Подробности на странице https://g.co/chrome/symantecpkicerts.</translation> + Подробности можно найти на странице https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Позволяет настроить белый список для хостов обмена сообщениями с оригинальными приложениями. Указанные в нем хосты будут исключены из черного списка. Если в черном списке указана звездочка (*), в него включаются все хосты. Будут загружаться только те из них, которые перечислены в белом списке. @@ -985,7 +975,6 @@ Если правило не настроено, пользователь сможет включить неограниченное количество приложений на заблокированном экране.</translation> <translation id="4309640770189628899">Включение и отключение наборов шифров DHE в TLS</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 или более поздней версии</translation> <translation id="4322842393287974810">Разрешает киоск-приложению, которое запускается автоматически и без задержек, управлять версией <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Кнопка выхода в области уведомлений</translation> <translation id="4346674324214534449">Эта настройка позволяет заблокировать навязчивую рекламу на сайтах. @@ -2191,11 +2180,11 @@ <translation id="8424255554404582727">Поворот изображения на экране по умолчанию (применяется при каждой перезагрузке)</translation> <translation id="8426231401662877819">Повернуть экран на 90 градусов по часовой стрелке</translation> <translation id="8451988835943702790">Сделать страницу быстрого доступа главной</translation> -<translation id="8459216513698220096">Определяет, будет ли обрабатываться пользовательская политика, входящая в состав объекта групповой политики компьютера, а также каким образом будет происходить этот процесс. - Если правило не настроено или в нем указано Default, то пользовательская политика считывается только из объектов групповой политики пользователя (объекты групповой политики компьютера игнорируются). +<translation id="8459216513698220096">Определяет, будут ли обрабатываться правила для пользователей, входящие в состав объекта групповой политики компьютера, а также каким образом будет происходить этот процесс. + Если правило не настроено или в нем указано Default, то правила для пользователей считываются только из объектов групповой политики пользователя (объекты групповой политики компьютера игнорируются). - Если в правиле указано Merge, то пользовательская политика в объектах групповой политики пользователя объединяется с пользовательской политикой объектов групповой политики компьютера (предпочтение отдается объектам групповой политики компьютера). - Если в правиле указано Replace, то пользовательская политика в объектах групповой политики пользователя замещается пользовательской политикой объектов групповой политики компьютера (объекты групповой политики пользователя игнорируются).</translation> + Если в правиле указано Merge, то правила для пользователей в объектах групповой политики пользователя объединяются с правилами для пользователей в объектах групповой политики компьютера (предпочтение отдается объектам групповой политики компьютера). + Если в правиле указано Replace, то правила для пользователей в объектах групповой политики пользователя замещаются правила для пользователей объектов групповой политики компьютера (объекты групповой политики пользователя игнорируются).</translation> <translation id="8465065632133292531">Параметры для запросов POST к URL-адресу Живого поиска</translation> <translation id="847472800012384958">Блокировать всплывающие окна на всех сайтах</translation> <translation id="8477885780684655676">TLS 1.0</translation>
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb index b53a691..f2e1ba1 100644 --- a/components/policy/resources/policy_templates_sk.xtb +++ b/components/policy/resources/policy_templates_sk.xtb
@@ -537,13 +537,6 @@ Toto pravidlo bude dodržané len v prípade, ak je povolené pravidlo „DefaultSearchProviderEnabled“.</translation> <translation id="2682225790874070339">Zakázať v aplikácii Súbory systému <ph name="PRODUCT_OS_NAME" /> službu Disk Google</translation> <translation id="268577405881275241">Povoliť funkciu servera proxy na kompresiu údajov</translation> -<translation id="2726613915126661822">Umožňuje ovládať, či sa môžu v systéme Chrome OS spúšťať virtuálne počítače. - - Ak toto pravidlo nastavíte na hodnotu True, zariadenie bude mať povolené spúšťať virtuálne počítače. - Ak toto pravidlo nastavíte na hodnotu False, zariadenie nebude mať povolené spúšťať virtuálne počítače. - Keď zmeníte hodnotu tohto pravidla na False, bude platiť pre nové virtuálne počítače, ale nevypne žiadne virtuálne počítače, ktoré už sú spustené. - Keď toto pravidlo nie je nastavené v spravovanom zariadení, zariadenie nebude môcť spúšťať virtuálne počítače. - Nespravované zariadenia môžu spúšťať virtuálne počítače.</translation> <translation id="2731627323327011390">Zakázať použitie certifikátov systému <ph name="PRODUCT_OS_NAME" /> v aplikáciách ARC</translation> <translation id="2742843273354638707">Skryje na stránke Nová karta a v spúšťači systému <ph name="PRODUCT_OS_NAME" /> aplikáciu Internetový obchod Chrome a odkaz na pätu stránky. @@ -608,10 +601,9 @@ <translation id="2893546967669465276">Odosielanie denníkov systému na správcovský server</translation> <translation id="2899002520262095963">Aplikácie pre Android môžu používať konfigurácie siete a certifikáty CA nastavené prostredníctvom tohto pravidla, nemajú však prístup k rovnakým možnostiam konfigurácie.</translation> <translation id="2906874737073861391">Zoznam rozšírení AppPack</translation> -<translation id="2907992746861405243">Umožňuje ovládať, ktoré tlačiarne z pravidla <ph name="BULK_PRINTERS_POLICY" /> -majú používatelia k dispozícii. +<translation id="2907992746861405243">Umožňuje ovládať, ktoré tlačiarne z pravidla <ph name="BULK_PRINTERS_POLICY" /> majú používatelia k dispozícii. - Označuje, ktoré pravidlo pre prístup sa použije na hromadnú konfiguráciu tlačiarní. Ak vyberiete možnosť <ph name="PRINTERS_ALLOW_ALL" />, zobrazia sa všetky tlačiarne. Ak vyberiete <ph name="PRINTERS_BLACKLIST" />, na obmedzenie prístupu určených tlačiarní sa použije pravidlo <ph name="BULK_PRINTERS_BLACKLIST" />. Ak vyberiete možnosť <ph name="PRINTERS_WHITELIST" />, <ph name="BULK_PRINTERS_WHITELIST" /> označuje iba tie tlačiarne, ktoré sa dajú vybrať. + Označuje, ktoré pravidlo pre prístup sa použije na hromadnú konfiguráciu tlačiarní. Ak vyberiete možnosť <ph name="PRINTERS_ALLOW_ALL" />, zobrazia sa všetky tlačiarne. Ak vyberiete <ph name="PRINTERS_BLACKLIST" />, na obmedzenie prístupu špecifikovaných tlačiarní sa použije pravidlo <ph name="BULK_PRINTERS_BLACKLIST" />. Ak vyberiete možnosť <ph name="PRINTERS_WHITELIST" />, <ph name="BULK_PRINTERS_WHITELIST" /> označuje iba tie tlačiarne, ktoré sa dajú vybrať. Ak toto pravidlo nenastavíte, bude platiť možnosť <ph name="PRINTERS_ALLOW_ALL" />. </translation> @@ -636,9 +628,6 @@ Hodnota pravidla by mala byť uvedená v milisekundách. Hodnoty musia byť nižšie alebo rovnaké ako oneskorenie vypnutia obrazovky (pokiaľ je nastavené) a oneskorenie režimu nečinnosti.</translation> <translation id="2987155890997901449">Povoliť funkciu ARC</translation> <translation id="2987227569419001736">Ovládať používanie rozhrania Web Bluetooth API</translation> -<translation id="3001534538097271560">Nastavením tohto pravidla na možnosť False zabránite používateľom odosielať niektoré systémové informácie a obsah stránok na servery Google. Ak je nastavené na možnosť True alebo nie je nakonfigurované, používatelia budú môcť odosielať niektoré systémové informácie a obsah stránok do Bezpečného prehliadania a pomôcť tak rozpoznať nebezpečné aplikácie a weby. - - Ďalšie informácie o Bezpečnom prehliadaní získate na adrese https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Pridať na bielu listinu aplikácie na písanie poznámok, ktoré sú povolené na uzamknutej obrazovke systému <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Povoliť hlásenia o metrikách</translation> <translation id="3034580675120919256">Umožní nastaviť, či môžu webové stránky spúšťať kód JavaScript. Spúšťanie kódu JavaScript sa dá pre všetky webové stránky buď umožniť, alebo naopak zamietnuť. @@ -752,7 +741,7 @@ Ak toto pravidlo použijete, používateľ bude mať k dispozícii iba tlačiarne s identifikátormi, ktoré sa zhodujú s hodnotami v tomto pravidle. Identifikátory sa musia zhodovať so zadanými údajmi v súbore určenom v pravidle <ph name="DEVICE_PRINTERS_POLICY" />. </translation> -<translation id="3414260318408232239">Ak toto pravidlo nenastavíte, prehliadač <ph name="PRODUCT_NAME" />použije predvolenú minimálnu verziu, teda TLS 1.0. +<translation id="3414260318408232239">Ak toto pravidlo nenastavíte, <ph name="PRODUCT_NAME" /> použije predvolenú minimálnu verziu, teda TLS 1.0. V opačnom prípade ho môžete nastaviť na jednu z nasledujúcich hodnôt: „tls1“, „tls1.1“ alebo „tls1.2“. Ak túto hodnotu nastavíte, <ph name="PRODUCT_NAME" /> nepoužije protokol SSL alebo TLS v nižšej ako zadanej verzii. Nerozpoznaná hodnota sa bude ignorovať.</translation> <translation id="3417418267404583991">Ak je toto pravidlo nastavené na hodnotu true alebo je nenakonfigurované, systém <ph name="PRODUCT_OS_NAME" /> povolí prihlásenie hostí. Prihlásenia hostí predstavujú relácie anonymných používateľov a nevyžadujú heslo. @@ -864,7 +853,7 @@ <translation id="382476126209906314">Konfigurácia predpony TalkGadget pre hostiteľov vzdialeného prístupu</translation> <translation id="3831376478177535007">Keď zapnete toto nastavenie, <ph name="PRODUCT_NAME" /> povolí certifikáty vydané operáciami starej infraštruktúry PKI spoločnosti Symantec Corporation za predpokladu, že sú inak úspešne overené a prepojené s uznávaným certifikátom CA. - Upozorňujeme, že toto pravidlo závisí od toho, či príslušný operačný systém stále rozpoznáva certifikáty zo starej infraštruktúry spoločnosti Symantec. Ak aktualizácia operačného systému zmení spracovávanie týchto certifikátov operačným systémom, toto pravidlo neplatí. Slúži ako dočasné riešenie, pomocou ktorého získajú podniky viac času na prechod zo starých certifikátov Symantec. Bude odstránené okolo 1. januára 2019. + Upozorňujeme, že toto pravidlo závisí od toho, či príslušný operačný systém stále rozpoznáva certifikáty zo starej infraštruktúry spoločnosti Symantec. Ak aktualizácia operačného systému zmení spracovávanie týchto certifikátov operačným systémom, toto pravidlo neplatí. Slúži ako dočasné riešenie, pomocou ktorého získajú podniky viac času na prechod zo starých certifikátov Symantec. Bude odstránené okolo 1. januára 2019. Ak toto pravidlo nenastavíte alebo nastavíte na hodnotu False, <ph name="PRODUCT_NAME" /> bude nasledovať zverejnený rozvrh ukončenia podpory. @@ -1029,7 +1018,6 @@ Ak pravidlo ponecháte nenastavené, nebudú existovať žiadne obmedzenia skupiny aplikácií, ktoré používateľ môže povoliť na uzamknutej obrazovke na základe tohto pravidla.</translation> <translation id="4309640770189628899">Ovláda, či sú v protokole TLS povolené šifrovacie súpravy DHE</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 alebo novší</translation> <translation id="4322842393287974810">Povoliť verejnej aplikácii, ktorá sa spúšťa automaticky s nulovým oneskorením, ovládať verziu systému <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Pridať do oblasti oznámení tlačidlo odhlásenia</translation> <translation id="4346674324214534449">Umožňuje nastaviť, či by mali byť reklamy blokované na weboch s obťažujúcimi reklamami. @@ -2475,7 +2463,7 @@ </translation> <translation id="8934944553121392674">Umožňuje ovládať, ktoré tlačiarne z pravidla <ph name="DEVICE_PRINTERS_POLICY" /> majú používatelia k dispozícii. - Označuje, ktoré pravidlo pre prístup sa použije na hromadnú konfiguráciu tlačiarní. Ak vyberiete možnosť <ph name="PRINTERS_ALLOW_ALL" />, zobrazia sa všetky tlačiarne. Ak vyberiete <ph name="PRINTERS_BLACKLIST" />, na obmedzenie prístupu určených tlačiarní sa použije pravidlo <ph name="DEVICE_PRINTERS_BLACKLIST" />. Ak vyberiete možnosť <ph name="PRINTERS_WHITELIST" />, <ph name="DEVICE_PRINTERS_WHITELIST" /> označuje iba tie tlačiarne, ktoré sa dajú vybrať. + Označuje, ktoré pravidlo pre prístup sa použije na hromadnú konfiguráciu tlačiarní. Ak vyberiete možnosť <ph name="PRINTERS_ALLOW_ALL" />, zobrazia sa všetky tlačiarne. Ak vyberiete <ph name="PRINTERS_BLACKLIST" />, na obmedzenie prístupu špecifikovaných tlačiarní sa použije pravidlo <ph name="DEVICE_PRINTERS_BLACKLIST" />. Ak vyberiete možnosť <ph name="PRINTERS_WHITELIST" />, <ph name="DEVICE_PRINTERS_WHITELIST" /> označuje iba tie tlačiarne, ktoré sa dajú vybrať. Ak toto pravidlo nenastavíte, bude platiť možnosť <ph name="PRINTERS_ALLOW_ALL" />. </translation>
diff --git a/components/policy/resources/policy_templates_sl.xtb b/components/policy/resources/policy_templates_sl.xtb index 48d5030..df351e5 100644 --- a/components/policy/resources/policy_templates_sl.xtb +++ b/components/policy/resources/policy_templates_sl.xtb
@@ -545,13 +545,6 @@ Ta pravilnik velja le, če je omogočen pravilnik »DefaultSearchProviderEnabled«.</translation> <translation id="2682225790874070339">Onemogoči Google Drive v aplikaciji Datoteke za <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Omogoči funkcijo stiskanja podatkov v strežniku proxy</translation> -<translation id="2726613915126661822">Omogoči nadziranje, ali je v sistemu OS Chrome dovoljeno izvajanje navideznih računalnikov. - - Če je pravilnik nastavljen na »True«, je v napravi dovoljeno izvajanje navideznih računalnikov. - Če pravilnik nastavljen na »False«, v napravi ni dovoljeno izvajanje navideznih računalnikov. - Ko je nastavitev pravilnika spremenjena na »False«, se uporabi pri zagonu novih navideznih računalnikov, navideznih računalnikov, ki se že izvajajo, pa ne zaustavi. - Če ta pravilnik ni nastavljen v upravljani napravi, v napravi ni dovoljeno izvajanje navideznih računalnikov. - V napravah, ki niso upravljane, je dovoljeno izvajanje navideznih računalnikov.</translation> <translation id="2731627323327011390">Onemogočanje uporabe potrdil sistema <ph name="PRODUCT_OS_NAME" /> aplikacijam ARC</translation> <translation id="2742843273354638707">Skrivanje aplikacije Spletna trgovina Chrome in povezave v nogi na strani »Nov zavihek« in v zaganjalniku aplikacij v sistemu <ph name="PRODUCT_OS_NAME" />. @@ -616,6 +609,12 @@ <translation id="2893546967669465276">Pošiljanje sistemskih dnevnikov v strežnik za upravljanje</translation> <translation id="2899002520262095963">Aplikacije za Android lahko uporabljajo omrežne konfiguracije in potrdila overitelja potrdil, nastavljena s tem pravilnikom, vendar nimajo dostopa do nekaterih možnosti konfiguracij.</translation> <translation id="2906874737073861391">Seznam razširitev AppPack</translation> +<translation id="2907992746861405243">Nadzira, kateri tiskalniki iz pravilnika <ph name="BULK_PRINTERS_POLICY" /> so na voljo uporabnikom. + + Določa, kateri pravilnik o dostopu se uporablja za konfiguracijo tiskalnikov v velikem obsegu. Če je izbrana možnost <ph name="PRINTERS_ALLOW_ALL" />, so prikazani vsi tiskalniki. Če je izbrana možnost <ph name="PRINTERS_BLACKLIST" />, se omeji dostop do določenih tiskalnikov s pravilnikom <ph name="BULK_PRINTERS_BLACKLIST" />. Če je izbrana možnost <ph name="PRINTERS_WHITELIST" />, pravilnik <ph name="BULK_PRINTERS_WHITELIST" /> določa samo tiste tiskalnike, ki jih je mogoče izbrati. + + Če ta pravilnik ni nastavljen, se predvideva uporaba pravilnika <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Največje dovoljeno število hkratnih povezav s strežnikom proxy</translation> <translation id="2956777931324644324">Ta pravilnik se ne uporablja od uveljavitve različice brskalnika <ph name="PRODUCT_NAME" /> 36. @@ -637,9 +636,6 @@ Vrednost pravilnika naj bo navedena v milisekundah. Vrednosti morajo biti manjše ali enake kot časovni zamik izklopa zaslona (če je nastavljen) in časovnik zamik nedejavnosti.</translation> <translation id="2987155890997901449">Omogočanje ARC-ja</translation> <translation id="2987227569419001736">Nadzor uporabe API-ja za Web Bluetooth</translation> -<translation id="3001534538097271560">Če onemogočite ta pravilnik, uporabnikom preprečite, da bi pošiljali nekatere informacije o sistemu in vsebino strani v Googlove strežnike. Če je ta nastavitev omogočena ali ni nastavljena, je uporabnikom dovoljeno pošiljati nekatere informacije o sistemu in vsebino strani Varnemu brskanju zaradi hitrejšega zaznavanja nevarnih aplikacij in spletnih mest. - - Več informacij o Varnem brskanju je na voljo na https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Uvrščanje aplikacij za zapiske, ki so omogočene na zaklenjenem zaslonu sistema <ph name="PRODUCT_OS_NAME" />, na seznam dovoljenih</translation> <translation id="3030000825273123558">Omogoči pošiljanje podatkov</translation> <translation id="3034580675120919256">Omogoča nastavitev, ali lahko spletna mesta izvajajo JavaScript. Izvajanje JavaScripta je lahko dovoljeno ali zavrnjeno za vsa spletna mesta. @@ -754,6 +750,9 @@ Če se uporablja ta pravilnik, so uporabniku na voljo samo tiskalniki z ID-ji, ki se ujemajo z vrednostmi v tem pravilniku. ID-ji morajo ustrezati vnosom v datoteki, določeni v pravilniku <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Če ta pravilnik ni konfiguriran, <ph name="PRODUCT_NAME" /> uporablja privzeto najnižjo različico, ki je TLS 1.0. + + Sicer bo nastavljen na eno od teh vrednosti: »tls1«, »tls1.1« ali »tls1.2«. Če je nastavljen, <ph name="PRODUCT_NAME" /> ne bo uporabljal različic protokolov SSL/TLS, nižjih od navedene različice. Neprepoznane vrednosti bodo prezrte.</translation> <translation id="3417418267404583991">Če je ta pravilnik omogočen ali ni nastavljen, <ph name="PRODUCT_OS_NAME" /> omogoči prijave gostov. Prijave gostov so anonimne seje uporabnikov in ne zahtevajo gesla. Če je pravilnik onemogočen, <ph name="PRODUCT_OS_NAME" /> ne omogoča sej gosta.</translation> @@ -867,6 +866,13 @@ Če ta pravilnik ni nastavljen, je zaslonska tipkovnica na začetku onemogočena, vendar jo lahko uporabnik kadar koli omogoči.</translation> <translation id="382476126209906314">Nastavitev predpone »TalkGadget« za gostitelje oddaljenega dostopa</translation> +<translation id="3831376478177535007">Če je ta nastavitev omogočena, <ph name="PRODUCT_NAME" /> omogoča zaupanje potrdilom, izdanim s postopki starejše infrastrukture PKI družbe Symantec Corporation, če se drugače uspešno potrdijo in so v verigi s prepoznanim potrdilom overitelja potrdil. + + Upoštevajte, da je ta pravilnik odvisen od tega, ali operacijski sistem še vedno prepozna potrdila starejše infrastrukture družbe Symantec. Če posodobitev operacijskega sistema spremeni, kako operacijski sistem ravna s takimi potrdili, ta pravilnik ne učinkuje več. Namen tega pravilnika je delovati kot začasna rešitev, ki daje podjetjem na voljo več časa, da prenehajo uporabljati starejša potrdila družbe Symantec. Ta pravilnik bo odstranjen okoli 1. januarja 2019 oziroma na ta datum. + + Če ta pravilnik ni nastavljen ali je onemogočen, <ph name="PRODUCT_NAME" /> upošteva javno najavljen razpored za zastaranje. + + Če želite več podrobnosti o tem zastaranju, glejte https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Omogoča, da določite, kateri gostitelji izvornega pošiljanja sporočil niso vključeni na seznam blokiranih. Vrednost * na seznamu blokiranih pomeni, da so vsi gostitelji izvornega pošiljanja sporočil blokirani in da bodo naloženi samo gostitelji izvornega pošiljanja sporočil, ki so na seznamu dovoljenih. @@ -1027,7 +1033,6 @@ Če pravilnik ni nastavljen, ni omejitev pravilnika za skupino aplikacij, ki jih uporabnik lahko omogoči na zaklenjenem zaslonu.</translation> <translation id="4309640770189628899">Ali so v protokolu TLS omogočene šifrirne zbirke DHE</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 ali novejši</translation> <translation id="4322842393287974810">Dovoli samodejno zagnani aplikaciji za kiosk brez zamika nadzor nad različico sistema <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Dodajanje gumb za odjavo v sistemsko vrstico</translation> <translation id="4346674324214534449">Omogoča, da nastavite, ali je treba oglase blokirati na spletnih mestih z vsiljivimi oglasi. @@ -1043,7 +1048,7 @@ Vsak Google Račun v napravi bo primerjan z vzorci, shranjenimi v tem pravilniku, zaradi vidnosti računa v storitvi <ph name="PRODUCT_NAME" />. Račun bo viden, če se njegovo ime ujema s katerim koli vzorcem na seznamu. V nasprotnem primeru bo račun skrit. - Če želite, da se ne ujema noben poljubni znak ali da se jih ujema več, uporabite nadomestni znak »*«. Ubežni znak je »\«, zato morate za ujemanje z dejanskima znakoma »*« ali »\« pred njiju dati »\«. + Z nadomestnim znakom »*« nadomestite poljubno število poljubnih znakov (ali nobenega). Ubežni znak je »\«, zato morate za ujemanje z dejanskima znakoma »*« ali »\« pred njiju dati »\«. Če ta pravilnik ni nastavljen, so vsi Google Računi v napravi vidni v storitvi <ph name="PRODUCT_NAME" />.</translation> <translation id="436581050240847513">Poročanje o omrežnih vmesnikih naprave</translation>
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb index 0b1dd80..104cc313 100644 --- a/components/policy/resources/policy_templates_sr.xtb +++ b/components/policy/resources/policy_templates_sr.xtb
@@ -542,13 +542,6 @@ Ове смернице се поштују само ако су смернице „DefaultSearchProviderEnabled„ омогућене.</translation> <translation id="2682225790874070339">Онемогући Диск <ph name="PRODUCT_OS_NAME" /> у апликацији Датотеке</translation> <translation id="268577405881275241">Омогући функцију проксија за компресију података</translation> -<translation id="2726613915126661822">Омогућава вам да контролишете да ли виртуелне машине смеју да се покрећу на Chrome ОС-у. - - Ако се смернице подесе на Тачно, уређај може да покреће виртуелне машине. - Ако се смернице подесе на Нетачно, уређај неће смети да покреће виртуелне машине. - Када се смернице промене на Нетачно, то важи за покретање нових виртуелних машина, али не искључује виртуелне машине које већ раде. - Када се ове смернице не подесе на управљаном уређају, тај уређај неће смети да покреће виртуелне машине. - Уређаји којима се не управља смеју да покрећу виртуелне машине.</translation> <translation id="2731627323327011390">Онемогућите коришћење <ph name="PRODUCT_OS_NAME" /> сертификата за ARC апликације</translation> <translation id="2742843273354638707">Крију апликацију Chrome веб-продавница и линк подножја на страници Нова картица и у покретачу <ph name="PRODUCT_OS_NAME" /> апликација. @@ -640,9 +633,6 @@ Вредност смерница треба да буде наведена у милисекундама. Вредности се скраћују како би биле краће од времена до искључивања екрана (ако је подешено) и времена до мировања или једнаке њима.</translation> <translation id="2987155890997901449">Омогући ARC</translation> <translation id="2987227569419001736">Контролиши коришћење API-ја Bluetooth за веб</translation> -<translation id="3001534538097271560">Ако подесите ове смернице на Нетачно, корисницима неће бити дозвољено да шаљу Google серверима неке системске информације и садржај страница. Ако је ово подешавање подешено на Тачно или није конфигурисано, онда ће корисницима бити дозвољено да шаљу Безбедном прегледању неке системске информације и садржај страница да бисмо открили опасне апликације и сајтове. - - Погледајте https://developers.google.com/safe-browsing за више информација о Безбедном прегледању.</translation> <translation id="3016255526521614822">Стављање апликација за прављење белешки које су дозвољене на закључаном екрану за <ph name="PRODUCT_OS_NAME" /> на белу листу</translation> <translation id="3030000825273123558">Омогућавање пријављивања показатеља</translation> <translation id="3034580675120919256">Омогућава вам да подесите да ли веб-сајтови смеју да покрећу JavaScript. Покретање JavaScript-а може да буде дозвољено или забрањено за све веб-сајтове. @@ -1034,7 +1024,6 @@ Ако не подесите ове смернице, неће бити ограничења за скуп апликација које корисник може да омогући на закључаном екрану, а које намећу смернице.</translation> <translation id="4309640770189628899">Да ли су DHE пакети за шифровање у TLS-у омогућени</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 или новији</translation> <translation id="4322842393287974810">Омогућава да киоск апликација која је аутоматски покренута без кашњења контролише верзију <ph name="PRODUCT_OS_NAME" />-а</translation> <translation id="4325690621216251241">Додавање дугмета за одјављивање на системску палету</translation> <translation id="4346674324214534449">Омогућава вам да подесите да ли ће огласи бити блокирани на сајтовима са огласима који ометају.
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb index 45ddf02..fd17b95b 100644 --- a/components/policy/resources/policy_templates_sv.xtb +++ b/components/policy/resources/policy_templates_sv.xtb
@@ -546,13 +546,6 @@ Policyn används bara om policyn DefaultSearchProviderEnabled är aktiverad.</translation> <translation id="2682225790874070339">Inaktiverar Drive i appen Filer i <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Aktivera proxyfunktionen för datakomprimering</translation> -<translation id="2726613915126661822">Låter dig styra om virtuella maskiner får köras eller inte i Chrome OS. - - Om principen är inställd på Sant får virtuella maskiner köras på enheten. - Om principen är inställd på Falskt får virtuella maskiner inte köras på enheten. - När principen ändras till Falskt gäller den vid försök att starta nya virtuella maskiner, men virtuella maskiner som redan körs avslutas inte. - Om principen lämnas utan inställning på en hanterad enhet får virtuella maskiner inte köras på den. - Virtuella maskiner får köras på enheter som inte hanteras.</translation> <translation id="2731627323327011390">Inaktivera användning av <ph name="PRODUCT_OS_NAME" />-certifikat för ARC-appar</translation> <translation id="2742843273354638707">Dölj appen Chrome Web Store och länken i sidfoten från den nya fliksidan och startprogrammet för <ph name="PRODUCT_OS_NAME" />. @@ -617,6 +610,12 @@ <translation id="2893546967669465276">Skicka systemloggar till hanteringsservern</translation> <translation id="2899002520262095963">Android-appar kan använda nätverkskonfigurationer och CA-certifikat som har angetts via den här principen men saknar tillgång till vissa konfigurationsalternativ.</translation> <translation id="2906874737073861391">Lista över tillägg i AppPack</translation> +<translation id="2907992746861405243">Styr vilka skrivare från <ph name="BULK_PRINTERS_POLICY" /> som är tillgängliga för användare. + + Anger vilken åtkomstprincip som gäller vid gruppkonfigurering av skrivare. Med alternativet <ph name="PRINTERS_ALLOW_ALL" /> visas alla skrivare. Med alternativet <ph name="PRINTERS_BLACKLIST" /> begränsas åtkomsten till de angivna skrivarna med hjälp av <ph name="BULK_PRINTERS_BLACKLIST" />. Med alternativet <ph name="PRINTERS_WHITELIST" /> används <ph name="BULK_PRINTERS_WHITELIST" /> för att ange enbart de skrivare som finns att välja på. + + Om inget värde anges för principen används <ph name="PRINTERS_ALLOW_ALL" />. + </translation> <translation id="2908277604670530363">Högsta antalet samtidiga anslutningar till proxyservern</translation> <translation id="2956777931324644324">Den här policyn har gäller inte för version 36 och senare av <ph name="PRODUCT_NAME" />. @@ -638,9 +637,6 @@ Policyns värde anges i millisekunder. Värdena måste vara mindre än eller lika med skärmavstängningstiden (om den har ställts in) och inaktivitetstiden.</translation> <translation id="2987155890997901449">Aktivera ARC</translation> <translation id="2987227569419001736">Kontrollera användningen av Web Bluetooth API</translation> -<translation id="3001534538097271560">Om den här principen är inställd på falskt kan inte användare skicka systeminformation eller innehåll på sidan till Googles servrar. Om inställningen är inställd på sant eller inte har konfigurerats kan användare skicka systeminformation och innehåll på sidan till Säker webbsökning och bidra till att farliga appar och webbplatser identifieras. - - Läs mer om Säker webbsökning på https://developers.google.com/safe-browsing.</translation> <translation id="3016255526521614822">Ange anteckningsappar som är tillåtna på låsskärmen i <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Aktivera statistikrapportering</translation> <translation id="3034580675120919256">Policyn gör att du kan ange om webbplatser får köra JavaScript. Du kan tillåta JavaScript på alla webbplatser eller blockera JavaScript på alla webbplatser. @@ -755,6 +751,9 @@ Om principen används är bara de skrivare vars id matchar något av principens värden tillgängliga för användaren. Id:na måste svara mot posterna i den fil som angetts i <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Om denna princip inte konfigureras används den lägsta standardversionen (TLS 1.0.) av <ph name="PRODUCT_NAME" />. + + I annat fall kan följande värden anges: tls1, tls1.1 eller tls1.2. Om ett värde har angetts används inte versioner av SSL/TLS som är tidigare än den angivna versionen av <ph name="PRODUCT_NAME" />. Ett värde som inte känns igen ignoreras.</translation> <translation id="3417418267404583991">Om den här policyn är inställd på sant eller inte är konfigurerad aktiveras gästinloggning i <ph name="PRODUCT_OS_NAME" />. Gästinloggningar är anonyma användarsessioner och kräver inget lösenord. Om policyn är inställd på falskt går det inte att starta gästsessioner i <ph name="PRODUCT_OS_NAME" />.</translation> @@ -868,6 +867,13 @@ Om du inte ställer in policyn är skärmtangentbordet inaktiverat som standard, men det aktiveras av användaren när som helst.</translation> <translation id="382476126209906314">Konfigurera prefixet TalkGadget för fjärråtkomstvärdar</translation> +<translation id="3831376478177535007">Om inställningen aktiveras är certifikat från Symantec Corporations äldre PKI-åtgärder tillåtna i <ph name="PRODUCT_NAME" /> så länge det går att validera dem i en obruten kedja till ett identifierat CA-certifikat. + + Observera att principen är beroende av att operativsystemet fortfarande känner igen certifikat från Symantecs äldre infrastruktur. Om en uppdatering av operativsystemet leder till en ändring av hur sådana certifikat hanteras har principen inte längre någon funktion. Den här principen är bara en tillfällig lösning så att företag ska få längre tid på sig att överflytta från äldre Symantec-certifikat. Principen tas bort kring den 1 januari 2019. + + Om inget värde har angetts för principen, eller om den är inställd på falskt, följer <ph name="PRODUCT_NAME" /> den utlysta tidsplanen för utfasning. + + Läs mer om utfasningen på https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">Låter dig ange vilka värdar för Native Messaging (kommunikation med inbyggda appar) som svarta listan inte gäller för. Om svarta listan har värdet * betyder det att alla värdar för Native Messaging är otillåtna och att endast de som står med på vitlistan läses in. @@ -1028,7 +1034,6 @@ Om principen inte ställs in alls begränsar den inte villka appar som användaren får aktivera på låsskärmen.</translation> <translation id="4309640770189628899">Om DHE-krypteringssviter i TLS är aktiverade eller inte</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 eller senare</translation> <translation id="4322842393287974810">Tillåt att kioskappen som startas automatiskt utan fördröjning styr <ph name="PRODUCT_OS_NAME" />-versionen</translation> <translation id="4325690621216251241">Lägg till en utloggningsknapp i systemfältet</translation> <translation id="4346674324214534449">Ger dig möjlighet att ställa in om annonser ska blockeras på webbplatser med påträngande annonser.
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb index a338d83..8ba0586 100644 --- a/components/policy/resources/policy_templates_sw.xtb +++ b/components/policy/resources/policy_templates_sw.xtb
@@ -532,13 +532,6 @@ Sera hii inaheshimiwa tu ikiwa sera ya 'DefaultSearchProviderEnabled' imewezeshwa.</translation> <translation id="2682225790874070339">Huzima Hifadhi ya Google katika programu ya Faili ya <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Washa kipengee cha proksi cha upunguzaji wa data</translation> -<translation id="2726613915126661822">Hukuruhusu uchague ikiwa mashine pepe zinaruhusiwa kwenye Mfumo wa Uendeshaji wa Chrome. - - Kama sera imewekwa kuwa Ndivyo, kifaa kinaruhusiwa kutumia mashine pepe. - Kama sera imewekwa kuwa Sivyo, kifaa hakitaruhusiwa kutumia mashine pepe. - Wakati sera hii inabadilishwa kuwa Sivyo, hali hii inatumika kuanzisha mashine pepe mpya lakini haifungi mashine pepe ambazo tayari zinatumika. - Wakati sera hii haijawekwa kwenye kifaa kinachosimamiwa, kifaa hakitaruhusiwa kutumia mashine pepe. - Vifaa ambavyo havisimamiwi vinaruhusiwa kutumia mashine pepe.</translation> <translation id="2731627323327011390">Zima kipengele cha utumiaji wa vyeti vya <ph name="PRODUCT_OS_NAME" /> kwenye programu za ARC</translation> <translation id="2742843273354638707">Ficha programu ya Duka la Chrome kwenye Wavuti na kiungo cha kijachini kutoka kwenye Ukurasa wa Kichupo Kipya na kifungua programu cha <ph name="PRODUCT_OS_NAME" />. @@ -630,9 +623,6 @@ Sera ya thamani inastahili kubainishwa kwa nukta. Thamani zinabanwa ili kuwa chini ya ucheleweshaji wa kutokuwa na shughuli.</translation> <translation id="2987155890997901449">Washa kipengele cha ARC</translation> <translation id="2987227569419001736">Dhibiti matumizi ya API ya Bluetooth ya Wavuti</translation> -<translation id="3001534538097271560">Kuweka sera hii kuwa sivyo kunazuia watumiaji kuchagua kutuma baadhi ya maelezo ya mfumo na maudhui ya ukurasa kwenye seva za Google. Ikiwa mipangilio hii imewekwa kuwa ndivyo au haijawekwa, basi watumiaji wataruhusiwa kutuma baadhi ya maelezo ya mfumo na maudhui ya ukurasa kwenye Kuvinjari Salama ili kusaidia kugundua programu na tovuti hatari. - - Angalia https://developers.google.com/safe-browsing kwa maelezo zaidi kuhusu SafeBrowsing.</translation> <translation id="3016255526521614822">Toa idhini kwa programu za kuandika madokezo zinazoruhusiwa kwenye skrini iliyofungwa ya <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Wezesha kuripoti kwa metriki</translation> <translation id="3034580675120919256">Inakuruhusu kuweka iwapo tovuti zinaruhusiwa kuendesha JavaScript. Kuendesha JavaScript kunaweza kuruhusiwa kwa tovuti zote au kukataliwa kwa tovuti zote. @@ -745,7 +735,7 @@ Ikiwa sera hii inatumiwa, printa zenye vitambulisho vinavyolingana na thamani iliyo katika sera ndizo pekee zitapatikana kwa watumiaji. Ni lazima vitambulisho vilingane na data iliyowekwa katika faili iliyobainishwa katika <ph name="DEVICE_PRINTERS_POLICY" />. </translation> -<translation id="3414260318408232239">Ikiwa hujaweka mipangilio ya sera hii inamaanisha kuwa <ph name="PRODUCT_NAME" /> itatumia toleo la chini zaidi katika mipangilio chaguo-msingi ambalo ni TLS 1.0. +<translation id="3414260318408232239">Ikiwa hujaweka mipangilio ya sera hii inamaanisha kuwa <ph name="PRODUCT_NAME" /> itatumia toleo la chini zaidi katika mipangilio chaguomsingi ambalo ni TLS 1.0. Vinginevyo, inaweza kuwekwa kuwa mojawapo ya thamani zifuatazo: "tls1", "tls1.1" au "tls1.2". Ikiwekwa, <ph name="PRODUCT_NAME" /> itatumia matoleo ya SSL/TLS yaliyo chini ya toleo lililobainishwa. Haitazingatia thamani ambayo haitambuliki.</translation> <translation id="3417418267404583991">Ikiwa sera hii itawekwa kwenye Ndivyo au haitasanidiwa, <ph name="PRODUCT_OS_NAME" /> haitawezesha uingiaji wa mgeni. Uingiaji wa mgeni ni vipindi visivyojulikana vya mtumiaji na havihitaji nenosiri.. @@ -1028,7 +1018,6 @@ Usipoiweka sera, hamna vikwazo vitakavyowekwa kwenye seti ya programu ambazo mtumiaji anaweza kuwasha kwenye skrini iliyofungwa vilivyowekwa na sera.</translation> <translation id="4309640770189628899">Ikiwa mipangilio ya kriptografia ya DHE katika TLS imewashwa</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 au ya karibuni zaidi</translation> <translation id="4322842393287974810">Ruhusu kipengele kilichofunguliwa kiotomatiki bila chochote kuchelewesha programu inayotumia skrini nzima kudhibiti toleo la <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Ongeza kitufe cha kuondoka kwenye chano la mfumo</translation> <translation id="4346674324214534449">Inakuruhusu kubaini ikiwa matangazo yanapaswa kuzuiliwa kwenye tovuti zilizo na matangazo yanayokatiza matumizi. @@ -2297,7 +2286,7 @@ <translation id="8451988835943702790">Tumia Ukurasa Mpya wa Kichupo kama ukurasa wa kwanza</translation> <translation id="8459216513698220096">Hubainisha uwezekano na utaratibu wa kuchakata sera ya mtumiaji kutoka kompyuta ya GPO. - Kama sera imewekwa kuwa 'Chaguo-msingi' au kama haijawekwa, sera ya mtumiaji inasomwa tu kutoka GPO ya mtumiaji (GPO za kompyuta hazizingatiwi). + Kama sera imewekwa kuwa 'Chaguomsingi' au kama haijawekwa, sera ya mtumiaji inasomwa tu kutoka GPO ya mtumiaji (GPO za kompyuta hazizingatiwi). Kama sera imewekwa kuwa 'Unganisha', sera ya mtumiaji katika GPO za mtumiaji zitaunganishwa na sera ya mtumiaji katika GPO za kompyuta (GPO za kompyuta hupendelewa).
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb index 2efd55d..c3762d0 100644 --- a/components/policy/resources/policy_templates_ta.xtb +++ b/components/policy/resources/policy_templates_ta.xtb
@@ -508,13 +508,6 @@ <translation id="267596348720209223">தேடல் வழங்குநரால் எழுத்துக் குறியாக்கங்கள் ஆதரவளிப்பதைக் குறிப்பிடுகிறது. குறியாக்கங்கள், UTF-8, GB2312 மற்றும் ISO-8859-1 போன்ற பக்கப் பெயர்களால் குறிப்பிடப்படும். அவை, வழங்கப்பட்டுள்ள வரிசையில் முயற்சிக்கின்றன. இந்தக் கொள்கை, விருப்பத்தேர்வுக்குரியது. அது அமைக்கப்படவில்லை எனில், இயல்புநிலையான UTF-8 பயன்படுத்தப்படும். 'DefaultSearchProviderEnabled' செயலாக்கப்பட்டுள்ளதெனில் மட்டுமே, இந்தக் கொள்கை ஆதரிக்கப்படும்.</translation> <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> கோப்புகள் பயன்பாட்டில் இயக்ககத்தை முடக்குகிறது</translation> <translation id="268577405881275241">தரவு சுருக்க ப்ராக்ஸி அம்சத்தை இயக்கு</translation> -<translation id="2726613915126661822">Chrome OS இல் விர்ச்சுவல் சாதனங்கள் இயங்குவதற்கு அனுமதிக்கப்படுமா என்பதைக் கட்டுப்படுத்த அனுமதிக்கும். - - "சரி" என கொள்கை அமைக்கப்பட்டால், விர்ச்சுவல் சாதனங்களை இயக்குவதற்குச் சாதனம் அனுமதிக்கப்படும். - "தவறு" என கொள்கை அமைக்கப்பட்டால், விர்ச்சுவல் சாதனங்களை இயக்குவதற்குச் சாதனம் அனுமதிக்கப்படாது. - தவறு என கொள்கை மாற்றப்பட்டால், புதிய விர்ச்சுவல் சாதனங்களைத் தொடங்குவதற்குப் பொருந்தும் ஆனால், ஏற்கனவே இயங்கிக் கொண்டிருக்கும் விர்ச்சுவல் சாதனங்களை முடக்காது. - நிர்வகிக்கப்படும் சாதனத்தில் இந்தக் கொள்கை அமைக்கப்படவில்லை எனில், விர்ச்சுவல் சாதனங்களை இயக்குவதற்குச் சாதனம் அனுமதிக்கப்படாது. - நிர்வகிக்கப்படாத சாதனங்கள், விர்ச்சுவல் சாதனங்களை இயக்குவதற்கு அனுமதிக்கப்படும்.</translation> <translation id="2731627323327011390">ARC பயன்பாடுகளில் <ph name="PRODUCT_OS_NAME" /> சான்றிதழ்களின் உபயோகத்தை முடக்கு</translation> <translation id="2742843273354638707">புதிய தாவல் பக்கத்திலிருந்தும், <ph name="PRODUCT_OS_NAME" /> பயன்பாட்டுத் துவக்கியிலிருந்தும், Chrome இணைய அங்காடி பயன்பாடு மற்றும் அடிக்குறிப்பு இணைப்பை மறைக்கவும். @@ -579,6 +572,12 @@ <translation id="2893546967669465276">நிர்வகிப்புச் சேவையகத்திற்கு முறைமைப் பதிவுகளை அனுப்பும்</translation> <translation id="2899002520262095963">இந்தக் கொள்கை மூலம் அமைத்த நெட்வொர்க் உள்ளமைவுகளையும் CA சான்றிதழ்களையும் Android பயன்பாடுகளால் பயன்படுத்த முடியும், ஆனால் சில உள்ளமைவு விருப்பங்களை அணுக முடியாது.</translation> <translation id="2906874737073861391">AppPack நீட்டிப்புகளின் பட்டியல்</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" /> இலிருக்கும் எந்தப் பிரிண்டர்கள் பயனர்கள் பயன்படுத்துவதற்குக் கிடைக்கும் என்பதைக் கட்டுப்படுத்தும். + + மொத்தப் பிரிண்டர் உள்ளமைவுக்கு, எந்த அணுகல் கொள்கை பயன்படுத்தப்படும் என்பதைக் குறிப்பிடும். <ph name="PRINTERS_ALLOW_ALL" /> என்பது தேர்ந்தெடுக்கப்பட்டால், எல்லாப் பிரிண்டர்களும் காட்டப்படும். <ph name="PRINTERS_BLACKLIST" /> என்பது தேர்ந்தெடுக்கப்பட்டால், குறிப்பிட்ட பிரிண்டர்களுக்கான அணுகலைக் கட்டுப்படுத்த <ph name="BULK_PRINTERS_BLACKLIST" /> பயன்படுத்தப்படும். <ph name="PRINTERS_WHITELIST" /> என்பது தேர்ந்தெடுக்கப்பட்டால், தேர்ந்தெடுக்கக்கூடிய பிரிண்டர்களை மட்டுமே <ph name="BULK_PRINTERS_WHITELIST" /> குறிப்பிடும். + + இந்தக் கொள்கை அமைக்கப்படவில்லை என்றால், <ph name="PRINTERS_ALLOW_ALL" /> பயன்படுத்தப்படும். + </translation> <translation id="2908277604670530363">ப்ராக்ஸி சேவையகத்திற்கான அதிகபட்ச உடன்நிகழ்வு இணைப்புகளின் எண்ணிக்கை</translation> <translation id="2956777931324644324">இந்தக் கொள்கை <ph name="PRODUCT_NAME" /> பதிப்பு 36 உடன் காலாவதியானது. @@ -600,9 +599,6 @@ கொள்கை மதிப்பை மில்லிவினாடிகளில் மட்டுமே குறிப்பிட வேண்டும். மதிப்புகள் திரை முடக்கத்தின் தாமதம் (அமைக்கப்பட்டால்) மற்றும் செயலற்ற நிலைக்குக் குறைவாக அல்லது சமமாக இருக்குமாறு அமைக்கப்படும்.</translation> <translation id="2987155890997901449">ARCஐ இயக்கு</translation> <translation id="2987227569419001736">இணைய புளூடூத் API இன் பயன்பாட்டைக் கட்டுப்படுத்தும்</translation> -<translation id="3001534538097271560">இந்தக் கொள்கையைத் "தவறு" என அமைத்தால், சில சாதனத் தகவலையும் பக்க உள்ளடக்கத்தையும் Google சேவையகங்களுக்கு அனுப்பும்படி பயனர்கள் தேர்வுசெய்ய முடியாது. இந்த அமைப்பைச் "சரி" என அமைத்தாலோ அல்லது உள்ளமைக்காமல் இருந்தாலோ, ஆபத்துக்குரிய பயன்பாடுகளையும் தளங்களையும் கண்டறிவதற்கு உதவும் பாதுகாப்பான உலாவலுக்குச் சில சாதனத் தகவலையும் பக்க உள்ளடக்கத்தையும் பயனர்களால் அனுப்ப முடியும். - - பாதுகாப்பான உலாவல் குறித்த கூடுதல் தகவலுக்கு, https://developers.google.com/safe-browsing எனும் இணைப்பைப் பார்க்கவும்.</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> பூட்டுத் திரையில் அனுமதிக்க வேண்டிய குறிப்பெடுக்கும் பயன்பாடுகளை ஏற்புப்பட்டியலில் சேர்</translation> <translation id="3030000825273123558">மெட்ரிக்ஸ் அறிக்கைகளை இயக்கு</translation> <translation id="3034580675120919256">JavaScript ஐ இயக்குவதற்கு வலைத்தளங்கள் அனுமதிக்கப்படுகின்றனவா என்பதை அமைக்க உங்களை அனுமதிக்கிறது. JavaScript ஐ இயக்குதல் அனைத்து வலைத்தளங்களுக்கும் அனுமதிக்கப்படலாம் அல்லது அனைத்து வலைத்தளங்களுக்கும் நிராகரிக்கப்படலாம். இந்தக் கொள்கையை அமைக்காமல் விட்டிருந்தால், 'AllowJavaScript' பயன்படுத்தப்படும். மேலும் பயனர் அதை மாற்ற இயலும்.</translation> @@ -709,6 +705,9 @@ இந்தக் கொள்கை பயன்படுத்தப்பட்டால், இந்தக் கொள்கையில் உள்ள மதிப்புகளுடன் பொருந்தும் ஐடிகளைக் கொண்ட பிரிண்டர்கள் மட்டுமே பயனர் பயன்படுத்துவதற்குக் கிடைக்கும். <ph name="DEVICE_PRINTERS_POLICY" /> இல் குறிப்பிடப்பட்டுள்ள கோப்பில் உள்ள உள்ளீடுகளுடன் ஐடிகள் பொருந்த வேண்டும். </translation> +<translation id="3414260318408232239">இந்தக் கொள்கை உள்ளமைக்கப்படவில்லை எனில், <ph name="PRODUCT_NAME" /> இயல்பு குறைந்தபட்ச பதிப்பைப் (TLS 1.0) பயன்படுத்தும். + + இல்லையெனில், அது பின்வரும் மதிப்புகளில் ஏதேனும் ஒன்றுக்கு அமைக்கப்படலாம்: "tls1", "tls1.1" அல்லது "tls1.2". அவ்வாறு அமைக்கப்பட்டால், குறிப்பிட்ட பதிப்பிற்குக் குறைவான SSL/TLS பதிப்புகளை <ph name="PRODUCT_NAME" /> பயன்படுத்தாது. அறியப்படாத மதிப்பு புறக்கணிக்கப்படும்.</translation> <translation id="3417418267404583991">இந்தக் கொள்கையை true என அமைத்தாலோ அல்லது உள்ளமைக்கப்படவில்லையெனில், விருந்தினர் உள்நுழைவுகளை <ph name="PRODUCT_OS_NAME" /> இயக்கும். விருந்தினர் உள்நுழைவுகள் பெயரற்ற பயனர் அமர்வுகளாக இருக்கும். கடவுச்சொல் தேவையில்லை. இந்தக் கொள்கையை false என அமைத்தால், தொடங்குவதற்கு விருந்தினர் அமர்வுகளை <ph name="PRODUCT_OS_NAME" /> அனுமதிக்காது.</translation> @@ -822,6 +821,13 @@ இந்தக் கொள்கையை அமைக்காமல் இருந்தால், துவக்கத்தில் திரை விசைப்பலகை முடக்கப்பட்டிருக்கும் ஆனால் பயனர் அதை எந்நேரத்திலும் இயக்கலாம்.</translation> <translation id="382476126209906314">தொலைநிலை அணுகல் ஹோஸ்ட்களுக்கான TalkGadget முன்னொட்டை உள்ளமை</translation> +<translation id="3831376478177535007">இந்த அமைப்பு இயக்கப்பட்டிருக்கும் போது, Symantec Corporation இன் Legacy PKI செயல்பாடுகள் வழங்கிய சான்றிதழ்கள் வெற்றிகரமாகச் சரிபார்க்கப்பட்டு அங்கீகரிக்கப்பட்ட CA சான்றிதழுடன் இணைக்கப்பட்டிருந்தால் மட்டுமே, அவை நம்பத்தகுந்தவை என <ph name="PRODUCT_NAME" /> அனுமதிக்கும். + + இந்தக் கொள்கையானது, Symantec இன் legacy infrastructure வழங்கும் சான்றிதழ்களை இப்போதும் அங்கீகரிக்கும் ஆப்ரேட்டிங் சிஸ்டத்தைச் சார்ந்துள்ளது என்பதைக் கவனத்தில் கொள்ளவும். OS புதுப்பிப்பு காரணமாக, இத்தகைய சான்றிதழ்களை OS கையாளும் விதத்தில் மாற்றம் ஏற்பட்டால், இந்தக் கொள்கையை இனி பயன்படுத்த முடியாது. மேலும், legacy Symantec சான்றிதழ்களிடமிருந்து விலகுவதற்காக நிறுவனங்களுக்கு அதிக கால அவகாசத்தை அளிப்பதற்கான தற்காலிகத் தீர்வாகவும் இந்தக் கொள்கை பயன்படுத்தப்படுகிறது. இந்தக் கொள்கையானது ஜனவரி 1, 2019 அன்று அல்லது அதற்கு முன் பின் தேதிகளில் அகற்றப்படும். + + இந்தக் கொள்கையை அமைக்கவில்லை என்றாலோ அல்லது தவறு என அமைத்தாலோ, பொதுவில் அறிவிக்கப்பட்ட தடுப்புத் திட்டத்தை <ph name="PRODUCT_NAME" /> பின்பற்றும். + + இந்தத் தடுப்பைப் பற்றி மேலும் அறிய, பின்வரும் இணைப்பைப் பார்க்கவும்: https://g.co/chrome/symantecpkicerts.</translation> <translation id="383466854578875212">எந்த நேட்டிவ் செய்தியிடல் ஹோஸ்ட்கள் தடுப்புப்பட்டியலின் கீழ் வராது என்பதை நீங்கள் குறிப்பிடுவதற்கு அனுமதிக்கிறது. தடுப்புப்பட்டியல் மதிப்பு * என்பது தடுப்புப்பட்டியலில் உள்ள எல்லா நேட்டிவ் ஹோஸ்ட்களும் தடுப்புப்பட்டியலில் அடங்குபவையாகும், மேலும் ஏற்புப்பட்டியலில் பட்டியலிடப்பட்ட நேட்டிவ் செய்தியிடல் ஹோஸ்ட்கள் மட்டும் ஏற்றப்படும் என்பதாகும். @@ -978,7 +984,6 @@ கொள்கை அமைக்கப்படவில்லை எனில், பூட்டுத் திரையில் பயனர் இயக்கக்கூடிய பயன்பாடுகளின் தொகுப்பின் மீது கொள்கை விதிக்கும் எந்தக் கட்டுப்பாடுகளும் இருக்காது.</translation> <translation id="4309640770189628899">TLS இல் உள்ள DHE சைஃபர் சூட்களின் இயக்க நிலை</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 அல்லது அதற்கு பிந்தைய பதிப்பு</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> பதிப்பைக் கட்டுப்படுத்த, தாமதமின்றி தானாகத் துவங்கும் கியோஸ்க் பயன்பாட்டை அனுமதிக்கவும்</translation> <translation id="4325690621216251241">கணினி ட்ரேயில் வெளியேறு பொத்தனைச் சேர்க்கவும்</translation> <translation id="4346674324214534449">குறுக்கிடும் விளம்பரங்களுடன்கூடிய தளங்களில் விளம்பரங்களைத் தடுக்க வேண்டுமா என்பதை அமைப்பதற்கு அனுமதிக்கும்.
diff --git a/components/policy/resources/policy_templates_te.xtb b/components/policy/resources/policy_templates_te.xtb index c25226e..de014b4 100644 --- a/components/policy/resources/policy_templates_te.xtb +++ b/components/policy/resources/policy_templates_te.xtb
@@ -610,13 +610,6 @@ <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" /> ఫైల్ల అనువర్తనంలో డిస్క్ని నిలిపివేస్తుంది</translation> <translation id="268577405881275241">డేటా కుదింపు ప్రాక్సీ లక్షణాన్ని ప్రారంభించండి</translation> <translation id="2710534340210290498">ఈ విధానాన్ని తప్పుకు సెట్ చేస్తే, వినియోగదారులు స్క్రీన్ను లాక్ చేయలేరు (వినియోగదారు సెషన్ నుండి సైన్ అవుట్ చేయడం మాత్రమే సాధ్యమవుతుంది). ఈ సెట్టింగ్ను ఒప్పుకు సెట్ చేస్తే లేదా సెట్ చేయకుండా వదిలివేస్తే, పాస్వర్డ్ కలిగి ఉండే వినియోగదారులు స్క్రీన్ను లాక్ చేయగలరు.</translation> -<translation id="2726613915126661822">Chrome OSలో వర్చువల్ మిషన్లను అమలు చేయడానికి అనుమతించాలో లేదో నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది. - - విధానం ఒప్పుకు సెట్ చేస్తే, పరికరం వర్చువల్ మిషన్లను అమలు చేయడానికి అనుమతించబడుతుంది. - విధానాన్ని తప్పుకు సెట్ చేస్తే, పరికరం వర్చువల్ మిషన్లను అమలు చేయడానికి అనుమతించబడదు. - ఈ విధానం తప్పుకు మార్చబడినప్పుడు, ఇది కొత్త వర్చువల్ మిషన్లను ప్రారంభించటానికి వర్తిస్తుంది కానీ ఇప్పటికే నడుస్తున్న వర్చువల్ మిషన్లను షట్ డౌన్ చేయదు. - నిర్వహించే పరికరంలో ఈ విధానం సెట్ చేయబడనప్పుడు, పరికరం వర్చువల్ మిషన్లను అమలు చేయడానికి అనుమతించబడదు. - నిర్వహించని పరికరాలు వర్చువల్ మిషన్లను నడపటానికి అనుమతించబడతాయి.</translation> <translation id="2731627323327011390">ARC అనువర్తనాలకు <ph name="PRODUCT_OS_NAME" /> ప్రమాణపత్రాల వినియోగాన్ని నిలిపివేయండి</translation> <translation id="2742843273354638707">కొత్త ట్యాబ్ పేజీ మరియు <ph name="PRODUCT_OS_NAME" /> అనువర్తన లాంచర్లో Chrome వెబ్ స్టోర్ అనువర్తనాన్ని మరియు ఫుటర్ లింక్ను దాచిపెడుతుంది. @@ -685,6 +678,12 @@ <translation id="2893546967669465276">నిర్వహణ సర్వర్కు సిస్టమ్ లాగ్లను పంపుతుంది</translation> <translation id="2899002520262095963">Android అనువర్తనాలు ఈ విధానం ద్వారా సెట్ చేయబడిన నెట్వర్క్ కాన్ఫిగరేషన్లు మరియు CA ప్రమాణపత్రాలను ఉపయోగించవచ్చు, కానీ కొన్ని కాన్ఫిగరేషన్ ఎంపికలకు ప్రాప్యత కలిగి ఉండవు.</translation> <translation id="2906874737073861391">AppPack పొడిగింపుల జాబితా</translation> +<translation id="2907992746861405243"><ph name="BULK_PRINTERS_POLICY" /> నుండి ఏయే ప్రింటర్లను వినియోగదారులకు అందుబాటులో ఉంచాలో నియంత్రిస్తుంది. + + బల్క్ ప్రింటర్ కాన్ఫిగరేషన్ కోసం ఏ యాక్సెస్ విధానం ఉపయోగించాలో సూచిస్తుంది. <ph name="PRINTERS_ALLOW_ALL" /> ఎంచుకుంటే, అన్ని ప్రింటర్లు చూపబడతాయి. <ph name="PRINTERS_BLACKLIST" /> ఎంచుకుంటే, పేర్కొన్న ప్రింటర్లకు యాక్సెస్ పరిమితం చేయడానికి <ph name="BULK_PRINTERS_BLACKLIST" /> ఉపయోగించబడుతుంది. <ph name="PRINTERS_WHITELIST" /> ఎంచుకుంటే, <ph name="BULK_PRINTERS_WHITELIST" /> వాటిలో ఎంచుకోదగిన ప్రింటర్లను మాత్రమే సూచిస్తుంది. + + ఈ విధానం సెట్ చేయకపోతే, <ph name="PRINTERS_ALLOW_ALL" /> పరిగణించబడుతుంది. + </translation> <translation id="2908277604670530363">ప్రాక్సీ సర్వర్కు సమకాలిక కనెక్షన్ల గరిష్ట సంఖ్య</translation> <translation id="2956777931324644324">ఈ విధానం <ph name="PRODUCT_NAME" /> సంస్కరణ 36కి నిలిపివేయబడింది. @@ -712,9 +711,6 @@ ఈ విధానాన్ని సెట్ చేయనప్పుడు, మరింత-నిర్దిష్ట విధానాల యొక్క ప్రవర్తన ప్రభావితం కాదు.</translation> <translation id="2987155890997901449">ARCని ప్రారంభించండి</translation> <translation id="2987227569419001736">వెబ్ బ్లూటూత్ API వినియోగాన్ని నియంత్రించండి</translation> -<translation id="3001534538097271560">ఈ విధానాన్ని తప్పు ఎంపికకు సెట్ చేస్తే, వినియోగదారులు వారు ఎంచుకునే కొంత సిస్టమ్ సమాచారం మరియు పేజీ కంటెంట్ని Google సర్వర్లకు పంపలేకుండా అడ్డుకోబడతారు. ఈ సెట్టింగ్ ఒప్పు ఎంపికకు సెట్ చేస్తే లేదా కాన్ఫిగర్ చేయకుంటే, హానికరమైన అనువర్తనాలు మరియు సైట్లను గుర్తించడంలో సహాయపడటం కోసం కొంత సిస్టమ్ సమాచారం మరియు పేజీ కంటెంట్ని సురక్షిత బ్రౌజింగ్కు పంపడానికి వినియోగదారులు అనుమతించబడతారు. - - సురక్షిత బ్రౌజింగ్ గురించి మరింత సమాచారం కావాలంటే https://developers.google.com/safe-browsingని చూడండి.</translation> <translation id="3016255526521614822"><ph name="PRODUCT_OS_NAME" /> లాక్ స్క్రీన్పై అనుమతించిన వైట్లిస్ట్ విషయ సేకరణ యాప్లు</translation> <translation id="3030000825273123558">గణాంకాల నివేదనను ప్రారంభించు</translation> <translation id="3034580675120919256">JavaScriptను అమలు చేయడానికి వెబ్సైట్లను అనుమతించవచ్చో లేదో అనే దాన్ని సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. JavaScriptను అమలు చేయడం అన్ని వెబ్సైట్లకు అనుమతించవచ్చు లేదా అన్ని వెబ్సైట్లకు తిరస్కరించవచ్చు. ఈ విధానాన్ని సెట్ చేయకుండా వదిలి పెడితే, 'AllowJavaScript' ఉపయోగించబడుతుంది మరియు వినియోగదారు దీన్ని మార్చగలుగుతారు.</translation> @@ -828,6 +824,9 @@ ఈ విధానాన్ని ఉపయోగిస్తే, కేవలం ఈ విధానంలోని విలువలకు సరిపోలే idలు కలిగిన ప్రింటర్లు మాత్రమే వినియోగదారుకు అందుబాటులో ఉంటాయి. idలు తప్పనిసరిగా <ph name="DEVICE_PRINTERS_POLICY" />లో పేర్కొన్న ఫైల్లోని నమోదులకు సంబంధితంగా ఉండాలి. </translation> +<translation id="3414260318408232239">ఈ విధానాన్ని సెట్ చేయకుంటే, <ph name="PRODUCT_NAME" /> డిఫాల్ట్ కనీస వెర్షన్ అయిన TLS 1.0ని ఉపయోగిస్తుంది. + + లేదంటే, అది కింది విలువలలో ఒక దానికి సెట్ చేయబడవచ్చు: "tls1", "tls1.1" లేదా "tls1.2". సెట్ చేసినప్పుడు, <ph name="PRODUCT_NAME" /> పేర్కొన్న వెర్షన్ కంటే తక్కువ SSL/TLS వెర్షన్లను ఉపయోగించదు. గుర్తించని విలువ విస్మరించబడుతుంది.</translation> <translation id="3417418267404583991">ఈ విధానం ఒప్పుకు సెట్ చేయబడి ఉంటే లేదా కాన్ఫిగర్ చేయబడకుండా ఉంటే, <ph name="PRODUCT_OS_NAME" /> అతిథి లాగిన్లను అనుమతిస్తుంది. అతిథి లాగిన్లు అనామక వినియోగదారు సెషన్లు మరియు పాస్వర్డ్ అవసరం లేదు. ఈ విధానం తప్పుకు సెట్ చేయబడి ఉంటే, <ph name="PRODUCT_OS_NAME" /> ప్రారంభించడానికి అతిథి సెషన్లను అనుమతించదు.</translation> @@ -966,6 +965,13 @@ ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, స్క్రీన్లో కీబోర్డ్ ప్రారంభంలో నిలిపివేయబడుతుంది కానీ వినియోగదారు ఎప్పుడైనా ప్రారంభించవచ్చు.</translation> <translation id="382476126209906314">రిమోట్ ప్రాప్యత హోస్ట్ల కోసం TalkGadget ఆదిప్రత్యయాన్ని కాన్ఫిగర్ చేస్తుంది</translation> +<translation id="3831376478177535007">ఈ సెట్టింగ్ ప్రారంభించబడినట్లయితే, <ph name="PRODUCT_NAME" /> Symantec Corporation యొక్క Legacy PKI ఆపరేషన్స్ ద్వారా జారీ చేయబడిన సర్టిఫికేట్లను విశ్వసించడానికి అనుమతిస్తుంది, అయితే అవి విజయవంతంగా ధృవీకరించబడాలి మరియు CA సర్టిఫికేట్కి అనుబంధంగా ఉండాలి. + + ఈ విధానం ఆపరేటింగ్ సిస్టమ్ ఇప్పటికీ Symantec యొక్క లెగసీ ఇన్ఫ్రాస్ట్రక్చర్ జారీ చేసిన సర్టిఫికేట్లను గుర్తించడం పై ఆధారపడి ఉంటుందని గమనించండి. OS అప్డేట్ కారణంగా అటువంటి సర్టిఫికేట్ల OS నిర్వహణ మారినట్లయితే, ఆపై ఈ విధానం ప్రభావం చూపదు. ఆ తర్వాత, లెగసీ Symantec సర్టిఫికేట్ల నుండి మార్పిడి చేయడం కోసం ఎంటర్ప్రైజ్లకు మరింత సమయం ఇవ్వడం కోసం ఈ విధంగా ఒక తాత్కాలిక సేవ వలె అందుబాటులో ఉంటుంది. 1 జనవరి 2019న లేదా కొంచెం అటుఇటుగా ఈ విధానం తీసివేయబడుతుంది. + + ఈ విధానాన్ని సెట్ చేయకుంటే లేదా తప్పు వలె సెట్ చేసినట్లయితే, పబ్లిక్గా ప్రకటించిన విస్మరణ షెడ్యూల్ని <ph name="PRODUCT_NAME" /> అనుసరిస్తుంది. + + ఈ విస్మరణకు సంబంధించిన మరిన్ని వివరాల కోసం https://g.co/chrome/symantecpkicertsని చూడండి.</translation> <translation id="383466854578875212">నిరోధిత జాబితాకు లోబడి ఉండనవసరంలేని స్థానిక సందేశ పద్ధతి హోస్ట్లను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. * యొక్క నిరోధిత జాబితా విలువ అన్ని స్థానిక సందేశ పద్ధతి హోస్ట్లు నిరోధిత జాబితాలో ఉంచబడతాయని మరియు అనుమతి జాబితాలో జాబితా చేసిన స్థానిక సందేశ పద్ధతి హోస్ట్లు మాత్రమే లోడ్ అవుతాయని సూచిస్తుంది. @@ -1165,7 +1171,6 @@ విధానాన్ని సెట్ చేయకపోతే, విధానం ద్వారా విధించిన లాక్ స్క్రీన్పై వినియోగదారు ఆరంభించగలిగే యాప్ల సెట్పై నియంత్రణలు ఉండవు.</translation> <translation id="4309640770189628899">TLSలో DHE సైఫర్ సూట్లు ప్రారంభించాలో లేదో నిర్ణయిస్తుంది</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 లేదా తర్వాత</translation> <translation id="4322842393287974810"><ph name="PRODUCT_OS_NAME" /> సంస్కరణను నియంత్రించడం కోసం సున్నా జాప్యంతో స్వయంచాలకంగా ప్రారంభించబడిన కియోస్క్ అనువర్తనాన్ని అనుమతించండి</translation> <translation id="4325690621216251241">సిస్టమ్ ట్రేకు లాగ్అవుట్ బటన్ను జోడించండి</translation> <translation id="4346674324214534449">అనుచిత ప్రకటనల సైట్లలో ప్రకటనలు బ్లాక్ చేయాలా వద్దా అనే దాన్ని సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb index ab75b75..09962ec 100644 --- a/components/policy/resources/policy_templates_th.xtb +++ b/components/policy/resources/policy_templates_th.xtb
@@ -512,13 +512,6 @@ <translation id="267596348720209223">กำหนดการเข้ารหัสตัวอักษรที่สนับสนุนโดยผู้ให้บริการการค้นหา การเข้ารหัสหมายถึงชื่อหน้ารหัสอย่างเช่น UTF-8, GB2312 และ ISO-8859-1 โดยมีการนำมาใช้ตามลำดับที่ให้มา นโยบายนี้เป็นทางเลือก หากไม่ตั้งค่าไว้ จะมีการใช้ค่าเริ่มต้นซึ่งก็คือ UTF-8 นโยบายนี้จะใช้เฉพาะในกรณีที่มีการเปิดใช้งานนโยบาย "DefaultSearchProviderEnabled" เท่านั้น</translation> <translation id="2682225790874070339">ปิดใช้ไดรฟ์ในแอป Files ของ <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">เปิดใช้ฟีเจอร์พร็อกซีการบีบอัดข้อมูล</translation> -<translation id="2726613915126661822">อนุญาตให้คุณควบคุมว่าจะเรียกใช้เครื่องเสมือนใน Chrome OS ได้หรือไม่ - - หากตั้งค่านโยบายเป็น True อุปกรณ์จะมีสิทธิ์เรียกใช้เครื่องเสมือนได้ - หากตั้งค่านโยบายเป็น False อุปกรณ์จะไม่มีสิทธิ์เรียกใช้เครื่องเสมือน - การเปลี่ยนการตั้งค่าเป็น False จะส่งผลต่อการเริ่มเครื่องเสมือนรายการใหม่ แต่จะไม่ปิดเครื่องเสมือนที่เรียกใช้อยู่แล้ว - หากไม่ได้ตั้งค่านโยบายนี้ในอุปกรณ์ที่มีการจัดการ อุปกรณ์จะไม่มีสิทธิ์เรียกใช้เครื่องเสมือน - อุปกรณ์ที่ไม่มีการจัดการจะมีสิทธิ์เรียกใช้เครื่องเสมือน</translation> <translation id="2731627323327011390">ปิดการใช้งานใบรับรอง <ph name="PRODUCT_OS_NAME" /> สำหรับแอป ARC</translation> <translation id="2742843273354638707">ซ่อนแอป Chrome เว็บสโตร์ และลิงก์ส่วนท้ายจากหน้าแท็บใหม่ และเครื่องเรียกใช้งานแอป <ph name="PRODUCT_OS_NAME" /> @@ -609,9 +602,6 @@ ค่านโยบายควรกำหนดในหน่วยมิลลิวินาที ค่าจะถูกบีบให้น้อยกว่าหรือเท่ากับระยะหน่วงเวลาการปิดหน้าจอ (หากตั้งค่า) และระยะหน่วงเวลาของการไม่ใช้งาน</translation> <translation id="2987155890997901449">เปิดใช้ ARC</translation> <translation id="2987227569419001736">ควบคุมการใช้ Web Bluetooth API</translation> -<translation id="3001534538097271560">การตั้งค่านโยบายนี้เป็น False จะทำให้ผู้ใช้ไม่สามารถเลือกการส่งข้อมูลบางอย่างของระบบและเนื้อหาของหน้าไปยังเซิร์ฟเวอร์ Google หากการตั้งค่านี้เป็น True หรือไม่ได้กำหนดค่า ผู้ใช้จะสามารถส่งข้อมูลบางอย่างของระบบและเนื้อหาของหน้าไปยัง Safe Browsing เพื่อช่วยตรวจหาแอปและเว็บไซต์ที่เป็นอันตราย - - ไปที่ https://developers.google.com/safe-browsing เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ Safe Browsing</translation> <translation id="3016255526521614822">อนุญาตพิเศษให้แอปสำหรับจดโน้ตแสดงในหน้าจอล็อกของ <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">เปิดใช้งานการรายงานเมตริก</translation> <translation id="3034580675120919256">ช่วยให้คุณกำหนดว่าเว็บไซต์จะได้รับอนุญาตให้เรียกใช้ JavaScript หรือไม่ การเรียกใช้ JavaScript อาจจะได้รับอนุญาตสำหรับเว็บไซต์ทั้งหมดหรือปฏิเสธสำหรับเว็บไซต์ทั้งหมดก็ได้ หากนโยบายนี้ไม่มีการตั้งค่าไว้ จะมีการใช้ "AllowJavaScript" และผู้ใช้สามารถจะเปลี่ยนแปลงได้</translation> @@ -988,7 +978,6 @@ หากไม่ได้ตั้งค่านโยบาย ผู้ใช้จะเปิดใช้ชุดแอปในหน้าจอล็อกได้โดยไม่มีข้อจำกัดจากนโยบาย</translation> <translation id="4309640770189628899">เปิดใช้ชุดการเข้ารหัส DHE ใน TLS อยู่ไหม</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 หรือใหม่กว่า</translation> <translation id="4322842393287974810">อนุญาตแอปคีออสก์ที่เปิดอัตโนมัติด้วยความล่าช้าเป็น 0 เพื่อควบคุมเวอร์ชันของ <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">เพิ่มปุ่มออกจากระบบลงในถาดระบบ</translation> <translation id="4346674324214534449">อนุญาตให้คุณตั้งค่าได้ว่าจะบล็อกโฆษณาในเว็บไซต์ที่มีโฆษณาที่แทรกหรือไม่
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb index f8e094b..307e19e 100644 --- a/components/policy/resources/policy_templates_tr.xtb +++ b/components/policy/resources/policy_templates_tr.xtb
@@ -546,13 +546,6 @@ Bu politika, yalnızca 'DefaultSearchProviderEnabled' politikası etkinleştirilirse dikkate alınır.</translation> <translation id="2682225790874070339"><ph name="PRODUCT_OS_NAME" />, Files uygulamasında Drive'ı devre dışı bırakır</translation> <translation id="268577405881275241">Veri sıkıştırma proxy özelliğini etkinleştir</translation> -<translation id="2726613915126661822">Chrome OS'de sanal makinelerin çalıştırılmasına izin verilip verilmediğini kontrol etmenize olanak tanır. - - Politika Doğru (True) değerine ayarlanırsa cihazın sanal makineler çalıştırmasına izin verilir. - Politika Yanlış (False) değerine ayarlanırsa cihazın sanal makineler çalıştırmasına izin verilmez. - Bu politika Yanlış (False) olarak değiştirildiğinde, ayar yeni sanal makinelerin başlatılmasında geçerli olur, ancak halihazırda çalıştırılmakta olan sanal makineleri kapatmaz. - Yönetilen bir cihazda bu politika ayarlanmadığında, cihazın sanal makine çalıştırmasına izin verilmez. - Yönetilmeyen cihazların sanal makineler çalıştırmasına izin verilir.</translation> <translation id="2731627323327011390">ARC uygulamalarına ilişkin <ph name="PRODUCT_OS_NAME" /> sertifikalarının kullanımını devre dışı bırak</translation> <translation id="2742843273354638707">Chrome Web Mağazası uygulamasını ve alt bilgi bağlantısını Yeni Sekme Sayfası'nda ve <ph name="PRODUCT_OS_NAME" /> uygulama başlatıcısında gizle. @@ -617,6 +610,12 @@ <translation id="2893546967669465276">Yönetim sunucusuna sistem günlükleri gönder</translation> <translation id="2899002520262095963">Android uygulamaları, bu politika aracılığıyla ayarlanan CA sertifikalarını ve ağ yapılandırmalarını kullanabilir, ancak bazı yapılandırma seçeneklerine erişemez.</translation> <translation id="2906874737073861391">AppPack uzantılarının listesi</translation> +<translation id="2907992746861405243">Kullanıcıların <ph name="BULK_PRINTERS_POLICY" /> politikasındaki hangi yazıcıları kullanabileceğini kontrol eder. + + Toplu yazıcı yapılandırması için hangi erişim politikasının kullanılacağını belirler. <ph name="PRINTERS_ALLOW_ALL" /> seçilirse tüm yazıcılar gösterilir. <ph name="PRINTERS_BLACKLIST" /> seçilirse, belirtilen yazıcılara erişimi kısıtlamak için <ph name="BULK_PRINTERS_BLACKLIST" /> kullanılır. <ph name="PRINTERS_WHITELIST" /> seçilirse, <ph name="BULK_PRINTERS_WHITELIST" /> yalnızca seçilebilir yazıcıları gösterir. + + Bu politika ayarlanmazsa <ph name="PRINTERS_ALLOW_ALL" /> uygulanır. + </translation> <translation id="2908277604670530363">Proxy sunucusuyla yapılabilecek maksimum eşzamanlı bağlantı sayısı</translation> <translation id="2956777931324644324">Bu politika, <ph name="PRODUCT_NAME" /> 36. sürümü itibariyle geri çekilmiştir. @@ -638,9 +637,6 @@ Politika değeri milisaniye olarak belirtilmelidir. Değerler ekran kapanma gecikmesinden (ayarlanmışsa) ve boşta kalma gecikmesinden küçük veya ona eşit olacak şekilde bir aralığa sıkıştırılır.</translation> <translation id="2987155890997901449">ARC'yi etkinleştir</translation> <translation id="2987227569419001736">Web Bluetooth API'sının kullanımını kontrol et</translation> -<translation id="3001534538097271560">Bu politika yanlış seçeneğine ayarlandığında, kullanıcıların, bazı sistem bilgilerini ve sayfa içeriğini Google sunucularına göndermeyi seçmeleri engellenir. Bu ayar doğru seçeneğine ayarlanırsa veya hiç yapılandırılmazsa kullanıcılar, tehlikeli uygulamaların ve sitelerin tespit edilmesine yardımcı olmak amacıyla bazı sistem bilgilerini ve sayfa içeriğini Güvenli Tarama'ya gönderebilir. - - Güvenli Tarama ile ilgili daha fazla bilgi için https://developers.google.com/safe-browsing adresine bakın.</translation> <translation id="3016255526521614822">Beyaz listedeki not alma uygulamalarına <ph name="PRODUCT_OS_NAME" /> kilit ekranında izin verilir</translation> <translation id="3030000825273123558">Ölçüm raporlamayı etkinleştir</translation> <translation id="3034580675120919256">Web sitelerinin JavaScript çalıştırmalarına izin verilip verilmeyeceğini ayarlamanıza olanak tanır. Tüm sitelerin JavaScript çalıştırmasına izin verilebilir veya tüm siteler için bu reddedilebilir. @@ -754,6 +750,9 @@ Bu politika kullanılırsa, kullanıcı yalnızca kimlikleri bu politikadaki değerlerle eşleşen yazıcıları kullanabilir. Kimliklerin, <ph name="DEVICE_PRINTERS_POLICY" /> politikasında belirtilen dosyadaki girişlere karşılık gelmesi gerekir. </translation> +<translation id="3414260318408232239">Bu politika yapılandırılmazsa, <ph name="PRODUCT_NAME" /> varsayılan minimum sürüm olarak TLS 1.0'ı kullanır. + + Aksi halde, şu değerlerin birine ayarlanabilir: "tls1", "tls1.1" veya "tls1.2". Ayarlandığında, <ph name="PRODUCT_NAME" />, belirtilen sürümden düşük olan SSL/TLS sürümlerini kullanmaz. Tanınmayan bir değer yoksayılır.</translation> <translation id="3417418267404583991">Bu politika true olarak ayarlanırsa veya hiçbir şekilde ayarlanmazsa, <ph name="PRODUCT_OS_NAME" /> misafir modunda giriş yapılmasına izin verir. misafir girişleri adsız kullanıcı oturumlarıdır ve şifre gerektirmez. Bu politika false değerine ayarlanırsa, <ph name="PRODUCT_OS_NAME" /> misafir oturumlarının başlamasına izin vermez.</translation> @@ -859,6 +858,13 @@ Bu politika ayarlanmadan bırakılırsa ekran klavyesi başlangıçta devre dışı olur, ancak kullanıcı istediği zaman bu ayarı etkinleştirilebilir.</translation> <translation id="382476126209906314">Uzaktan erişim ana makineleri için TalkGadget önekini yapılandır</translation> +<translation id="3831376478177535007">Bu ayar etkinleştirildiğinde, <ph name="PRODUCT_NAME" />, başarılı bir şekilde doğrulanmaları ve tanınan bir CA sertifikası ile zincir oluşturmaları halinde Symantec Corporation'ın Eski PKI işlemleri tarafından yayınlanan sertifikalara güvenilmesine izin verir. + + Bu politikanın, işletim sisteminin Symantec'in eski altyapısından gelen sertifikaları tanımaya devam edip etmemesine bağlı olduğunu unutmayın. Bir OS güncellemesi, OS'un bu tür sertifikaları işleme şeklini değiştirirse bu politikanın etkisi ortadan kalkar. Ayrıca bu politika, kuruluşlara eski Symantec sertifikasından geçiş yapmaları için daha fazla zaman sağlayan geçici bir çözüm olarak tasarlanmıştır. Bu politika, tam olarak 1 Ocak 2019 tarihinde veya o tarihe yakın bir zamanda kaldırılacaktır. + + Bu politikanın ayarlanmaması veya yanlış değerine ayarlanması durumunda, <ph name="PRODUCT_NAME" />, herkese açık bir şekilde duyurulan kullanımdan kaldırma programını takip eder. + + Bu kullanımdan kaldırma süreci hakkında daha fazla bilgi için https://g.co/chrome/symantecpkicerts adresine bakın.</translation> <translation id="383466854578875212">Hangi yerel mesajlaşma ana makinelerinin kara listeye tabi olmayacağını belirtmenize olanak sağlar. Kara liste değerinin * olarak belirtilmesi tüm yerel mesajlaşma ana makinelerinin kara listede olacağı ve yalnızca beyaz listedeki yerel mesajlaşma ana makinelerinin yükleneceği anlamına gelir. @@ -1017,7 +1023,6 @@ Politika ayarlanmadan bırakılırsa, kullanıcının kilit ekranında etkinleştirebileceği uygulama dizisi üzerinde politika tarafından hiçbir kısıtlama söz konusu olmaz.</translation> <translation id="4309640770189628899">TLS'deki DHE şifre paketlerinin etkinleştirilip etkinleştirilmediği</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 veya sonrası</translation> <translation id="4322842393287974810">Sıfır gecikmeyle otomatik başlatılan kiosk uygulamasının <ph name="PRODUCT_OS_NAME" /> sürümünü kontrol etmesine izin ver</translation> <translation id="4325690621216251241">Sistem tepsisine çıkış düğmesi ekle</translation> <translation id="4346674324214534449">Araya giren reklamların yer aldığı sitelerde reklamların engellenip engellenmeyeceğini ayarlamanıza olanak tanır.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb index a537131..1ab3d56 100644 --- a/components/policy/resources/policy_templates_uk.xtb +++ b/components/policy/resources/policy_templates_uk.xtb
@@ -521,13 +521,6 @@ <translation id="267596348720209223">Указує системи кодування символів, які підтримуються пошуковою службою. Системи кодування – це назви сторінок кодів, як-от UTF-8, GB2312 та ISO-8859-1. Вони використовуються по порядку. Це правило не обов’язкове. Якщо його не встановлено, використовується значення за умовчанням, тобто UTF-8. Це правило застосовується, лише коли ввімкнено правило "DefaultSearchProviderEnabled".</translation> <translation id="2682225790874070339">Вимикає Диск у додатку Файли в <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Увімкнути проксі-сервер стиснення даних</translation> -<translation id="2726613915126661822">Дає змогу контролювати, чи можна запускати чи віртуальні машини в ОС Chrome. - - Якщо для правила вибрано значення "True", пристрою дозволено запускати віртуальні машини. - Якщо для правила вибрано значення "False", пристрою заборонено запускати віртуальні машини. - Якщо змінити значення цього правила на "False", заборона стосуватиметься запуску нових віртуальних машин, але вже запущені не закриються. - Якщо це правило не налаштовано на керованому пристрої, йому заборонено запускати віртуальні машини. - Некерованим пристроям дозволено запускати віртуальні машини.</translation> <translation id="2731627323327011390">Заборонити використовувати сертифікати <ph name="PRODUCT_OS_NAME" /> для додатків ARC</translation> <translation id="2742843273354638707">Ховає додаток Веб-магазин Chrome і посилання внизу на сторінці нової вкладки та панелі запуску додатків <ph name="PRODUCT_OS_NAME" />. @@ -619,9 +612,6 @@ Значення правила має вказуватися в мілісекундах. Також значення мають обов’язково бути меншими за затримку вимкнення екрана (якщо встановлено) і затримку через неактивність або дорівнювати їм.</translation> <translation id="2987155890997901449">Увімкнути ARC</translation> <translation id="2987227569419001736">Контролювати використання API Web Bluetooth</translation> -<translation id="3001534538097271560">Якщо для цього правила вибрано значення false, користувачі не можуть надсилати на сервери Google деяку системну інформацію та вміст сторінок. Якщо цей параметр не налаштовано або має значення true, користувачі можуть надсилати в службу Безпечний перегляд деяку системну інформацію та вміст сторінок, щоб допомогти виявляти небезпечні додатки й сайти. - - Відвідайте сторінку https://developers.google.com/safe-browsing, щоб дізнатися більше про Безпечний перегляд.</translation> <translation id="3016255526521614822">Додатки для нотаток, дозволені на заблокованому екрані <ph name="PRODUCT_OS_NAME" /></translation> <translation id="3030000825273123558">Увімкнути повідомлення показників</translation> <translation id="3034580675120919256">Дозволяє вказувати, чи можуть веб-сайти запускати JavaScript. Запуск JavaScript можна дозволити чи заборонити для всіх веб-сайтів. Якщо це правило не встановлено, використовується правило "AllowJavaScript", але користувач може змінювати це налаштування.</translation> @@ -1000,7 +990,6 @@ Зауважте, що правило, яке містить ідентифікатор додатка, не обов’язково означає, що користувач зможе вмикати цей додаток для створення нотаток на заблокованому екрані. Наприклад, у версії Chrome 61 платформа додатково обмежує набір доступних додатків. Якщо це правило не налаштовано, обмеження щодо додатків, які користувач може активувати на заблокованому екрані, не діють.</translation> <translation id="4309640770189628899">Коли набори шрифтів DHE в TLS увімкнено</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 або пізнішої версії</translation> <translation id="4322842393287974810">Дозволити додатку-терміналу, який запускається автоматично та без затримки, керувати версією <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Додати кнопку виходу в системну область</translation> <translation id="4346674324214534449">Дозволяє вказати, чи блокувати рекламу на сайтах із нав'язливими оголошеннями.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb index 08f102f3..2f9375d 100644 --- a/components/policy/resources/policy_templates_vi.xtb +++ b/components/policy/resources/policy_templates_vi.xtb
@@ -285,7 +285,7 @@ <translation id="2067011586099792101">Chặn truy cập vào các trang web nằm ngoài gói nội dung</translation> <translation id="2070270043919235595">Thông báo cho người dùng biết rằng phải chạy lại <ph name="PRODUCT_NAME" /> để áp dụng bản cập nhật đang chờ xử lý. - Cài đặt chính sách này cho phép thông báo để báo cho người dùng rằng họ cần hoặc bắt buộc phải chạy lại trình duyệt. Nếu người dùng không đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ cho người dùng biết rằng họ cần chạy lại qua các thay đổi nhỏ đối với menu của sản phẩm. Nếu người dùng đặt chính sách thành 'Đề xuất', một cảnh báo lặp lại sẽ hiển thị cho người dùng biết rằng họ cần chạy lại. Người dùng có thể bỏ qua cảnh báo này để hoãn việc chạy lại. Nếu người dùng đặt chính sách thành 'Bắt buộc', một cảnh báo lặp lại sẽ hiển thị cho người dùng biết rằng bắt buộc phải chạy lại trình duyệt sau khi khoảng thời gian thông báo đã hết. Khoảng thời gian này là 7 ngày theo mặc định và có thể định cấu hình qua cài đặt chính sách <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" />. + Cài đặt chính sách này bật thông báo để báo cho người dùng rằng họ cần hoặc bắt buộc phải chạy lại trình duyệt. Nếu người dùng không đặt chính sách này, <ph name="PRODUCT_NAME" /> sẽ cho người dùng biết rằng họ cần chạy lại qua các thay đổi nhỏ đối với menu của sản phẩm. Nếu người dùng đặt chính sách thành 'Đề xuất', một cảnh báo lặp lại sẽ hiển thị cho người dùng biết rằng họ cần chạy lại. Người dùng có thể bỏ qua cảnh báo này để hoãn việc chạy lại. Nếu người dùng đặt chính sách thành 'Bắt buộc', một cảnh báo lặp lại sẽ hiển thị cho người dùng biết rằng bắt buộc phải chạy lại trình duyệt sau khi khoảng thời gian thông báo đã hết. Khoảng thời gian này là 7 ngày theo mặc định và có thể định cấu hình qua cài đặt chính sách <ph name="RELAUNCH_NOTIFICATION_PERIOD_POLICY_NAME" />. Phiên của người dùng được lưu trữ sau lần chạy lại đó.</translation> <translation id="2077129598763517140">Sử dụng chế độ tăng tốc phần cứng khi khả dụng</translation> @@ -543,13 +543,6 @@ Chính sách này chỉ được áp dụng nếu chính sách 'DefaultSearchProviderEnabled' được bật.</translation> <translation id="2682225790874070339">Tắt Drive trong ứng dụng Tệp <ph name="PRODUCT_OS_NAME" /></translation> <translation id="268577405881275241">Bật tính năng proxy nén dữ liệu</translation> -<translation id="2726613915126661822">Cho phép bạn kiểm soát xem máy ảo có được phép chạy trên Chrome OS hay không. - - Nếu bạn đặt chính sách này là True, thiết bị sẽ được phép chạy máy ảo. - Nếu bạn đặt chính sách này là False, thiết bị sẽ không được phép chạy máy ảo. - Khi chuyển thành False, chính sách này sẽ áp dụng cho việc khởi động máy ảo mới nhưng không tắt máy ảo đang chạy. - Khi bạn không đặt chính sách này trên thiết bị được quản lý, tức là thiết bị sẽ đó không được phép chạy máy ảo. - Các thiết bị không được quản lý được phép chạy máy ảo.</translation> <translation id="2731627323327011390">Tắt sử dụng chứng chỉ <ph name="PRODUCT_OS_NAME" /> đối với ứng dụng ARC</translation> <translation id="2742843273354638707">Ẩn ứng dụng Cửa hàng Chrome trực tuyến và liên kết chân trang khỏi Trang tab mới và trình chạy ứng dụng <ph name="PRODUCT_OS_NAME" />. @@ -615,6 +608,12 @@ <translation id="2893546967669465276">Gửi nhật ký hệ thống đến máy chủ quản lý</translation> <translation id="2899002520262095963">Các ứng dụng Android có thể sử dụng cấu hình mạng và chứng chỉ CA được đặt qua chính sách này nhưng không có quyền truy cập vào một số tùy chọn cấu hình.</translation> <translation id="2906874737073861391">Danh sách tiện ích trong AppPack</translation> +<translation id="2907992746861405243">Kiểm soát máy in người dùng được phép sử dụng từ <ph name="BULK_PRINTERS_POLICY" />. + + Chỉ định chính sách truy cập dùng cho cấu hình máy in số lượng lớn. Nếu bạn chọn <ph name="PRINTERS_ALLOW_ALL" />, thì tất cả máy in sẽ hiển thị. Nếu bạn chọn <ph name="PRINTERS_BLACKLIST" />, thì <ph name="BULK_PRINTERS_BLACKLIST" /> sẽ dùng để hạn chế truy cập vào các máy in đã chỉ định. Nếu bạn chọn <ph name="PRINTERS_WHITELIST" />, thì <ph name="BULK_PRINTERS_WHITELIST" /> sẽ chỉ chỉ định những máy in có thể chọn được. + + Nếu bạn chưa đặt chính sách này, thì <ph name="PRINTERS_ALLOW_ALL" /> sẽ là tùy chọn mặc định. + </translation> <translation id="2908277604670530363">Số lượng tối đa kết nối đồng thời tới máy chủ proxy</translation> <translation id="2956777931324644324">Chính sách này ngừng hoạt động kể từ phiên bản 36 của <ph name="PRODUCT_NAME" />. @@ -636,9 +635,6 @@ Phải chỉ định giá trị chính sách bằng mili giây. Các giá trị được giới hạn ở mức nhỏ hơn hoặc bằng độ trễ tắt màn hình (nếu được đặt) và độ trễ khi không sử dụng.</translation> <translation id="2987155890997901449">Bật ARC</translation> <translation id="2987227569419001736">Kiểm soát việc sử dụng API Web Bluetooth</translation> -<translation id="3001534538097271560">Đặt chính sách này thành false sẽ ngăn người dùng chọn gửi nội dung trang và thông tin hệ thống nhất định tới máy chủ Google. Nếu cài đặt này là true hoặc không được định cấu hình, thì người dùng sẽ được phép gửi nội dung trang và thông tin hệ thống nhất định tới dịch vụ Duyệt web an toàn nhằm giúp phát hiện các ứng dụng cũng như trang web nguy hiểm. - - Hãy xem https://developers.google.com/safe-browsing để biết thêm thông tin về Duyệt web an toàn.</translation> <translation id="3016255526521614822">Đưa các ứng dụng ghi chú được phép trên màn hình khóa của <ph name="PRODUCT_OS_NAME" /> vào danh sách cho phép</translation> <translation id="3030000825273123558">Bật báo cáo số liệu</translation> <translation id="3034580675120919256">Cho phép bạn đặt liệu các trang web có được phép chạy JavaScript hay không. Bạn có thể cho phép hoặc từ chối chạy JavaScript đối với tất cả các trang web. @@ -752,6 +748,9 @@ Nếu bạn sử dụng chính sách này, thì chỉ những máy in có id phù hợp với các giá trị trong chính sách này mới được cung cấp cho người dùng. Các id này phải tương ứng với các mục nhập trong tệp đã chỉ định trong <ph name="DEVICE_PRINTERS_POLICY" />. </translation> +<translation id="3414260318408232239">Nếu bạn chưa định cấu hình chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ sử dụng phiên bản tối thiểu mặc định là TLS 1.0. + + Nếu không, bạn có thể đặt chính sách này thành một trong các giá trị sau: "tls1", "tls1.1" hoặc "tls1.2". Khi được đặt, <ph name="PRODUCT_NAME" /> sẽ không sử dụng các phiên bản SSL/TLS thấp hơn phiên bản đã chỉ định. Giá trị không xác định sẽ bị bỏ qua.</translation> <translation id="3417418267404583991">Nếu chính sách này được đặt thành đúng hoặc không được định cấu hình, <ph name="PRODUCT_OS_NAME" /> sẽ bật tính năng đăng nhập với tư cách khách. Các đăng nhập với tư cách khách là các phiên người dùng ẩn danh và không yêu cầu mật khẩu. Nếu chính sách này được đặt thành sai, <ph name="PRODUCT_OS_NAME" /> sẽ không cho phép bắt đầu phiên khách.</translation> @@ -859,6 +858,13 @@ Nếu chính sách không được đặt, ban đầu bàn phím ảo bị tắt nhưng người dùng có thể bật bất kỳ lúc nào.</translation> <translation id="382476126209906314">Định cấu hình tiền tố TalkGadget cho máy chủ truy cập từ xa</translation> +<translation id="3831376478177535007">Khi bạn bật cài đặt này, <ph name="PRODUCT_NAME" /> sẽ cho phép tin cậy các chứng chỉ do hoạt động của Cơ sở hạ tầng khóa công khai (PKI) cũ của Symantec Corporation phát hành nếu các chứng chỉ xác thực thành công và liên kết với một chứng chỉ CA được công nhận. + + Lưu ý rằng chính sách này phụ thuộc vào việc hệ điều hành vẫn công nhận các chứng chỉ từ hạ tầng cũ của Symantec. Nếu bản cập nhật hệ điều hành thay đổi cách xử lý các chứng chỉ đó của hệ điều hành, thì chính sách này sẽ không còn hiệu lực nữa. Ngoài ra, chính sách này có vai trò là giải pháp tạm thời để cho các doanh nghiệp có thêm thời gian di chuyển đổi chứng chỉ Symantec cũ. Chính sách này sẽ bị loại bỏ vào đúng hoặc khoảng ngày 01 tháng 01 năm 2019. + + Nếu bạn chưa đặt hoặc đặt chính sách này thành false, thì <ph name="PRODUCT_NAME" /> sẽ tuân theo lịch biểu ngừng hoạt động đã thông báo công khai. + + Hãy truy cập vào https://g.co/chrome/symantecpkicerts để biết thêm thông tin chi tiết về việc ngừng hoạt động này.</translation> <translation id="383466854578875212">Cho phép bạn chỉ định máy chủ nhắn tin gốc không bị đưa vào danh sách cấm. Giá trị danh sách cấm * nghĩa là tất cả máy chủ nhắn tin gốc đều bị đưa vào danh sách cấm và chỉ có máy chủ nhắn tin gốc được liệt kê trong danh sách cho phép mới được tải. @@ -1018,7 +1024,6 @@ Nếu không đặt chính sách thì sẽ không có hạn chế nào được chính sách áp dụng cho tập hợp các ứng dụng mà người dùng có thể bật trên màn hình khóa.</translation> <translation id="4309640770189628899">Bộ mã hóa DHE trong TLS có được bật hay không</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 hoặc mới hơn</translation> <translation id="4322842393287974810">Cho phép ứng dụng kiosk tự động khởi chạy với độ trễ bằng không kiểm soát phiên bản <ph name="PRODUCT_OS_NAME" /></translation> <translation id="4325690621216251241">Thêm một nút đăng xuất vào khay hệ thống</translation> <translation id="4346674324214534449">Cho phép bạn thiết lập xem có chặn quảng cáo trên các trang web chứa quảng cáo xâm nhập hay không. @@ -2467,11 +2472,11 @@ Chính sách này không ảnh hưởng đến việc người dùng có thể định cấu hình máy in trên từng thiết bị hay không. Chính sách này nhằm bổ sung cho cấu hình máy in của từng người dùng. </translation> -<translation id="8934944553121392674">Kiểm soát máy in nào từ <ph name="DEVICE_PRINTERS_POLICY" /> được cung cấp cho người dùng. +<translation id="8934944553121392674">Kiểm soát máy in người dùng được phép sử dụng từ <ph name="DEVICE_PRINTERS_POLICY" />. - Chỉ định chính sách truy cập được sử dụng cho cấu hình máy in số lượng lớn. Nếu bạn chọn <ph name="PRINTERS_ALLOW_ALL" />, thì tất cả máy in sẽ hiển thị. Nếu bạn chọn <ph name="PRINTERS_BLACKLIST" />, thì <ph name="DEVICE_PRINTERS_BLACKLIST" /> sẽ được sử dụng để hạn chế truy cập vào các máy in đã chỉ định. Nếu bạn chọn <ph name="PRINTERS_WHITELIST" />, thì <ph name="DEVICE_PRINTERS_WHITELIST" /> sẽ chỉ chỉ định những máy in có thể chọn được. + Chỉ định chính sách truy cập dùng cho cấu hình máy in số lượng lớn. Nếu bạn chọn <ph name="PRINTERS_ALLOW_ALL" />, thì tất cả máy in sẽ hiển thị. Nếu bạn chọn <ph name="PRINTERS_BLACKLIST" />, thì <ph name="DEVICE_PRINTERS_BLACKLIST" /> sẽ dùng để hạn chế truy cập vào các máy in đã chỉ định. Nếu bạn chọn <ph name="PRINTERS_WHITELIST" />, thì <ph name="DEVICE_PRINTERS_WHITELIST" /> sẽ chỉ chỉ định những máy in có thể chọn được. - Nếu bạn chưa đặt chính sách này, thì <ph name="PRINTERS_ALLOW_ALL" /> sẽ được sử dụng làm mặc định. + Nếu bạn chưa đặt chính sách này, thì <ph name="PRINTERS_ALLOW_ALL" /> sẽ là tùy chọn mặc định. </translation> <translation id="8947415621777543415">Báo cáo vị trí thiết bị</translation> <translation id="8951350807133946005">Thiết lập thư mục bộ nhớ đệm trên đĩa</translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb index 46ab3be..01bdddd 100644 --- a/components/policy/resources/policy_templates_zh-CN.xtb +++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -500,13 +500,6 @@ <translation id="267596348720209223">指定搜索服务提供商支持的字符编码。编码是指类似于 UTF-8、GB2312 和 ISO-8859-1 的代码页名称,并按此顺序进行尝试。此政策是可选的,如果未设置,将使用默认值 UTF-8。要实施此政策,必须先启用“DefaultSearchProviderEnabled”政策。</translation> <translation id="2682225790874070339">在<ph name="PRODUCT_OS_NAME" />的“文件”应用中停用Google云端硬盘</translation> <translation id="268577405881275241">启用数据压缩代理功能</translation> -<translation id="2726613915126661822">可让您控制是否允许在 Chrome 操作系统上运行虚拟机。 - - 如果此政策设为 True,则设备可以运行虚拟机。 - 如果此政策设为 False,则设备将无法运行虚拟机。 - 当此政策更改为 False 时,将会导致无法启动新的虚拟机,但已在运行的虚拟机将不会被关闭。 - 如果受管理设备上未设置此政策,则设备将无法运行虚拟机。 - 不受管理的设备可以运行虚拟机。</translation> <translation id="2731627323327011390">禁止 ARC 应用使用 <ph name="PRODUCT_OS_NAME" /> 证书</translation> <translation id="2742843273354638707">在“打开新的标签页”页面和 <ph name="PRODUCT_OS_NAME" />应用启动器中不显示“Chrome 网上应用店”应用和页脚链接。 @@ -598,9 +591,6 @@ 指定的政策值应以毫秒为单位,并且不得大于屏幕关闭延迟时间(如果设置了的话)和闲置延迟时间。</translation> <translation id="2987155890997901449">启用 ARC</translation> <translation id="2987227569419001736">控制对 Web Bluetooth API 的使用</translation> -<translation id="3001534538097271560">如果此政策设为 false,用户将无法选择向 Google 服务器发送一些系统信息和网页内容。如果此设置设为 true 或未配置,用户将能够向安全浏览服务发送一些系统信息和网页内容,以帮助检测危险应用和网站。 - - 要详细了解安全浏览功能,请访问 https://developers.google.com/safe-browsing。</translation> <translation id="3016255526521614822">允许在 <ph name="PRODUCT_OS_NAME" />锁定屏幕启用加入白名单的备注应用</translation> <translation id="3030000825273123558">启用指标报告</translation> <translation id="3034580675120919256">可让您设置是否允许网站运行 JavaScript。可以针对所有网站允许或拒绝运行 JavaScript。如果未设置此政策,系统将使用“AllowJavaScript”并允许用户更改此设置。</translation> @@ -971,7 +961,6 @@ 如果未设置此政策,则此政策不会限制用户可以在锁定屏幕上启用哪些应用。</translation> <translation id="4309640770189628899">是否在 TLS 中启用 DHE 加密套件</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 或更高版本</translation> <translation id="4322842393287974810">允许自动启动零延迟的自助服务终端应用控制 <ph name="PRODUCT_OS_NAME" />版本</translation> <translation id="4325690621216251241">向系统任务栏添加退出按钮</translation> <translation id="4346674324214534449">可让您设置是否应禁止含侵扰性广告的网站展示广告。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb index 4f9e21f..d6b5745 100644 --- a/components/policy/resources/policy_templates_zh-TW.xtb +++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -519,13 +519,6 @@ <translation id="267596348720209223">指定搜尋引擎支援的字元編碼。編碼就是 UTF-8、GB2312 和 ISO-8859-1 等字碼頁名稱。系統會以提供的順序來測試。這項政策是選擇性的,如果未設定,預設會使用的是 UTF-8。只有在啟用「DefaultSearchProviderEnabled」政策時,系統才會遵循這項政策。</translation> <translation id="2682225790874070339">停用 <ph name="PRODUCT_OS_NAME" />「檔案」應用程式中的雲端硬碟</translation> <translation id="268577405881275241">啟用資料壓縮 Proxy 功能</translation> -<translation id="2726613915126661822">讓你控制虛擬機器能否在 Chrome 作業系統上運作。 - - 如果將這項政策設為 True,裝置將可以執行虛擬機器。 - 如果將這項政策設為 False,裝置將無法執行虛擬機器。 - 當這項政策變更為 False 時,會禁止裝置啟動新的虛擬機器,但不會關閉已在執行中的虛擬機器。 - 在受管理的裝置上,如果不設定這項政策,裝置將無法執行虛擬機器。 - 未受管理的裝置則可執行虛擬機器。</translation> <translation id="2731627323327011390">禁止 ARC 應用程式使用「<ph name="PRODUCT_OS_NAME" />」憑證</translation> <translation id="2742843273354638707">在新分頁和 <ph name="PRODUCT_OS_NAME" />應用程式啟動畫面中隱藏 Chrome 線上應用程式商店和底端連結。 @@ -590,6 +583,12 @@ <translation id="2893546967669465276">將系統紀錄傳送到管理伺服器</translation> <translation id="2899002520262095963">Android 應用程式可以使用透過這項政策指定的網路設定和 CA 憑證,但無法存取部分設定選項。</translation> <translation id="2906874737073861391">AppPack 擴充功能清單</translation> +<translation id="2907992746861405243">根據 <ph name="BULK_PRINTERS_POLICY" /> 設定哪些印表機是可供使用的。 + + 指派用於大量印表機設定的存取權政策。如果選取 <ph name="PRINTERS_ALLOW_ALL" />,系統會顯示所有印表機。如果選取 <ph name="PRINTERS_BLACKLIST" />,系統會使用 <ph name="BULK_PRINTERS_BLACKLIST" /> 限制對特定印表機的存取權。如果選取 <ph name="PRINTERS_WHITELIST" />,<ph name="BULK_PRINTERS_WHITELIST" /> 只會指派可選取的印表機。 + + 如果未設定這項政策,系統會自動採用 <ph name="PRINTERS_ALLOW_ALL" />。 + </translation> <translation id="2908277604670530363">Proxy 伺服器的並行連線數量上限</translation> <translation id="2956777931324644324">我們已於 <ph name="PRODUCT_NAME" /> 版本 36 中移除這項政策。 @@ -611,9 +610,6 @@ 指定政策值時需以毫秒為單位。該值需小於或等於螢幕關閉延遲時間 (如有設定) 和閒置延遲時間。</translation> <translation id="2987155890997901449">啟用 ARC</translation> <translation id="2987227569419001736">控制 Web Bluetooth API 使用權限</translation> -<translation id="3001534538097271560">如果將此政策設為 False,使用者將無法選擇向 Google 伺服器傳送一些系統資訊和網頁內容;如果設為 True 或未設定,使用者就可以向「安全瀏覽」服務傳送一些系統資訊和網頁內容,協助我們偵測危險的應用程式和網站。 - - 如需進一步瞭解「安全瀏覽」功能,請參閱 https://developers.google.com/safe-browsing。</translation> <translation id="3016255526521614822">將「<ph name="PRODUCT_OS_NAME" />」螢幕鎖定畫面允許的筆記應用程式加入許可清單</translation> <translation id="3030000825273123558">啟用計量報告</translation> <translation id="3034580675120919256">允許你設定是否要讓網站執行 JavaScript。你可以允許或禁止所有網站執行 JavaScript。如果未設定這項政策,系統會使用「AllowJavaScript」,不過使用者可以變更設定。</translation> @@ -722,6 +718,9 @@ 一旦設定了這項政策,使用者就只能使用 ID 符合本政策值的印表機,且 ID 必須和 <ph name="DEVICE_PRINTERS_POLICY" /> 中指定的檔案項目相符。 </translation> +<translation id="3414260318408232239">如果未設定這項政策,<ph name="PRODUCT_NAME" /> 會使用預設最低版本 TLS 1.0。 + + 這項政策可使用的設定值包括:「tls1」、「tls1.1」或「tls1.2」。設定後,<ph name="PRODUCT_NAME" /> 就不會使用低於指定版本的 SSL/TLS 版本。系統會忽略無法辨識的值。</translation> <translation id="3417418267404583991">如果這項政策設為 True 或未設定,<ph name="PRODUCT_OS_NAME" /> 會啟用訪客登入。訪客登入是匿名的使用者工作階段,並且不需要密碼。 如果這項政策設為 False,<ph name="PRODUCT_OS_NAME" /> 不會允許開啟訪客工作階段。</translation> @@ -829,6 +828,13 @@ 如未設定這項政策,螢幕小鍵盤將預設為停用,但使用者可以隨時啟用這項功能。</translation> <translation id="382476126209906314">為遠端存取主機設定 TalkGadget 前置詞</translation> +<translation id="3831376478177535007">啟用這項設定時,如果賽門鐵克公司的舊版 PKI 作業核發的憑證成功通過驗證並鏈結至已辨識的 CA 憑證,就會受到 <ph name="PRODUCT_NAME" /> 信任。 + + 請注意,這項政策的效力取決於作業系統是否仍可辨識來自賽門鐵克公司舊版基礎架構的憑證。如果作業系統更新變更了作業系統對這類憑證的處理方式,這項政策就會失效。此外,這項政策是暫時性的解決方案,目的是讓使用舊版賽門鐵克公司憑證的企業有更多時間尋找其他解決方案。我們將於 2019 年 1 月 1 日左右移除這項政策。 + + 如果未設定這項政策,或是將這項政策設為 false,<ph name="PRODUCT_NAME" /> 將會按照公開宣佈的淘汰時間表。 + + 如要進一步瞭解這項淘汰作業,請參閱 https://g.co/chrome/symantecpkicerts。</translation> <translation id="383466854578875212">讓你指定不列入黑名單的內建訊息傳遞主機。 如果黑名單的值指定為 *,表示將所有內建訊息傳遞主機列入黑名單,只載入許可清單中列出的內建訊息傳遞主機。 @@ -984,7 +990,6 @@ 如未設定政策,使用者可在螢幕鎖定畫面中啟用的應用程式集就不會受到任何政策限制。</translation> <translation id="4309640770189628899">是否在 TLS 中啟用 DHE 加密套件</translation> -<translation id="4320376026953250541">Microsoft Windows XP SP2 或更新版本</translation> <translation id="4322842393287974810">允許使用無延遲資訊站應用程式的自動啟動功能來控制 <ph name="PRODUCT_OS_NAME" /> 版本</translation> <translation id="4325690621216251241">在系統列顯示登出按鈕</translation> <translation id="4346674324214534449">讓你設定是否禁止含侵入式廣告的網站顯示廣告。 @@ -2330,7 +2335,7 @@ 這項政策不會影響到使用者在個別裝置上設定印表機的權限,其目的是為了讓個別使用者指定的印表機設定更為完善。 </translation> -<translation id="8934944553121392674">控制 <ph name="DEVICE_PRINTERS_POLICY" /> 中哪些印表機可供使用。 +<translation id="8934944553121392674">根據 <ph name="DEVICE_PRINTERS_POLICY" /> 設定哪些印表機是可供使用的。 指派用於大量印表機設定的存取權政策。如果選取 <ph name="PRINTERS_ALLOW_ALL" />,系統會顯示所有印表機。如果選取 <ph name="PRINTERS_BLACKLIST" />,系統會使用 <ph name="DEVICE_PRINTERS_BLACKLIST" /> 限制對特定印表機的存取權。如果選取 <ph name="PRINTERS_WHITELIST" />,<ph name="DEVICE_PRINTERS_WHITELIST" /> 只會指派可選取的印表機。
diff --git a/components/rappor/rappor_service_impl.cc b/components/rappor/rappor_service_impl.cc index 3632283..7b4c684 100644 --- a/components/rappor/rappor_service_impl.cc +++ b/components/rappor/rappor_service_impl.cc
@@ -7,6 +7,7 @@ #include <memory> #include <utility> +#include "base/memory/ptr_util.h" #include "base/metrics/metrics_hashes.h" #include "base/time/time.h" #include "components/rappor/log_uploader.h"
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb index 4d957bd5..0406ce6 100644 --- a/components/strings/components_strings_am.xtb +++ b/components/strings/components_strings_am.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&አትም…</translation> <translation id="1181037720776840403">አስወግድ</translation> <translation id="1184214524891303587">የደህንነት ሊሆኑ የሚችሉ የክስተቶች ዝርዝሮችን በራስ-ሰር ለGoogle <ph name="BEGIN_WHITEPAPER_LINK" />ሪፖርት ያድርጉ<ph name="END_WHITEPAPER_LINK" />። <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">ክፍያ አልተጠናቀቀም</translation> <translation id="1201402288615127009">ቀጣይ</translation> <translation id="1201895884277373915">ተጨማሪ ከዚህ ጣቢያ</translation> <translation id="1206967143813997005">መጥፎ የመጀመሪያ ፊርማ</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">የእርስዎ ግንኙነት ተቋርጧል</translation> <translation id="471880041731876836">ይህን ጣቢያ የመጎብኘት ፈቃድ የለዎትም</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />የWindows አውታረ መረብ መመርመሪያን በማሄድ ላይ<ph name="END_LINK" /></translation> -<translation id="472349245089439925">የእርስዎ ክፍያ</translation> <translation id="4726672564094551039">መምሪያዎችን ዳግም ጫን</translation> <translation id="4728558894243024398">የመሣሪያ ስርዓት</translation> <translation id="4736825316280949806">Chromiumን ዳግም ያስጀምሩት</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">ተጨማሪ መረጃ ያክሉ</translation> <translation id="6447842834002726250">ኩኪዎች</translation> <translation id="6451458296329894277">እንደገና ለማስገባት የማረጋገጫ ቅጽ</translation> -<translation id="6456339708790392414">የእርስዎ ክፍያ</translation> <translation id="647261751007945333">የመሣሪያ መምሪያዎች</translation> <translation id="6477321094435799029">Chrome በዚህ ገጽ ላይ ያልተለመደ ኮድ አግኝቷል፣ እና የእርስዎን የግል መረጃ (ለምሳሌ፦ የይለፍ ቃላት፣ ስልክ ቁጥሮች እና ክሬዲት ካርዶች) ለመጠበቅ ሲባል አግዶታል።</translation> <translation id="6489534406876378309">ድምስሶችን መስቀል ጀምር</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb index 325693b..fcb4507 100644 --- a/components/strings/components_strings_ar.xtb +++ b/components/strings/components_strings_ar.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">ط&باعة...</translation> <translation id="1181037720776840403">إزالة</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />إبلاغ Google تلقائيًا<ph name="END_WHITEPAPER_LINK" /> بتفاصيل أي مخاطر أمنية محتملة. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">لم تكتمل عملية الدفع</translation> <translation id="1201402288615127009">التالي</translation> <translation id="1201895884277373915">المزيد من هذا الموقع</translation> <translation id="1206967143813997005">توقيع أوَّلي سيئ</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">تم قطع اتصالك</translation> <translation id="471880041731876836">ليس لديك إذن لزيارة هذا الموقع</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />تشغيل بيانات تشخيص شبكة Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">دفعتك</translation> <translation id="4726672564094551039">إعادة تحميل السياسات</translation> <translation id="4728558894243024398">النظام الأساسي</translation> <translation id="4736825316280949806">إعادة تشغيل Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">إضافة مزيد من المعلومات</translation> <translation id="6447842834002726250">ملفّات تعريف الارتباط</translation> <translation id="6451458296329894277">تأكيد إعادة إرسال النموذج</translation> -<translation id="6456339708790392414">دفعتك</translation> <translation id="647261751007945333">سياسات الأجهزة</translation> <translation id="6477321094435799029">اكتشف Chrome وجود رمز غير عادي على هذه الصفحة وأجرى حظرًا لهذا الرمز لحماية معلوماتك الشخصية (على سبيل المثال، كلمات المرور، وأرقام الهواتف، وبطاقات الائتمان).</translation> <translation id="6489534406876378309">بدء تحميل الأعطال</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb index 61e594287..4034663 100644 --- a/components/strings/components_strings_bg.xtb +++ b/components/strings/components_strings_bg.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Печат...</translation> <translation id="1181037720776840403">Премахване</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Автоматично съобщаване<ph name="END_WHITEPAPER_LINK" /> на Google на подробности за евентуални инциденти, свързани със сигурността. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Плащането не е завършено</translation> <translation id="1201402288615127009">Напред</translation> <translation id="1201895884277373915">Още от този сайт</translation> <translation id="1206967143813997005">Невалиден първоначален подпис</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Връзката ви бе прекъсната</translation> <translation id="471880041731876836">Нямате разрешение да посетите този сайт</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Стартирайте мрежова диагностика в Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Вашето плащане</translation> <translation id="4726672564094551039">Презареждане на правилата</translation> <translation id="4728558894243024398">Платформа</translation> <translation id="4736825316280949806">Рестартирайте Chromium.</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Добавяне на още информация</translation> <translation id="6447842834002726250">„Бисквитки“</translation> <translation id="6451458296329894277">Потвърдете повторното изпращане на формуляра</translation> -<translation id="6456339708790392414">Вашето плащане</translation> <translation id="647261751007945333">Правила за устройството</translation> <translation id="6477321094435799029">Chrome откри необичаен код на тази страница и я блокира, за да защити личната ви информация (например пароли, телефонни номера и номера на кредитни карти).</translation> <translation id="6489534406876378309">Стартиране на качването на сривове</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb index 5f1b2b7..4f4e004 100644 --- a/components/strings/components_strings_bn.xtb +++ b/components/strings/components_strings_bn.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&প্রিন্ট...</translation> <translation id="1181037720776840403">সরান</translation> <translation id="1184214524891303587">নিরাপত্তার সম্ভাব্য লঙ্ঘনের ঘটনাগুলির বিস্তারিত বিবরণ Google এর কাছে <ph name="BEGIN_WHITEPAPER_LINK" />স্বয়ংক্রিয়ভাবে প্রতিবেদন করুন<ph name="END_WHITEPAPER_LINK" />। <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">পেমেন্ট করা যায়নি</translation> <translation id="1201402288615127009">পরবর্তী</translation> <translation id="1201895884277373915">এই সাইট থেকে আরও</translation> <translation id="1206967143813997005">নষ্ট প্রাথমিক স্বাক্ষর</translation> @@ -496,7 +495,6 @@ <translation id="4708268264240856090">আপনার সংযোগ বাধাপ্রাপ্ত হয়েছে</translation> <translation id="471880041731876836">এই সাইট দেখার অনুমতি আপনার নেই</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows নেটওয়ার্ক ডায়গনিস্টিক্স চালান<ph name="END_LINK" /></translation> -<translation id="472349245089439925">আপনার অর্থপ্রদান</translation> <translation id="4726672564094551039">নীতিগুলি পুনঃলোড করুন</translation> <translation id="4728558894243024398">প্ল্যাটফর্ম</translation> <translation id="4736825316280949806">Chromium পুনরায় চালু করুন</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">আরও তথ্য যোগ করুন</translation> <translation id="6447842834002726250">কুকিজ</translation> <translation id="6451458296329894277">ফর্ম পুনঃজমা নিশ্চিত করুন</translation> -<translation id="6456339708790392414">আপনার অর্থপ্রদান</translation> <translation id="647261751007945333">ডিভাইস নীতিগুলি</translation> <translation id="6477321094435799029">Chrome এই পৃষ্ঠাতে অস্বাভাবিক কোড পেয়েছে এবং আপনার ব্যক্তিগত তথ্যের (উদাহরণস্বরূপ, পাসওয়ার্ড, ফোন নম্বর, এবং ক্রেডিট কার্ড) সুরক্ষার জন্য এটি অবরুদ্ধ করেছে।</translation> <translation id="6489534406876378309">ক্র্যাশগুলি আপলোড করা শুরু করুন</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb index 1cbd24a..74677b4d 100644 --- a/components/strings/components_strings_ca.xtb +++ b/components/strings/components_strings_ca.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Imprimeix...</translation> <translation id="1181037720776840403">Suprimeix</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Informa automàticament<ph name="END_WHITEPAPER_LINK" /> Google dels detalls sobre possibles incidències de seguretat. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">No s'ha completat el pagament</translation> <translation id="1201402288615127009">Següent</translation> <translation id="1201895884277373915">Més entrades d'aquest lloc</translation> <translation id="1206967143813997005">Signatura inicial incorrecta</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">La connexió s'ha interromput</translation> <translation id="471880041731876836">No tens permís per visitar aquest lloc web</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Executa el Diagnòstic de xarxa de Windows<ph name="END_LINK" />.</translation> -<translation id="472349245089439925">El teu pagament</translation> <translation id="4726672564094551039">Torna a carregar les polítiques</translation> <translation id="4728558894243024398">Plataforma</translation> <translation id="4736825316280949806">Reinicia Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Afegeix més informació</translation> <translation id="6447842834002726250">Galetes</translation> <translation id="6451458296329894277">Confirma el reenviament del formulari</translation> -<translation id="6456339708790392414">El teu pagament</translation> <translation id="647261751007945333">Polítiques de dispositius</translation> <translation id="6477321094435799029">Chrome ha detectat codi poc comú en aquesta pàgina i, per tant, l'ha bloquejat per protegir la teva informació personal (per exemple, contrasenyes, números de telèfon i targetes de crèdit).</translation> <translation id="6489534406876378309">Comença a penjar els errors</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb index be4cb26..c62788a5 100644 --- a/components/strings/components_strings_cs.xtb +++ b/components/strings/components_strings_cs.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Tisk...</translation> <translation id="1181037720776840403">Odebrat</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automaticky Googlu hlásit<ph name="END_WHITEPAPER_LINK" /> podrobnosti o možných bezpečnostních incidentech. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Platba nebyla dokončena</translation> <translation id="1201402288615127009">Další</translation> <translation id="1201895884277373915">Více z tohoto webu</translation> <translation id="1206967143813997005">Chybný počáteční podpis</translation> @@ -491,7 +490,6 @@ <translation id="4708268264240856090">Připojení bylo přerušeno</translation> <translation id="471880041731876836">K návštěvě tohoto webu nemáte povolení</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Spustit Diagnostiku sítě systému Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Vaše platba</translation> <translation id="4726672564094551039">Znovu načíst zásady</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Restartujte Chromium</translation> @@ -717,7 +715,6 @@ <translation id="6446608382365791566">Přidání dalších informací</translation> <translation id="6447842834002726250">Soubory cookie</translation> <translation id="6451458296329894277">Potvrdit nové odeslání formuláře</translation> -<translation id="6456339708790392414">Vaše platba</translation> <translation id="647261751007945333">Zásady zařízení</translation> <translation id="6477321094435799029">Chrome na této stránce zjistil neobvyklý kód a z důvodu ochrany vašich osobních údajů (například hesel, telefonních čísel a platebních karet) ji zablokoval.</translation> <translation id="6489534406876378309">Začít nahrávat zprávy o selhání</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb index 7c2bfcca..642f122a 100644 --- a/components/strings/components_strings_da.xtb +++ b/components/strings/components_strings_da.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Udskriv...</translation> <translation id="1181037720776840403">Fjern</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Rapportér automatisk<ph name="END_WHITEPAPER_LINK" /> oplysninger om mulige sikkerhedsproblemer til Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Betalingen blev ikke gennemført</translation> <translation id="1201402288615127009">Næste</translation> <translation id="1201895884277373915">Mere fra dette website</translation> <translation id="1206967143813997005">Ugyldig første signatur</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Din forbindelse blev afbrudt</translation> <translation id="471880041731876836">Du har ikke tilladelse til at besøge dette website</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Køre Windows Netværksdiagnosticering<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Din betaling</translation> <translation id="4726672564094551039">Opdater politikker</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Genstart Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Tilføj flere oplysninger</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Bekræft genindsendelse af formular</translation> -<translation id="6456339708790392414">Din betaling</translation> <translation id="647261751007945333">Enhedspolitikker</translation> <translation id="6477321094435799029">Chrome registrerede usædvanlig kode på denne side og blokerede den for at beskytte dine personlige oplysninger (f.eks. adgangskoder, telefonnumre eller kreditkort).</translation> <translation id="6489534406876378309">Start upload af nedbrud</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb index 559915f..d8adfd2 100644 --- a/components/strings/components_strings_de.xtb +++ b/components/strings/components_strings_de.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Drucken...</translation> <translation id="1181037720776840403">Entfernen</translation> <translation id="1184214524891303587">Informationen zu sicherheitsrelevanten Zwischenfällen <ph name="BEGIN_WHITEPAPER_LINK" />automatisch Google melden<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Zahlung nicht abgeschlossen</translation> <translation id="1201402288615127009">Weiter</translation> <translation id="1201895884277373915">Mehr von dieser Website</translation> <translation id="1206967143813997005">Erste Signatur ungültig</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">Die Verbindung wurde unterbrochen</translation> <translation id="471880041731876836">Sie sind nicht berechtigt, auf diese Website zuzugreifen</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows-Netzwerkdiagnose ausführen<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Bezahlung</translation> <translation id="4726672564094551039">Richtlinien neu laden</translation> <translation id="4728558894243024398">Plattform</translation> <translation id="4736825316280949806">Chromium neu starten</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">Weitere Informationen hinzufügen</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Erneute Formular-Übermittlung bestätigen</translation> -<translation id="6456339708790392414">Bezahlung</translation> <translation id="647261751007945333">Geräterichtlinien</translation> <translation id="6477321094435799029">Chrome hat auf dieser Seite ungewöhnlichen Code erfasst und diese Seite daher blockiert, um Ihre personenbezogenen Daten wie Passwörter, Telefonnummern oder Kreditkarteninformationen zu schützen.</translation> <translation id="6489534406876378309">Hochladen von Abstürzen starten</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb index 8465dd7..c53e11a 100644 --- a/components/strings/components_strings_el.xtb +++ b/components/strings/components_strings_el.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Εκτύπωση...</translation> <translation id="1181037720776840403">Κατάργηση</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Αυτόματη αναφορά<ph name="END_WHITEPAPER_LINK" /> στην Google λεπτομερειών σχετικά με πιθανά περιστατικά ασφάλειας.<ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Η πληρωμή δεν ολοκληρώθηκε</translation> <translation id="1201402288615127009">Επόμενο</translation> <translation id="1201895884277373915">Περισσότερα από αυτόν τον ιστότοπο</translation> <translation id="1206967143813997005">Εσφαλμένη αρχική υπογραφή</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Η σύνδεσή σας διακόπηκε</translation> <translation id="471880041731876836">Δεν έχετε άδεια να επισκεφτείτε αυτόν τον ιστότοπο</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Να εκτελέσετε τον Διαγνωστικό έλεγχο δικτύου των Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Η πληρωμή σας</translation> <translation id="4726672564094551039">Επανάληψη φόρτωσης πολιτικών</translation> <translation id="4728558894243024398">Πλατφόρμα</translation> <translation id="4736825316280949806">Επανεκκινήστε το Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Προσθήκη περισσότερων πληροφοριών</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Επιβεβαίωση νέας υποβολής φόρμας</translation> -<translation id="6456339708790392414">Η πληρωμή σας</translation> <translation id="647261751007945333">Πολιτικές συσκευών </translation> <translation id="6477321094435799029">Το Chrome εντόπισε ασυνήθιστο κώδικα σε αυτήν τη σελίδα και τον απέκλεισε για να προστατεύσει τα προσωπικά σας στοιχεία (για παράδειγμα, κωδικούς πρόσβασης, αριθμούς τηλεφώνου ή πιστωτικές κάρτες).</translation> <translation id="6489534406876378309">Έναρξη μεταφόρτωσης σφαλμάτων</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb index 230cd388..082d8e94 100644 --- a/components/strings/components_strings_en-GB.xtb +++ b/components/strings/components_strings_en-GB.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Print...</translation> <translation id="1181037720776840403">Remove</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automatically report<ph name="END_WHITEPAPER_LINK" /> details of possible security incidents to Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Payment Not Completed</translation> <translation id="1201402288615127009">Next</translation> <translation id="1201895884277373915">More from this site</translation> <translation id="1206967143813997005">Bad initial signature</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Your connection was interrupted</translation> <translation id="471880041731876836">You don't have permission to visit this site</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Running Windows Network Diagnostics<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Your payment</translation> <translation id="4726672564094551039">Reload policies</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Restart Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Add more information</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirm Form Resubmission</translation> -<translation id="6456339708790392414">Your Payment</translation> <translation id="647261751007945333">Device policies</translation> <translation id="6477321094435799029">Chrome detected unusual code on this page and blocked it to protect your personal information (for example, passwords, phone numbers and credit cards).</translation> <translation id="6489534406876378309">Start uploading crashes</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb index 50e0ad09..81cbf58 100644 --- a/components/strings/components_strings_es-419.xtb +++ b/components/strings/components_strings_es-419.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Im&primir...</translation> <translation id="1181037720776840403">Eliminar</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Informar automáticamente<ph name="END_WHITEPAPER_LINK" /> los detalles de posibles incidentes de seguridad a Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">No se completó el pago</translation> <translation id="1201402288615127009">Siguiente</translation> <translation id="1201895884277373915">Más sobre este sitio</translation> <translation id="1206967143813997005">La firma inicial no es válida</translation> @@ -496,7 +495,6 @@ <translation id="4708268264240856090">Se interrumpió la conexión</translation> <translation id="471880041731876836">No tienes permiso para visitar este sitio</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Ejecución del Diagnóstico de red de Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Tu pago</translation> <translation id="4726672564094551039">Volver a cargar políticas</translation> <translation id="4728558894243024398">Plataforma</translation> <translation id="4736825316280949806">Reinicia Chromium.</translation> @@ -723,7 +721,6 @@ <translation id="6446608382365791566">Agregar más información</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirmar reenvío del formulario</translation> -<translation id="6456339708790392414">Tu pago</translation> <translation id="647261751007945333">Políticas de dispositivos</translation> <translation id="6477321094435799029">Chrome detectó código inusual en esta página y la bloqueó para proteger tu información personal (p. ej.: contraseñas, números de teléfono y tarjetas de crédito).</translation> <translation id="6489534406876378309">Comenzar a cargar fallos</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb index aa7731e80..8943191 100644 --- a/components/strings/components_strings_es.xtb +++ b/components/strings/components_strings_es.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Im&primir...</translation> <translation id="1181037720776840403">Eliminar</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Informar automáticamente<ph name="END_WHITEPAPER_LINK" /> a Google sobre los detalles de posibles incidentes de seguridad. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Pago no completado</translation> <translation id="1201402288615127009">Siguiente</translation> <translation id="1201895884277373915">Más entradas de este sitio</translation> <translation id="1206967143813997005">Firma inicial no válida</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Se ha interrumpido la conexión</translation> <translation id="471880041731876836">No tienes permiso para acceder a este sitio web</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Ejecutar Diagnósticos de red de Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Tu pago</translation> <translation id="4726672564094551039">Volver a cargar políticas</translation> <translation id="4728558894243024398">Plataforma</translation> <translation id="4736825316280949806">Reinicia Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Añadir más información</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirmar reenvío del formulario</translation> -<translation id="6456339708790392414">Tu pago</translation> <translation id="647261751007945333">Políticas de dispositivos</translation> <translation id="6477321094435799029">Chrome ha detectado un código inusual en esta página y lo ha bloqueado para proteger tu información personal (por ejemplo, contraseñas, números de teléfono y tarjetas de crédito).</translation> <translation id="6489534406876378309">Empezar a subir errores</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb index 9c2bb434..d77459c 100644 --- a/components/strings/components_strings_et.xtb +++ b/components/strings/components_strings_et.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Prindi...</translation> <translation id="1181037720776840403">Eemalda</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Teavita Google'it automaatselt<ph name="END_WHITEPAPER_LINK" /> võimalikest turvaintsidentidest. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Makset ei viidud lõpule</translation> <translation id="1201402288615127009">Edasi</translation> <translation id="1201895884277373915">Veel sellelt saidilt</translation> <translation id="1206967143813997005">Sobimatu algne allkiri</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Teie ühendus katkes</translation> <translation id="471880041731876836">Teil ei ole selle saidi külastamiseks luba</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windowsi võrgudiagnostika käitamine<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Teie makse</translation> <translation id="4726672564094551039">Laadi reeglid uuesti</translation> <translation id="4728558894243024398">Platvorm</translation> <translation id="4736825316280949806">Taaskäivitage Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Lisateabe lisamine</translation> <translation id="6447842834002726250">Küpsised</translation> <translation id="6451458296329894277">Kinnita vormi uuestiesitamist</translation> -<translation id="6456339708790392414">Teie makse</translation> <translation id="647261751007945333">Seadme reeglid</translation> <translation id="6477321094435799029">Chrome tuvastas sellel lehel ebatavalise koodi ja blokeeris selle, et teie isiklikke andmeid (nt paroolid, telefoninumbrid ja krediitkaardiandmed) kaitsta.</translation> <translation id="6489534406876378309">Krahhide üleslaadimise alustamine</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb index a92a4a9..df82671 100644 --- a/components/strings/components_strings_fa.xtb +++ b/components/strings/components_strings_fa.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&چاپ...</translation> <translation id="1181037720776840403">حذف</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" /> گزارش خودکار <ph name="END_WHITEPAPER_LINK" /> جزئیات حوادث امنیتی احتمالی به Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">پرداخت کامل نشد</translation> <translation id="1201402288615127009">بعدی</translation> <translation id="1201895884277373915">موارد بیشتر از این سایت</translation> <translation id="1206967143813997005">امضای اولیه نادرست</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">اتصال شما قطع شد</translation> <translation id="471880041731876836">برای بازدید کردن از این سایت، مجوز لازم ندارید</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />در حال اجرای Windows Network Diagnostics<ph name="END_LINK" /></translation> -<translation id="472349245089439925">پرداخت شما</translation> <translation id="4726672564094551039">تازهسازی خط مشیها</translation> <translation id="4728558894243024398">پلت فورم</translation> <translation id="4736825316280949806">Chromium را راهاندازی مجدد کنید</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">افزودن اطلاعات بیشتر</translation> <translation id="6447842834002726250">کوکیها</translation> <translation id="6451458296329894277">تأیید ارسال مجدد فرم</translation> -<translation id="6456339708790392414">پرداخت شما</translation> <translation id="647261751007945333">خطمشیهای دستگاه</translation> <translation id="6477321094435799029">Chrome کد نامعمول در این این صفحه شناسایی کرده و برای محافظت از اطلاعات شخصیتان (مثلاً گذرواژهها، شماره تلفنها و کارتهای اعتباری) آن را مسدود کرده است.</translation> <translation id="6489534406876378309">شروع بارگذاری کردن خرابیها</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb index e2267d8..f6aa8920 100644 --- a/components/strings/components_strings_fi.xtb +++ b/components/strings/components_strings_fi.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Tulo&sta...</translation> <translation id="1181037720776840403">Poista</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Ilmoita Googlelle automaattisesti<ph name="END_WHITEPAPER_LINK" /> mahdollisista turvallisuusongelmista. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Maksua ei suoritettu loppuun</translation> <translation id="1201402288615127009">Seuraava</translation> <translation id="1201895884277373915">Lisää tästä sivustosta</translation> <translation id="1206967143813997005">Virheellinen alkuperäinen allekirjoitus</translation> @@ -496,7 +495,6 @@ <translation id="4708268264240856090">Yhteys keskeytyi</translation> <translation id="471880041731876836">Sinulla ei ole lupaa siirtyä tälle sivustolle.</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windowsin verkon diagnostiikkaa<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Maksu</translation> <translation id="4726672564094551039">Päivitä käytännöt</translation> <translation id="4728558894243024398">Käyttöympäristö</translation> <translation id="4736825316280949806">Käynnistä Chromium uudelleen.</translation> @@ -723,7 +721,6 @@ <translation id="6446608382365791566">Lisää tietoja</translation> <translation id="6447842834002726250">Evästeet</translation> <translation id="6451458296329894277">Vahvista lomakkeen uudelleenlähetys</translation> -<translation id="6456339708790392414">Maksu</translation> <translation id="647261751007945333">Laitekäytännöt</translation> <translation id="6477321094435799029">Chrome havaitsi tällä sivulla epätavallista koodia ja esti sen suojellakseen henkilötietojasi (esimerkiksi salasanoja, puhelinnumeroita tai luottokorttitietoja).</translation> <translation id="6489534406876378309">Aloita kaatumistietojen lähettäminen</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb index 10e243b..55b491c2 100644 --- a/components/strings/components_strings_fil.xtb +++ b/components/strings/components_strings_fil.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&I-print...</translation> <translation id="1181037720776840403">Alisin</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Awtomatikong iulat<ph name="END_WHITEPAPER_LINK" /> ang mga detalye ng mga posibleng insidente ng seguridad sa Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Hindi Nakumpleto ang Pagbabayad</translation> <translation id="1201402288615127009">Susunod</translation> <translation id="1201895884277373915">Higit pa mula sa site na ito</translation> <translation id="1206967143813997005">Hindi magandang paunang signature</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Naputol ang iyong koneksyon</translation> <translation id="471880041731876836">Wala kang pahintulot na bisitahin ang site na ito</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Magpatakbo ng Windows Network Diagnostics<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Iyong pagbabayad</translation> <translation id="4726672564094551039">I-reload ang mga patakaran</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">I-restart ang Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Magdagdag ng higit pang impormasyon</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Muling pagsusumite ng Form sa Pagkumpirma</translation> -<translation id="6456339708790392414">Iyong Pagbabayad</translation> <translation id="647261751007945333">Mga patakaran sa device</translation> <translation id="6477321094435799029">May natukoy na kakaibang code ang Chrome sa page na ito at na-block ito upang protektahan ang iyong personal na impormasyon (halimbawa, mga password, numero ng telepono at credit card).</translation> <translation id="6489534406876378309">Simulang mag-upload ng mga pag-crash</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb index 13f8d9ce..c68c6897 100644 --- a/components/strings/components_strings_fr.xtb +++ b/components/strings/components_strings_fr.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Im&primer...</translation> <translation id="1181037720776840403">Supprimer</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Signaler automatiquement<ph name="END_WHITEPAPER_LINK" /> les incidents de sécurité potentiels à Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Paiement non finalisé</translation> <translation id="1201402288615127009">Suivant</translation> <translation id="1201895884277373915">Plus de résultats pour ce site</translation> <translation id="1206967143813997005">Signature initiale incorrecte</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Votre connexion a été interrompue</translation> <translation id="471880041731876836">Vous n'êtes pas autorisé à consulter ce site</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Exécuter les diagnostics réseau de Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Votre paiement</translation> <translation id="4726672564094551039">Actualiser les règles</translation> <translation id="4728558894243024398">Plate-forme</translation> <translation id="4736825316280949806">Relancez Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Ajouter d'autres informations</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirmer le nouvel envoi du formulaire</translation> -<translation id="6456339708790392414">Votre paiement</translation> <translation id="647261751007945333">Règles relatives aux appareils</translation> <translation id="6477321094435799029">Chrome a détecté un code inhabituel sur cette page et a bloqué cette dernière pour protéger vos informations personnelles (mots de passe, numéros de téléphone et de cartes de paiement).</translation> <translation id="6489534406876378309">Lancer l'importation des plantages</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb index 6c5bc061..6b3c8ea 100644 --- a/components/strings/components_strings_gu.xtb +++ b/components/strings/components_strings_gu.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&છાપો...</translation> <translation id="1181037720776840403">દૂર કરો</translation> <translation id="1184214524891303587">Google ને સંભવિત સુરક્ષા ઘટનાઓની વિગતોની <ph name="BEGIN_WHITEPAPER_LINK" />આપમેળે જાણ કરો<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">ચુકવણી પૂર્ણ થઇ નથી</translation> <translation id="1201402288615127009">આગલું</translation> <translation id="1201895884277373915">આ સાઇટથી વધુ</translation> <translation id="1206967143813997005">ખોટી નાની સહી</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">તમારું કનેક્શન અવરોધાયું હતું</translation> <translation id="471880041731876836">તમારી પાસે આ સાઇટની મુલાકાત લેવાની પરવાનગી નથી</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows નેટવર્ક ડાયગ્નોસ્ટિક્સ ચલાવી રહ્યાં છે<ph name="END_LINK" /></translation> -<translation id="472349245089439925">તમારી ચુકવણી</translation> <translation id="4726672564094551039">નીતિઓ ફરીથી લોડ કરો</translation> <translation id="4728558894243024398">પ્લેટફોર્મ</translation> <translation id="4736825316280949806">Chromium ને પુનઃપ્રારંભ કરો</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">વધુ માહિતી ઉમેરો</translation> <translation id="6447842834002726250">કૂકીઝ</translation> <translation id="6451458296329894277">ફોર્મનાં ફરી સબમિશનની પુષ્ટિ કરો</translation> -<translation id="6456339708790392414">તમારી ચુકવણી</translation> <translation id="647261751007945333">ઉપકરણ નીતિઓ</translation> <translation id="6477321094435799029">Chrome ને આ પૃષ્ઠ પર અસામાન્ય કોડ મળ્યો અને તમારી વ્યક્તિગત માહિતી (ઉદાહરણ તરીકે, પાસવર્ડ્સ, ફોન નંબર્સ અને ક્રેડિટ કાર્ડ્સ)ની સુરક્ષા કરવા માટે તેને અવરોધિત કરેલ છે.</translation> <translation id="6489534406876378309">ક્રેશ અપલોડ કરવાનું શરૂ કરો</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb index 6f04cc6..99634f1 100644 --- a/components/strings/components_strings_hi.xtb +++ b/components/strings/components_strings_hi.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&प्रिंट करें...</translation> <translation id="1181037720776840403">निकालें</translation> <translation id="1184214524891303587">Google को संभावित सुरक्षा घटनाओं के विवरण की <ph name="BEGIN_WHITEPAPER_LINK" />अपने आप रिपोर्ट करें<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">भुगतान पूरा नहीं हुआ</translation> <translation id="1201402288615127009">अगला</translation> <translation id="1201895884277373915">इस साइट की ओर से अधिक</translation> <translation id="1206967143813997005">नाम के पहले अक्षर के गलत हस्ताक्षर</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">आपका कनेक्शन बाधित था</translation> <translation id="471880041731876836">आपको इस साइट पर जाने की अनुमति नहीं है</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows नेटवर्क निदान चलाकर देखें<ph name="END_LINK" /></translation> -<translation id="472349245089439925">आपका भुगतान</translation> <translation id="4726672564094551039">नीतियां फिर से लोड करें</translation> <translation id="4728558894243024398">प्लेटफ़ॉर्म</translation> <translation id="4736825316280949806">क्रोमियम को फिर से शुरू करें</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">और जानकारी जोड़ें</translation> <translation id="6447842834002726250">कुकी</translation> <translation id="6451458296329894277">फ़ार्म पुन: जमा करने की दुबारा पूछें</translation> -<translation id="6456339708790392414">आपका भुगतान</translation> <translation id="647261751007945333">डिवाइस नीतियां</translation> <translation id="6477321094435799029">Chrome को इस पेज पर असामान्य कोड मिला था और उसने आपकी व्यक्तिगत जानकारी (उदाहरण के लिए, पासवर्ड, फ़ोन नंबर और क्रेडिट कार्ड) की सुरक्षा करने के लिए उसे अवरुद्ध कर दिया है.</translation> <translation id="6489534406876378309">क्रैश अपलोड करना प्रारंभ करें</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb index ed754ef..3e2810e 100644 --- a/components/strings/components_strings_hr.xtb +++ b/components/strings/components_strings_hr.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Ispis...</translation> <translation id="1181037720776840403">Ukloni</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automatski prijavi<ph name="END_WHITEPAPER_LINK" /> Googleu pojedinosti o mogućim sigurnosnim incidentima. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Plaćanje nije dovršeno</translation> <translation id="1201402288615127009">Sljedeće</translation> <translation id="1201895884277373915">Više s ove web-lokacije</translation> <translation id="1206967143813997005">Potpis inicijalima nije ispravan</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">Veza je prekinuta</translation> <translation id="471880041731876836">Nemaš dopuštenje za posjet toj web-lokaciji</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />pokrenuti Mrežnu dijagnostiku sustava Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Vaše plaćanje</translation> <translation id="4726672564094551039">Ponovo učitaj pravila</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Ponovo pokrenite Chromium</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">Dodajte još podataka</translation> <translation id="6447842834002726250">Kolačići</translation> <translation id="6451458296329894277">Potvrdi ponovno slanje obrasca</translation> -<translation id="6456339708790392414">Vaše plaćanje</translation> <translation id="647261751007945333">Pravila uređaja</translation> <translation id="6477321094435799029">Chrome je otkrio neuobičajeni kôd na toj stranici i blokirao ju je radi zaštite vaših osobnih podataka (primjerice zaporki, telefonskih brojeva i kreditnih kartica).</translation> <translation id="6489534406876378309">Pokreni prijenos rušenja</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb index 75851e10..703bb839 100644 --- a/components/strings/components_strings_hu.xtb +++ b/components/strings/components_strings_hu.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Nyomtatás...</translation> <translation id="1181037720776840403">Eltávolítás</translation> <translation id="1184214524891303587">A lehetséges biztonsági események adatainak <ph name="BEGIN_WHITEPAPER_LINK" />automatikus jelentése<ph name="END_WHITEPAPER_LINK" /> a Google-nak. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">A fizetés nem fejeződött be</translation> <translation id="1201402288615127009">Következő</translation> <translation id="1201895884277373915">Továbbiak erről a webhelyről</translation> <translation id="1206967143813997005">Hibás alapértelmezett aláírás</translation> @@ -493,7 +492,6 @@ <translation id="4708268264240856090">Kapcsolata megszakadt</translation> <translation id="471880041731876836">Nincs jogosultsága a webhely felkereséséhez</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />A Windows Hálózati diagnosztika futtatása<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Fizetés</translation> <translation id="4726672564094551039">Házirendek újratöltése</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Indítsa újra a Chromiumot</translation> @@ -720,7 +718,6 @@ <translation id="6446608382365791566">További adatok hozzáadása</translation> <translation id="6447842834002726250">Cookie-k</translation> <translation id="6451458296329894277">Képernyő újraküldésének megerősítése</translation> -<translation id="6456339708790392414">Fizetés</translation> <translation id="647261751007945333">Eszközházirendek</translation> <translation id="6477321094435799029">A Chrome szokatlan kódot észlelt az oldalon, ezért letiltotta az Ön személyes adatainak (például jelszavak, telefonszámok és hitelkártyaszámok) védelme érdekében.</translation> <translation id="6489534406876378309">Feltöltési összeomlások indítása</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb index 3914a85..93315fa 100644 --- a/components/strings/components_strings_id.xtb +++ b/components/strings/components_strings_id.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Cetak...</translation> <translation id="1181037720776840403">Hapus</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Otomatis laporkan<ph name="END_WHITEPAPER_LINK" /> detail kemungkinan insiden keamanan ke Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Pembayaran Belum Selesai</translation> <translation id="1201402288615127009">Berikutnya</translation> <translation id="1201895884277373915">Lainnya dari situs ini</translation> <translation id="1206967143813997005">Tanda tangan awal tidak valid</translation> @@ -337,7 +336,7 @@ <ph name="LIST_ITEM" />Informasi yang dimasukkan dalam formulir <ph name="END_LIST" /></translation> <translation id="3369192424181595722">Kesalahan jam</translation> -<translation id="337363190475750230">Tidak ditetapkan</translation> +<translation id="337363190475750230">Di-deprovision</translation> <translation id="3377188786107721145">Kesalahan penguraian kebijakan</translation> <translation id="3380365263193509176">Kesalahan tidak dikenal</translation> <translation id="3380864720620200369">ID Klien:</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Sambungan Anda terganggu</translation> <translation id="471880041731876836">Anda tidak memiliki izin untuk membuka situs ini</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Jalankan Diagnostik Jaringan Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Pembayaran Anda</translation> <translation id="4726672564094551039">Muat ulang kebijakan</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Buka Ulang Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Tambahkan informasi lainnya</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">Konfirmasikan Pengiriman Ulang Formulir</translation> -<translation id="6456339708790392414">Pembayaran Anda</translation> <translation id="647261751007945333">Kebijakan perangkat</translation> <translation id="6477321094435799029">Chrome mendeteksi kode yang tidak biasa pada halaman ini dan memblokirnya untuk melindungi informasi pribadi Anda (misalnya, sandi, nomor telepon, dan kartu kredit).</translation> <translation id="6489534406876378309">Mulai mengupload kerusakan</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb index 397dd379..d19d71c 100644 --- a/components/strings/components_strings_it.xtb +++ b/components/strings/components_strings_it.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Stampa...</translation> <translation id="1181037720776840403">Rimuovi</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Segnala automaticamente<ph name="END_WHITEPAPER_LINK" /> a Google i dettagli dei possibili problemi di sicurezza. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Pagamento non completato</translation> <translation id="1201402288615127009">Avanti</translation> <translation id="1201895884277373915">Altri dal sito</translation> <translation id="1206967143813997005">Firma iniziale non valida</translation> @@ -492,7 +491,6 @@ <translation id="4708268264240856090">La connessione è stata interrotta</translation> <translation id="471880041731876836">Non sei autorizzato a visitare questo sito</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Eseguire lo strumento Diagnostica di rete Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Il tuo pagamento</translation> <translation id="4726672564094551039">Ricarica criteri</translation> <translation id="4728558894243024398">Piattaforma</translation> <translation id="4736825316280949806">Riavvia Chromium</translation> @@ -718,7 +716,6 @@ <translation id="6446608382365791566">Aggiungi altre informazioni</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">Conferma reinvio modulo</translation> -<translation id="6456339708790392414">Il tuo pagamento</translation> <translation id="647261751007945333">Norme dispositivo</translation> <translation id="6477321094435799029">Chrome ha rilevato un codice insolito su questa pagina e l'ha bloccata per proteggere le tue informazioni personali (ad esempio password, numeri di telefono e carte di credito).</translation> <translation id="6489534406876378309">Avvia caricamento arresti anomali</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb index 0dfaa2f1..8720cf46 100644 --- a/components/strings/components_strings_iw.xtb +++ b/components/strings/components_strings_iw.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">הדפס...</translation> <translation id="1181037720776840403">הסר</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />שלח באופן אוטומטי<ph name="END_WHITEPAPER_LINK" /> אל Google דיווח על בעיות אבטחה אפשריות. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">התשלום לא הושלם</translation> <translation id="1201402288615127009">הבא</translation> <translation id="1201895884277373915">עוד מאתר זה</translation> <translation id="1206967143813997005">חתימה ראשונית לא חוקית</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">החיבור נקטע</translation> <translation id="471880041731876836">אין לך הרשאה להיכנס אל האתר הזה</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />מפעיל את אבחון הרשת של Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">התשלום שלך</translation> <translation id="4726672564094551039">טען מדיניות מחדש</translation> <translation id="4728558894243024398">פלטפורמה</translation> <translation id="4736825316280949806">אתחול ה-Chromium</translation> @@ -727,7 +725,6 @@ <translation id="6446608382365791566">הוסף מידע</translation> <translation id="6447842834002726250">קובצי Cookie</translation> <translation id="6451458296329894277">אשר שליחה-מחדש של הטופס</translation> -<translation id="6456339708790392414">התשלום שלך</translation> <translation id="647261751007945333">מדיניות המכשיר</translation> <translation id="6477321094435799029">Chrome זיהה קוד חריג בדף הזה וחסם אותו כדי להגן על המידע הפרטי שלך (כגון סיסמאות, מספרי טלפון ומספרי כרטיסי אשראי).</translation> <translation id="6489534406876378309">התחל להעלות קריסות</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb index 58861c6f..c6572d20 100644 --- a/components/strings/components_strings_ja.xtb +++ b/components/strings/components_strings_ja.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">印刷(&P)...</translation> <translation id="1181037720776840403">削除</translation> <translation id="1184214524891303587">セキュリティに関する事象についての詳細を Google に<ph name="BEGIN_WHITEPAPER_LINK" />自動送信<ph name="END_WHITEPAPER_LINK" />する。<ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">支払い処理を完了できませんでした</translation> <translation id="1201402288615127009">次へ</translation> <translation id="1201895884277373915">このサイトからの他の履歴</translation> <translation id="1206967143813997005">最初の署名に問題があります</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">接続が中断されました</translation> <translation id="471880041731876836">このサイトへのアクセスが許可されていません</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows ネットワーク診断ツールを実行する<ph name="END_LINK" /></translation> -<translation id="472349245089439925">お支払い</translation> <translation id="4726672564094551039">ポリシーを再読み込み</translation> <translation id="4728558894243024398">プラットフォーム</translation> <translation id="4736825316280949806">Chromium を再起動する</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">他の情報を追加</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">フォーム再送信の確認</translation> -<translation id="6456339708790392414">お支払い</translation> <translation id="647261751007945333">デバイス ポリシー</translation> <translation id="6477321094435799029">このページで通常と異なるコードを検出したため、個人情報(例: パスワード、電話番号、クレジット カード番号)を保護するために、ページをブロックしました。</translation> <translation id="6489534406876378309">クラッシュのアップロードを開始</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb index 8fcc1b9..645e0dee 100644 --- a/components/strings/components_strings_kn.xtb +++ b/components/strings/components_strings_kn.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&ಮುದ್ರಿಸಿ...</translation> <translation id="1181037720776840403">ತೆಗೆದುಹಾಕು</translation> <translation id="1184214524891303587">ಸಂಭಾವ್ಯ ಸುರಕ್ಷತೆ ಸಂಬಂಧಿಸಿದ ಘಟನೆಗಳ ವಿವರಗಳನ್ನು Google ಗೆ <ph name="BEGIN_WHITEPAPER_LINK" />ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವರದಿಮಾಡಿ<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">ಪಾವತಿ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ</translation> <translation id="1201402288615127009">ಮುಂದೆ</translation> <translation id="1201895884277373915">ಈ ಸೈಟ್ನಿಂದ ಇನ್ನಷ್ಟು</translation> <translation id="1206967143813997005">ತಪ್ಪು ಪ್ರಾರಂಭಿಕ ಸಹಿ</translation> @@ -492,7 +491,6 @@ <translation id="4708268264240856090">ನಿಮ್ಮ ಸಂಪರ್ಕಕ್ಕೆ ಅಡ್ಡಿಯಾಗಿದೆ</translation> <translation id="471880041731876836">ಈ ಸೈಟ್ ಗೆ ಭೇಟಿ ನೀಡಲು ನೀವು ಅನುಮತಿ ಹೊಂದಿಲ್ಲ</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows ನೆಟ್ವರ್ಕ್ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ ರನ್ ಮಾಡಲಾಗುತ್ತಿದೆ<ph name="END_LINK" /></translation> -<translation id="472349245089439925">ನಿಮ್ಮ ಪಾವತಿ</translation> <translation id="4726672564094551039">ನೀತಿಗಳನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ</translation> <translation id="4728558894243024398">ಪ್ಲಾಟ್ಫಾರ್ಮ್</translation> <translation id="4736825316280949806">Chromium ಮರುಪ್ರಾರಂಭಿಸಿ</translation> @@ -717,7 +715,6 @@ <translation id="6446608382365791566">ಇನ್ನಷ್ಟು ಮಾಹಿತಿಯನ್ನು ಸೇರಿಸಿ</translation> <translation id="6447842834002726250">ಕುಕೀಸ್</translation> <translation id="6451458296329894277">ಮರುಸಲ್ಲಿಕೆ ಫಾರ್ಮ್ ಅನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ</translation> -<translation id="6456339708790392414">ನಿಮ್ಮ ಪಾವತಿ</translation> <translation id="647261751007945333">ಸಾಧನ ನೀತಿಗಳು</translation> <translation id="6477321094435799029">ಈ ಪುಟದಲ್ಲಿ ಅಸಹಜ ಕೋಡ್ ಅನ್ನು Chrome ಪತ್ತೆಹಚ್ಚಿದೆ ಮತ್ತು ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು (ಉದಾಹರಣೆಗೆ, ಪಾಸ್ವರ್ಡ್ಗಳು, ಫೋನ್ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ಗಳು) ರಕ್ಷಿಸಲು ಅದನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ.</translation> <translation id="6489534406876378309">ವಿಫಲತೆಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸು</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb index 7019f97..114db2d 100644 --- a/components/strings/components_strings_ko.xtb +++ b/components/strings/components_strings_ko.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">인쇄(&P)</translation> <translation id="1181037720776840403">삭제</translation> <translation id="1184214524891303587">발생 가능성이 있는 보안 문제의 세부정보를 Google에 <ph name="BEGIN_WHITEPAPER_LINK" />자동으로 보고<ph name="END_WHITEPAPER_LINK" />합니다. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">결제가 완료되지 않음</translation> <translation id="1201402288615127009">다음</translation> <translation id="1201895884277373915">이 사이트에서 더보기</translation> <translation id="1206967143813997005">잘못된 초기 서명</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">연결이 끊김</translation> <translation id="471880041731876836">이 사이트에 방문할 수 있는 권한이 없습니다.</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows 네트워크 진단 프로그램 실행<ph name="END_LINK" /></translation> -<translation id="472349245089439925">내 결제</translation> <translation id="4726672564094551039">정책 새로고침</translation> <translation id="4728558894243024398">플랫폼</translation> <translation id="4736825316280949806">Chromium 다시 시작</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">자세한 정보 추가</translation> <translation id="6447842834002726250">쿠키</translation> <translation id="6451458296329894277">양식 다시 제출 확인</translation> -<translation id="6456339708790392414">결제</translation> <translation id="647261751007945333">기기 정책</translation> <translation id="6477321094435799029">Chrome이 이 페이지에서 비정상적인 코드를 감지했으며 개인정보(예: 비밀번호, 전화번호, 신용카드) 보호를 위해 차단했습니다.</translation> <translation id="6489534406876378309">비정상 종료 업로드 시작하기</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb index 6b719d4..0013292 100644 --- a/components/strings/components_strings_lt.xtb +++ b/components/strings/components_strings_lt.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Spausdinti...</translation> <translation id="1181037720776840403">Pašalinti</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automatiškai pateikti<ph name="END_WHITEPAPER_LINK" /> išsamią informaciją apie galimas saugos problemas sistemoje „Google“. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Mokėjimas neatliktas</translation> <translation id="1201402288615127009">Toliau</translation> <translation id="1201895884277373915">Daugiau iš šios svetainės</translation> <translation id="1206967143813997005">Netinkamas pirminis parašas</translation> @@ -496,7 +495,6 @@ <translation id="4708268264240856090">Ryšys nutrauktas</translation> <translation id="471880041731876836">Neturite leidimo, kad galėtumėte apsilankykite šioje svetainėje</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Paleistas įrankis „Windows Network Diagnostics“<ph name="END_LINK" />.</translation> -<translation id="472349245089439925">Jūsų mokėjimas</translation> <translation id="4726672564094551039">Iš naujo įkelti politiką</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Iš naujo paleiskite „Chromium“</translation> @@ -723,7 +721,6 @@ <translation id="6446608382365791566">Daugiau informacijos pridėjimas</translation> <translation id="6447842834002726250">Slapukai</translation> <translation id="6451458296329894277">Patvirtinkite pakartotiną formos pateikimą</translation> -<translation id="6456339708790392414">Jūsų mokėjimas</translation> <translation id="647261751007945333">Įrenginio politika</translation> <translation id="6477321094435799029">„Chrome“ šiame puslapyje aptiko neįprastą kodą ir jį užblokavo, kad apsaugotų asmens informaciją (pvz., slaptažodžius, telefonų numerius ir kredito korteles).</translation> <translation id="6489534406876378309">Pradėti įkelti strigtis</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb index 562c297c..17a869f3 100644 --- a/components/strings/components_strings_lv.xtb +++ b/components/strings/components_strings_lv.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Drukāt...</translation> <translation id="1181037720776840403">Noņemt</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automātiski nosūtīt<ph name="END_WHITEPAPER_LINK" /> Google serveriem informāciju par iespējamām drošības problēmām. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Maksājums nav pabeigts</translation> <translation id="1201402288615127009">Nākamais</translation> <translation id="1201895884277373915">Vairāk no šīs vietnes</translation> <translation id="1206967143813997005">Sākotnējais paraksts nav derīgs</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">Savienojums tika pārtraukts</translation> <translation id="471880041731876836">Jums nav atļaujas apmeklēt šo vietni</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Palaist Windows tīkla diagnostiku<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Jūsu maksājums</translation> <translation id="4726672564094551039">Atkārtoti ielādēt politikas</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Restartējiet pārlūku Chromium</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">Papildu informācijas pievienošana</translation> <translation id="6447842834002726250">Sīkfaili</translation> <translation id="6451458296329894277">Apstiprināt veidlapas atkārtotu iesniegšanu</translation> -<translation id="6456339708790392414">Maksājums</translation> <translation id="647261751007945333">Ierīces politikas</translation> <translation id="6477321094435799029">Pārlūkā Chrome tika noteikts, ka šajā lapā ir neparasts kods. Lapa tika bloķēta, lai aizsargātu jūsu personas informāciju (piemēram, paroles, tālruņa numurus un kredītkaršu informāciju).</translation> <translation id="6489534406876378309">Sākt avāriju datu augšupielādi</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb index 814f673..25542462 100644 --- a/components/strings/components_strings_ml.xtb +++ b/components/strings/components_strings_ml.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&അച്ചടിക്കൂ...</translation> <translation id="1181037720776840403">നീക്കംചെയ്യൂ</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />സുരക്ഷയെ ബാധിക്കാൻ സാധ്യതയുള്ള കാര്യങ്ങളുടെ വിശദാംശങ്ങൾ<ph name="END_WHITEPAPER_LINK" /> സ്വയമേവ Google-ൽ റിപ്പോർട്ടുചെയ്യുന്നു. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">പേയ്മെന്റ് പൂർത്തിയായിട്ടില്ല</translation> <translation id="1201402288615127009">അടുത്തത്</translation> <translation id="1201895884277373915">ഈ സൈറ്റിൽ നിന്നും കൂടുതൽ</translation> <translation id="1206967143813997005">പ്രാരംഭ സിഗ്നേച്ചർ ശരിയല്ല</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">നിങ്ങളുടെ കണക്ഷൻ തടസ്സപ്പെട്ടു</translation> <translation id="471880041731876836">ഈ സൈറ്റ് സന്ദർശിക്കാൻ നിങ്ങൾക്ക് അനുമതി ആവശ്യമില്ല</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows നെറ്റ്വർക്ക് ഡയഗണോസ്റ്റിക്സ് റൺ ചെയ്യുന്നു<ph name="END_LINK" /></translation> -<translation id="472349245089439925">നിങ്ങളുടെ പേയ്മെന്റ്</translation> <translation id="4726672564094551039">നയങ്ങൾ വീണ്ടും ലോഡുചെയ്യുക</translation> <translation id="4728558894243024398">പ്ലാറ്റ്ഫോം</translation> <translation id="4736825316280949806">Chromium റീസ്റ്റാർട്ടുചെയ്യുക</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">കൂടുതൽ വിവരങ്ങൾ ചേർക്കുക</translation> <translation id="6447842834002726250">കുക്കികള്</translation> <translation id="6451458296329894277">വീണ്ടും സമര്പ്പിക്കല് അപേക്ഷ ഉറപ്പാക്കുക</translation> -<translation id="6456339708790392414">നിങ്ങളുടെ പേയ്മെന്റ്</translation> <translation id="647261751007945333">ഉപകരണ നയങ്ങൾ</translation> <translation id="6477321094435799029">Chrome, ഈ പേജിൽ അസാധാരണമായ കോഡ് കണ്ടെത്തിയതിനാൽ നിങ്ങളുടെ വ്യക്തിഗത വിവരങ്ങൾ (ഉദാഹരണത്തിന്, പാസ്വേഡുകളും ഫോൺ നമ്പറുകളും ക്രെഡിറ്റ് കാർഡുകളും പോലുള്ളവ) പരിരക്ഷിക്കുന്നതിന് അതിനെ ബ്ലോക്കുചെയ്തു.</translation> <translation id="6489534406876378309">ക്രാഷുകൾ അപ്ലോഡുചെയ്യുന്നത് ആരംഭിക്കുക</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb index 8579203..92fea2a 100644 --- a/components/strings/components_strings_mr.xtb +++ b/components/strings/components_strings_mr.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&मुद्रण...</translation> <translation id="1181037720776840403">काढा</translation> <translation id="1184214524891303587">Google कडे संभाव्य सुरक्षितता घटनांच्या तपशीलांचा <ph name="BEGIN_WHITEPAPER_LINK" />स्वयंचलितपणे अहवाल द्या.<ph name="END_WHITEPAPER_LINK" /> <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">पेमेंट पूर्ण झाले नाही</translation> <translation id="1201402288615127009">पुढील</translation> <translation id="1201895884277373915">या साइटकडून अधिक</translation> <translation id="1206967143813997005">खराब प्रारंभिक स्वाक्षरी</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">आपल्या कनेक्शनमध्ये व्यत्यय आला</translation> <translation id="471880041731876836">या साइटला भेट देण्याची तुम्हाला परवानगी नाही</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows नेटवर्क निदान चालविणे<ph name="END_LINK" /></translation> -<translation id="472349245089439925">आपले पेमेंट</translation> <translation id="4726672564094551039">धोरणे रीलोड करा</translation> <translation id="4728558894243024398">प्लॅटफॉर्म</translation> <translation id="4736825316280949806">Chromium रीस्टार्ट करा</translation> @@ -566,7 +564,7 @@ <translation id="522700295135997067">या साइटने कदाचित तुमचा पासवर्ड चोरला असेल</translation> <translation id="5230733896359313003">पाठविण्याचा पत्ता</translation> <translation id="5251803541071282808">क्लाउड</translation> -<translation id="5281113152797308730"><ph name="BEGIN_PARAGRAPH" />सॉफ्टवेअर तात्पुरते बंद करून ठेवण्यासाठी खालील पायर्यांचे अनुसरण करा, ज्यामुळे तुम्ही वेबशी कनेक्ट होऊ शकाल. तुम्हाला प्रशासकीय हक्क असणे आवश्यक असेल.<ph name="END_PARAGRAPH" /> +<translation id="5281113152797308730"><ph name="BEGIN_PARAGRAPH" />सॉफ्टवेअर तात्पुरते बंद करून ठेवण्यासाठी खालील पायर्यांचे फॉलो करा, ज्यामुळे तुम्ही वेबशी कनेक्ट होऊ शकाल. तुम्हाला प्रशासकीय हक्क असणे आवश्यक असेल.<ph name="END_PARAGRAPH" /> <ph name="BEGIN_LIST" /> <ph name="LIST_ITEM" />सुरुवात<ph name="BEGIN_BOLD" /> करा<ph name="END_BOLD" /> वर क्लिक करा, त्यानंतर<ph name="BEGIN_BOLD" />"स्थानिक सेवा पहा"<ph name="END_BOLD" /> शोधा आणि निवडा @@ -723,7 +721,6 @@ <translation id="6446608382365791566">अधिक माहिती जोडा</translation> <translation id="6447842834002726250">कुकीज</translation> <translation id="6451458296329894277">फॉर्म रीसबमिशनची पुष्टी करा</translation> -<translation id="6456339708790392414">आपले पेमेंट</translation> <translation id="647261751007945333">डीव्हाइस धोरणे</translation> <translation id="6477321094435799029">Chrome ला या पृष्ठावर असमान्य कोड सापडला आहे आणि आपली वैयक्तिक माहिती (उदा, पासवर्ड, फोन नंबर आणि क्रेडिट कार्ड) संरक्षित करण्यासाठी अवरोधित केला आहे.</translation> <translation id="6489534406876378309">क्रॅश अपलोड करणे प्रारंभ करा</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb index 2bdc7955..db79d03 100644 --- a/components/strings/components_strings_ms.xtb +++ b/components/strings/components_strings_ms.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Cetak...</translation> <translation id="1181037720776840403">Alih keluar</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Laporkan secara automatik<ph name="END_WHITEPAPER_LINK" /> tentang butiran kemungkinan insiden keselamatan kepada Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Bayaran Belum Diselesaikan</translation> <translation id="1201402288615127009">Seterusnya</translation> <translation id="1201895884277373915">Lagi dari tapak ini</translation> <translation id="1206967143813997005">Tandatangan awal tidak sah</translation> @@ -496,7 +495,6 @@ <translation id="4708268264240856090">Sambungan anda tergendala</translation> <translation id="471880041731876836">Anda tiada kebenaran untuk melawat tapak ini</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Jalankan Diagnostik Rangkaian Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Pembayaran anda</translation> <translation id="4726672564094551039">Muat semula dasar</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Mulakan semula Chromium</translation> @@ -723,7 +721,6 @@ <translation id="6446608382365791566">Tambahkan maklumat lanjut</translation> <translation id="6447842834002726250">Kuki</translation> <translation id="6451458296329894277">Sahkan Penyerahan Semula Borang</translation> -<translation id="6456339708790392414">Pembayaran Anda</translation> <translation id="647261751007945333">Dasar peranti</translation> <translation id="6477321094435799029">Chrome mengesan kod luar biasa pada halaman ini dan menyekatnya untuk melindungi maklumat peribadi anda (contohnya, kata laluan, nombor telefon dan maklumat kad kredit).</translation> <translation id="6489534406876378309">Mulakan muat naik ranap sistem</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb index 21784fb..1575bd1 100644 --- a/components/strings/components_strings_nl.xtb +++ b/components/strings/components_strings_nl.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Afdrukken...</translation> <translation id="1181037720776840403">Verwijderen</translation> <translation id="1184214524891303587">Informatie over mogelijke beveiligingsincidenten <ph name="BEGIN_WHITEPAPER_LINK" />automatisch melden<ph name="END_WHITEPAPER_LINK" /> aan Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Betaling niet voltooid</translation> <translation id="1201402288615127009">Volgende</translation> <translation id="1201895884277373915">Meer van deze site</translation> <translation id="1206967143813997005">Onjuiste eerste handtekening</translation> @@ -491,7 +490,6 @@ <translation id="4708268264240856090">Je verbinding is onderbroken</translation> <translation id="471880041731876836">Je hebt geen toestemming om deze site te bezoeken</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows Netwerkcontrole uitvoeren<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Je betaling</translation> <translation id="4726672564094551039">Beleid opnieuw laden</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Chromium opnieuw starten</translation> @@ -717,7 +715,6 @@ <translation id="6446608382365791566">Meer informatie toevoegen</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Opnieuw indienen bevestigen</translation> -<translation id="6456339708790392414">Je betaling</translation> <translation id="647261751007945333">Apparaatbeleid</translation> <translation id="6477321094435799029">Chrome heeft ongebruikelijke code op deze pagina gedetecteerd en heeft de code geblokkeerd om je persoonlijke gegevens (zoals wachtwoorden, telefoonnummers en creditcards) te beschermen.</translation> <translation id="6489534406876378309">Uploaden van crashes starten</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb index ecd3f47..f9d59c8 100644 --- a/components/strings/components_strings_no.xtb +++ b/components/strings/components_strings_no.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Skriv ut...</translation> <translation id="1181037720776840403">Fjern</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Rapportér<ph name="END_WHITEPAPER_LINK" /> automatisk detaljer om mulige sikkerhetsbrudd til Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Betalingen er ikke fullført</translation> <translation id="1201402288615127009">Neste</translation> <translation id="1201895884277373915">Mer fra dette nettstedet</translation> <translation id="1206967143813997005">Ugyldig start på signaturen</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Tilkoblingen ble avbrutt</translation> <translation id="471880041731876836">Du har ikke tillatelse til å besøke dette nettstedet</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Kjør Windows Nettverksdiagnose<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Betalingen din</translation> <translation id="4726672564094551039">Last inn retningslinjer på nytt</translation> <translation id="4728558894243024398">Plattform</translation> <translation id="4736825316280949806">Start Chromium på nytt</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Legg til mer informasjon</translation> <translation id="6447842834002726250">Informasjonskapsler</translation> <translation id="6451458296329894277">Bekreft ny innsending av skjema</translation> -<translation id="6456339708790392414">Betalingen din</translation> <translation id="647261751007945333">Enhetsinnstillinger</translation> <translation id="6477321094435799029">Chrome har oppdaget uvanlig kode på denne siden og blokkert den for å beskytte personopplysningene dine (for eksempel passord, telefonnumre og kredittkortinformasjon).</translation> <translation id="6489534406876378309">Start opplastingen av krasj</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb index 83d34de..e5c96fb 100644 --- a/components/strings/components_strings_pl.xtb +++ b/components/strings/components_strings_pl.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Drukuj...</translation> <translation id="1181037720776840403">Usuń</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automatycznie przesyłaj<ph name="END_WHITEPAPER_LINK" /> do Google szczegółowe informacje o możliwych zagrożeniach. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Płatność nie została zrealizowana</translation> <translation id="1201402288615127009">Dalej</translation> <translation id="1201895884277373915">Więcej z tej witryny</translation> <translation id="1206967143813997005">Nieprawidłowy podpis wstępny</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Połączenie zostało przerwane</translation> <translation id="471880041731876836">Nie masz pozwolenia, by wejść na tę stronę</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Uruchom Diagnostykę sieci systemu Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Twoja płatność</translation> <translation id="4726672564094551039">Odśwież zasady</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Uruchom ponownie Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Dodaj więcej informacji</translation> <translation id="6447842834002726250">Pliki cookie</translation> <translation id="6451458296329894277">Potwierdź ponowne przesłanie formularza</translation> -<translation id="6456339708790392414">Twoja płatność</translation> <translation id="647261751007945333">Zasady dotyczące urządzeń</translation> <translation id="6477321094435799029">Chrome wykrył nietypowy kod na tej stronie i zablokował ją, by chronić Twoje dane osobowe (np. hasła, numery telefonu czy dane kart kredytowych).</translation> <translation id="6489534406876378309">Rozpocznij przesyłanie informacji o awariach</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb index 992cb9c5..4f26b662 100644 --- a/components/strings/components_strings_pt-BR.xtb +++ b/components/strings/components_strings_pt-BR.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Imprimir...</translation> <translation id="1181037720776840403">Remover</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Informar automaticamente<ph name="END_WHITEPAPER_LINK" /> ao Google detalhes de possíveis incidentes de segurança. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Pagamento não concluído</translation> <translation id="1201402288615127009">Próxima</translation> <translation id="1201895884277373915">Mais deste site</translation> <translation id="1206967143813997005">Assinatura inicial inválida</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">A conexão foi interrompida</translation> <translation id="471880041731876836">Você não tem permissão para visitar este site</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Executar o Diagnóstico de Rede do Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Seu pagamento</translation> <translation id="4726672564094551039">Atualizar políticas</translation> <translation id="4728558894243024398">Plataforma</translation> <translation id="4736825316280949806">Reiniciar o Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Adicionar mais informações</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirmar reenvio do formulário</translation> -<translation id="6456339708790392414">Seu pagamento</translation> <translation id="647261751007945333">Políticas de dispositivos</translation> <translation id="6477321094435799029">O Chrome detectou um código incomum nesta página e a bloqueou para proteger suas informações pessoais (por exemplo, senhas, números de telefone e cartões de crédito).</translation> <translation id="6489534406876378309">Iniciar upload de falhas</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb index e8c5514..77a0d8e 100644 --- a/components/strings/components_strings_pt-PT.xtb +++ b/components/strings/components_strings_pt-PT.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Im&primir...</translation> <translation id="1181037720776840403">Remover</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Comunicar automaticamente<ph name="END_WHITEPAPER_LINK" /> os detalhes de possíveis incidentes de segurança à Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Pagamento não concluído</translation> <translation id="1201402288615127009">Seguinte</translation> <translation id="1201895884277373915">Mais a partir deste Web site</translation> <translation id="1206967143813997005">Assinatura com inicial incorreta</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">A ligação foi interrompida</translation> <translation id="471880041731876836">Não tem autorização para aceder a este site</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Executar o Diagnóstico de rede do Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">O seu pagamento</translation> <translation id="4726672564094551039">Recarregar políticas</translation> <translation id="4728558894243024398">Plataforma</translation> <translation id="4736825316280949806">Reiniciar o Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Adicionar mais informações</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Confirmar nova submissão de formulário</translation> -<translation id="6456339708790392414">O seu pagamento</translation> <translation id="647261751007945333">Políticas do dispositivo</translation> <translation id="6477321094435799029">O Chrome detetou código estranho nesta página e bloqueou-a para proteger as suas informações pessoais (por exemplo, palavras-passe, números de telefone e números de cartões de crédito).</translation> <translation id="6489534406876378309">Começar a carregar falhas</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb index dedf86fb..6efb348 100644 --- a/components/strings/components_strings_ro.xtb +++ b/components/strings/components_strings_ro.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Printează...</translation> <translation id="1181037720776840403">Elimină</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Raportează automat<ph name="END_WHITEPAPER_LINK" /> la Google detaliile eventualelor incidente privind securitatea. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Plata nu a fost finalizată</translation> <translation id="1201402288615127009">Înainte</translation> <translation id="1201895884277373915">Mai multe de la acest site</translation> <translation id="1206967143813997005">Semnătură inițială nevalidă</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Conexiunea a fost întreruptă</translation> <translation id="471880041731876836">Nu ai permisiunea să accesezi acest site</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />să rulezi Diagnostice rețea Windows<ph name="END_LINK" />;</translation> -<translation id="472349245089439925">Plata</translation> <translation id="4726672564094551039">Reîncărcați politicile</translation> <translation id="4728558894243024398">Platformă</translation> <translation id="4736825316280949806">repornește Chromium;</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Adaugă mai multe informații</translation> <translation id="6447842834002726250">Cookie-uri</translation> <translation id="6451458296329894277">Confirmă retrimiterea formularului</translation> -<translation id="6456339708790392414">Plata</translation> <translation id="647261751007945333">Politici privind dispozitivele</translation> <translation id="6477321094435799029">Chrome a detectat un cod neobișnuit pe această pagină și l-a blocat pentru a-ți proteja informațiile cu caracter personal (de exemplu, parole, numere de telefon sau carduri de credit).</translation> <translation id="6489534406876378309">Începeți încărcarea rapoartelor de blocare</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb index d097add..8722879 100644 --- a/components/strings/components_strings_ru.xtb +++ b/components/strings/components_strings_ru.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Печать...</translation> <translation id="1181037720776840403">Удалить</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Автоматически отправлять в Google<ph name="END_WHITEPAPER_LINK" /> информацию о возможных проблемах безопасности. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Не удалось обработать платеж</translation> <translation id="1201402288615127009">Далее</translation> <translation id="1201895884277373915">Другие записи по этому сайту</translation> <translation id="1206967143813997005">Начальная подпись недействительна</translation> @@ -494,7 +493,6 @@ <translation id="4708268264240856090">Соединение прервано</translation> <translation id="471880041731876836">Доступ запрещен</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Выполните диагностику сети в Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Ваш платеж</translation> <translation id="4726672564094551039">Повторно загрузить политики</translation> <translation id="4728558894243024398">Платформа</translation> <translation id="4736825316280949806">Перезапустите Chromium.</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">Укажите дополнительную информацию</translation> <translation id="6447842834002726250">Файлы сookie</translation> <translation id="6451458296329894277">Подтвердите повторную отправку формы</translation> -<translation id="6456339708790392414">Оплата</translation> <translation id="647261751007945333">Правила устройства</translation> <translation id="6477321094435799029">Браузер Chrome обнаружил на этой странице необычный код и заблокировал его, чтобы защитить ваши данные (например, пароли, а также номера телефонов и банковских карт).</translation> <translation id="6489534406876378309">Начать загрузку сведений об ошибках</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb index b820f817..21ba045 100644 --- a/components/strings/components_strings_sk.xtb +++ b/components/strings/components_strings_sk.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Tlačiť...</translation> <translation id="1181037720776840403">Odstrániť</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Automaticky nahlasovať<ph name="END_WHITEPAPER_LINK" /> Googlu podrobnosti o možných problémoch so zabezpečením. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Platba nebola dokončená</translation> <translation id="1201402288615127009">Ďalej</translation> <translation id="1201895884277373915">Viac z týchto stránok</translation> <translation id="1206967143813997005">Chybný úvodný podpis</translation> @@ -491,7 +490,6 @@ <translation id="4708268264240856090">Pripojenie bolo prerušené</translation> <translation id="471880041731876836">Nemáte povolenie na návštevu tohto webu</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Spustiť nástroj Diagnostika siete systému Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Vaša platba</translation> <translation id="4726672564094551039">Znova načítať pravidlá</translation> <translation id="4728558894243024398">Platforma</translation> <translation id="4736825316280949806">Reštartujte Chromium</translation> @@ -717,7 +715,6 @@ <translation id="6446608382365791566">Pridanie ďalších informácií</translation> <translation id="6447842834002726250">Súbory cookie</translation> <translation id="6451458296329894277">Potvrdiť opakované odoslanie formulára</translation> -<translation id="6456339708790392414">Vaša platba</translation> <translation id="647261751007945333">Pravidlá zariadenia</translation> <translation id="6477321094435799029">Chrome na tejto stránke zaznamenal nezvyčajný kód a v záujme ochrany vašich osobných informácií (napr. hesiel, telefónnych čísel a kreditných kariet) ho zablokoval.</translation> <translation id="6489534406876378309">Spustiť nahrávanie správ o zlyhaní</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb index b49cacf9..4af1717 100644 --- a/components/strings/components_strings_sl.xtb +++ b/components/strings/components_strings_sl.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Natisni ...</translation> <translation id="1181037720776840403">Odstrani</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Samodejno poročanje<ph name="END_WHITEPAPER_LINK" /> podrobnosti morebitnih varnostnih dogodkov Googlu. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Plačilo ni dokončano</translation> <translation id="1201402288615127009">Naprej</translation> <translation id="1201895884277373915">Več s tega mesta</translation> <translation id="1206967143813997005">Neveljaven prvotni podpis</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Povezava je bila prekinjena</translation> <translation id="471880041731876836">Nimate dovoljenja za obisk tega spletnega mesta</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Izvajanje orodja Omrežna diagnostika Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Plačilo</translation> <translation id="4726672564094551039">Znova naloži pravilnike</translation> <translation id="4728558894243024398">Okolje</translation> <translation id="4736825316280949806">Znova zaženite Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Dodajanje več podatkov</translation> <translation id="6447842834002726250">Piškotki</translation> <translation id="6451458296329894277">Potrdite ponovno pošiljanje obrazca</translation> -<translation id="6456339708790392414">Plačilo</translation> <translation id="647261751007945333">Pravilniki za naprave</translation> <translation id="6477321094435799029">Chrome je zaznal nenavadno kodo na tej strani in jo zaradi zaščite vaših osebnih podatkov (na primer gesel, telefonskih številk in kreditnih kartic) blokiral.</translation> <translation id="6489534406876378309">Začetek prenašanja zrušitev v storitev</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb index eeb0ae0..8f11c40 100644 --- a/components/strings/components_strings_sr.xtb +++ b/components/strings/components_strings_sr.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Одштампај...</translation> <translation id="1181037720776840403">Уклони</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Аутоматски пријави<ph name="END_WHITEPAPER_LINK" /> Google-у детаље о могућим безбедносним инцидентима. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Плаћање није довршено</translation> <translation id="1201402288615127009">Даље</translation> <translation id="1201895884277373915">Више са овог сајта</translation> <translation id="1206967143813997005">Неисправан потпис иницијалима</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Веза је прекинута</translation> <translation id="471880041731876836">Немате дозволу да посетите овај сајт</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />да покренете Windows дијагностику мреже<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Плаћање</translation> <translation id="4726672564094551039">Поново учитај смернице</translation> <translation id="4728558894243024398">Платформа</translation> <translation id="4736825316280949806">Поново покрените Chromium</translation> @@ -721,7 +719,6 @@ <translation id="6446608382365791566">Додајте још информација</translation> <translation id="6447842834002726250">Колачићи</translation> <translation id="6451458296329894277">Потврђивање поновног слања обрасца</translation> -<translation id="6456339708790392414">Плаћање</translation> <translation id="647261751007945333">Смернице за уређај</translation> <translation id="6477321094435799029">Chrome је открио неуобичајени кôд на овој страници и блокирао је ради заштите ваших личних података (попут лозинки, бројева телефона или бројева кредитних картица).</translation> <translation id="6489534406876378309">Покрени отпремање отказивања</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb index 9ee1fd2..c46c1ad 100644 --- a/components/strings/components_strings_sv.xtb +++ b/components/strings/components_strings_sv.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Skriv &ut...</translation> <translation id="1181037720776840403">Ta bort</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Rapportera uppgifter<ph name="END_WHITEPAPER_LINK" /> om möjliga säkerhetsincidenter till Google automatiskt. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Betalningen slutfördes inte</translation> <translation id="1201402288615127009">Nästa</translation> <translation id="1201895884277373915">Mer från den här webbplatsen</translation> <translation id="1206967143813997005">Felaktig första signatur</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Anslutningen avbröts</translation> <translation id="471880041731876836">Du har inte behörighet att besöka den här webbplatsen.</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" /> köra nätverksdiagnostik för Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Din betalning</translation> <translation id="4726672564094551039">Läs in policyer på nytt</translation> <translation id="4728558894243024398">Plattform</translation> <translation id="4736825316280949806">Starta om Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Lägg till mer information</translation> <translation id="6447842834002726250">Cookies</translation> <translation id="6451458296329894277">Bekräfta återsändning av formulär</translation> -<translation id="6456339708790392414">Din betalning</translation> <translation id="647261751007945333">Enhetspolicyer</translation> <translation id="6477321094435799029">Chrome har identifierat ovanlig kod på sidan och blockerat den för att skydda dina personliga uppgifter (som lösenord, telefonnummer och kreditkortsuppgifter).</translation> <translation id="6489534406876378309">Börja överföra information om krascher</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb index a3de23f..da10b9a 100644 --- a/components/strings/components_strings_sw.xtb +++ b/components/strings/components_strings_sw.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Chapisha...</translation> <translation id="1181037720776840403">Ondoa</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Ripoti kiotomatiki<ph name="END_WHITEPAPER_LINK" /> kwa Google kuhusu maelezo ya uwezekano wa matukio yasiyo salama. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Malipo Hayajakamilika</translation> <translation id="1201402288615127009">Ifuatayo</translation> <translation id="1201895884277373915">Zaidi kutoka kwenye tovuti hii</translation> <translation id="1206967143813997005">Sahihi mbaya ya mwanzo</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Muunganisho wako umekatizwa</translation> <translation id="471880041731876836">Huna ruhusa ya kutembelea tovuti hii</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Kuendesha Zana ya Windows ya Kuchunguza Mtandao<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Malipo yako</translation> <translation id="4726672564094551039">Pakia sera upya</translation> <translation id="4728558894243024398">Mfumo wa uendeshaji</translation> <translation id="4736825316280949806">Zima na uwashe Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Ongeza maelezo zaidi</translation> <translation id="6447842834002726250">Vidakuzi</translation> <translation id="6451458296329894277">Thibitisha kuwa Fomu Iwasilishwe Tena</translation> -<translation id="6456339708790392414">Malipo Yako</translation> <translation id="647261751007945333">Sera za kifaa</translation> <translation id="6477321094435799029">Chrome imegundua nambari ya kuthibitisha isiyo ya kawaida kwenye ukurasa huu na ikaizuia ili kulinda maelezo ya binafsi (kwa mfano, manenosiri, nambari za simu na kadi za mikopo).</translation> <translation id="6489534406876378309">Anza kupakia matukio ya kuacha kufanya kazi</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb index ac7cc67..f46638c 100644 --- a/components/strings/components_strings_ta.xtb +++ b/components/strings/components_strings_ta.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&அச்சிடு...</translation> <translation id="1181037720776840403">அகற்று</translation> <translation id="1184214524891303587">பாதுகாப்பிற்கு இடையூறு விளைவிக்கும் சாத்தியமுள்ள செயல்பாடு குறித்த விவரங்களை Googleக்குத் <ph name="BEGIN_WHITEPAPER_LINK" />தானாகவே அனுப்பு<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">பணப்பரிமாற்றம் முடியவில்லை</translation> <translation id="1201402288615127009">அடுத்தது</translation> <translation id="1201895884277373915">இந்தத் தளம் கூடுதலாக வழங்குபவை</translation> <translation id="1206967143813997005">தொடக்கக் கையொப்பம் சரியானதல்ல</translation> @@ -492,7 +491,6 @@ <translation id="4708268264240856090">உங்கள் இணைப்பில் தடங்கல் ஏற்பட்டது</translation> <translation id="471880041731876836">இந்தத் தளத்தைப் பார்ப்பதற்கான அனுமதி உங்களிடம் இல்லை</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows நெட்வொர்க் டயக்னஸ்டிக்ஸ் கருவியை இயக்கவும்<ph name="END_LINK" /></translation> -<translation id="472349245089439925">உங்கள் கட்டணம்</translation> <translation id="4726672564094551039">கொள்கைகளை மீண்டும் ஏற்று</translation> <translation id="4728558894243024398">ப்ளாட்ஃபார்ம்</translation> <translation id="4736825316280949806">Chromiumஐ மீண்டும் தொடங்கவும்</translation> @@ -718,7 +716,6 @@ <translation id="6446608382365791566">மேலும் தகவலைச் சேர்க்கவும்</translation> <translation id="6447842834002726250">குக்கீகள்</translation> <translation id="6451458296329894277">படிவ மறுசமர்ப்பிப்பை உறுதிசெய்க</translation> -<translation id="6456339708790392414">உங்கள் கட்டணம்</translation> <translation id="647261751007945333">சாதனக் கொள்கைகள்</translation> <translation id="6477321094435799029">இந்தப் பக்கத்தில் வழக்கத்திற்கு மாறான குறியீடு இருப்பதை Chrome கண்டறிந்துள்ளது, மேலும் உங்கள் தனிப்பட்ட தகவலை (எடுத்துக்காட்டு: கடவுச்சொற்கள், ஃபோன் எண்கள் மற்றும் கிரெடிட் கார்டுகள்) பாதுகாக்க அதைத் தடுத்துள்ளது.</translation> <translation id="6489534406876378309">சிதைவுகளைப் பதிவேற்றுவதைத் தொடங்கு</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb index dd31ab98..b706fab 100644 --- a/components/strings/components_strings_te.xtb +++ b/components/strings/components_strings_te.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&ముద్రించు...</translation> <translation id="1181037720776840403">తొలగించు</translation> <translation id="1184214524891303587">సంభావ్య భద్రతా సంఘటనల గురించిన వివరాలను Googleకి <ph name="BEGIN_WHITEPAPER_LINK" />స్వయంచాలకంగా నివేదిస్తుంది<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">చెల్లింపు పూర్తి కాలేదు</translation> <translation id="1201402288615127009">తదుపరి</translation> <translation id="1201895884277373915">ఈ సైట్ నుండి మరింత</translation> <translation id="1206967143813997005">తప్పు ప్రారంభ సంతకం</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">మీ కనెక్షన్కు అంతరాయం ఏర్పడింది</translation> <translation id="471880041731876836">ఈ సైట్ను సందర్శించడానికి మీకు అనుమతి లేదు</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows నెట్వర్క్ సమస్య విశ్లేషణలను అమలు చేయడం<ph name="END_LINK" /></translation> -<translation id="472349245089439925">మీ చెల్లింపు</translation> <translation id="4726672564094551039">విధానాలను మళ్లీ లోడ్ చేయి</translation> <translation id="4728558894243024398">ప్లాట్ఫారమ్</translation> <translation id="4736825316280949806">Chromiumని పునఃప్రారంభించండి</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">మరింత సమాచారాన్ని జోడించండి</translation> <translation id="6447842834002726250">కుక్కీలు</translation> <translation id="6451458296329894277">ఫారమ్ పునఃసమర్పణను నిర్థారించండి</translation> -<translation id="6456339708790392414">మీ చెల్లింపు</translation> <translation id="647261751007945333">పరికర విధానాలు</translation> <translation id="6477321094435799029">Chrome ఈ పేజీలో అసాధారణ కోడ్ను గుర్తించింది మరియు మీ వ్యక్తిగత సమాచారం (ఉదాహరణకు, పాస్వర్డ్లు, ఫోన్ నంబర్లు మరియు క్రెడిట్ కార్డ్లు) రక్షించడానికి దాన్ని బ్లాక్ చేసింది.</translation> <translation id="6489534406876378309">క్రాష్లను అప్లోడ్ చేయడాన్ని ప్రారంభించండి</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb index 6b27b62c4..13a4e7d7 100644 --- a/components/strings/components_strings_th.xtb +++ b/components/strings/components_strings_th.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&พิมพ์...</translation> <translation id="1181037720776840403">ลบ</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />รายงาน<ph name="END_WHITEPAPER_LINK" />รายละเอียดของเหตุการณ์ความปลอดภัยที่เป็นไปได้ต่อ Google โดยอัตโนมัติ <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">การชำระเงินไม่เสร็จสมบูรณ์</translation> <translation id="1201402288615127009">ถัดไป</translation> <translation id="1201895884277373915">เพิ่มเติมจากไซต์นี้</translation> <translation id="1206967143813997005">ลายเซ็นเริ่มต้นไม่ถูกต้อง</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">การเชื่อมต่อของคุณขัดข้อง</translation> <translation id="471880041731876836">คุณไม่มีสิทธิ์เข้าชมไซต์นี้</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />เรียกใช้การวินิจฉัยเครือข่ายของ Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">การชำระเงินของคุณ</translation> <translation id="4726672564094551039">โหลดนโยบายซ้ำ</translation> <translation id="4728558894243024398">แพลตฟอร์ม</translation> <translation id="4736825316280949806">รีสตาร์ท Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">เพิ่มข้อมูลเพิ่มเติม</translation> <translation id="6447842834002726250">คุกกี้</translation> <translation id="6451458296329894277">ยืนยันการส่งแบบฟอร์มอีกครั้ง</translation> -<translation id="6456339708790392414">การชำระเงินของคุณ</translation> <translation id="647261751007945333">นโยบายอุปกรณ์</translation> <translation id="6477321094435799029">Chrome ได้ตรวจพบรหัสที่ผิดปกติบนหน้านี้และได้บล็อกรหัสดังกล่าวเพื่อปกป้องข้อมูลส่วนบุคคลของคุณ (เช่น รหัสผ่าน หมายเลขโทรศัพท์ และบัตรเครดิต)</translation> <translation id="6489534406876378309">เริ่มอัปโหลดข้อขัดข้อง</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb index b58dc9e..277995e5 100644 --- a/components/strings/components_strings_tr.xtb +++ b/components/strings/components_strings_tr.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">Ya&zdır...</translation> <translation id="1181037720776840403">Kaldır</translation> <translation id="1184214524891303587">Olası güvenlik olaylarının ayrıntılarını Google'a <ph name="BEGIN_WHITEPAPER_LINK" />otomatik olarak bildir<ph name="END_WHITEPAPER_LINK" />. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Ödeme İşlemi Tamamlanmadı</translation> <translation id="1201402288615127009">Sonraki</translation> <translation id="1201895884277373915">Bu siteden daha çok</translation> <translation id="1206967143813997005">Başlangıç anahtarlı imza hatalı</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Bağlantınız kesildi</translation> <translation id="471880041731876836">Bu siteyi ziyaret etmek için izniniz yok</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Windows Ağ Teşhislerini Çalıştırma<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Ödemeniz</translation> <translation id="4726672564094551039">Politikaları yeniden yükle</translation> <translation id="4728558894243024398">Platform</translation> <translation id="4736825316280949806">Chromium'u yeniden başlatın</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Daha fazla bilgi ekleyin</translation> <translation id="6447842834002726250">Çerezler</translation> <translation id="6451458296329894277">Yeniden Form Gönderme İşlemini Onayla</translation> -<translation id="6456339708790392414">Ödemeniz</translation> <translation id="647261751007945333">Cihaz politikaları</translation> <translation id="6477321094435799029">Chrome, bu sayfada olağan dışı kod tespit etti ve kişisel bilgilerinizi (örneğin, şifreler, telefon numaraları ve kredi kartları) korumak için sayfayı engelledi.</translation> <translation id="6489534406876378309">Kilitlenmeleri yüklemeye başla</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb index 377d9a89..de628418 100644 --- a/components/strings/components_strings_uk.xtb +++ b/components/strings/components_strings_uk.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&Друк...</translation> <translation id="1181037720776840403">Видалити</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Автоматично надсилати<ph name="END_WHITEPAPER_LINK" /> в Google інформацію про можливі порушення безпеки. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Оплату не завершено</translation> <translation id="1201402288615127009">Далі</translation> <translation id="1201895884277373915">Більше з цього сайту</translation> <translation id="1206967143813997005">Недійсний підпис</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">З’єднання розірвано</translation> <translation id="471880041731876836">У вас немає дозволу відвідувати цей сайт</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />провести діагностику мережі Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Ваш платіж</translation> <translation id="4726672564094551039">Перезавантажити правила</translation> <translation id="4728558894243024398">Платформа</translation> <translation id="4736825316280949806">Перезапустіть Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Додати більше інформації</translation> <translation id="6447842834002726250">Cookie-файли</translation> <translation id="6451458296329894277">Підтвердити повторне надсилання форми</translation> -<translation id="6456339708790392414">Ваш платіж</translation> <translation id="647261751007945333">Правила пристрою</translation> <translation id="6477321094435799029">Chrome виявив на цій сторінці незвичний код і заблокував його, щоб захистити вашу особисту інформацію (наприклад, паролі, номери телефонів або кредитних карток).</translation> <translation id="6489534406876378309">Почати завантаження даних про аварійне завершення роботи</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb index f3a06c6..d3b969a6 100644 --- a/components/strings/components_strings_vi.xtb +++ b/components/strings/components_strings_vi.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">&In...</translation> <translation id="1181037720776840403">Xóa</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />Tự động báo cáo<ph name="END_WHITEPAPER_LINK" /> chi tiết các sự cố bảo mật có thể xảy ra với Google. <ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">Thanh toán chưa hoàn tất</translation> <translation id="1201402288615127009">Tiếp theo</translation> <translation id="1201895884277373915">Thêm từ trang web này</translation> <translation id="1206967143813997005">Chữ ký ban đầu không hợp lệ</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">Kết nối của bạn bị gián đoạn</translation> <translation id="471880041731876836">Bạn không có quyền để truy cập trang web này</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />Chạy Chẩn đoán mạng của Windows<ph name="END_LINK" /></translation> -<translation id="472349245089439925">Thanh toán của bạn</translation> <translation id="4726672564094551039">Tải lại chính sách</translation> <translation id="4728558894243024398">Nền tảng</translation> <translation id="4736825316280949806">Khởi động lại Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">Thêm thông tin khác</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">Xác nhận việc Gửi lại Biểu mẫu</translation> -<translation id="6456339708790392414">Thanh toán của bạn</translation> <translation id="647261751007945333">Chính sách thiết bị</translation> <translation id="6477321094435799029">Chrome đã phát hiện mã bất thường trên trang này và đã chặn mã này để bảo vệ thông tin cá nhân của bạn (ví dụ như mật khẩu, số điện thoại và thẻ tín dụng).</translation> <translation id="6489534406876378309">Bắt đầu tải lên sự cố</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb index a2fa716a..2edfb5a1c 100644 --- a/components/strings/components_strings_zh-CN.xtb +++ b/components/strings/components_strings_zh-CN.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">打印(&P)...</translation> <translation id="1181037720776840403">删除</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />自动向 Google 报告<ph name="END_WHITEPAPER_LINK" />可能出现的安全事件的详细信息。<ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">未能完成付款</translation> <translation id="1201402288615127009">下一步</translation> <translation id="1201895884277373915">来自该网站的更多内容</translation> <translation id="1206967143813997005">初始签名不正确</translation> @@ -492,7 +491,6 @@ <translation id="4708268264240856090">您的连接已中断</translation> <translation id="471880041731876836">您无权访问此网站</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />运行 Windows 网络诊断<ph name="END_LINK" /></translation> -<translation id="472349245089439925">您的付款</translation> <translation id="4726672564094551039">重新加载政策</translation> <translation id="4728558894243024398">平台</translation> <translation id="4736825316280949806">重新启动 Chromium</translation> @@ -718,7 +716,6 @@ <translation id="6446608382365791566">添加更多信息</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">确认重新提交表单</translation> -<translation id="6456339708790392414">您的付款</translation> <translation id="647261751007945333">设备政策</translation> <translation id="6477321094435799029">Chrome 在此网页上检测到了异常代码。为保护您的个人信息(例如密码、电话号码和信用卡信息),Chrome 已将该网页拦截。</translation> <translation id="6489534406876378309">开始上传崩溃数据</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb index 0594ba43d..8afcc539 100644 --- a/components/strings/components_strings_zh-TW.xtb +++ b/components/strings/components_strings_zh-TW.xtb
@@ -31,7 +31,6 @@ <translation id="1175364870820465910">列印(&P)...</translation> <translation id="1181037720776840403">移除</translation> <translation id="1184214524891303587"><ph name="BEGIN_WHITEPAPER_LINK" />自動向 Google 回報<ph name="END_WHITEPAPER_LINK" />疑似安全性事件的詳細資料。<ph name="PRIVACY_PAGE_LINK" /></translation> -<translation id="1193706408197842297">未完成付款程序</translation> <translation id="1201402288615127009">繼續</translation> <translation id="1201895884277373915">這個網站的更多內容</translation> <translation id="1206967143813997005">縮寫簽名無效</translation> @@ -495,7 +494,6 @@ <translation id="4708268264240856090">您的連線已中斷</translation> <translation id="471880041731876836">你沒有這個網站的瀏覽權限</translation> <translation id="4722547256916164131"><ph name="BEGIN_LINK" />執行 Windows 網路診斷<ph name="END_LINK" /></translation> -<translation id="472349245089439925">你的付款</translation> <translation id="4726672564094551039">重新載入政策</translation> <translation id="4728558894243024398">平台</translation> <translation id="4736825316280949806">重新啟動 Chromium</translation> @@ -722,7 +720,6 @@ <translation id="6446608382365791566">新增詳細資訊</translation> <translation id="6447842834002726250">Cookie</translation> <translation id="6451458296329894277">確認重新提交表單</translation> -<translation id="6456339708790392414">你的付款</translation> <translation id="647261751007945333">裝置政策</translation> <translation id="6477321094435799029">Chrome 在這個網頁上偵測到異常代碼。為了保護你的個人資訊 (包括密碼、電話號碼或信用卡資料),Chrome 已封鎖這個網頁。</translation> <translation id="6489534406876378309">開始上傳當機報告</translation>
diff --git a/components/sync_preferences/pref_service_syncable_unittest.cc b/components/sync_preferences/pref_service_syncable_unittest.cc index 5a1c94e..d79abb4 100644 --- a/components/sync_preferences/pref_service_syncable_unittest.cc +++ b/components/sync_preferences/pref_service_syncable_unittest.cc
@@ -12,6 +12,7 @@ #include "base/json/json_string_value_serializer.h" #include "base/json/json_writer.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/strings/utf_string_conversions.h" #include "components/pref_registry/pref_registry_syncable.h"
diff --git a/components/test/data/autofill/heuristics/input/150_checkout_venus.com_search_field.html b/components/test/data/autofill/heuristics/input/150_checkout_venus.com_search_field.html new file mode 100644 index 0000000..36cfb54 --- /dev/null +++ b/components/test/data/autofill/heuristics/input/150_checkout_venus.com_search_field.html
@@ -0,0 +1,439 @@ + +<!DOCTYPE HTML> + +<html lang="en"> + Secure Online Shopping at the Official VENUS.com Website + <div id="coremetricsTagContainer"></div> + <table width='100%' cellpadding='0' cellspacing='0'> + <tr> + <td> + <iframe id="minicartiframe" name="minicartiframe" src="" scrolling="no" style='display: none; z-index: 9; position: absolute; background-color: #FFFFFF; width: 400px;' + width="400" frameborder="0" lang="en"></iframe> + <div id='headercopyright' style='display: none'> + </div> + + <div class="header"> + <div id="main-logo"> + <a id="ctl00_hyperlink_logo" href="https://www.venus.com/default.aspx"><img id="ctl00_logoImage" title="Venus Swimwear and Women's Clothing" src="/assets/redesign/header/Venus_logo_240px.png" alt="Venus Swimwear and Women's Clothing" style="border-width:0px;" /></a> + </div> + <div id="ctl00_searchTR" class="search-box"> + <input name="ctl00$searchterm" type="text" maxlength="40" size="27" id="ctl00_searchterm" placeholder="Search keyword or item #" onKeyPress="if (event.keyCode == 13 && this.value!='') { submitsearch(); return false; }" onKeyUp="if ((event.keyCode != 38) && (event.keyCode != 40) && (event.keyCode != 13)) { searchSuggest(); return true; } else if (event.keyCode == 40) { suggestDown(); return true;} else if (event.keyCode == 38) { suggestUp(); return true;}" /> + <input class='test' type="button" onclick="submitsearch()" value=" " /> + <div id="searchsuggest"></div> + </div> + <div id="ctl00_divHeaderLinks" class="header-links checkout logged-out"> + <div class="pull-right"> + <div id="login"> + + + </div> + </div> + </div> + <table id="ctl00_tblHeaderLinks" class="hdrtbl"> + <tr> + <td class="account"> + <a href='https://www.venus.com/emailupdates.aspx' class="hdrtxt" style="width: 118px; padding-top: 8px;">email sign up</a> + </td> + <td style="padding-bottom: 8px;"> + <img src="/assets/line.gif" /> + </td> + <td id="ctl00_accountLink" class="shopping-text"> + <a href='/secure/accountinformation.aspx' class="hdrtxt" style="width: 78px; padding-top: 8px;">account</a> + </td> + </tr> +</table> + + + <div style="clear: both; height: 5px;"></div> + </div> + +<div class="clear topmenu"></div> +</div> + + + <div id="ctl00_pnlMainWrapper" align="center" display="block"> + + <div id="ctl00_pnlMain2" style="width:960px;"> + + <table id="ctl00_Table1" cellspacing="0" cellpadding="0" width="960px" style="margin-left: auto; margin-right: auto; text-align: left;"> + <tr> + <td class="white" valign="top"> + <table cellspacing="0" cellpadding="0" width="100%"> + <tr> + <td class="white" valign='top'> + + <div id="mainContent"> + <span id="ctl00_lblbreadcrumbs"></span> + </div> + <div id="miniCartPositioner" style="float: right; margin: 0px 0px 0px 0px; height: 1px !important; width: 1px; background-color: Transparent;"> + </div> + <div class="bookmark"> + <span id="ctl00_lblbookmarklink"></span> + </div> + + </td> + </tr> + <tr> + <td class="white" valign='top'> + + <table width="100%" cellpadding="0" cellspacing="0" border="0"> + <tr> + + <td style="vertical-align: top;"> + + <script type="text/javascript" src="/includes/scripts/Coremetrics/CoremetricsDDX.min-12727183470B4C627FEF38DD60370880.js"></script> + <input type="hidden" name="ctl00$Body1$hfBrowserpostMessageCapable" id="ctl00_Body1_hfBrowserpostMessageCapable" value="false" /> + <input type="hidden" name="ctl00$Body1$ddrssState" id="ctl00_Body1_ddrssState" /> + <script type="text/javascript"> +//<![CDATA[ +Sys.WebForms.PageRequestManager._initialize('ctl00$Body1$sm1', 'aspnetForm', ['tctl00$Body1$upMain',''], [], ['ctl00$Body1$btnStep1Edit',''], 90, 'ctl00'); + //]]> +</script> + + <div id="ctl00_Body1_upMain"> + + <div id="main"> + <div class="dptCntnt"> + <div id="leftcont" class="leftcont"> + <div class="dttl">CHECKOUT</div> + <!-- 1 Login --> + + + <div id="ctl00_Body1_frgtPsswrd" class="frgtPsswrdOff" style="display: none;"> + <div class="frgtPsswrdPck"> + <div align="right"> + <a href="javascript:toggleForgotPass();">[x] close</a> + </div> + <span class="checkout_title">DID YOU FORGET YOUR PASSWORD?</span><br /> + <span class="thnkdt">Please enter the email address below that you used to create your account<br /> + and your password will be emailed to you shortly. If you have changed your<br /> + email address since you first registered, you will need to re-register on our site.<br /> + <a href="https://www.venus.com/secure/login.aspx"><u>Click here</u></a> + </span> + <br /> + <br /> + <input name="ctl00$Body1$txtPasswordEmail" type="text" id="ctl00_Body1_txtPasswordEmail" placeholder="Name@yourmail.com" maxlength="128" tabindex="1" style="width: 240px;" class="tbox" onchange="syncTextbox();" /> + <span id="ctl00_Body1_cvPasswordEmail" style="color:Red;visibility:hidden;"></span> + <span id="spForgotPasswordEmailError" class="error_label error_span" style="display: none; line-height: 25px;">Oops: Please enter a valid email address.</span> + <br /> + <br /> + <br /> + <br /> + <input type="submit" name="ctl00$Body1$btnPassLookup" value="Lookup Password" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Body1$btnPassLookup", "", true, "forgotPassword", "", false, false))" id="ctl00_Body1_btnPassLookup" class="dtBttn" /> + (OR) + <input type="button" class="dtBttn" value="Continue as Guest" onclick="contAsGuest()" /> + + <div id="ctl00_Body1_frgtPsswrdMsg" class="frgtPsswrdMsg" style="display: none;"> + <div id="ctl00_Body1_pnlEmailNotFound"> + + <span id="EmailNotFoundMessage" class="error_label">THE EMAIL YOU ENTERED DOES NOT EXIST IN OUR RECORDS.</span> + + </div> + <div id="ctl00_Body1_pnlPasswordEmailed"> + + THANK YOU! - YOUR PASSWORD HAS BEEN EMAILED.<br /> + <span class="thnkdt">If you do not receive your password within the next 30 minutes, please click + <a href="javascript:popup('https://venus.custhelp.com/app/ask', 'emailvenus', 640, 660, 'no', 'no', 'no', 'no');">here</a>. + Please be sure to include your name, telephone number and billing zip code.</span> + + </div> + </div> + </div> + </div> + <div id="ctl00_Body1_noItemOverlay" class="frgtPsswrdOff" style="display:none;"></div> + <div id="stepContainer"> + <div id='chckStpBttn' class="chckStpBttn"> + <div id="ctl00_Body1_login_bttn" class="LoginOFF"> + <div class="section_msg">Let's Get Started</div> + </div> + <!----> + </div> + <div id="ctl00_Body1_Step1Display" class="pymntOff"> + <div class="step1_a">EMAIL ADDRESS: <span id="ctl00_Body1_displayEmail">chromeguyforever@gmail.com</span></div> + <div class="step1_b"> + <input type="submit" name="ctl00$Body1$btnStep1Edit" value="Edit" id="ctl00_Body1_btnStep1Edit" class="dtBttn" /> + </div> + </div> + + + <br /> + <div id="ctl00_Body1_divShippingcontainer"></div> + <div id="ctl00_Body1_shipHeader" class="chckStpBttn"> + <div id="ctl00_Body1_ddrss_bttn" class="ShipON"> + <div class="section_msg">shipping information</div> + </div> + </div> + + + <div id="ctl00_Body1_Step2Edit" class="pymnt" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_Body1_btnShipping')"> + + <div id="ctl00_Body1_pnlStep2PayPalError" class="step2-pp-error-div" style="display: none;"> + + <span id="ctl00_Body1_lblStep2PayPalError" class="step2-pp-error-span"></span> + + </div> + + + +<!--<link rel="stylesheet" type="text/css" href="/css/template.min-1B579324489ECEB7F0A49A50BF1D37F4.css" /> +<link rel="stylesheet" type="text/css" href="/css/style_header.min-90DC6A837FD6D18D9F548530E6095730.css" />--> + +<div id="ctl00_Body1_ucShippingAddress_divEnterAddressInfo" class="pymnt_no_border"> + <span id="ctl00_Body1_ucShippingAddress_lblAddressTypeHeader">Shipping</span> + Address <span class="pymntSxt">*Required</span><br /> + <span id="ctl00_Body1_ucShippingAddress_spAddressError" class="error_label error_span" style="display: none;">Oops! There are some errors with the information below. Please review and correct the following errors:</span> + <br /> + <table width="520px" border="0" cellspacing="0" cellpadding="5" class="field_table"> + <tr> + <td colspan="2"> + <div><label for="ctl00_Body1_ucShippingAddress_txtFirstName" id="ctl00_Body1_ucShippingAddress_lblFirstName">*First Name:</label></div> + <input name="ctl00$Body1$ucShippingAddress$txtFirstName" type="text" maxlength="35" id="ctl00_Body1_ucShippingAddress_txtFirstName" class="tbox" style="width: 252px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvFirstName" style="color:Red;visibility:hidden;"></span> + </td> + <td> + <div>*Last Name:</div> + <input name="ctl00$Body1$ucShippingAddress$txtLastName" type="text" maxlength="35" id="ctl00_Body1_ucShippingAddress_txtLastName" class="tbox" style="width: 250px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvLastName" style="color:Red;visibility:hidden;"></span> + </td> + </tr> + </table> + <table width="520px" border="0" cellspacing="0" cellpadding="5" class="field_table"> + <tr> + <td colspan="2"> + <div>*Address:</div> + <input name="ctl00$Body1$ucShippingAddress$txtAddress1" type="text" maxlength="35" id="ctl00_Body1_ucShippingAddress_txtAddress1" class="tbox" style="width: 393px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvAddress1" style="color:Red;visibility:hidden;"></span> + </td> + <td> + <div>Apt/Suite:</div> + <input name="ctl00$Body1$ucShippingAddress$txtAddress2" type="text" maxlength="35" id="ctl00_Body1_ucShippingAddress_txtAddress2" class="tbox" style="width: 109px;" /> + </td> + </tr> + </table> + <table width="520px" border="0" cellspacing="0" cellpadding="5" class="field_table"> + <tr> + <td> + <div>*City:</div> + <input name="ctl00$Body1$ucShippingAddress$txtCity" type="text" maxlength="35" id="ctl00_Body1_ucShippingAddress_txtCity" class="tbox" style="width: 162px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvCity" style="color:Red;visibility:hidden;"></span> + </td> + <td> + <div id="ctl00_Body1_ucShippingAddress_pnlUsState"> + + <span id="ctl00_Body1_ucShippingAddress_lblState" class="labeltxt">*State:</span> + <select name="ctl00$Body1$ucShippingAddress$ddlState" id="ctl00_Body1_ucShippingAddress_ddlState" class="selddl" onchange="showWarningDiv(this)" style="width: 162px;"> + <option selected="selected" value="Select State/Province">Select State/Province</option> + <option value="AL">Alabama</option> + <option value="AK">Alaska</option> + <option value="AS">American Samoa</option> + <option value="AZ">Arizona</option> + <option value="AR">Arkansas</option> + <option value="CA">California</option> + <option value="CO">Colorado</option> + <option value="CT">Connecticut</option> + <option value="DE">Delaware</option> + <option value="DC">District of Columbia</option> + <option value="FL">Florida</option> + <option value="GA">Georgia</option> + <option value="GU">Guam</option> + <option value="HI">Hawaii</option> + <option value="ID">Idaho</option> + <option value="IL">Illinois</option> + <option value="IN">Indiana</option> + <option value="IA">Iowa</option> + <option value="KS">Kansas</option> + <option value="KY">Kentucky</option> + <option value="LA">Louisiana</option> + <option value="ME">Maine</option> + <option value="MD">Maryland</option> + <option value="MA">Massachusetts</option> + <option value="MI">Michigan</option> + <option value="AA">Military - AA</option> + <option value="AE">Military - AE</option> + <option value="AP">Military - AP</option> + <option value="MN">Minnesota</option> + <option value="MS">Mississippi</option> + <option value="MO">Missouri</option> + <option value="MT">Montana</option> + <option value="NE">Nebraska</option> + <option value="NV">Nevada</option> + <option value="NH">New Hampshire</option> + <option value="NJ">New Jersey</option> + <option value="NM">New Mexico</option> + <option value="NY">New York</option> + <option value="NC">North Carolina</option> + <option value="ND">North Dakota</option> + <option value="OH">Ohio</option> + <option value="OK">Oklahoma</option> + <option value="OR">Oregon</option> + <option value="PA">Pennsylvania</option> + <option value="PR">Puerto Rico</option> + <option value="RI">Rhode Island</option> + <option value="SC">South Carolina</option> + <option value="SD">South Dakota</option> + <option value="TN">Tennessee</option> + <option value="TX">Texas</option> + <option value="UT">Utah</option> + <option value="VT">Vermont</option> + <option value="VI">Virgin Islands</option> + <option value="VA">Virginia</option> + <option value="WA">Washington</option> + <option value="WV">West Virginia</option> + <option value="WI">Wisconsin</option> + <option value="WY">Wyoming</option> + + </select> + <span id="ctl00_Body1_ucShippingAddress_cvState" style="color:Red;visibility:hidden;"></span> + + </div> + + </td> + <td> + <span id="ctl00_Body1_ucShippingAddress_lblZip" class="labeltxt">*Zip Code:</span> + <input name="ctl00$Body1$ucShippingAddress$txtZip" type="text" maxlength="10" id="ctl00_Body1_ucShippingAddress_txtZip" class="tbox tboxZip" style="width: 168px; *width: 120px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvZip" style="color:Red;visibility:hidden;"></span> + </td> + </tr> + </table> + <table width="520px" border="0" cellspacing="0" cellpadding="5" class="field_table"> + <tr> + <td width="154px"> + <div>*Country:</div> + <select name="ctl00$Body1$ucShippingAddress$ddlCountry" onchange="javascript:setTimeout('__doPostBack(\'ctl00$Body1$ucShippingAddress$ddlCountry\',\'\')', 0)" id="ctl00_Body1_ucShippingAddress_ddlCountry" class="selddl" style="width: 162px;"> + <option selected="selected" value="US">USA</option> + <option value="Australia">Australia</option> + <option value="Canada">Canada</option> + <option value="France">France</option> + <option value="Germany">Germany</option> + <option value="Ireland">Ireland</option> + <option value="Italy">Italy</option> + <option value="New Zealand">New Zealand</option> + <option value="United Kingdom">United Kingdom</option> + + </select> + <span id="ctl00_Body1_ucShippingAddress_cvCountry" style="color:Red;visibility:hidden;"></span> + </td> + <td width="346px"> + <div>*Phone:</div> + <input name="ctl00$Body1$ucShippingAddress$txtDayPhone" type="text" maxlength="30" id="ctl00_Body1_ucShippingAddress_txtDayPhone" class="tbox" placeholder="*Phone xxx-xxx-xxxx" style="width: 162px;" /> + <span id="ctl00_Body1_ucShippingAddress_cvDayPhone" style="color:Red;visibility:hidden;"></span> + <a href="javascript:toggleCssClass('divPhoneVerbiage', 'shpbx', 'shpdesc');" class="shphdr" style="display: inline"> + <img class="inline" src="/assets/ques.gif" width="17" height="17" /></a> + </td> + </tr> + <tr> + <td colspan="2"> + <div id="divPhoneVerbiage" class="shpbx"> + <div class="close_button"><a href="javascript:function { }" class="close">[x] close</a></div> + <span class="checkout_title">WHY DO WE NEED YOUR PHONE NUMBER?</span> + + You will be contacted for verification purposes in case the information you provided during checkout doesn’t match the billing records your credit card issuer has on file. Also, your phone number is important in the event the order courier needs to arrange a delivery time with you. + </div> + </td> + </tr> + </table> +</div> + + + + + <hr class="no_btm_marg" /> + <div id="click"> + IS YOUR BILLING ADDRESS THE SAME AS YOUR SHIPPING ADDRESS?<br /> + <input id="ctl00_Body1_rbShipSame" type="radio" name="ctl00$Body1$billShip" value="rbShipSame" checked="checked" /><label for="ctl00_Body1_rbShipSame">Yes, they are the same.</label><input id="ctl00_Body1_rbShipNotSame" type="radio" name="ctl00$Body1$billShip" value="rbShipNotSame" onclick="javascript:setTimeout('__doPostBack(\'ctl00$Body1$rbShipNotSame\',\'\')', 0)" /><label for="ctl00_Body1_rbShipNotSame">No, I need to add my billing address.</label> + </div> + + + <div id="ctl00_Body1_divShipOptions"> + <hr class="no_btm_marg" /> + <div class="rqrd"> + SELECT YOUR DELIVERY METHOD <a href="javascript:toggleCssClass('divShipMethodDescription', 'shpbx', 'shpdesc');" class="shphdr" style="display: inline"> + <img class="inline" src="/assets/ques.gif" width="17" height="17" /></a><span class="pymntSxt"> *Business day = Monday - Friday</span><br /> + <span class="pymnheader">We do our best to ship all in-stock orders within one business day</span> + <span class="pymntSxt">(pending credit card authorization)</span> + </div> + + + <div id="divShipMethodDescription" class="shpbx"> + <div class="close_button"><a href="javascript:function { }" class="close">[x] close</a></div> + <br/>Standard Delivery - (Delivery in 7 Business Days or less US only.)<br/><br/>2 Business Days - (Delivery in 2 Business Days on orders placed by 5 P.M. EST U.S. only<font class='redtext'>**</font>)<br/><br/>Next Business Day - (Delivery Next Business Day on orders placed by 5 P.M. EST U.S. only<font class='redtext'>**</font>) + <br /> + <br /> + </div> + <br /> + <table id="shipTable" cellspacing="0" cellpadding="0" class="shptbl" align="center"> + <tr> + + <td id="ctl00_Body1_rptShipMethods_ctl00_tdShipMethod" width="168" class="tdShipMeth" valign="middle" onclick="javascript:resetShipRadios('ctl00_Body1_rptShipMethods_ctl00_rbShipMethod')"> + <a id="ctl00_Body1_rptShipMethods_ctl00_lbShipMethodChanged" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Body1$rptShipMethods$ctl00$lbShipMethodChanged", "", true, "", "", false, true))"></a> + <div style="position: relative; display: table; overflow: hidden;"> + <div id="ctl00_Body1_rptShipMethods_ctl00_pnlShipMethod" class="shpOn"> + + <span id="ctl00_Body1_rptShipMethods_ctl00_lblShipMethodId" style="display: none">28</span> + <span id="ctl00_Body1_rptShipMethods_ctl00_lblShipMethodName" class="uppercase" style="font-weight:bold;">Standard Delivery</span><br /> + <span id="ctl00_Body1_rptShipMethods_ctl00_lblShipMethodRate" class="gtxt">$0.00</span> + + </div> + </div> + <span class="shplst" style="display:inline-block;width:100%;"><input id="ctl00_Body1_rptShipMethods_ctl00_rbShipMethod" type="radio" name="ctl00$Body1$rptShipMethods$ctl00$shipMethod" value="28" checked="checked" onclick="SetUniqueRadioButton('rptShipMethods.*shipMethod',this);" /></span> + </td> + + + <td id="ctl00_Body1_rptShipMethods_ctl01_tdShipMethod" width="168" class="tdShipMeth" valign="middle" onclick="javascript:resetShipRadios('ctl00_Body1_rptShipMethods_ctl01_rbShipMethod')"> + <a id="ctl00_Body1_rptShipMethods_ctl01_lbShipMethodChanged" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Body1$rptShipMethods$ctl01$lbShipMethodChanged", "", true, "", "", false, true))"></a> + <div style="position: relative; display: table; overflow: hidden;"> + <div id="ctl00_Body1_rptShipMethods_ctl01_pnlShipMethod" class="shpOff"> + + <span id="ctl00_Body1_rptShipMethods_ctl01_lblShipMethodId" style="display: none">3</span> + <span id="ctl00_Body1_rptShipMethods_ctl01_lblShipMethodName" class="uppercase" style="font-weight:bold;">2 Business Days</span><br /> + + + </div> + </div> + <span class="shplst" style="display:inline-block;width:100%;"><input id="ctl00_Body1_rptShipMethods_ctl01_rbShipMethod" type="radio" name="ctl00$Body1$rptShipMethods$ctl01$shipMethod" value="3" onclick="SetUniqueRadioButton('rptShipMethods.*shipMethod',this);setTimeout('__doPostBack(\'ctl00$Body1$rptShipMethods$ctl01$rbShipMethod\',\'\')', 0)" /></span> + </td> + + + <td id="ctl00_Body1_rptShipMethods_ctl02_tdShipMethod" width="168" class="tdShipMeth" valign="middle" onclick="javascript:resetShipRadios('ctl00_Body1_rptShipMethods_ctl02_rbShipMethod')"> + <a id="ctl00_Body1_rptShipMethods_ctl02_lbShipMethodChanged" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Body1$rptShipMethods$ctl02$lbShipMethodChanged", "", true, "", "", false, true))"></a> + <div style="position: relative; display: table; overflow: hidden;"> + <div id="ctl00_Body1_rptShipMethods_ctl02_pnlShipMethod" class="shpOff"> + + <span id="ctl00_Body1_rptShipMethods_ctl02_lblShipMethodId" style="display: none">16</span> + <span id="ctl00_Body1_rptShipMethods_ctl02_lblShipMethodName" class="uppercase" style="font-weight:bold;">Next Business Day</span><br /> + + + </div> + </div> + <span class="shplst" style="display:inline-block;width:100%;"><input id="ctl00_Body1_rptShipMethods_ctl02_rbShipMethod" type="radio" name="ctl00$Body1$rptShipMethods$ctl02$shipMethod" value="16" onclick="SetUniqueRadioButton('rptShipMethods.*shipMethod',this);setTimeout('__doPostBack(\'ctl00$Body1$rptShipMethods$ctl02$rbShipMethod\',\'\')', 0)" /></span> + </td> + + + </tr> + </table> + + + <hr /> + </div> + <br /> + <div id="divRTPSLoading" style="display: none;"> + <img src="/assets/loading.gif" alt="Loading" /> + </div> + <div class="scrbuttons"> + <div class="scrbttn"> + <input type="submit" name="ctl00$Body1$btnShipping" value="Continue" onclick="showLoadingSpinner();clearPrevValues();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Body1$btnShipping", "", true, "", "", false, false))" id="ctl00_Body1_btnShipping" class="button" /> + </div> + </div> + <div class="scrlogo scrbttn-secure"></div> + <!-- Venus card --> + <div id="iframediv" class="iframediv"> + + </div> + <!-- Venus card --> + + </div> + <br /> + + +</body> +</html>
diff --git a/components/test/data/autofill/heuristics/output/150_checkout_venus.com_search_field.out b/components/test/data/autofill/heuristics/output/150_checkout_venus.com_search_field.out new file mode 100644 index 0000000..2a133e2c --- /dev/null +++ b/components/test/data/autofill/heuristics/output/150_checkout_venus.com_search_field.out
@@ -0,0 +1,16 @@ +SEARCH_TERM | ctl00$searchterm | Search keyword or item # | | ctl00$searchterm_1-default +EMAIL_ADDRESS | ctl00$Body1$txtPasswordEmail | Please enter the email address below that you used to create your account and your password will be emailed to you shortly. If you have changed your email address since you first registered, you will need to re-register on our site. Click here | | ctl00$searchterm_1-default +NAME_FIRST | ctl00$Body1$ucShippingAddress$txtFirstName | | | ctl00$searchterm_1-default +NAME_LAST | ctl00$Body1$ucShippingAddress$txtLastName | *First Name: | | ctl00$searchterm_1-default +ADDRESS_HOME_LINE1 | ctl00$Body1$ucShippingAddress$txtAddress1 | | | ctl00$searchterm_1-default +ADDRESS_HOME_LINE2 | ctl00$Body1$ucShippingAddress$txtAddress2 | *Address: | | ctl00$searchterm_1-default +ADDRESS_HOME_CITY | ctl00$Body1$ucShippingAddress$txtCity | | | ctl00$searchterm_1-default +ADDRESS_HOME_STATE | ctl00$Body1$ucShippingAddress$ddlState | *State: | Select State/Province | ctl00$searchterm_1-default +ADDRESS_HOME_ZIP | ctl00$Body1$ucShippingAddress$txtZip | *Zip Code: | | ctl00$searchterm_1-default +ADDRESS_HOME_COUNTRY | ctl00$Body1$ucShippingAddress$ddlCountry | | US | ctl00$searchterm_1-default +PHONE_HOME_WHOLE_NUMBER | ctl00$Body1$ucShippingAddress$txtDayPhone | *Phone xxx-xxx-xxxx | | ctl00$searchterm_1-default +UNKNOWN_TYPE | ctl00$Body1$billShip | Yes, they are the same. | rbShipSame | ctl00$searchterm_1-default +UNKNOWN_TYPE | ctl00$Body1$billShip | No, I need to add my billing address. | rbShipNotSame | ctl00$searchterm_1-default +UNKNOWN_TYPE | ctl00$Body1$rptShipMethods$ctl00$shipMethod | 28 | 28 | ctl00$searchterm_1-default +UNKNOWN_TYPE | ctl00$Body1$rptShipMethods$ctl01$shipMethod | 28 | 3 | ctl00$searchterm_1-default +UNKNOWN_TYPE | ctl00$Body1$rptShipMethods$ctl02$shipMethod | 3 | 16 | ctl00$searchterm_1-default
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc index 00864253..1b41368 100644 --- a/content/app/content_main_runner.cc +++ b/content/app/content_main_runner.cc
@@ -52,7 +52,7 @@ #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" #include "content/public/common/sandbox_init.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "gin/v8_initializer.h" #include "media/base/media.h" #include "media/media_features.h"
diff --git a/content/app/strings/translations/content_strings_bn.xtb b/content/app/strings/translations/content_strings_bn.xtb index 21bb9a2..f631e9e 100644 --- a/content/app/strings/translations/content_strings_bn.xtb +++ b/content/app/strings/translations/content_strings_bn.xtb
@@ -105,7 +105,7 @@ <translation id="5537725057119320332">কাস্ট করুন</translation> <translation id="5546461542133609677">সশব্দ</translation> <translation id="561939826962581046">time</translation> -<translation id="5630795885300617244">১০সেকেন্ড এগিয়ে অথবা পিছিয়ে যাওয়ার জন্য ডান অথবা বাঁ দিকের বোতামে ডবল ট্যাপ করুন</translation> +<translation id="5630795885300617244">১০ সেকেন্ড আগে পরে করার জন্য বাঁ অথবা ডান দিকে ডবল ট্যাপ করুন</translation> <translation id="5641012560118721995">প্লেব্যাক বিরতি</translation> <translation id="5643186887447432888">বোতাম</translation> <translation id="5677946354068040947">আরও বিকল্প</translation>
diff --git a/content/app/strings/translations/content_strings_mr.xtb b/content/app/strings/translations/content_strings_mr.xtb index 15380ce..a39b0cef 100644 --- a/content/app/strings/translations/content_strings_mr.xtb +++ b/content/app/strings/translations/content_strings_mr.xtb
@@ -83,14 +83,14 @@ <translation id="4522570452068850558">तपशील</translation> <translation id="4597532268155981612">फॉर्म</translation> <translation id="4661075872484491155">tree</translation> -<translation id="4664250907885839816">'<ph name="ATSIGN" />' चे अनुसरण करणार्या भागामध्ये '<ph name="INVALIDCHARACTER" />' चिन्ह नसावे.</translation> +<translation id="4664250907885839816">'<ph name="ATSIGN" />' चे फॉलो करणार्या भागामध्ये '<ph name="INVALIDCHARACTER" />' चिन्ह नसावे.</translation> <translation id="4757246831282535685">टॅब पॅनेल</translation> <translation id="4763480195061959176">व्हिडिओ</translation> <translation id="479989351350248267">search</translation> <translation id="4812940957355064477">कृपया एक नंबर एंटर करा.</translation> <translation id="4975562563186953947"><ph name="SELECTED_COUNT" /> निवडले</translation> <translation id="4992066212339426712">सशब्द करा</translation> -<translation id="49969490063480558">कृपया '<ph name="ATSIGN" />' चे अनुसरण करणारा भाग एंटर करा. '<ph name="INVALIDADDRESS" />' अपूर्ण आहे.</translation> +<translation id="49969490063480558">कृपया '<ph name="ATSIGN" />' चे फॉलो करणारा भाग एंटर करा. '<ph name="INVALIDADDRESS" />' अपूर्ण आहे.</translation> <translation id="5034860022980953847">प्रगती सूचक</translation> <translation id="5117590920725113268">पुढील महिना दर्शवा</translation> <translation id="512758898067543763">पंक्ती शीर्षलेख</translation>
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index d967c234..603d414 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -79,10 +79,10 @@ "//content/browser/service_worker:service_worker_proto", "//content/browser/speech/proto", "//content/common", - "//content/common:features", + "//content/common:buildflags", "//content/common:mojo_bindings", "//content/public/common:common_sources", - "//content/public/common:zygote_features", + "//content/public/common:zygote_buildflags", "//crypto", "//device/bluetooth", "//device/fido", @@ -203,7 +203,7 @@ ] public_deps = [ - ":accessibility_flags", + ":accessibility_buildflags", "//ipc", "//media/mojo/interfaces:remoting", "//third_party/WebKit/public:media_devices_mojo_bindings", @@ -2366,8 +2366,8 @@ } } -buildflag_header("accessibility_flags") { - header = "accessibility_flags.h" +buildflag_header("accessibility_buildflags") { + header = "accessibility_buildflags.h" header_dir = "content/browser/accessibility" flags = [ "USE_ATK=$use_atk" ] }
diff --git a/content/browser/accessibility/accessibility_event_recorder.h b/content/browser/accessibility/accessibility_event_recorder.h index 22ed1f98..4f9ab02 100644 --- a/content/browser/accessibility/accessibility_event_recorder.h +++ b/content/browser/accessibility/accessibility_event_recorder.h
@@ -40,6 +40,10 @@ base::ProcessId pid); virtual ~AccessibilityEventRecorder(); + void set_only_web_events(bool only_web_events) { + only_web_events_ = only_web_events; + } + void ListenToEvents(AccessibilityEventCallback callback) { callback_ = callback; } @@ -54,12 +58,13 @@ void OnEvent(std::string event); BrowserAccessibilityManager* manager_; - - DISALLOW_COPY_AND_ASSIGN(AccessibilityEventRecorder); + bool only_web_events_ = false; private: std::vector<std::string> event_logs_; AccessibilityEventCallback callback_; + + DISALLOW_COPY_AND_ASSIGN(AccessibilityEventRecorder); }; } // namespace content
diff --git a/content/browser/accessibility/accessibility_event_recorder_win.cc b/content/browser/accessibility/accessibility_event_recorder_win.cc index 0f1dde5..b1f5295 100644 --- a/content/browser/accessibility/accessibility_event_recorder_win.cc +++ b/content/browser/accessibility/accessibility_event_recorder_win.cc
@@ -23,6 +23,7 @@ #include "content/browser/accessibility/browser_accessibility_win.h" #include "third_party/iaccessible2/ia2_api_all.h" #include "ui/base/win/atl_module.h" +#include "ui/gfx/win/hwnd_util.h" namespace content { @@ -204,6 +205,23 @@ return; } + if (only_web_events_) { + std::string hwnd_class_name = base::UTF16ToUTF8(gfx::GetClassName(hwnd)); + if (hwnd_class_name != "Chrome_RenderWidgetHostHWND") + return; + + Microsoft::WRL::ComPtr<IServiceProvider> service_provider; + hr = iaccessible->QueryInterface(service_provider.GetAddressOf()); + if (!SUCCEEDED(hr)) + return; + + Microsoft::WRL::ComPtr<IAccessible> content_document; + hr = service_provider->QueryService(GUID_IAccessibleContentDocument, + content_document.GetAddressOf()); + if (!SUCCEEDED(hr)) + return; + } + std::string event_str = AccessibilityEventToStringUTF8(event); if (event_str.empty()) { VLOG(1) << "Ignoring event " << event;
diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h index a0bb8dd..55db6d1c0 100644 --- a/content/browser/accessibility/browser_accessibility.h +++ b/content/browser/accessibility/browser_accessibility.h
@@ -15,7 +15,7 @@ #include "base/strings/string16.h" #include "base/strings/string_split.h" #include "build/build_config.h" -#include "content/browser/accessibility/accessibility_flags.h" +#include "content/browser/accessibility/accessibility_buildflags.h" #include "content/browser/accessibility/browser_accessibility_position.h" #include "content/common/content_export.h" #include "third_party/WebKit/public/web/WebAXEnums.h"
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc index 92fed23..a0738c7 100644 --- a/content/browser/accessibility/browser_accessibility_com_win.cc +++ b/content/browser/accessibility/browser_accessibility_com_win.cc
@@ -43,19 +43,6 @@ using AXPlatformRange = ui::AXRange<BrowserAccessibilityPositionInstance::element_type>; -// These nonstandard GUIDs are taken directly from the Mozilla sources -// (accessible/src/msaa/nsAccessNodeWrap.cpp); some documentation is here: -// http://developer.mozilla.org/en/Accessibility/AT-APIs/ImplementationFeatures/MSAA -const GUID GUID_ISimpleDOM = {0x0c539790, - 0x12e4, - 0x11cf, - {0xb6, 0x61, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8}}; -const GUID GUID_IAccessibleContentDocument = { - 0xa5d8e1f3, - 0x3571, - 0x4d8f, - {0x95, 0x21, 0x07, 0xed, 0x28, 0xfb, 0x07, 0x2e}}; - void AddAccessibilityModeFlags(ui::AXMode mode_flags) { BrowserAccessibilityStateImpl::GetInstance()->AddAccessibilityModeFlags( mode_flags);
diff --git a/content/browser/accessibility/browser_accessibility_com_win.h b/content/browser/accessibility/browser_accessibility_com_win.h index 2a86324f..4d6ce30 100644 --- a/content/browser/accessibility/browser_accessibility_com_win.h +++ b/content/browser/accessibility/browser_accessibility_com_win.h
@@ -27,6 +27,19 @@ #include "ui/accessibility/platform/ax_platform_node_delegate.h" #include "ui/accessibility/platform/ax_platform_node_win.h" +// These nonstandard GUIDs are taken directly from the Mozilla sources +// (accessible/src/msaa/nsAccessNodeWrap.cpp); some documentation is here: +// http://developer.mozilla.org/en/Accessibility/AT-APIs/ImplementationFeatures/MSAA +const GUID GUID_ISimpleDOM = {0x0c539790, + 0x12e4, + 0x11cf, + {0xb6, 0x61, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8}}; +const GUID GUID_IAccessibleContentDocument = { + 0xa5d8e1f3, + 0x3571, + 0x4d8f, + {0x95, 0x21, 0x07, 0xed, 0x28, 0xfb, 0x07, 0x2e}}; + namespace ui { enum TextBoundaryDirection; enum TextBoundaryType;
diff --git a/content/browser/accessibility/browser_accessibility_manager.h b/content/browser/accessibility/browser_accessibility_manager.h index 17912e34..08df1b42 100644 --- a/content/browser/accessibility/browser_accessibility_manager.h +++ b/content/browser/accessibility/browser_accessibility_manager.h
@@ -14,7 +14,7 @@ #include "base/containers/hash_tables.h" #include "base/macros.h" #include "build/build_config.h" -#include "content/browser/accessibility/accessibility_flags.h" +#include "content/browser/accessibility/accessibility_buildflags.h" #include "content/browser/accessibility/browser_accessibility_position.h" #include "content/common/content_export.h" #include "content/public/browser/ax_event_notification_details.h"
diff --git a/content/browser/accessibility/browser_accessibility_position.cc b/content/browser/accessibility/browser_accessibility_position.cc index b7f02796..74ba663 100644 --- a/content/browser/accessibility/browser_accessibility_position.cc +++ b/content/browser/accessibility/browser_accessibility_position.cc
@@ -6,7 +6,7 @@ #include "base/strings/string_util.h" #include "build/build_config.h" -#include "content/browser/accessibility/accessibility_flags.h" +#include "content/browser/accessibility/accessibility_buildflags.h" #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "ui/accessibility/ax_enums.mojom.h"
diff --git a/content/browser/accessibility/dump_accessibility_browsertest_base.cc b/content/browser/accessibility/dump_accessibility_browsertest_base.cc index 768ebc90..c97d5c9 100644 --- a/content/browser/accessibility/dump_accessibility_browsertest_base.cc +++ b/content/browser/accessibility/dump_accessibility_browsertest_base.cc
@@ -355,6 +355,8 @@ // Call the subclass to dump the output. std::vector<std::string> actual_lines = Dump(); + std::string actual_contents_for_output = + base::JoinString(actual_lines, "\n") + "\n"; // Perform a diff (or write the initial baseline). std::vector<std::string> expected_lines = base::SplitString( @@ -394,19 +396,18 @@ diff += "------\n"; diff += actual_contents; LOG(ERROR) << "Diff:\n" << diff; - - if (base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kGenerateAccessibilityTestExpectations)) { - base::ThreadRestrictions::ScopedAllowIO allow_io_to_write_expected_file; - CHECK(base::WriteFile(expected_file, actual_contents.c_str(), - actual_contents.size()) == - static_cast<int>(actual_contents.size())); - LOG(INFO) << "Wrote expectations to: " - << expected_file.LossyDisplayName(); - } } else { LOG(INFO) << "Test output matches expectations."; } + + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kGenerateAccessibilityTestExpectations)) { + base::ScopedAllowBlockingForTesting allow_blocking; + CHECK(base::WriteFile(expected_file, actual_contents_for_output.c_str(), + actual_contents_for_output.size()) == + static_cast<int>(actual_contents_for_output.size())); + LOG(INFO) << "Wrote expectations to: " << expected_file.LossyDisplayName(); + } } } // namespace content
diff --git a/content/browser/accessibility/dump_accessibility_browsertest_base.h b/content/browser/accessibility/dump_accessibility_browsertest_base.h index 5db8c81..0dfb953b 100644 --- a/content/browser/accessibility/dump_accessibility_browsertest_base.h +++ b/content/browser/accessibility/dump_accessibility_browsertest_base.h
@@ -22,6 +22,8 @@ // // The system was inspired by WebKit/Blink LayoutTests, but customized for // testing accessibility in Chromium. +// +// See content/test/data/accessibility/readme.md for an overview. class DumpAccessibilityTestBase : public ContentBrowserTest { public: DumpAccessibilityTestBase();
diff --git a/content/browser/accessibility/dump_accessibility_events_browsertest.cc b/content/browser/accessibility/dump_accessibility_events_browsertest.cc index 9105081..09c6ba4c 100644 --- a/content/browser/accessibility/dump_accessibility_events_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_events_browsertest.cc
@@ -29,6 +29,8 @@ typedef AccessibilityTreeFormatter::Filter Filter; +// See content/test/data/accessibility/readme.md for an overview. +// // Tests that the right platform-specific accessibility events are fired // in response to things that happen in a web document. // @@ -62,6 +64,9 @@ class DumpAccessibilityEventsTest : public DumpAccessibilityTestBase { public: void AddDefaultFilters(std::vector<Filter>* filters) override { + // Suppress spurious focus events on the document object. + filters->push_back(Filter( + base::ASCIIToUTF16("EVENT_OBJECT_FOCUS*DOCUMENT*"), Filter::DENY)); } std::vector<std::string> Dump() override; @@ -81,6 +86,7 @@ std::unique_ptr<AccessibilityEventRecorder> event_recorder( AccessibilityEventRecorder::Create( web_contents->GetRootBrowserAccessibilityManager(), pid)); + event_recorder->set_only_web_events(true); // Save a copy of the accessibility tree (as a text dump); we'll // log this for the user later if the test fails. @@ -126,6 +132,12 @@ result.push_back(event_logs[i]); } } + + // Sort the logs so that results are predictable. There are too many + // nondeterministic things that affect the exact order of events fired, + // so these tests shouldn't be used to make assertions about event order. + std::sort(result.begin(), result.end()); + return result; }
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc index d357395..d7f4a0d 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -43,6 +43,8 @@ typedef AccessibilityTreeFormatter::Filter Filter; +// See content/test/data/accessibility/readme.md for an overview. +// // This test takes a snapshot of the platform BrowserAccessibility tree and // tests it against an expected baseline. //
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc index e903e78..6300f92 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc
@@ -106,7 +106,7 @@ #include "content/public/common/main_function_params.h" #include "content/public/common/result_codes.h" #include "content/public/common/service_names.mojom.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "device/gamepad/gamepad_service.h" #include "gpu/vulkan/features.h" #include "media/audio/audio_manager.h"
diff --git a/content/browser/child_process_launcher_helper.h b/content/browser/child_process_launcher_helper.h index 30d314f3..b9b7a82 100644 --- a/content/browser/child_process_launcher_helper.h +++ b/content/browser/child_process_launcher_helper.h
@@ -14,7 +14,7 @@ #include "build/build_config.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/result_codes.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "mojo/edk/embedder/embedder.h" #include "mojo/edk/embedder/outgoing_broker_client_invitation.h" #include "mojo/edk/embedder/scoped_platform_handle.h"
diff --git a/content/browser/devtools/browser_devtools_agent_host.cc b/content/browser/devtools/browser_devtools_agent_host.cc index 6475584..cd06bc7c 100644 --- a/content/browser/devtools/browser_devtools_agent_host.cc +++ b/content/browser/devtools/browser_devtools_agent_host.cc
@@ -48,12 +48,15 @@ BrowserDevToolsAgentHost::~BrowserDevToolsAgentHost() { } -void BrowserDevToolsAgentHost::AttachSession(DevToolsSession* session) { +bool BrowserDevToolsAgentHost::AttachSession(DevToolsSession* session) { + if (session->restricted()) + return false; + session->SetBrowserOnly(true); session->AddHandler( base::WrapUnique(new protocol::TargetHandler(true /* browser_only */))); if (only_discovery_) - return; + return true; session->AddHandler(base::WrapUnique(new protocol::BrowserHandler())); session->AddHandler(base::WrapUnique(new protocol::IOHandler( @@ -67,6 +70,7 @@ protocol::TracingHandler::Browser, FrameTreeNode::kFrameTreeNodeInvalidId, GetIOContext()))); + return true; } void BrowserDevToolsAgentHost::DetachSession(DevToolsSession* session) {}
diff --git a/content/browser/devtools/browser_devtools_agent_host.h b/content/browser/devtools/browser_devtools_agent_host.h index b757613..7022e2d1 100644 --- a/content/browser/devtools/browser_devtools_agent_host.h +++ b/content/browser/devtools/browser_devtools_agent_host.h
@@ -19,7 +19,7 @@ ~BrowserDevToolsAgentHost() override; // DevToolsAgentHostImpl implementation. - void AttachSession(DevToolsSession* session) override; + bool AttachSession(DevToolsSession* session) override; void DetachSession(DevToolsSession* session) override; void DispatchProtocolMessage(DevToolsSession* session, const std::string& message) override;
diff --git a/content/browser/devtools/devtools_agent_host_impl.cc b/content/browser/devtools/devtools_agent_host_impl.cc index 775bec8..7c9b58a 100644 --- a/content/browser/devtools/devtools_agent_host_impl.cc +++ b/content/browser/devtools/devtools_agent_host_impl.cc
@@ -176,23 +176,37 @@ return it == session_by_client_.end() ? nullptr : it->second.get(); } -void DevToolsAgentHostImpl::InnerAttachClient(DevToolsAgentHostClient* client) { +bool DevToolsAgentHostImpl::InnerAttachClient(DevToolsAgentHostClient* client, + bool restricted) { scoped_refptr<DevToolsAgentHostImpl> protect(this); - DevToolsSession* session = new DevToolsSession(this, client); + DevToolsSession* session = new DevToolsSession(this, client, restricted); sessions_.insert(session); session_by_client_[client].reset(session); - AttachSession(session); + if (!AttachSession(session)) { + sessions_.erase(session); + session_by_client_.erase(client); + return false; + } + if (sessions_.size() == 1) NotifyAttached(); DevToolsManager* manager = DevToolsManager::GetInstance(); if (manager->delegate()) manager->delegate()->ClientAttached(this, client); + return true; } void DevToolsAgentHostImpl::AttachClient(DevToolsAgentHostClient* client) { if (SessionByClient(client)) return; - InnerAttachClient(client); + InnerAttachClient(client, false /* restricted */); +} + +bool DevToolsAgentHostImpl::AttachRestrictedClient( + DevToolsAgentHostClient* client) { + if (SessionByClient(client)) + return false; + return InnerAttachClient(client, true /* restricted */); } void DevToolsAgentHostImpl::ForceAttachClient(DevToolsAgentHostClient* client) { @@ -200,9 +214,9 @@ return; scoped_refptr<DevToolsAgentHostImpl> protect(this); if (!sessions_.empty()) - ForceDetachAllClients(); + ForceDetachAllSessions(); DCHECK(sessions_.empty()); - InnerAttachClient(client); + InnerAttachClient(client, false /* restricted */); } bool DevToolsAgentHostImpl::DetachClient(DevToolsAgentHostClient* client) { @@ -298,16 +312,34 @@ return false; } -void DevToolsAgentHostImpl::ForceDetachAllClients() { +void DevToolsAgentHostImpl::ForceDetachAllSessions() { scoped_refptr<DevToolsAgentHostImpl> protect(this); - while (!session_by_client_.empty()) { - DevToolsAgentHostClient* client = session_by_client_.begin()->first; - InnerDetachClient(client); + while (!sessions_.empty()) { + DevToolsAgentHostClient* client = (*sessions_.begin())->client(); + DetachClient(client); client->AgentHostClosed(this); } } -void DevToolsAgentHostImpl::AttachSession(DevToolsSession* session) {} +void DevToolsAgentHostImpl::ForceDetachRestrictedSessions() { + if (sessions_.empty()) + return; + scoped_refptr<DevToolsAgentHostImpl> protect(this); + std::vector<DevToolsSession*> restricted; + for (DevToolsSession* session : sessions_) { + if (session->restricted()) + restricted.push_back(session); + } + for (DevToolsSession* session : restricted) { + DevToolsAgentHostClient* client = session->client(); + DetachClient(client); + client->AgentHostClosed(this); + } +} + +bool DevToolsAgentHostImpl::AttachSession(DevToolsSession* session) { + return false; +} void DevToolsAgentHostImpl::DetachSession(DevToolsSession* session) {} @@ -325,7 +357,7 @@ DevToolsMap copy = g_devtools_instances.Get(); for (DevToolsMap::iterator it(copy.begin()); it != copy.end(); ++it) { DevToolsAgentHostImpl* agent_host = it->second; - agent_host->ForceDetachAllClients(); + agent_host->ForceDetachAllSessions(); } }
diff --git a/content/browser/devtools/devtools_agent_host_impl.h b/content/browser/devtools/devtools_agent_host_impl.h index 2017893..a11726e2c 100644 --- a/content/browser/devtools/devtools_agent_host_impl.h +++ b/content/browser/devtools/devtools_agent_host_impl.h
@@ -37,6 +37,7 @@ // DevToolsAgentHost implementation. void AttachClient(DevToolsAgentHostClient* client) override; + bool AttachRestrictedClient(DevToolsAgentHostClient* client) override; void ForceAttachClient(DevToolsAgentHostClient* client) override; bool DetachClient(DevToolsAgentHostClient* client) override; bool DispatchProtocolMessage(DevToolsAgentHostClient* client, @@ -63,14 +64,16 @@ static bool ShouldForceCreation(); - virtual void AttachSession(DevToolsSession* session); + // Returning |false| will block the attach. + virtual bool AttachSession(DevToolsSession* session); virtual void DetachSession(DevToolsSession* session); virtual void DispatchProtocolMessage(DevToolsSession* session, const std::string& message); void NotifyCreated(); void NotifyNavigated(); - void ForceDetachAllClients(); + void ForceDetachAllSessions(); + void ForceDetachRestrictedSessions(); DevToolsIOContext* GetIOContext() { return &io_context_; } base::flat_set<DevToolsSession*>& sessions() { return sessions_; } @@ -78,7 +81,7 @@ private: friend class DevToolsAgentHost; // for static methods friend class DevToolsSession; - void InnerAttachClient(DevToolsAgentHostClient* client); + bool InnerAttachClient(DevToolsAgentHostClient* client, bool restricted); void InnerDetachClient(DevToolsAgentHostClient* client); void NotifyAttached(); void NotifyDetached();
diff --git a/content/browser/devtools/devtools_session.cc b/content/browser/devtools/devtools_session.cc index 61d9b790..dc64ea9f 100644 --- a/content/browser/devtools/devtools_session.cc +++ b/content/browser/devtools/devtools_session.cc
@@ -30,10 +30,12 @@ } // namespace DevToolsSession::DevToolsSession(DevToolsAgentHostImpl* agent_host, - DevToolsAgentHostClient* client) + DevToolsAgentHostClient* client, + bool restricted) : binding_(this), agent_host_(agent_host), client_(client), + restricted_(restricted), process_host_id_(ChildProcessHost::kInvalidUniqueID), host_(nullptr), dispatcher_(new protocol::UberDispatcher(this)),
diff --git a/content/browser/devtools/devtools_session.h b/content/browser/devtools/devtools_session.h index d7dd6014..97afbde 100644 --- a/content/browser/devtools/devtools_session.h +++ b/content/browser/devtools/devtools_session.h
@@ -25,9 +25,13 @@ public blink::mojom::DevToolsSessionHost { public: DevToolsSession(DevToolsAgentHostImpl* agent_host, - DevToolsAgentHostClient* client); + DevToolsAgentHostClient* client, + bool restricted); ~DevToolsSession() override; + bool restricted() { return restricted_; } + DevToolsAgentHostClient* client() { return client_; }; + // Browser-only sessions do not talk to mojom::DevToolsAgent, but instead // handle all protocol messages locally in the browser process. void SetBrowserOnly(bool browser_only); @@ -83,6 +87,7 @@ blink::mojom::DevToolsSessionPtr io_session_ptr_; DevToolsAgentHostImpl* agent_host_; DevToolsAgentHostClient* client_; + bool restricted_; bool browser_only_ = false; base::flat_map<std::string, std::unique_ptr<protocol::DevToolsDomainHandler>> handlers_;
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc index cdeca68..511e294f 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host.cc +++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -342,7 +342,9 @@ return web_contents(); } -void RenderFrameDevToolsAgentHost::AttachSession(DevToolsSession* session) { +bool RenderFrameDevToolsAgentHost::AttachSession(DevToolsSession* session) { + if (session->restricted() && !IsFrameHostAllowedForRestrictedSessions()) + return false; session->SetRenderer(frame_host_ ? frame_host_->GetProcess()->GetID() : ChildProcessHost::kInvalidUniqueID, frame_host_); @@ -381,6 +383,7 @@ GetWakeLock()->RequestWakeLock(); #endif } + return true; } void RenderFrameDevToolsAgentHost::DetachSession(DevToolsSession* session) { @@ -487,13 +490,19 @@ if (IsAttached()) RevokePolicy(); + frame_host_ = frame_host; agent_ptr_.reset(); + + if (!IsFrameHostAllowedForRestrictedSessions()) + ForceDetachRestrictedSessions(); + if (!render_frame_alive_) { render_frame_alive_ = true; for (auto* inspector : protocol::InspectorHandler::ForAgentHost(this)) inspector->TargetReloadedAfterCrash(); } + if (IsAttached()) { GrantPolicy(); for (DevToolsSession* session : sessions()) { @@ -587,7 +596,7 @@ scoped_refptr<RenderFrameDevToolsAgentHost> protect(this); if (IsAttached()) RevokePolicy(); - ForceDetachAllClients(); + ForceDetachAllSessions(); frame_host_ = nullptr; agent_ptr_.reset(); SetFrameTreeNode(nullptr); @@ -848,4 +857,9 @@ return frame_tree_node_ && frame_tree_node_->parent(); } +bool RenderFrameDevToolsAgentHost::IsFrameHostAllowedForRestrictedSessions() { + return !frame_host_ || + (!frame_host_->web_ui() && !frame_host_->pending_web_ui()); +} + } // namespace content
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.h b/content/browser/devtools/render_frame_devtools_agent_host.h index 8877e6c..8692f9e 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host.h +++ b/content/browser/devtools/render_frame_devtools_agent_host.h
@@ -114,7 +114,7 @@ ~RenderFrameDevToolsAgentHost() override; // DevToolsAgentHostImpl overrides. - void AttachSession(DevToolsSession* session) override; + bool AttachSession(DevToolsSession* session) override; void DetachSession(DevToolsSession* session) override; void InspectElement(RenderFrameHost* frame_host, int x, int y) override; void DispatchProtocolMessage(DevToolsSession* session, @@ -135,6 +135,7 @@ void DidReceiveCompositorFrame() override; bool IsChildFrame(); + bool IsFrameHostAllowedForRestrictedSessions(); void OnSwapCompositorFrame(const IPC::Message& message); void DestroyOnRenderFrameGone();
diff --git a/content/browser/devtools/service_worker_devtools_agent_host.cc b/content/browser/devtools/service_worker_devtools_agent_host.cc index 71ea6f0d..b4886cc 100644 --- a/content/browser/devtools/service_worker_devtools_agent_host.cc +++ b/content/browser/devtools/service_worker_devtools_agent_host.cc
@@ -115,7 +115,7 @@ ServiceWorkerDevToolsManager::GetInstance()->AgentHostDestroyed(this); } -void ServiceWorkerDevToolsAgentHost::AttachSession(DevToolsSession* session) { +bool ServiceWorkerDevToolsAgentHost::AttachSession(DevToolsSession* session) { if (state_ == WORKER_READY) { if (sessions().size() == 1) { BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, @@ -128,6 +128,7 @@ session->AddHandler(base::WrapUnique(new protocol::InspectorHandler())); session->AddHandler(base::WrapUnique(new protocol::NetworkHandler(GetId()))); session->AddHandler(base::WrapUnique(new protocol::SchemaHandler())); + return true; } void ServiceWorkerDevToolsAgentHost::DetachSession(DevToolsSession* session) {
diff --git a/content/browser/devtools/service_worker_devtools_agent_host.h b/content/browser/devtools/service_worker_devtools_agent_host.h index 59af144..9ef9226a 100644 --- a/content/browser/devtools/service_worker_devtools_agent_host.h +++ b/content/browser/devtools/service_worker_devtools_agent_host.h
@@ -47,7 +47,7 @@ bool Close() override; // DevToolsAgentHostImpl overrides. - void AttachSession(DevToolsSession* session) override; + bool AttachSession(DevToolsSession* session) override; void DetachSession(DevToolsSession* session) override; void DispatchProtocolMessage(DevToolsSession* session, const std::string& message) override;
diff --git a/content/browser/devtools/shared_worker_devtools_agent_host.cc b/content/browser/devtools/shared_worker_devtools_agent_host.cc index e4e0d316..485edd4 100644 --- a/content/browser/devtools/shared_worker_devtools_agent_host.cc +++ b/content/browser/devtools/shared_worker_devtools_agent_host.cc
@@ -66,13 +66,14 @@ return true; } -void SharedWorkerDevToolsAgentHost::AttachSession(DevToolsSession* session) { +bool SharedWorkerDevToolsAgentHost::AttachSession(DevToolsSession* session) { session->AddHandler(std::make_unique<protocol::InspectorHandler>()); session->AddHandler(std::make_unique<protocol::NetworkHandler>(GetId())); session->AddHandler(std::make_unique<protocol::SchemaHandler>()); session->SetRenderer(worker_host_ ? worker_host_->process_id() : -1, nullptr); if (state_ == WORKER_READY) session->AttachToAgent(EnsureAgent()); + return true; } void SharedWorkerDevToolsAgentHost::DetachSession(DevToolsSession* session) {
diff --git a/content/browser/devtools/shared_worker_devtools_agent_host.h b/content/browser/devtools/shared_worker_devtools_agent_host.h index 15c5de57..d2b5c23 100644 --- a/content/browser/devtools/shared_worker_devtools_agent_host.h +++ b/content/browser/devtools/shared_worker_devtools_agent_host.h
@@ -33,7 +33,7 @@ bool Close() override; // DevToolsAgentHostImpl overrides. - void AttachSession(DevToolsSession* session) override; + bool AttachSession(DevToolsSession* session) override; void DetachSession(DevToolsSession* session) override; void DispatchProtocolMessage(DevToolsSession* session, const std::string& message) override;
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc index 4313dd4e..11373b6 100644 --- a/content/browser/download/download_browsertest.cc +++ b/content/browser/download/download_browsertest.cc
@@ -1233,16 +1233,9 @@ EXPECT_EQ(download::DownloadItem::COMPLETE, items[0]->GetState()); } -#if defined(OS_ANDROID) -// Flaky on android: https://crbug.com/324525 -#define MAYBE_ShutdownInProgress DISABLED_ShutdownInProgress -#else -#define MAYBE_ShutdownInProgress ShutdownInProgress -#endif - // Try to shutdown with a download in progress to make sure shutdown path // works properly. -IN_PROC_BROWSER_TEST_F(DownloadContentTest, MAYBE_ShutdownInProgress) { +IN_PROC_BROWSER_TEST_F(DownloadContentTest, ShutdownInProgress) { // Create a download that won't complete. download::DownloadItem* download = StartDownloadAndReturnItem( shell(), embedded_test_server()->GetURL(
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc index 7c83d2a6..c34ab5d1d 100644 --- a/content/browser/frame_host/interstitial_page_impl.cc +++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -38,7 +38,7 @@ #include "content/browser/site_instance_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/web_contents/web_contents_view.h" -#include "content/common/features.h" +#include "content/common/buildflags.h" #include "content/common/frame_messages.h" #include "content/common/input_messages.h" #include "content/common/view_messages.h"
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h index 1a5e957f..be7bb147 100644 --- a/content/browser/frame_host/render_frame_host_impl.h +++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -36,10 +36,10 @@ #include "content/browser/site_instance_impl.h" #include "content/browser/webui/web_ui_impl.h" #include "content/common/ax_content_node_data.h" +#include "content/common/buildflags.h" #include "content/common/content_export.h" #include "content/common/content_security_policy/csp_context.h" #include "content/common/download/mhtml_save_status.h" -#include "content/common/features.h" #include "content/common/frame.mojom.h" #include "content/common/frame_message_enums.h" #include "content/common/frame_replication_state.h"
diff --git a/content/browser/loader/cross_origin_read_blocking_explainer.md b/content/browser/loader/cross_origin_read_blocking_explainer.md index b22f927..a371466 100644 --- a/content/browser/loader/cross_origin_read_blocking_explainer.md +++ b/content/browser/loader/cross_origin_read_blocking_explainer.md
@@ -1,21 +1,27 @@ # Cross-Origin Read Blocking (CORB) -This document outlines Cross-Origin Read Blocking, an algorithm by which +This document outlines Cross-Origin Read Blocking (CORB), an algorithm by which dubious cross-origin resource loads may be identified and blocked by web -browsers before they reach the web page. CORB offers a way to maintain -same-origin protections on user data, even in the presence of side channel -attacks. +browsers before they reach the web page. +CORB reduces the risk of leaking sensitive data by keeping it further from +cross-origin web pages. In most browsers, it keeps such data out of untrusted +script execution contexts. In browsers with +[Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation), +it can keep such data out of untrusted renderer processes entirely, helping even +against side channel attacks. -### The problem +[TOC] + +## The problem The same-origin policy generally prevents one origin from reading arbitrary network resources from another origin. In practice, enforcing this policy is not as simple as blocking all cross-origin loads: exceptions must be established for -web features, like `<img>` or `<script>`, which can target cross-origin -resources for historical reasons, and for the CORS mechanism, which allows some +web features, like `<img>` or `<script>` which can target cross-origin +resources for historical reasons, and for the CORS mechanism which allows some resources to be selectively read across origins. -Certain type of content, however, can be shown to be incompatible with all of +Certain types of content, however, can be shown to be incompatible with all of the historically-allowed permissive contexts. JSON is one such type: a JSON response will result in a decode error when targeted by the `<img>` tag, either a no-op or syntax error when targeted by the `<script>` tag, and so on. The @@ -28,7 +34,7 @@ CORB defends against side channel vulnerabilities that may be present in the stages which are skipped. -### What attacks does CORB mitigate? +## What attacks does CORB mitigate? CORB mitigates the following attack vectors: @@ -45,38 +51,28 @@ [slides here](https://www.owasp.org/images/6/6a/OWASPLondon20161124_JSON_Hijacking_Gareth_Heyes.pdf). * CORB prevents this class of attacks, because a CORB-protected resource will be blocked from ever being delivered to a cross-site `<script>` element. - * CORB is particularly valuable in absence of other XSSI defenses like XSRF - tokens and/or JSON parser breakers. The presence of other XSSI - defenses like JSON parser breakers can be used as a signal to the CORB - algorithm that a resource should be CORB-protected. + * CORB is particularly valuable in absence of other XSSI defenses like + [XSRF tokens](https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Synchronizer_.28CSRF.29_Tokens) + and/or + [JSON security prefixes](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers). + Additionally, the presence of XSSI defenses like + [JSON security prefixes](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + can also be used as a signal to the CORB algorithm that a resource should be + CORB-protected. * Speculative Side Channel Attack (e.g. Spectre). - * For example, an attacker may 1) use an `<img - src="https://example.com/secret.json">` element to pull a cross-site secret - into the process where the attacker's JavaScript runs, and then 2) use a - speculative side channel attack [(e.g. Spectre)](https://spectreattack.com) + * For example, an attacker may use an + `<img src="https://example.com/secret.json">` + element to pull a cross-site secret + into the process where the attacker's JavaScript runs, and then use a + speculative side channel attack (e.g. [Spectre](https://spectreattack.com)) to read the secret. - * CORB can prevent this class of attacks when used in tandem with Site - Isolation, by preventing the JSON resource from being present in the + * CORB can prevent this class of attacks when used in tandem with + [Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation), + by preventing the JSON resource from being present in the memory of a process hosting a cross-site page. -### Algorithm Goals - -CORB asks a question of each resource loaded by a webpage: if the resource were -replaced with an empty or placeholder value, would the webpage be able to tell -the difference? If not, then the resource can be classified as CORB-protected, -and blocked. Such an algorithm ought to have the following properties: -* The bodies and headers of CORB-protected resources should be blocked from - reaching cross-site pages, unless explicitly permitted by CORS. -* CORB should protect as many resources as possible. -* CORB should cause minimal web-compatibility breakages. -* CORB should be resilient to the most frequent Content-Type mislabelings, - unless the site owner asserts that the response is labelled correctly via - `X-Content-Type-Options: nosniff` header. -* CORB should provide a means for web authors to affirmatively protect resources - which are not intended for cross-origin access. - -### How does CORB "block" a response? +## How does CORB "block" a response? When CORB decides that a response needs to be CORB-protected, the response is modified as follows: @@ -88,17 +84,21 @@ To be effective against speculative side-channel attacks, CORB blocking must take place before the response reaches the process hosting the cross-origin -initiator of the request. In other words, CORB blocking should prevent CORB- -protected response data from ever being present in the memory of the process -hosting a cross-origin website (even temporarily or for a short term). This is -different from the concept of [filtered responses](https://fetch.spec.whatwg.org/#concept-filtered-response) +initiator of the request. In other words, CORB blocking should prevent +CORB-protected response data from ever being present in the memory of the +process hosting a cross-origin website (even temporarily or for a short term). +This is different from the concept of +[filtered responses](https://fetch.spec.whatwg.org/#concept-filtered-response) (e.g. [CORS filtered response](https://fetch.spec.whatwg.org/#concept-filtered-response-cors) or [opaque filtered response](https://fetch.spec.whatwg.org/#concept-filtered-response-opaque)) which just provide a limited view into full data that remains stored in an [internal response](https://fetch.spec.whatwg.org/#concept-internal-response) and may be implemented inside the renderer process. -### What kinds of requests are CORB-eligible? +A CORB demo page +[is available here](https://anforowicz.github.io/xsdb-demo/index.html). + +## What kinds of requests are CORB-eligible? The following kinds of requests are CORB-exempt: @@ -106,25 +106,19 @@ or requests where the [request destination](https://fetch.spec.whatwg.org/#concept-request-destination) is "object" or "embed". - Enforcing isolation between cross-origin `<iframe>`s or `<object>`s is - outside the scope of CORB (and depends on Site Isolation approach specific to - each browser). - -> [nick@chromium.org] TODO: Although Site Isolation is out of scope for CORB, -> it should be noted that if a browser handles `<iframe>` elements by loading -> cross-site subdocuments in-process, then this provides a route by which -> CORS-protected HTML resources can be loaded into the process, and thereby -> potentially vulnerable to speculative side channel attacks. + Cross-origin `<iframe>`s, `<object>`s, and `<embed>`s create a separate + security context and thus pose less risk for leaking the data. In most + browsers, this separate context means that a malicious page would have more + trouble inferring the contents than from loading them into its own execution + context and observing side effects (e.g., XSSI, style tags, etc). In browsers + with Site Isolation, this security context uses a separate process, keeping + the data out of the malicious page's address space entirely. > [lukasza@chromium.org] TODO: Figure out how > [Edge's VM-based isolation](https://cloudblogs.microsoft.com/microsoftsecure/2017/10/23/making-microsoft-edge-the-most-secure-browser-with-windows-defender-application-guard/) > works (e.g. if some origins are off-limits in particular renderers, then this > would greatly increase utility of CORB in Edge). -> [lukasza@chromium.org] TODO: Figure out how other browsers approach Site -> Isolation (e.g. even if there is no active work, maybe there are some bugs we -> can reference here). - * Download requests (e.g. requests where the [initiator](https://fetch.spec.whatwg.org/#concept-request-initiator) is "download"). In this case the data from the response is saved to disk @@ -161,29 +155,26 @@ the observable consequences of such errors are already limited, and feasible to preserve while blocking. -### Which responses can be protected by CORB? +## What types of content are protected by CORB? -It will be shown that the following types of content can be CORB-protected: +As discussed below, the following types of content are CORB-protected: * JSON - * HTML (assuming out-of-process `<iframe>` support) + * HTML * XML - * Plain text - * Any response, when prefixed with certain XSSI-defeating patterns (this is - a common convention for conveying JSON). These are each discussed in the following sections. -#### Protecting JSON +### Protecting JSON JSON is a widely used data format on the web; support for JSON is built into the -web platform. As such, JSON responses are very likely to contain user data worth +web platform. JSON responses are very likely to contain user data worth protecting. Additionally, unlike HTML or image formats, there are no legacy HTML mechanisms (that is, predating CORS) which allow cross-origin embedding of JSON resources. Because the JSON syntax is derived from and overlaps with JavaScript, care must -be employed to handle the possibility of JavaScript/JSON polyglots. Treatment of -JSON by CORB breaks into three cases: +be taken to handle the possibility of JavaScript/JSON polyglots. +CORB handles the following cases for JSON: * Non-empty JSON object literal: A non-empty JSON object (such as `{"key": "value"}`). This is precisely the subset of JSON syntax which is invalid JavaScript syntax -- the colon after the first string @@ -196,51 +187,58 @@ protected. Detection here is possible, but requires implementing a validator that understands the full JSON syntax: * If the response is not labeled with a JSON Content Type, CORB might detect - these cases either by buffering and validating the entire response body as + these cases by buffering and validating the entire response body as JSON; the entire response must be considered because of the potential for a valid, side-effect-having JavaScript program like `[1, 2, "3"].map(...)`. * If the response is indeed labeled with a JSON Content Type, CORB may - decide to sniff the response to confirm for valid JSON, only up to a - certain number of bytes. This avoids buffering and parsing that might - consume an unbounded amount of memory. - * JSON served with an XSSI-defeating prefix: As a mitigation for past browser + decide to sniff the response to confirm it is valid JSON, only up to a + certain number of bytes. This would avoid buffering and parsing + in an unbounded amount of memory. + * JSON served with + [an XSSI-defeating prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers): + As a mitigation for past browser vulnerabilities, many actual websites and frameworks employ a convention of - prefixing their fetchable resources with a prefix designed to force a JavaScript error. + prefixing their fetchable resources with a string designed to force a + JavaScript error. These prefixes have not been standardized prior to CORB, but a few approaches seem prevalent: - * The character sequence `)]}'` is built into [the angular.js - framework](https://docs.angularjs.org/api/ng/service/$http), [the Java - Spring framework](https://goo.gl/xP7FWn), and is observed in wide use on - the google.com domain. - * The character sequence `{} &&` was [historically built into the Java - Spring framework](https://goo.gl/JYPFAv). + * The character sequence `)]}'` is built into + [the angular.js framework](https://docs.angularjs.org/api/ng/service/$http), + [the Java Spring framework](https://goo.gl/xP7FWn), + and is observed in wide use on the google.com domain. + * The character sequence `{} &&` was + [historically built into the Java Spring framework](https://goo.gl/JYPFAv). * Infinite loops, such as `for(;;);`, are observed in wide use on the facebook.com domain. - The presence of a recognized XSSI defense like a JSON parser breakers is a + The presence of these recognized XSSI defenses is a strong signal to the CORB algorithm that a resource should be CORB-protected. As such, these prefixes should trigger CORB protection in almost every case, no matter what follows them. This is argued to be safe because: - * A JSON parser breaker would cause a syntax error (or a hang) if present + * [A JSON security prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + would cause a syntax error (or a hang) if present in an `application/javascript`. - * These JSON parser breaker patterns are not known to collide with binary + * [JSON security prefixes](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + are not known to collide with binary resources like images, videos or fonts (which typically require the first few bytes to be hardcoded to a specific sequence - for example `FF D8 FF` for image/jpeg). - * Collisions with `text/css` stylesheets is theoretically possible, because - it is possible to construct a file that begins with a JSON parser - breaker, but at the same parses fine as a stylesheet - for example: + * Collisions with `text/css` stylesheets are theoretically possible, because + it is possible to construct a file that begins with + [a JSON security prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers), + but at the same parses fine as a stylesheet. + `text/css` is therefore established as an exception, even though the + practical likelihood of such a scenario seems low. + See below for an example of such a stylesheet: ```css )]}' {} h1 { color: red; } ``` - `text/css` is therefore established as an exception, even though the - practical likelihood of such a scenario seems low. -JSON is also being employed by some web features. One example is `<link +JSON is also used by some web features. One example is `<link rel="manifest">`, whose `href` attribute specifies a JSON manifest file. Fortunately, this mechanism requires CORS when the manifest is specified cross- origin, so its CORB treatment works identically to the rules applied to fetch(). @@ -248,13 +246,10 @@ > [nick@chromium.org] TODO: Is there a spec link for JSON being side-effect > free when interpreted as script? -#### Protecting HTML +### Protecting HTML -HTML can be embedded cross-origin via `<iframe>`, but browsers can choose to -implement such embeddings by loading parent and child documents in separate -processes as appropriate. - -Other than navigation (including `<iframe>` navigations), HTML documents can +HTML can be embedded cross-origin via `<iframe>` (as noted above), +but otherwise HTML documents can only be loaded by fetch() and XHR, both of which require CORS. HTML sniffing is already well-understood, so (unlike JSON) it is relatively easy to identify HTML resources with high confidence. Only one ambiguous polyglot case has been @@ -262,11 +257,7 @@ are part of the JavaScript syntax. CORB handles these by skipping over HTML comment blocks when sniffing to confirm a HTML content type. -> [nick@chromium.org] TODO: What subset of HTML responses are worth blocking, if -> out-of-process iframes and site isolation are not available? Is it valuable to -> hoist the `X-Frame-Options` into CORB in that scenario? - -#### Protecting XML +### Protecting XML XML, like JSON, is a widely used data exchange format, and like HTML, is a document format that's built into the web platform (notably via XmlHttpRequest). @@ -278,10 +269,55 @@ `image/svg+xml`, which is an image type. All other XML mime types are treated as CORB-protected. -#### Protecting text/plain +## Determining whether a response is CORB-protected -If a text/plain response sniffs as one of the other CORB-protected types, the -response can be CORB-protected. +CORB decides whether a response needs protection (i.e. if a response is a JSON, +HTML or XML resource) based on the following: + +* If the response contains `X-Content-Type-Options: nosniff` response header, + or if the response is a 206 response, then the response will be CORB-protected + if its `Content-Type` header is one of the following: + * [HTML MIME type](https://mimesniff.spec.whatwg.org/#html-mime-type) + * [XML MIME type](https://mimesniff.spec.whatwg.org/#xml-mime-type) + (except `image/svg+xml` which is CORB-exempt as described above) + * JSON MIME type - one of `text/json`, `text/json+*`, `text/x-json`, + `text/x-json+*`, `application/json`, `application/json+*` or `*+json` + * `text/plain` + +> [lukasza@chromium.org] Maybe `text/plain` should be allowed if sniffing is not +> possible - this would avoid the potentially troublesome and not-yet-understood +> blocking reported in some media contexts. + +* Otherwise, CORB attempts to sniff the response body: + * [HTML MIME type](https://mimesniff.spec.whatwg.org/#html-mime-type) + that sniffs as HTML is CORB-protected + * [XML MIME type](https://mimesniff.spec.whatwg.org/#xml-mime-type) + (except `image/svg+xml`) that sniffs as XML is CORB-protected + * JSON MIME type that sniffs as JSON is CORB-protected + * `text/plain` that sniffs as JSON, HTML or XML is CORB-protected + * Any response (except `text/css`) that begins with + [a JSON security prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + is CORB-protected + +The sniffing is necessary to avoid blocking existing web pages that depend on +mislabeled cross-origin responses (e.g. on images served as `text/html`). +Without sniffing CORB would block around 16 times as many +responses. +* CORB will only sniff to *confirm* the classification based on the `Content-Type` + header (i.e. if the `Content-Type` header is `text/json` then CORB will sniff + for JSON and will not sniff for HTML or XML). +* If some syntax elements are shared between CORB-protected and + non-CORB-protected MIME types, then these elements have to be ignored by CORB + sniffing. For example, when sniffing for (CORB-protected) HTML, CORB ignores + and skips HTML comments, because + [they can also be present](http://www.ecma-international.org/ecma-262/6.0/#sec-html-like-comments) + in (non-CORB-protected) JavaScript. This is different from the + [HTML sniffing rules](https://mimesniff.spec.whatwg.org/#rules-for-identifying-an-unknown-mime-type), + used in other contexts. +* Sniffing is a best-effort heuristic and for best security results, we + recommend that web developers 1) mark responses with the correct `Content-Type` + header and 2) opt out of sniffing by using the + `X-Content-Type-Options: nosniff` header. > [nick@chromium.org] This section needs a strong justification for why > text/plain gets this special interpretation. Ideally data showing that @@ -291,83 +327,19 @@ > seen 'text/plain' MIME types applied as a default MIME type when the response > omitted a Content-Type header. -> [lukasza@chromium.org] TODO: Should application/octet-stream be protected -> similarly? +Note that the above means that the following responses are not CORB-protected: +* Responses labeled as `multipart/*`. + This avoids having to parse the content types of the nested parts. + We recommend not supporting multipart range requests for sensitive documents. +* Responses without a `Content-Type` header. +* Responses labeled as `application/javascript` - this includes JSONP ("JSON + with padding") which unlike JSON is meant to be read and executed in a + cross-origin context. -### Multipart responses and HTTP range requests -Responses marked as `multipart/*` are conservatively considered CORB-exempt, and -not blocked. This avoids having to parse the content types of the nested parts. -We recommend not supporting multipart range requests for sensitive documents. +## CORB and web compatibility -### Detecting resources incorrectly labeled with a CORB-protected MIME type - -CORB can't always rely solely on the MIME type of the HTTP response to -distinguish documents from resources, since the MIME type on network responses -is sometimes wrong. For example, some HTTP servers return a JPEG image with -a `Content-Type` header incorrectly saying `text/html`. - -To avoid breaking existing websites, CORB may attempt to confirm if the response -body really matches the CORB-protected Content-Type response header: - -* CORB will only sniff to confirm the classification based on the `Content-Type` - header (i.e. if the `Content-Type` header is `text/json` then CORB will sniff - for JSON and will not sniff for HTML and/or XML). - -* If some syntax elements are shared between CORB-protected and - non-CORB-protected MIME types, then these elements have to be ignored by CORB - sniffing. For example, when sniffing for (CORB-protected) HTML, CORB ignores - and skips HTML comments, because - [they can also be present](http://www.ecma-international.org/ecma-262/6.0/#sec-html-like-comments) - in (non-CORB-protected) JavaScript. This is different from the - [HTML sniffing rules](https://mimesniff.spec.whatwg.org/#rules-for-identifying-an-unknown-mime-type), - used in other contexts. - -> [lukasza@chromium.org] Is it practical to try teaching CORB about sniffing all -> possible types of non-webby content like `application/pdf`, `application/zip`, -> etc? - -> [lukasza@chromium.org] Some MIME types types are inherently not sniffable -> (for example `application/octet-stream`). - -CORB should trust the `Content-Type` header in scenarios where sniffing -shouldn't or cannot be done: - -* When `X-Content-Type-Options: nosniff` header is present. - -* When the response is a partial, 206 response. - -> [lukasza@chromium.org] An alternative behavior would be to allow (instead of -> blocking) 206 responses that would be sniffable otherwise (so one of HTML, XML -> or JSON + not accompanied by a nosniff header). This alternative behavior -> would decrease the risk of blocking mislabeled resources, but would increase -> the risk of not blocking documents that need protection (an attacker could -> just need to issue a range request - protection in this case would depend on -> whether 1) the response includes a nosniff header and/or 2) the server rejects -> range requests altogether). Note that the alternative behavior doesn't help -> with mislabeled text/plain responses (see also https://crbug.com/801709). - -> [lukasza@chromium.org] We believe that mislabeling as HTML, JSON or XML is -> most common. TODO: are we able to back this up with some numbers? - -> [lukasza@chromium.org] Note that range requests are typically not issued -> when making requests for scripts and/or stylesheets. - -Sniffing is a best-effort heuristic and for best security results, we -recommend 1) marking responses with the correct Content-Type header and 2) -opting out of sniffing by using the `X-Content-Type-Options: nosniff` header. - -### Why can't JSONP be protected? - -CORB cannot protect JSONP responses, because JSONP is just JavaScript, and -JavaScript resources are CORB-exempt due to the `<script>` work cross-origin. -JSONP should be a discouraged pattern on the modern web. - -> JSONP should not be confused with the convention of prefixing JSON responses -> with parser-breaking prefixes. Parser-breaking prefixes are synergistic with -> CORB, if the prefix is one known to CORB. - -### How does CORB interact with images? +### Observable CORB impact on images CORB should have no observable impact on `<img>` tags unless the image resource is both 1) mislabeled with an incorrect, non-image, CORB-protected Content-Type @@ -380,8 +352,8 @@ * Body: an HTML document * `Content-Type: text/html` * No `X-Content-Type-Options` header - * Expected behavior: **no observable difference** in behavior with and without - CORB. The rendered image should be the same broken image when 1) attempting + * Expected behavior: **no observable difference**. + The rendered image should be the same broken image when 1) attempting to render an html document as an image (without CORB) and 2) attempting to render an empty response as an image (when CORB blocks the response). * WPT test: `fetch/corb/img-html-correctly-labeled.sub.html` @@ -391,7 +363,7 @@ * Body: an image * `Content-Type: text/html` * No `X-Content-Type-Options` header - * Expected behavior: **no difference** in behavior with and without CORB. + * Expected behavior: **no difference**. CORB will sniff that the response body is *not* actually a CORB-protected type and therefore will allow the response. * WPT test: `fetch/corb/img-png-mislabeled-as-html.sub.html` @@ -401,7 +373,7 @@ * Body: an image * `Content-Type: text/html` * `X-Content-Type-Options: nosniff` - * Expected behavior: **observable difference** in behavior in presence of CORB. + * Expected behavior: **observable difference**. Because of the `nosniff` header, CORB will have to rely on the `Content-Type` header. Because this response is mislabeled (the body is an image, but the `Content-Type` header says that it is a html document), CORB @@ -422,26 +394,24 @@ > [lukasza@chromium.org] Earlier attempts to block nosniff images with > incompatible MIME types > [failed](https://github.com/whatwg/fetch/issues/395). -> We think that CORB will succeed, because -> 1) it will only block a subset of CORB-protected MIME types -> (e.g. it won't block `application/octet-stream` quoted -> in a -> [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1302539)) -> 2) CORB is an important response to the recent announcement of new -> side-channel attacks like Spectre. +> We think that CORB will have more luck, because +> it will only block a subset of CORB-protected MIME types +> (e.g. it won't block `application/octet-stream` as quoted in a +> [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1302539)) -### How CORB interacts with other multimedia? +### Observable CORB impact on multimedia -TODO. +Audio and video resources should see similar impact as images, though 206 +responses are more likely to occur for media. -* TODO: audio/video - mostly like images, but note that 206 response is more - likely (which today CORB treats as a nosniff signal - not sure if this is - right: we need to block test/html+206+nosniff, but I am not sure if should - block text/html+206 without nosniff - especially since we already recommend - against supporting range requests for sensitive documents). +> [lukasza@chromium.org] Decide what to do with 206s: +> - html + nosniff = block +> - html + 206 = block +> - text/plain + nosniff = block? +> - text/plain + 206 = allow? -### How CORB interacts with scripts? +### Observable CORB impact on scripts CORB should have no observable impact on `<script>` tags except for cases where a CORB-protected, non-JavaScript resource labeled with its correct MIME type is @@ -479,7 +449,7 @@ * Body: a proper JavaScript script * `Content-Type: text/html` * No `X-Content-Type-Options` header - * Expected behavior: **no difference** in behavior with and without CORB. + * Expected behavior: **no difference**. CORB will sniff that the response body is *not* actually a CORB-protected type and therefore will allow the response. Note that CORB sniffing is resilient to the fact that some syntax elements are shared across HTML @@ -492,7 +462,7 @@ * Body: a proper JavaScript script * `Content-Type: text/html` * `X-Content-Type-Options: nosniff` - * Expected behavior: **no observable difference** in behavior with and without CORB. + * Expected behavior: **no observable difference**. Both with and without CORB, the script will not execute, because the `nosniff` response header response will cause the response to be blocked when its MIME type (`text/html` in the example) is not a @@ -508,7 +478,7 @@ `audioWorklet.addModule()`, etc. -### How does CORB interact with stylesheets? +### Observable CORB impact on stylesheets CORB should have no observable impact on stylesheets. @@ -520,8 +490,8 @@ HTML/CSS stylesheet * `Content-Type: text/html` * No `X-Content-Type-Options` header - * Expected behavior: **no observable difference** in behavior with and without - CORB. Even without CORB, such stylesheet examples will be rejected, because + * Expected behavior: **no observable difference**. + Even without CORB, such stylesheet examples will be rejected, because due to the [relaxed syntax rules](https://scarybeastsecurity.blogspot.dk/2009/12/generic-cross-browser-cross-domain.html) of CSS, cross-origin CSS requires a correct Content-Type header @@ -548,7 +518,7 @@ * Body: a simple stylesheet * `Content-Type: text/html` * `X-Content-Type-Options: nosniff` - * Expected behavior: **no observable difference** in behavior with and without CORB. + * Expected behavior: **no observable difference**. Both with and without CORB, the stylesheet will not load, because the `nosniff` response header response will cause the response to be blocked when its MIME type (`text/html` in the example) is not `text/css` @@ -556,18 +526,20 @@ [Fetch spec](https://fetch.spec.whatwg.org/#should-response-to-request-be-blocked-due-to-nosniff?)). * WPT test: `fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html` -* **Correctly-labeled stylesheet with JSON parser breaker** +* **Correctly-labeled stylesheet with a JSON security prefix** * Resource used in a `<link rel="stylesheet" href="...">` tag: - * Body: a stylesheet that begins with a JSON parser breaker + * Body: a stylesheet that begins with + [a JSON security prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) * `Content-Type: text/css` * No `X-Content-Type-Options` header - * Expected behavior: **no difference** in behavior with and without CORB, - because CORB sniffing for JSON-parser-breakers is not performed for - responses labeled as `Content-Type: text/css`. + * Expected behavior: **no difference**, + because CORB sniffing for + [JSON security prefixes](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + is not performed for responses labeled as `Content-Type: text/css`. * WPT test: `fetch/corb/style-css-with-json-parser-breaker.sub.html` -### How does CORB interact with other web platform features? +### Observable CORB impact on other web platform features CORB has no impact on the following scenarios: @@ -612,31 +584,169 @@ (and also tests for navigation requests covered by the [commit here](https://github.com/mkruisselbrink/web-platform-tests/commit/9524a71919340eacc8aaa6e55ffe0b5aa72f9bfd)). - * **Content scripts and plugins** - * TODO... + * These are not covered by CORB - CORB assumes that that appropriate security + policies are enforced by some other mechanism for content scripts and + plugins (e.g. Adobe Flash implements a CORS-like mechanism via + [crossdomain.xml](https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html)). -> [lukasza@chromium.org] TODO: Do we need to be more explicit about handling of -> requests initiated by plugins? -> - Should CORB attempt to intercept and parse -> [crossdomain.xml](https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html) -> which tells Adobe Flash whether a particular cross-origin request is okay or -> not (similarly to how CORB needs to understand CORS response headers)? -> - If CORB doesn't have knowledge about `crossdomain.xml`, then it will be -> forced to allow all responses to Flash-initiated requests. We should -> clarify why CORB still provides security benefits in this scenario. -> - Also - not sure if plugin behavior is in-scope of -> https://fetch.spec.whatwg.org? +### Quantifying CORB impact on existing websites + +Chromium has been instrumented to count how many responses are blocked by CORB +(CORB is enabled in optional Site Isolation modes and field trials). + +The analysis below focuses on the only 2 kinds of responses where observable +CORB impact was identified in the "CORB and Web Compatibility" subsections above. +The analysis uses the following terms: +- "potentially disruptive" blocking refers to + the "Mislabeled image (nosniff)" example + in the "Observable CORB impact on images" section above. + The analysis covers images, but also other request contexts + (including but not limited to audio and video) + where this scenario carries a similar disruption risk. + The risk here is that CORB disrupts rendering of legitimate + images or multimedia. +- "minimal disruption risk" blocking refers to the "Correctly-labeled HTML + document" example in the "Observable CORB impact on scripts" section above. + The risk here is that CORB prevents a script syntax error that would have + otherwise been trigerred by the blocked response. + +The initial data gathered from nightly builds looks as follows: + +* **1.052% of all CORB-eligible responses are actually blocked by CORB.** + * "all CORB-eligible responses" here means responses from all requests that + are CORB-eligible (see the "What kinds of requests are CORB-eligible?" + section above). Some specific examples of what is included or excluded: + - "all responses" excludes + [navigation requests](https://fetch.spec.whatwg.org/#navigation-request) + and downloads + - "all responses" includes responses to + all requests for web subresources (e.g. `<img>`, `<script>`, stylesheet, etc.), + requests initiated by browser (i.e. requests unrelated to rendering web content), + requests initiated by plugins and content-scripts + * Note that without confirmation sniffing this would be ~16 times higher + +* **0.488% of all CORB-eligible responses are actually blocked by CORB and are + non-empty.** + * "non-empty" means "do not have a `Content-Length: 0` response header" + * We believe that CORB-blocking an empty response is unlikely to be + disruptive (since the body of the response is not affected by CORB, + and only + [non-safelisted](https://fetch.spec.whatwg.org/#cors-safelisted-response-header-name) + headers are affected) + +* **0.134% of all CORB-eligible responses are blocked by CORB and are potentially disruptive.** + * "potentially disruptive" means responses with *all* of the following + conditions met: + - non-empty response body + - 200 or 206 http status code + - no sniffing done by CORB + (either because of 206 or because of `X-Content-Type-Options: nosniff`) + - resource type excludes scripts and stylesheets + - resource type excludes xhr, prefetch, ping, csp-report + * Responses other than 200 or 206 can be excluded because: + - 204 responses have an empty body + - The data gathered shows that CORB didn't block other 2xx responses in + practice + - Blocking of 4xx and 5xx responses should be non-disruptive + (body of error responses is only rendered and shown to the user in + [navigation requests](https://fetch.spec.whatwg.org/#navigation-request) + which are exempt from CORB) + * Sniffed responses are excluded here, because here we focus on "potentially + disruptive" cases where nosniff image or multimedia responses are blocked + (see "Observable CORB impact on images" section above). Sniffed responses + are covered separately, when focusing on "minimally disruptive risk". + * Scripts and stylesheets can be excluded, because + nosniff forces + [strict MIME type checking](https://fetch.spec.whatwg.org/#should-response-to-request-be-blocked-due-to-nosniff?) + for scripts and stylesheets and therefore the response + would have the same observable effects with and without CORB + (see also the "Mislabeled script (nosniff)" example + in the "Observable CORB impact on scripts" section above and + "Anything not labeled as text/css (nosniff)" example + in the "Observable CORB impact on stylesheets" section above) + * XHR, prefetch, ping, csp-response can be excluded, because + these web feature are not impacted by CORB + (see the "Observable CORB impact on other web platform features" + section above). + * The 0.134% responses blocked by CORB in a "potentially disruptive" way + can be broken further down as follows: + - 95.16% are: status=200, + [HTML MIME type](https://mimesniff.spec.whatwg.org/#html-mime-type), + requested from image context, nosniff, non-empty-body. + We've attempted to repro CORB-protection of this kind responses on top-10 + sites exhibiting this specific flavour of CORB blocking. + The repro proved difficult - we only found one specific URI blocked by CORB; + blocking of this URI was non-disruptive (the blocked response really was a + HTML document, which wouldn’t have rendered in an `<img>` context). + - 3.76% are: status=206, `text/plain`, requested from media context, nosniff, + non-empty-body. There is no known repro at this point. + +> [lukasza@chromium.org] We are trying to gather more data and are considering +> relaxing CORB blocking for 206 responses if it turns out that legitimate +> multimedia scenarios are disrupted. + +* **0.006% of all responses are blocked by CORB and have minimal disruption + risk.** + * "minimal disruption risk" covers responses with *all* of the following + conditions met: + - non-empty response body + - 200 or 206 http status code + - sniffed by CORB and confirmed to be HTML, XML or JSON + - request context is `<script>` + * "minimal disruption risk" covers scenarios where CORB blocking can hide a + `<script>` syntax error that would be visible without CORB + (see "Observable CORB impact on scripts" section above) -### Demo page +## Appendix: Future work - protecting more resource types -To test CORB one can turn on the feature in Chrome M63+ by launching it with the -`--enable-features=CrossSiteDocumentBlockingAlways` cmdline flag. +The currently proposed version of CORB only protects JSON, HTML and XML +resources - other sensitive resources need to be protected in some other way. +One possible approach is to protect such resources via unguessable XSRF tokens +which are distributed via JSON (which is CORB-protected). -CORB demo page: https://anforowicz.github.io/xsdb-demo/index.html +In the future CORB may be extended to protect additional resources as follows: -### Summary of CORB behavior +* **Covering more MIME types**. + Instead of blacklisting HTML, XML and JSON, CORB protection can be extended to + all MIME types, except MIME types that are whitelisted as usable in `<img>`, + `<audio>`, `<video>`, `<script>` and other similar elements that can be + embedded cross-origin: + * [JavaScript MIME type](https://html.spec.whatwg.org/#javascript-mime-type) + like `application/javascript` or `text/jscript` + * `text/css` + * [image types](https://mimesniff.spec.whatwg.org/#image-type) like types + matching `image/*` + * [audio or video types](https://mimesniff.spec.whatwg.org/#audio-or-video-type) + like `audio/*`, `video/*` or `application/ogg` + * `font/*` or one of legacy + [font types](https://mimesniff.spec.whatwg.org/#font-type) + * Other MIME types like + `application/octet-stream`, + [text/vtt](https://w3c.github.io/webvtt/#file-structure) + + This extension would offer CORB-protection to resources like PDFs or ZIP files. + CORB would not perform confirmation sniffing for MIME types other than HTML, + XML and JSON (since it is not practical to teach CORB sniffer about *all* the + possible MIME types). On the other hand, the value of confirmation sniffing + for these other MIME types seems low, since mislabeling content as such + types seems less likely than for example mislabeling as `text/html`. + +* **CORB opt-in header**. + To protect resources that normally may be embedded cross-origin, + a server might explicitly opt into CORB with a HTTP response header. + This would make it possible to CORB-protect resources like + images or JavaScript (including JSONP). + +> [lukasza@chromium.org] TODO: Is there an existing HTTP response header +> that may be used in this context? + +## Appendix: Early attempt to codify CORB algorithm + +This is an early attempt to codify CORB behavior in an unambiguous, spec-like +language. This section should eventually evolve to become part of the Fetch +spec. * Protected origins * CORB SHOULD allow same-origin responses. @@ -645,16 +755,13 @@ origin has a HTTP and/or HTTPS scheme). * CORB MAY block cross-origin responses from non-HTTP/HTTPS origins. -> [lukasza@chromium.org] Should the filesystem/blob part be somehow weaved into -> one of explainer sections above? WPT tests? - * Initiator origins * CORB SHOULD block responses for requests initiated from HTTP/HTTPS origins. * CORB SHOULD block responses for requests initiated from opaque/unique/sandboxed origins. * CORB MAY allow responses for requests initiated from `file:` origins. * CORB MAY allow responses for requests initiated from content scripts of - browser extensions. + browser extensions or from plugins. * Interoperability with other origin-related policies * CORB SHOULD allow responses that are otherwise allowed by CORS @@ -670,7 +777,9 @@ * CORB MAY classify as CORB-protected any response whose body meets any of the criteria below, regardless of its Content-Type and regardless of the presence of `X-Content-Type-Options: nosniff` header. - * Response body begins with a JSON parser breaker such as: + * Response body begins with + [a JSON security prefix](https://www.owasp.org/index.php/AJAX_Security_Cheat_Sheet#Protect_against_JSON_Hijacking_for_Older_Browsers) + such as: * `)]}'` * `{}&&` * `for(;;);` @@ -678,7 +787,7 @@ object. * Classification based on Content-Type and sniffing: - * CORB SHOULD classify as CORB-exempt all responses + * CORB SHOULD classify as CORB-exempt all responses labeled as `image/svg+xml` * CORB SHOULD classify as CORB-protected all responses with the following Content-Type if either 1) the response body sniffs as the reported type or @@ -688,32 +797,23 @@ (except `image/svg+xml` which is CORB-exempt, per rules above) * JSON MIME type - one of `text/json`, `text/json+*`, `text/x-json`, `text/x-json+*`, `application/json`, `application/json+*` or `*+json` - * CORB MAY classify as a CORB-protected any response with a missing - Content-Type response header, if the response body sniffs as one of the - CORB-protected types listed above. - * CORB SHOULD classify as CORB-exempt any response with a Content-Type not - explicitly listed in this section. + * `text/plain` * Sniffing to confirm the Content-Type of the response * CORB SHOULD NOT sniff if `X-Content-Type-Options: nosniff` is present. * CORB MAY avoid sniffing 206 content range responses with a single-range. * CORB MAY limit sniffing to the first few network packets. - * If Content-Type is `text/html` then CORB SHOULD allow the response + * If Content-Type is + [HTML MIME type](https://mimesniff.spec.whatwg.org/#html-mime-type) + then CORB SHOULD allow the response if it doesn't sniff as `text/html` according to the [sniffing rules] (https://mimesniff.spec.whatwg.org/#rules-for-identifying-an-unknown-mime-type), amended so that the pattern `"<!--"` is removed from the matching table. - * If Content-Type is one of TODO then CORB SHOULD allow the response + * If Content-Type is + [XML MIME type](https://mimesniff.spec.whatwg.org/#xml-mime-type) + then CORB SHOULD allow the response if it doesn't - [sniff as `text/xml`](https://mimesniff.spec.whatwg.org/#rules-for-identifying-an-unknown-mime-type). - * If Content-Type is one of TODO then CORB SHOULD allow the response + [sniff as XML](https://mimesniff.spec.whatwg.org/#rules-for-identifying-an-unknown-mime-type). + * If Content-Type is "JSON MIME type" (see above), + then CORB SHOULD allow the response if it doesn't sniff as JSON. TODO: define "sniff as JSON". - - -### Related specs - -* https://fetch.spec.whatwg.org/#concept-filtered-response-opaque -* https://fetch.spec.whatwg.org/#cors-safelisted-response-header-name -* https://fetch.spec.whatwg.org/#http-cors-protocol -* https://fetch.spec.whatwg.org/#should-response-to-request-be-blocked-due-to-nosniff? -* https://fetch.spec.whatwg.org/#x-content-type-options-header -* https://tools.ietf.org/html/rfc7233#section-4 (Responses to a Range Request)
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc index ff3d4c4..456dc18 100644 --- a/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc
@@ -31,7 +31,7 @@ #include "content/public/common/process_type.h" #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "content/public/common/service_names.mojom.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "mojo/edk/embedder/embedder.h" #include "net/base/network_change_notifier.h" #include "ppapi/proxy/ppapi_messages.h"
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc index 80ce3306..2437c39 100644 --- a/content/browser/renderer_host/delegated_frame_host.cc +++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -287,7 +287,7 @@ current_frame_size_in_dip_ = pending_surface_dip_size_; viz::SurfaceId surface_id(frame_sink_id_, pending_local_surface_id_); -#if defined(OS_WIN) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(USE_X11) // On Windows and Linux, we would like to produce new content as soon as // possible or the OS will create an additional black gutter. Until we can // block resize on surface synchronization on these platforms, we will not
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 5379142..d9b5be1 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -166,7 +166,7 @@ #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "content/public/common/service_names.mojom.h" #include "content/public/common/url_constants.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "device/gamepad/gamepad_haptics_manager.h" #include "device/gamepad/gamepad_monitor.h" #include "gpu/GLES2/gl2extchromium.h"
diff --git a/content/browser/renderer_host/render_view_host_delegate_view.h b/content/browser/renderer_host/render_view_host_delegate_view.h index 2576982a..5b30fd8 100644 --- a/content/browser/renderer_host/render_view_host_delegate_view.h +++ b/content/browser/renderer_host/render_view_host_delegate_view.h
@@ -9,9 +9,9 @@ #include "base/callback.h" #include "build/build_config.h" +#include "content/common/buildflags.h" #include "content/common/content_export.h" #include "content/common/drag_event_source_info.h" -#include "content/common/features.h" #include "content/public/common/input_event_ack_state.h" #include "third_party/WebKit/public/platform/WebDragOperation.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h index f9510077..3317631 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.h +++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -6,16 +6,9 @@ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ #import <Cocoa/Cocoa.h> -#include <IOSurface/IOSurface.h> -#include <stddef.h> -#include <stdint.h> -#include <list> -#include <map> -#include <memory> #include <set> #include <string> -#include <utility> #include <vector> #include "base/mac/scoped_nsobject.h" @@ -47,7 +40,6 @@ class RenderWidgetHostViewMac; class RenderWidgetHostViewMacEditCommandHelper; class WebContents; -struct TextInputState; } @class FullscreenWindowManager;
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm index 608f74a..acbb2325 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -5,10 +5,6 @@ #include "content/browser/renderer_host/render_widget_host_view_mac.h" #import <Carbon/Carbon.h> -#import <objc/runtime.h> -#include <OpenGL/gl.h> -#include <QuartzCore/QuartzCore.h> -#include <stdint.h> #include <limits> #include <utility> @@ -20,31 +16,23 @@ #include "base/logging.h" #include "base/mac/mac_util.h" #include "base/mac/scoped_cftyperef.h" -#import "base/mac/scoped_nsobject.h" #include "base/mac/sdk_forward_declarations.h" #include "base/macros.h" -#include "base/memory/ref_counted.h" #include "base/metrics/histogram_macros.h" -#include "base/numerics/safe_conversions.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/strings/sys_string_conversions.h" #include "base/strings/utf_string_conversions.h" -#include "base/sys_info.h" -#include "base/threading/thread_task_runner_handle.h" -#include "base/trace_event/trace_event.h" #import "content/browser/accessibility/browser_accessibility_cocoa.h" #import "content/browser/accessibility/browser_accessibility_mac.h" #include "content/browser/accessibility/browser_accessibility_manager_mac.h" #import "content/browser/cocoa/system_hotkey_helper_mac.h" #import "content/browser/cocoa/system_hotkey_map.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" #include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/gpu/compositor_util.h" #include "content/browser/renderer_host/cursor_manager.h" #import "content/browser/renderer_host/input/synthetic_gesture_target_mac.h" #include "content/browser/renderer_host/input/web_input_event_builders_mac.h" +#include "content/browser/renderer_host/render_view_host_delegate.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_helper.h" #include "content/browser/renderer_host/render_widget_host_delegate.h" @@ -52,19 +40,15 @@ #import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_helper.h" #import "content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.h" #import "content/browser/renderer_host/text_input_client_mac.h" -#include "content/common/accessibility_messages.h" #include "content/common/edit_command.h" -#include "content/common/input_messages.h" #include "content/common/text_input_state.h" #include "content/common/view_messages.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_plugin_guest_manager.h" -#include "content/public/browser/browser_thread.h" #include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/render_widget_host.h" #import "content/public/browser/render_widget_host_view_mac_delegate.h" #include "content/public/browser/web_contents.h" -#include "gpu/ipc/common/gpu_messages.h" #include "skia/ext/platform_canvas.h" #include "skia/ext/skia_utils_mac.h" #include "third_party/WebKit/public/platform/WebInputEvent.h" @@ -73,9 +57,6 @@ #import "ui/base/cocoa/appkit_utils.h" #include "ui/base/cocoa/cocoa_base_utils.h" #import "ui/base/cocoa/fullscreen_window_manager.h" -#import "ui/base/cocoa/underlay_opengl_hosting_window.h" -#include "ui/compositor/compositor.h" -#include "ui/compositor/layer.h" #include "ui/display/display.h" #include "ui/display/screen.h" #include "ui/events/base_event_utils.h" @@ -85,17 +66,13 @@ #include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/rect_conversions.h" #include "ui/gfx/geometry/size_conversions.h" -#include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h" #include "ui/gl/gl_switches.h" using content::BrowserAccessibility; using content::BrowserAccessibilityManager; using content::EditCommand; -using content::FrameTreeNode; using content::NativeWebKeyboardEvent; -using content::RenderFrameHost; using content::RenderViewHost; -using content::RenderViewHostImpl; using content::RenderWidgetHostImpl; using content::RenderWidgetHostView; using content::RenderWidgetHostViewMac; @@ -172,7 +149,7 @@ // A window subclass that allows the fullscreen window to become main and gain // keyboard focus. This is only used for pepper flash. Normal fullscreen is // handled by the browser. -@interface PepperFlashFullscreenWindow : UnderlayOpenGLHostingWindow +@interface PepperFlashFullscreenWindow : NSWindow @end @implementation PepperFlashFullscreenWindow @@ -318,26 +295,13 @@ TSMRemoveDocumentProperty(0, kTSMDocumentEnabledInputSourcesPropertyTag); } -// Calls to [NSScreen screens], required by FlipYFromRectToScreen and -// FlipNSRectToRectScreen, can take several milliseconds. Only re-compute this -// value when screen info changes. -// TODO(ccameron): An observer on every RWHVCocoa will set this to false -// on NSApplicationDidChangeScreenParametersNotification. Only one observer -// is necessary. -bool g_screen_info_up_to_date = false; - float FlipYFromRectToScreen(float y, float rect_height) { TRACE_EVENT0("browser", "FlipYFromRectToScreen"); - static CGFloat screen_zero_height = 0; - if (!g_screen_info_up_to_date) { - if ([[NSScreen screens] count] > 0) { - screen_zero_height = - [[[NSScreen screens] firstObject] frame].size.height; - g_screen_info_up_to_date = true; - } else { - return y; - } - } + display::Screen* screen = display::Screen::GetScreen(); + display::Display display = screen->GetPrimaryDisplay(); + CGFloat screen_zero_height = display.bounds().height(); + if (screen_zero_height == 0.f) + return y; return screen_zero_height - y - rect_height; } @@ -1799,17 +1763,6 @@ canBeKeyView_ = YES; pinchHasReachedZoomThreshold_ = false; isStylusEnteringProximity_ = false; - - // OpenGL support: - if ([self respondsToSelector: - @selector(setWantsBestResolutionOpenGLSurface:)]) { - [self setWantsBestResolutionOpenGLSurface:YES]; - } - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(didChangeScreenParameters:) - name:NSApplicationDidChangeScreenParametersNotification - object:nil]; } return self; } @@ -1841,10 +1794,6 @@ [super dealloc]; } -- (void)didChangeScreenParameters:(NSNotification*)notify { - g_screen_info_up_to_date = false; -} - - (void)setResponderDelegate: (NSObject<RenderWidgetHostViewMacDelegate>*)delegate { DCHECK(!responderDelegate_);
diff --git a/content/browser/shared_worker/DEPS b/content/browser/shared_worker/DEPS index 54247a69..cb19ae24 100644 --- a/content/browser/shared_worker/DEPS +++ b/content/browser/shared_worker/DEPS
@@ -1,5 +1,4 @@ include_rules = [ "+third_party/WebKit/public/platform/web_feature.mojom.h", - "+third_party/WebKit/public/web/shared_worker_creation_context_type.mojom.h", "+third_party/WebKit/public/web/worker_content_settings_proxy.mojom.h", ]
diff --git a/content/browser/shared_worker/shared_worker_instance.h b/content/browser/shared_worker/shared_worker_instance.h index 62de2075..f97eead 100644 --- a/content/browser/shared_worker/shared_worker_instance.h +++ b/content/browser/shared_worker/shared_worker_instance.h
@@ -9,8 +9,8 @@ #include "content/common/content_export.h" #include "third_party/WebKit/public/mojom/net/ip_address_space.mojom.h" +#include "third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom.h" #include "third_party/WebKit/public/platform/WebContentSecurityPolicy.h" -#include "third_party/WebKit/public/web/shared_worker_creation_context_type.mojom.h" #include "url/gurl.h" #include "url/origin.h"
diff --git a/content/browser/speech/speech_recognition_dispatcher_host.cc b/content/browser/speech/speech_recognition_dispatcher_host.cc index 49edb02..818ba83 100644 --- a/content/browser/speech/speech_recognition_dispatcher_host.cc +++ b/content/browser/speech/speech_recognition_dispatcher_host.cc
@@ -98,7 +98,11 @@ WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(WebContentsImpl::FromRenderFrameHostID( render_process_id_, params.render_frame_id)); - DCHECK(web_contents); + if (!web_contents) { + // The render frame id is renderer-provided. If it's invalid, don't crash. + DLOG(ERROR) << "SRDH::OnStartRequest, invalid frame"; + return; + } // If the speech API request was from an inner WebContents or a guest, save // the context of the outer WebContents or the embedder since we will use it
diff --git a/content/browser/utility_process_host_impl.cc b/content/browser/utility_process_host_impl.cc index 51f997c2..229bcde 100644 --- a/content/browser/utility_process_host_impl.cc +++ b/content/browser/utility_process_host_impl.cc
@@ -30,7 +30,7 @@ #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "content/public/common/service_manager_connection.h" #include "content/public/common/service_names.mojom.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "media/base/media_switches.h" #include "services/network/public/cpp/network_switches.h" #include "services/service_manager/public/cpp/interface_provider.h"
diff --git a/content/browser/web_contents/web_contents_view_aura.h b/content/browser/web_contents/web_contents_view_aura.h index 50c22b1..4aa7af32 100644 --- a/content/browser/web_contents/web_contents_view_aura.h +++ b/content/browser/web_contents/web_contents_view_aura.h
@@ -16,8 +16,8 @@ #include "content/browser/renderer_host/overscroll_controller_delegate.h" #include "content/browser/renderer_host/render_view_host_delegate_view.h" #include "content/browser/web_contents/web_contents_view.h" +#include "content/common/buildflags.h" #include "content/common/content_export.h" -#include "content/common/features.h" #include "ui/aura/client/drag_drop_delegate.h" #include "ui/aura/window_delegate.h" #include "ui/aura/window_observer.h"
diff --git a/content/browser/web_package/signed_exchange_header.cc b/content/browser/web_package/signed_exchange_header.cc index 1d885dc..aaf7a16 100644 --- a/content/browser/web_package/signed_exchange_header.cc +++ b/content/browser/web_package/signed_exchange_header.cc
@@ -6,11 +6,134 @@ #include <utility> +#include "base/strings/string_number_conversions.h" #include "base/strings/string_piece.h" +#include "components/cbor/cbor_reader.h" +#include "content/browser/web_package/signed_exchange_consts.h" namespace content { +namespace { + +bool ParseRequestMap(const cbor::CBORValue& value, SignedExchangeHeader* out) { + if (!value.is_map()) { + DVLOG(1) << "Expected request map, got non-map type " + << static_cast<int>(value.type()); + return false; + } + + const cbor::CBORValue::MapValue& request_map = value.GetMap(); + + auto url_iter = request_map.find( + cbor::CBORValue(kUrlKey, cbor::CBORValue::Type::BYTE_STRING)); + if (url_iter == request_map.end() || !url_iter->second.is_bytestring()) { + DVLOG(1) << kUrlKey << " is not found or not a bytestring"; + return false; + } + out->set_request_url(GURL(url_iter->second.GetBytestringAsString())); + + auto method_iter = request_map.find( + cbor::CBORValue(kMethodKey, cbor::CBORValue::Type::BYTE_STRING)); + if (method_iter == request_map.end() || + !method_iter->second.is_bytestring()) { + DVLOG(1) << kMethodKey << " is not found or not a bytestring"; + return false; + } + out->set_request_method(method_iter->second.GetBytestringAsString()); + + return true; +} + +bool ParseResponseMap(const cbor::CBORValue& value, SignedExchangeHeader* out) { + if (!value.is_map()) { + DVLOG(1) << "Expected response headers map, got non-map type " + << static_cast<int>(value.type()); + return false; + } + + const cbor::CBORValue::MapValue& response_map = value.GetMap(); + auto status_iter = response_map.find( + cbor::CBORValue(kStatusKey, cbor::CBORValue::Type::BYTE_STRING)); + if (status_iter == response_map.end() || + !status_iter->second.is_bytestring()) { + DVLOG(1) << kStatusKey << " is not found or not a bytestring."; + return false; + } + base::StringPiece response_code_str = + status_iter->second.GetBytestringAsString(); + int response_code; + if (!base::StringToInt(response_code_str, &response_code)) { + DVLOG(1) << "Failed to parse status code \"" << response_code_str + << "\" to string."; + return false; + } + out->set_response_code(static_cast<net::HttpStatusCode>(response_code)); + + for (const auto& it : response_map) { + if (!it.first.is_bytestring() || !it.second.is_bytestring()) { + DVLOG(1) << "Non-bytestring value in the response map"; + return false; + } + base::StringPiece name_str = it.first.GetBytestringAsString(); + if (name_str == kStatusKey) + continue; + + base::StringPiece value_str = it.second.GetBytestringAsString(); + out->AddResponseHeader(name_str, value_str); + } + + return true; +} + +} // namespace + +constexpr size_t SignedExchangeHeader::kEncodedHeaderLengthInBytes; + +// static +size_t SignedExchangeHeader::ParseHeadersLength( + base::span<const uint8_t> input) { + DCHECK_EQ(input.size(), SignedExchangeHeader::kEncodedHeaderLengthInBytes); + return static_cast<size_t>(input[0]) << 16 | + static_cast<size_t>(input[1]) << 8 | static_cast<size_t>(input[2]); +} + +// static +base::Optional<SignedExchangeHeader> SignedExchangeHeader::Parse( + base::span<const uint8_t> input) { + cbor::CBORReader::DecoderError error; + base::Optional<cbor::CBORValue> value = cbor::CBORReader::Read(input, &error); + if (!value.has_value()) { + DVLOG(1) << "Failed to decode CBORValue: " + << cbor::CBORReader::ErrorCodeToString(error); + return base::nullopt; + } + if (!value->is_array()) { + DVLOG(1) << "Expected top-level CBORValue to be an array, but got: " + << static_cast<int>(value->type()); + return base::nullopt; + } + + const cbor::CBORValue::ArrayValue& top_level_array = value->GetArray(); + constexpr size_t kTopLevelArraySize = 2; + if (top_level_array.size() != kTopLevelArraySize) { + DVLOG(1) << "Expected top-level array to have 2 elements, but got " + << top_level_array.size() << " elements."; + return base::nullopt; + } + + SignedExchangeHeader ret; + + if (!ParseRequestMap(top_level_array[0], &ret) || + !ParseResponseMap(top_level_array[1], &ret)) + return base::nullopt; + + return std::move(ret); +} + SignedExchangeHeader::SignedExchangeHeader() = default; +SignedExchangeHeader::SignedExchangeHeader(const SignedExchangeHeader&) = + default; +SignedExchangeHeader::SignedExchangeHeader(SignedExchangeHeader&&) = default; SignedExchangeHeader::~SignedExchangeHeader() = default; void SignedExchangeHeader::AddResponseHeader(base::StringPiece name,
diff --git a/content/browser/web_package/signed_exchange_header.h b/content/browser/web_package/signed_exchange_header.h index c83df578..c9321b93 100644 --- a/content/browser/web_package/signed_exchange_header.h +++ b/content/browser/web_package/signed_exchange_header.h
@@ -8,6 +8,8 @@ #include <map> #include <string> +#include "base/containers/span.h" +#include "base/optional.h" #include "base/strings/string_piece.h" #include "content/common/content_export.h" #include "net/http/http_status_code.h" @@ -20,7 +22,33 @@ // https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-responses.html class CONTENT_EXPORT SignedExchangeHeader { public: + static constexpr size_t kEncodedHeaderLengthInBytes = 3; + // Parse big-endian encoded length of the following CBOR-encoded + // signed exchange header. + // Note: |input| must be pointing to a valid memory address that has at least + // |kEncodedHeaderLengthInBytes|. + static size_t ParseHeadersLength(base::span<const uint8_t> input); + + // Parse headers from the new serialization format currently being discussed. + // 1. The first 3 bytes of the content represents the length of the CBOR + // encoded section, encoded in network byte (big-endian) order. 2. Then, + // immediately follows a CBOR-encoded array containing 2 elements: (This is + // derived from the section 5 of the old spec) - a map of request header field + // names to values, encoded as byte strings, with ":method", and ":url" pseudo + // header fields - a map from response header field names to values, encoded + // as byte strings, with a ":status" pseudo-header field containing the status + // code (encoded as 3 ASCII letter byte string) 3. Then, immediately follows + // the response body, encoded in MI. + // TODO(kouhei): Replace above with spec reference when we actually have spec + // text. + // + // Note: |Parse| will only deserialize the data, and will not verify its + // validity. + static base::Optional<SignedExchangeHeader> Parse( + base::span<const uint8_t> input); SignedExchangeHeader(); + SignedExchangeHeader(const SignedExchangeHeader&); + SignedExchangeHeader(SignedExchangeHeader&&); ~SignedExchangeHeader(); void AddResponseHeader(base::StringPiece name, base::StringPiece value);
diff --git a/content/browser/web_package/signed_exchange_header_unittest.cc b/content/browser/web_package/signed_exchange_header_unittest.cc new file mode 100644 index 0000000..dce29ce5 --- /dev/null +++ b/content/browser/web_package/signed_exchange_header_unittest.cc
@@ -0,0 +1,61 @@ +// Copyright 2018 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 "content/browser/web_package/signed_exchange_header.h" + +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/path_service.h" +#include "content/public/common/content_paths.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace content { + +TEST(SignedExchangeHeaderTest, ParseHeaderLength) { + constexpr struct { + uint8_t bytes[SignedExchangeHeader::kEncodedHeaderLengthInBytes]; + size_t expected; + } kTestCases[] = { + {{0x00, 0x00, 0x01}, 1u}, {{0x01, 0xe2, 0x40}, 123456u}, + }; + + int test_element_index = 0; + for (const auto& test_case : kTestCases) { + SCOPED_TRACE(testing::Message() << "testing case " << test_element_index++); + EXPECT_EQ(SignedExchangeHeader::ParseHeadersLength(test_case.bytes), + test_case.expected); + } +} + +TEST(SignedExchangeHeaderTest, Parse) { + base::FilePath test_htxg_path; + PathService::Get(content::DIR_TEST_DATA, &test_htxg_path); + test_htxg_path = test_htxg_path.AppendASCII("htxg").AppendASCII( + "signed_exchange_header_test.htxg"); + + std::string contents; + ASSERT_TRUE(base::ReadFileToString(test_htxg_path, &contents)); + auto* contents_bytes = reinterpret_cast<const uint8_t*>(contents.data()); + + ASSERT_GT(contents.size(), SignedExchangeHeader::kEncodedHeaderLengthInBytes); + size_t header_size = SignedExchangeHeader::ParseHeadersLength(base::make_span( + contents_bytes, SignedExchangeHeader::kEncodedHeaderLengthInBytes)); + ASSERT_GT(contents.size(), + SignedExchangeHeader::kEncodedHeaderLengthInBytes + header_size); + + const auto cbor_bytes = base::make_span<const uint8_t>( + contents_bytes + SignedExchangeHeader::kEncodedHeaderLengthInBytes, + header_size); + const base::Optional<SignedExchangeHeader> header = + SignedExchangeHeader::Parse(cbor_bytes); + ASSERT_TRUE(header.has_value()); + EXPECT_EQ(header->request_url(), GURL("https://test.example.org/test/")); + EXPECT_EQ(header->request_method(), "GET"); + EXPECT_EQ(header->response_code(), static_cast<net::HttpStatusCode>(200u)); + EXPECT_EQ(header->response_headers().size(), 5u); + EXPECT_EQ(header->response_headers().find("content-encoding")->second, + "mi-sha256"); +} + +} // namespace content
diff --git a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc index a92e78a..8c3c2c12 100644 --- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc +++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
@@ -33,13 +33,21 @@ namespace content { +// All tests in this fixture experience flaky DCHECK failures on macOS; see +// https://crbug.com/810321. +#if defined(OS_MACOSX) && DCHECK_IS_ON() +#define MAYBE_WebRtcMediaRecorderTest DISABLED_WebRtcMediaRecorderTest +#else +#define MAYBE_WebRtcMediaRecorderTest WebRtcMediaRecorderTest +#endif + // This class tests the recording of a media stream. -class WebRtcMediaRecorderTest +class MAYBE_WebRtcMediaRecorderTest : public WebRtcContentBrowserTestBase, public testing::WithParamInterface<struct EncodingParameters> { public: - WebRtcMediaRecorderTest() {} - ~WebRtcMediaRecorderTest() override {} + MAYBE_WebRtcMediaRecorderTest() {} + ~MAYBE_WebRtcMediaRecorderTest() override {} void SetUpCommandLine(base::CommandLine* command_line) override { WebRtcContentBrowserTestBase::SetUpCommandLine(command_line); @@ -62,18 +70,18 @@ } private: - DISALLOW_COPY_AND_ASSIGN(WebRtcMediaRecorderTest); + DISALLOW_COPY_AND_ASSIGN(MAYBE_WebRtcMediaRecorderTest); }; -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, Start) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, Start) { MakeTypicalCall("testStartAndRecorderState();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, StartAndStop) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, StartAndStop) { MakeTypicalCall("testStartStopAndRecorderState();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, StartAndDataAvailable) { +IN_PROC_BROWSER_TEST_P(MAYBE_WebRtcMediaRecorderTest, StartAndDataAvailable) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testStartAndDataAvailable(\"%s\");", GetParam().mime_type.c_str()), @@ -87,29 +95,31 @@ #else #define MAYBE_StartWithTimeSlice StartWithTimeSlice #endif -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, MAYBE_StartWithTimeSlice) { +IN_PROC_BROWSER_TEST_P(MAYBE_WebRtcMediaRecorderTest, + MAYBE_StartWithTimeSlice) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testStartWithTimeSlice(\"%s\");", GetParam().mime_type.c_str()), kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, Resume) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, Resume) { MakeTypicalCall("testResumeAndRecorderState();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, NoResumeWhenRecorderInactive) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, + NoResumeWhenRecorderInactive) { MakeTypicalCall("testIllegalResumeThrowsDOMError();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, ResumeAndDataAvailable) { +IN_PROC_BROWSER_TEST_P(MAYBE_WebRtcMediaRecorderTest, ResumeAndDataAvailable) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testResumeAndDataAvailable(\"%s\");", GetParam().mime_type.c_str()), kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, Pause) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, Pause) { MakeTypicalCall("testPauseAndRecorderState();", kMediaRecorderHtmlFile); } @@ -119,11 +129,11 @@ #else #define MAYBE_PauseStop PauseStop #endif -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, MAYBE_PauseStop) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, MAYBE_PauseStop) { MakeTypicalCall("testPauseStopAndRecorderState();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, PausePreventsDataavailableFromBeingFired) { MakeTypicalCall("testPausePreventsDataavailableFromBeingFired();", kMediaRecorderHtmlFile); @@ -135,33 +145,35 @@ #else #define MAYBE_IllegalPauseThrowsDOMError IllegalPauseThrowsDOMError #endif -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, MAYBE_IllegalPauseThrowsDOMError) { MakeTypicalCall("testIllegalPauseThrowsDOMError();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, TwoChannelAudioRecording) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, + TwoChannelAudioRecording) { MakeTypicalCall("testTwoChannelAudio();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, RecordWithTransparency) { +IN_PROC_BROWSER_TEST_P(MAYBE_WebRtcMediaRecorderTest, RecordWithTransparency) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testRecordWithTransparency(\"%s\");", GetParam().mime_type.c_str()), kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, IllegalStopThrowsDOMError) { +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, + IllegalStopThrowsDOMError) { MakeTypicalCall("testIllegalStopThrowsDOMError();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, IllegalStartWhileRecordingThrowsDOMError) { MakeTypicalCall("testIllegalStartInRecordingStateThrowsDOMError();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, IllegalStartWhilePausedThrowsDOMError) { MakeTypicalCall("testIllegalStartInPausedStateThrowsDOMError();", kMediaRecorderHtmlFile); @@ -174,7 +186,7 @@ #else #define MAYBE_IllegalRequestDataThrowsDOMError IllegalRequestDataThrowsDOMError #endif -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, MAYBE_IllegalRequestDataThrowsDOMError) { MakeTypicalCall("testIllegalRequestDataThrowsDOMError();", kMediaRecorderHtmlFile); @@ -194,7 +206,7 @@ #define MAYBE_PeerConnection PeerConnection #endif -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, MAYBE_PeerConnection) { +IN_PROC_BROWSER_TEST_P(MAYBE_WebRtcMediaRecorderTest, MAYBE_PeerConnection) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testRecordRemotePeerConnection(\"%s\");", GetParam().mime_type.c_str()), @@ -209,20 +221,20 @@ #define MAYBE_AddingTrackToMediaStreamFiresErrorEvent \ AddingTrackToMediaStreamFiresErrorEvent #endif -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, MAYBE_AddingTrackToMediaStreamFiresErrorEvent) { MakeTypicalCall("testAddingTrackToMediaStreamFiresErrorEvent();", kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_F(WebRtcMediaRecorderTest, +IN_PROC_BROWSER_TEST_F(MAYBE_WebRtcMediaRecorderTest, RemovingTrackFromMediaStreamFiresErrorEvent) { MakeTypicalCall("testRemovingTrackFromMediaStreamFiresErrorEvent();", kMediaRecorderHtmlFile); } INSTANTIATE_TEST_CASE_P(, - WebRtcMediaRecorderTest, + MAYBE_WebRtcMediaRecorderTest, testing::ValuesIn(kEncodingParameters)); } // namespace content
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn index c8cfb65..d47a0adf 100644 --- a/content/common/BUILD.gn +++ b/content/common/BUILD.gn
@@ -17,8 +17,8 @@ # For feature flags internal to content. See content/public/common:features # for feature flags that clients of contents need to know about. -buildflag_header("features") { - header = "features.h" +buildflag_header("buildflags") { + header = "buildflags.h" flags = [ "USE_EXTERNAL_POPUP_MENU=$use_external_popup_menu", @@ -323,7 +323,7 @@ "//ui/accessibility", ] deps = [ - ":features", + ":buildflags", "//base", "//base/third_party/dynamic_annotations", "//build/util:webkit_version", @@ -336,7 +336,7 @@ "//content/app/resources", "//content/public/common:interfaces", "//content/public/common:service_names", - "//content/public/common:zygote_features", + "//content/public/common:zygote_buildflags", "//device/base/synchronization", "//device/bluetooth", "//gpu",
diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h index 20fc1da5..12306a1 100644 --- a/content/common/frame_messages.h +++ b/content/common/frame_messages.h
@@ -19,12 +19,12 @@ #include "build/build_config.h" #include "components/viz/common/surfaces/surface_id.h" #include "components/viz/common/surfaces/surface_info.h" +#include "content/common/buildflags.h" #include "content/common/content_export.h" #include "content/common/content_param_traits.h" #include "content/common/content_security_policy/csp_context.h" #include "content/common/content_security_policy_header.h" #include "content/common/download/mhtml_save_status.h" -#include "content/common/features.h" #include "content/common/frame_message_enums.h" #include "content/common/frame_message_structs.h" #include "content/common/frame_owner_properties.h"
diff --git a/content/common/native_types.typemap b/content/common/native_types.typemap index 8e2f44e0..0e630441 100644 --- a/content/common/native_types.typemap +++ b/content/common/native_types.typemap
@@ -47,7 +47,7 @@ # transitive allowance, so those targets' own public_deps aren't included in # the set of implied dependencies. "//cc/ipc", - "//content/common:features", + "//content/common:buildflags", "//media", "//media/base/ipc", "//net",
diff --git a/content/common/shared_worker/shared_worker_client.mojom b/content/common/shared_worker/shared_worker_client.mojom index 0ff30a39..840e0bc 100644 --- a/content/common/shared_worker/shared_worker_client.mojom +++ b/content/common/shared_worker/shared_worker_client.mojom
@@ -4,8 +4,8 @@ module content.mojom; +import "third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom"; import "third_party/WebKit/public/platform/web_feature.mojom"; -import "third_party/WebKit/public/web/shared_worker_creation_context_type.mojom"; // An interface used by clients (e.g., the renderer where "new SharedWorker()" // was invoked) to observe events from a shared worker.
diff --git a/content/common/shared_worker/shared_worker_connector.mojom b/content/common/shared_worker/shared_worker_connector.mojom index f0b663fb..b46bc84e 100644 --- a/content/common/shared_worker/shared_worker_connector.mojom +++ b/content/common/shared_worker/shared_worker_connector.mojom
@@ -6,7 +6,7 @@ import "content/common/shared_worker/shared_worker_client.mojom"; import "content/common/shared_worker/shared_worker_info.mojom"; -import "third_party/WebKit/public/web/shared_worker_creation_context_type.mojom"; +import "third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom"; // This interface is exposed to enable a client to create and connect to a // shared worker.
diff --git a/content/public/browser/devtools_agent_host.h b/content/public/browser/devtools_agent_host.h index c90e0b8..a6e78f9 100644 --- a/content/public/browser/devtools_agent_host.h +++ b/content/public/browser/devtools_agent_host.h
@@ -115,6 +115,12 @@ // Attaches |client| to this agent host to start debugging. virtual void AttachClient(DevToolsAgentHostClient* client) = 0; + // Attaches |client| to this agent host to start debugging. + // This client will be restricted in certain ways. For example, + // it will be detached when attempting to debug WebUI pages. + // Returns |true| on success. + virtual bool AttachRestrictedClient(DevToolsAgentHostClient* client) = 0; + // Attaches |client| to this agent host to start debugging. Disconnects // any existing clients. virtual void ForceAttachClient(DevToolsAgentHostClient* client) = 0;
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn index 35e4ea0..f2f3d55 100644 --- a/content/public/common/BUILD.gn +++ b/content/public/common/BUILD.gn
@@ -255,6 +255,7 @@ public_deps = [ ":interfaces", ":service_names", + ":zygote_buildflags", "//content/common", "//ipc", "//media/capture:capture_base", @@ -274,7 +275,6 @@ ] deps = [ ":content_descriptor_keys", - ":zygote_features", # This looks needless as we have //content/common in public_deps, but it's # needed because of allow_circular_includes_from. @@ -332,14 +332,14 @@ } } -buildflag_header("features") { - header = "features.h" +buildflag_header("buildflags") { + header = "buildflags.h" flags = [ "RTC_USE_H264=$rtc_use_h264" ] } source_set("feature_h264_with_openh264_ffmpeg") { deps = [ - ":features", + ":buildflags", "//base", "//media:media_features", ] @@ -349,8 +349,8 @@ ] } -buildflag_header("zygote_features") { - header = "zygote_features.h" +buildflag_header("zygote_buildflags") { + header = "zygote_buildflags.h" flags = [ "USE_ZYGOTE_HANDLE=$use_zygote_handle" ] } @@ -361,6 +361,8 @@ "//content/common/*", "//chrome/common:mojo_bindings", "//chrome/common:mojo_bindings_blink", + "//extensions/common:mojo", + "//extensions/common:mojo_blink", ] sources = [
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc index d513f64..ca48bc8 100644 --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -41,23 +41,11 @@ const base::Feature kBlockCredentialedSubresources{ "BlockCredentialedSubresources", base::FEATURE_ENABLED_BY_DEFAULT}; -// Puts save-data header in the holdback mode. This disables sending of -// save-data header to origins, and to the renderer processes within Chrome. -const base::Feature kDataSaverHoldback{"DataSaverHoldback", - base::FEATURE_DISABLED_BY_DEFAULT}; - // Enables brotli "Accept-Encoding" advertising and "Content-Encoding" support. // Brotli format specification: http://www.ietf.org/id/draft-alakuijala-brotli const base::Feature kBrotliEncoding{"brotli-encoding", base::FEATURE_ENABLED_BY_DEFAULT}; -// Browser side navigation (aka PlzNavigate) is using blob URLs to deliver -// the body of the main resource to the renderer process. When enabled, the -// NavigationMojoResponse feature replaces this mechanism by a Mojo DataPipe. -// Design doc: https://goo.gl/Rrrc7n. -const base::Feature kNavigationMojoResponse{"NavigationMojoResponse", - base::FEATURE_DISABLED_BY_DEFAULT}; - // If Canvas2D Image Chromium is allowed, this feature controls whether it is // enabled. const base::Feature kCanvas2DImageChromium { @@ -74,6 +62,10 @@ const base::Feature kCheckerImaging{"CheckerImaging", base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables code caching after executing the script. +const base::Feature kCodeCacheAfterExecute{"CodeCacheAfterExecute", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables the compositing of fixed position content that is opaque and can // preserve LCD text. const base::Feature kCompositeOpaqueFixedPosition{ @@ -102,15 +94,20 @@ const base::Feature kCrossSiteDocumentBlockingIfIsolating{ "CrossSiteDocumentBlockingIfIsolating", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables exposing back/forward mouse buttons to the renderer and the web. -const base::Feature kExtendedMouseButtons{"ExtendedMouseButtons", - base::FEATURE_DISABLED_BY_DEFAULT}; +// Puts save-data header in the holdback mode. This disables sending of +// save-data header to origins, and to the renderer processes within Chrome. +const base::Feature kDataSaverHoldback{"DataSaverHoldback", + base::FEATURE_DISABLED_BY_DEFAULT}; // Throttle tasks in Blink background timer queues based on CPU budgets // for the background tab. Bug: https://crbug.com/639852. const base::Feature kExpensiveBackgroundTimerThrottling{ "ExpensiveBackgroundTimerThrottling", base::FEATURE_ENABLED_BY_DEFAULT}; +// Enables exposing back/forward mouse buttons to the renderer and the web. +const base::Feature kExtendedMouseButtons{"ExtendedMouseButtons", + base::FEATURE_DISABLED_BY_DEFAULT}; + // Enables a blink::FontCache optimization that reuses a font to serve different // size of font. const base::Feature kFontCacheScaling{"FontCacheScaling", @@ -136,6 +133,20 @@ const base::Feature kHeapCompaction{"HeapCompaction", base::FEATURE_DISABLED_BY_DEFAULT}; +// Enables/disables the Image Capture API. +const base::Feature kImageCaptureAPI{"ImageCaptureAPI", + base::FEATURE_ENABLED_BY_DEFAULT}; + +// Alternative to switches::kIsolateOrigins, for turning on origin isolation. +// List of origins to isolate has to be specified via +// kIsolateOriginsFieldTrialParamName. +const base::Feature kIsolateOrigins{"IsolateOrigins", + base::FEATURE_DISABLED_BY_DEFAULT}; +const char kIsolateOriginsFieldTrialParamName[] = "OriginsList"; + +const base::Feature kKeepAliveRendererForKeepaliveRequests{ + "KeepAliveRendererForKeepaliveRequests", base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables an API which allows websites to capture reserved keys in fullscreen. // Defined by w3c here: https://w3c.github.io/keyboard-lock/ const base::Feature kKeyboardLockAPI{"KeyboardLockAPI", @@ -147,12 +158,17 @@ // Enables lazily parsing css properties for performance. const base::Feature kLazyParseCSS{"LazyParseCSS", - base::FEATURE_DISABLED_BY_DEFAULT}; + base::FEATURE_ENABLED_BY_DEFAULT}; // Enables lowering the priority of the resources in iframes. const base::Feature kLowPriorityIframes{"LowPriorityIframes", base::FEATURE_DISABLED_BY_DEFAULT}; +// An experiment forcing events to be non-blocking when the main thread is +// deemed unresponsive. See https://crbug.com/599609. +const base::Feature kMainThreadBusyScrollIntervention{ + "MainThreadBusyScrollIntervention", base::FEATURE_DISABLED_BY_DEFAULT}; + // If this feature is enabled, media-device enumerations use a cache that is // invalidated upon notifications sent by base::SystemMonitor. If disabled, the // cache is considered invalid on every enumeration request. @@ -172,17 +188,13 @@ const base::Feature kMemoryCoordinator{"MemoryCoordinator", base::FEATURE_DISABLED_BY_DEFAULT}; -// If the network service is enabled, runs it in process. -const base::Feature kNetworkServiceInProcess{"NetworkServiceInProcess", - base::FEATURE_DISABLED_BY_DEFAULT}; +// ES6 Modules dynamic imports. +const base::Feature kModuleScriptsDynamicImport{ + "ModuleScriptsDynamicImport", base::FEATURE_ENABLED_BY_DEFAULT}; -// Kill switch for Web Notification content images. -const base::Feature kNotificationContentImage{"NotificationContentImage", - base::FEATURE_ENABLED_BY_DEFAULT}; -// An experiment forcing events to be non-blocking when the main thread is -// deemed unresponsive. See crbug.com/599609. -const base::Feature kMainThreadBusyScrollIntervention{ - "MainThreadBusyScrollIntervention", base::FEATURE_DISABLED_BY_DEFAULT}; +// ES6 Modules import.meta.url. +const base::Feature kModuleScriptsImportMetaUrl{ + "ModuleScriptsImportMetaUrl", base::FEATURE_ENABLED_BY_DEFAULT}; // Mojo-based Input Event routing. const base::Feature kMojoInputMessages{"MojoInputMessages", @@ -202,13 +214,20 @@ #endif }; -// ES6 Modules dynamic imports. -const base::Feature kModuleScriptsDynamicImport{ - "ModuleScriptsDynamicImport", base::FEATURE_ENABLED_BY_DEFAULT}; +// Browser side navigation (aka PlzNavigate) is using blob URLs to deliver +// the body of the main resource to the renderer process. When enabled, the +// NavigationMojoResponse feature replaces this mechanism by a Mojo DataPipe. +// Design doc: https://goo.gl/Rrrc7n. +const base::Feature kNavigationMojoResponse{"NavigationMojoResponse", + base::FEATURE_DISABLED_BY_DEFAULT}; -// ES6 Modules import.meta.url. -const base::Feature kModuleScriptsImportMetaUrl{ - "ModuleScriptsImportMetaUrl", base::FEATURE_ENABLED_BY_DEFAULT}; +// If the network service is enabled, runs it in process. +const base::Feature kNetworkServiceInProcess{"NetworkServiceInProcess", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Kill switch for Web Notification content images. +const base::Feature kNotificationContentImage{"NotificationContentImage", + base::FEATURE_ENABLED_BY_DEFAULT}; // Use Mojo IPC for notifications. const base::Feature kNotificationsWithMojo{"NotificationsWithMojo", @@ -241,6 +260,17 @@ const base::Feature kPassiveEventListenersDueToFling{ "PassiveEventListenersDueToFling", base::FEATURE_ENABLED_BY_DEFAULT}; +// If Pepper 3D Image Chromium is allowed, this feature controls whether it is +// enabled. +const base::Feature kPepper3DImageChromium { + "Pepper3DImageChromium", +#if defined(OS_MACOSX) + base::FEATURE_ENABLED_BY_DEFAULT +#else + base::FEATURE_DISABLED_BY_DEFAULT +#endif +}; + // Enables Purge+Throttle on platforms except Android and MacOS. // (Android) Purge+Throttle depends on TabManager, but TabManager doesn't // support Android. Enable after Android is supported. @@ -255,17 +285,6 @@ #endif }; -// If Pepper 3D Image Chromium is allowed, this feature controls whether it is -// enabled. -const base::Feature kPepper3DImageChromium { - "Pepper3DImageChromium", -#if defined(OS_MACOSX) - base::FEATURE_ENABLED_BY_DEFAULT -#else - base::FEATURE_DISABLED_BY_DEFAULT -#endif -}; - // Generate V8 full code cache for PWAs. const base::Feature kPWAFullCodeCache{"PWAFullCodeCache", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -364,12 +383,6 @@ const base::Feature kTimerThrottlingForHiddenFrames{ "TimerThrottlingForHiddenFrames", base::FEATURE_ENABLED_BY_DEFAULT}; -// An experimental simple user-activation model where the user gesture state is -// tracked through a frame-based state instead of the gesture tokens we use -// today. -const base::Feature kUserActivationV2{"UserActivationV2", - base::FEATURE_DISABLED_BY_DEFAULT}; - // Groups all out-of-process iframes to a different process from the process of // the top document. This is a performance isolation mode. Launch bug: // https://crbug.com/595987. @@ -405,10 +418,28 @@ const base::Feature kUseMojoAudioOutputStreamFactory{ "UseMojoAudioOutputStreamFactory", base::FEATURE_ENABLED_BY_DEFAULT}; +// An experimental simple user-activation model where the user gesture state is +// tracked through a frame-based state instead of the gesture tokens we use +// today. +const base::Feature kUserActivationV2{"UserActivationV2", + base::FEATURE_DISABLED_BY_DEFAULT}; + +// Enables to use a snapshot file in creating V8 contexts. +const base::Feature kV8ContextSnapshot{"V8ContextSnapshot", + base::FEATURE_ENABLED_BY_DEFAULT}; + +// Enables future V8 VM features +const base::Feature kV8VmFuture{"V8VmFuture", + base::FEATURE_DISABLED_BY_DEFAULT}; + // Controls whether vibrate requires user gesture. const base::Feature kVibrateRequiresUserGesture{ "VibrateRequiresUserGesture", base::FEATURE_ENABLED_BY_DEFAULT}; +// Controls whether editing web input fields is enabled in VR. +const base::Feature kVrWebInputEditing{"VrWebInputEditing", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enable WebAssembly structured cloning. // http://webassembly.org/ const base::Feature kWebAssembly{"WebAssembly", @@ -436,6 +467,16 @@ const base::Feature kWebPayments{"WebPayments", base::FEATURE_ENABLED_BY_DEFAULT}; +// Informs the WebRTC Acoustic Echo Canceler (AEC) that echo path loss is +// bounded. +const base::Feature kWebRtcAecBoundedErlSetup{ + "WebRtcAecBoundedErlSetup", base::FEATURE_DISABLED_BY_DEFAULT}; + +// Informs the WebRTC Acoustic Echo Canceler (AEC) that the playout and +// capture is done using different clocks. +const base::Feature kWebRtcAecClockDriftSetup{ + "WebRtcAecClockDriftSetup", base::FEATURE_DISABLED_BY_DEFAULT}; + // Makes WebRTC use ECDSA certs by default (i.e., when no cert type was // specified in JS). const base::Feature kWebRtcEcdsaDefault{"WebRTC-EnableWebRtcEcdsa", @@ -470,16 +511,6 @@ const base::Feature kWebRtcUseEchoCanceller3{"WebRtcUseEchoCanceller3", base::FEATURE_DISABLED_BY_DEFAULT}; -// Informs the WebRTC Acoustic Echo Canceler (AEC) that echo path loss is -// bounded. -const base::Feature kWebRtcAecBoundedErlSetup{ - "WebRtcAecBoundedErlSetup", base::FEATURE_DISABLED_BY_DEFAULT}; - -// Informs the WebRTC Acoustic Echo Canceler (AEC) that the playout and -// capture is done using different clocks. -const base::Feature kWebRtcAecClockDriftSetup{ - "WebRtcAecClockDriftSetup", base::FEATURE_DISABLED_BY_DEFAULT}; - // Use GpuMemoryBuffer backed VideoFrames in media streams. const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames{ "WebRTC-UseGpuMemoryBufferVideoFrames", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -488,24 +519,6 @@ // https://wicg.github.io/webusb const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables/disables the Image Capture API. -const base::Feature kImageCaptureAPI{"ImageCaptureAPI", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Alternative to switches::kIsolateOrigins, for turning on origin isolation. -// List of origins to isolate has to be specified via -// kIsolateOriginsFieldTrialParamName. -const base::Feature kIsolateOrigins{"IsolateOrigins", - base::FEATURE_DISABLED_BY_DEFAULT}; -const char kIsolateOriginsFieldTrialParamName[] = "OriginsList"; - -const base::Feature kKeepAliveRendererForKeepaliveRequests{ - "KeepAliveRendererForKeepaliveRequests", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Controls whether editing web input fields is enabled in VR. -const base::Feature kVrWebInputEditing{"VrWebInputEditing", - base::FEATURE_ENABLED_BY_DEFAULT}; - // Controls whether WebVR VSync-aligned render loop timing is enabled. const base::Feature kWebVrVsyncAlign{"WebVrVsyncAlign", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -517,18 +530,6 @@ const base::Feature kWebXrOrientationSensorDevice{ "WebXROrientationSensorDevice", base::FEATURE_DISABLED_BY_DEFAULT}; -#if defined(OS_ANDROID) -// Controls whether an override for the WebXR presentation render path is -// enabled. The param value specifies the requested specific render path. This -// is combined with a runtime capability check, the option is ignored if the -// requested render path is unsupported. -const base::Feature kWebXrRenderPath{"WebXrRenderPath", - base::FEATURE_DISABLED_BY_DEFAULT}; -const char kWebXrRenderPathParamName[] = "RenderPath"; -const char kWebXrRenderPathParamValueClientWait[] = "ClientWait"; -const char kWebXrRenderPathParamValueGpuFence[] = "GpuFence"; -#endif // defined(OS_ANDROID) - // Enabled "work stealing" in the script runner. const base::Feature kWorkStealingInScriptRunner{ "WorkStealingInScriptRunner", base::FEATURE_DISABLED_BY_DEFAULT}; @@ -546,6 +547,16 @@ // Controls whether the WebNFC API is enabled: // https://w3c.github.io/web-nfc/ const base::Feature kWebNfc{"WebNFC", base::FEATURE_DISABLED_BY_DEFAULT}; + +// Controls whether an override for the WebXR presentation render path is +// enabled. The param value specifies the requested specific render path. This +// is combined with a runtime capability check, the option is ignored if the +// requested render path is unsupported. +const base::Feature kWebXrRenderPath{"WebXrRenderPath", + base::FEATURE_DISABLED_BY_DEFAULT}; +const char kWebXrRenderPathParamName[] = "RenderPath"; +const char kWebXrRenderPathParamValueClientWait[] = "ClientWait"; +const char kWebXrRenderPathParamValueGpuFence[] = "GpuFence"; #endif // defined(OS_ANDROID) #if defined(OS_MACOSX) @@ -559,18 +570,6 @@ base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_MACOSX) -// Enables V8 background compilation -const base::Feature kV8BackgroundCompile{"V8BackgroundCompile", - base::FEATURE_DISABLED_BY_DEFAULT}; - -// Enables to use a snapshot file in creating V8 contexts. -const base::Feature kV8ContextSnapshot{"V8ContextSnapshot", - base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables future V8 VM features -const base::Feature kV8VmFuture{"V8VmFuture", - base::FEATURE_DISABLED_BY_DEFAULT}; - bool IsVideoCaptureServiceEnabledForOutOfProcess() { #if defined(OS_ANDROID) return false; @@ -591,8 +590,4 @@ #endif } -// Enables code caching after executing the script. -const base::Feature kCodeCacheAfterExecute{"CodeCacheAfterExecute", - base::FEATURE_ENABLED_BY_DEFAULT}; - } // namespace features
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h index 7441224..309f3ce 100644 --- a/content/public/common/content_features.h +++ b/content/public/common/content_features.h
@@ -102,7 +102,6 @@ CONTENT_EXPORT extern const base::Feature kUseMojoAudioInputStreamFactory; CONTENT_EXPORT extern const base::Feature kUseMojoAudioOutputStreamFactory; CONTENT_EXPORT extern const base::Feature kUserActivationV2; -CONTENT_EXPORT extern const base::Feature kV8BackgroundCompile; CONTENT_EXPORT extern const base::Feature kV8ContextSnapshot; CONTENT_EXPORT extern const base::Feature kV8VmFuture; CONTENT_EXPORT extern const base::Feature kVibrateRequiresUserGesture; @@ -131,7 +130,6 @@ #if defined(OS_ANDROID) CONTENT_EXPORT extern const base::Feature kAndroidAutofillAccessibility; CONTENT_EXPORT extern const base::Feature kHideIncorrectlySizedFullscreenFrames; -CONTENT_EXPORT extern const base::Feature kImeThread; CONTENT_EXPORT extern const base::Feature kWebNfc; CONTENT_EXPORT extern const base::Feature kWebXrRenderPath; CONTENT_EXPORT extern const char kWebXrRenderPathParamName[];
diff --git a/content/public/common/feature_h264_with_openh264_ffmpeg.h b/content/public/common/feature_h264_with_openh264_ffmpeg.h index 2ee9bf8..6d81d73 100644 --- a/content/public/common/feature_h264_with_openh264_ffmpeg.h +++ b/content/public/common/feature_h264_with_openh264_ffmpeg.h
@@ -6,7 +6,7 @@ #define CONTENT_PUBLIC_COMMON_FEATURE_H264_WITH_OPENH264_FFMPEG_H_ #include "base/feature_list.h" -#include "content/public/common/features.h" +#include "content/public/common/buildflags.h" #include "media/media_features.h" namespace content {
diff --git a/content/public/common/sandboxed_process_launcher_delegate.cc b/content/public/common/sandboxed_process_launcher_delegate.cc index b7e61e5ed..2574f49 100644 --- a/content/public/common/sandboxed_process_launcher_delegate.cc +++ b/content/public/common/sandboxed_process_launcher_delegate.cc
@@ -5,7 +5,7 @@ #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "build/build_config.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #if BUILDFLAG(USE_ZYGOTE_HANDLE) #include "content/public/common/zygote_handle.h"
diff --git a/content/public/common/sandboxed_process_launcher_delegate.h b/content/public/common/sandboxed_process_launcher_delegate.h index 6af3c28..80043c8 100644 --- a/content/public/common/sandboxed_process_launcher_delegate.h +++ b/content/public/common/sandboxed_process_launcher_delegate.h
@@ -10,7 +10,7 @@ #include "base/process/process.h" #include "build/build_config.h" #include "content/common/content_export.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #include "services/service_manager/sandbox/sandbox_delegate.h" #include "services/service_manager/sandbox/sandbox_type.h"
diff --git a/content/public/common/zygote_handle.h b/content/public/common/zygote_handle.h index dfa9628..5c21c883 100644 --- a/content/public/common/zygote_handle.h +++ b/content/public/common/zygote_handle.h
@@ -10,7 +10,7 @@ #include "base/files/scoped_file.h" #include "build/build_config.h" #include "content/common/content_export.h" -#include "content/public/common/zygote_features.h" +#include "content/public/common/zygote_buildflags.h" #if !BUILDFLAG(USE_ZYGOTE_HANDLE) #error "Can not use zygote handles without USE_ZYGOTE_HANDLE"
diff --git a/content/public/renderer/BUILD.gn b/content/public/renderer/BUILD.gn index 1094933..481fb69e 100644 --- a/content/public/renderer/BUILD.gn +++ b/content/public/renderer/BUILD.gn
@@ -128,8 +128,8 @@ "webrtc_log_message_delegate.h", ] deps += [ + "//content/public/common:buildflags", "//content/public/common:feature_h264_with_openh264_ffmpeg", - "//content/public/common:features", "//third_party/webrtc_overrides", ] }
diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc index 85a6940..4569941 100644 --- a/content/public/renderer/content_renderer_client.cc +++ b/content/public/renderer/content_renderer_client.cc
@@ -236,6 +236,7 @@ BrowserPluginDelegate* ContentRendererClient::CreateBrowserPluginDelegate( RenderFrame* render_frame, + const WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) { return nullptr;
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h index 5a64134d..c5da6a40 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h
@@ -66,6 +66,7 @@ class MediaStreamRendererFactory; class RenderFrame; class RenderView; +struct WebPluginInfo; // Embedder API for participating in renderer logic. class CONTENT_EXPORT ContentRendererClient { @@ -107,6 +108,7 @@ // Creates a delegate for browser plugin. virtual BrowserPluginDelegate* CreateBrowserPluginDelegate( RenderFrame* render_frame, + const WebPluginInfo& info, const std::string& mime_type, const GURL& original_url);
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn index b5c90ea4..233d4e1 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn
@@ -547,11 +547,11 @@ "//content:resources", "//content/child", "//content/common", - "//content/common:features", + "//content/common:buildflags", "//content/gpu:gpu_sources", "//content/public/child:child_sources", + "//content/public/common:buildflags", "//content/public/common:feature_h264_with_openh264_ffmpeg", - "//content/public/common:features", "//content/public/common:service_names", "//crypto:platform", "//device/base/synchronization",
diff --git a/content/renderer/external_popup_menu.h b/content/renderer/external_popup_menu.h index 79b97a1..e8a661a 100644 --- a/content/renderer/external_popup_menu.h +++ b/content/renderer/external_popup_menu.h
@@ -9,7 +9,7 @@ #include "base/macros.h" #include "build/build_config.h" -#include "content/common/features.h" +#include "content/common/buildflags.h" #include "third_party/WebKit/public/web/WebExternalPopupMenu.h" #include "third_party/WebKit/public/web/WebPopupMenuInfo.h" #include "ui/gfx/geometry/point_f.h"
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc index 6eb1b5e..087e554 100644 --- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc +++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -23,11 +23,11 @@ #include "base/synchronization/waitable_event.h" #include "base/threading/thread_task_runner_handle.h" #include "build/build_config.h" +#include "content/public/common/buildflags.h" #include "content/public/common/content_client.h" #include "content/public/common/content_features.h" #include "content/public/common/content_switches.h" #include "content/public/common/feature_h264_with_openh264_ffmpeg.h" -#include "content/public/common/features.h" #include "content/public/common/renderer_preferences.h" #include "content/public/common/webrtc_ip_handling_policy.h" #include "content/public/renderer/content_renderer_client.h"
diff --git a/content/renderer/media_recorder/h264_encoder.h b/content/renderer/media_recorder/h264_encoder.h index 524dd697..7074ffb3 100644 --- a/content/renderer/media_recorder/h264_encoder.h +++ b/content/renderer/media_recorder/h264_encoder.h
@@ -5,7 +5,7 @@ #ifndef CONTENT_RENDERER_MEDIA_RECORDER_H264_ENCODER_H_ #define CONTENT_RENDERER_MEDIA_RECORDER_H264_ENCODER_H_ -#include "content/public/common/features.h" +#include "content/public/common/buildflags.h" #if !BUILDFLAG(RTC_USE_H264) #error RTC_USE_H264 should be defined.
diff --git a/content/renderer/media_recorder/video_track_recorder.h b/content/renderer/media_recorder/video_track_recorder.h index df288c0f..2eed0e2b 100644 --- a/content/renderer/media_recorder/video_track_recorder.h +++ b/content/renderer/media_recorder/video_track_recorder.h
@@ -12,7 +12,7 @@ #include "base/memory/weak_ptr.h" #include "base/single_thread_task_runner.h" #include "base/threading/thread_checker.h" -#include "content/public/common/features.h" +#include "content/public/common/buildflags.h" #include "content/public/renderer/media_stream_video_sink.h" #include "media/muxers/webm_muxer.h" #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 5504d1d..0d0865e 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -2844,7 +2844,7 @@ // |delegate| deletes itself. BrowserPluginDelegate* delegate = GetContentClient()->renderer()->CreateBrowserPluginDelegate( - this, params.mime_type.Utf8(), GURL(params.url)); + this, info, params.mime_type.Utf8(), GURL(params.url)); return BrowserPluginManager::Get()->CreateBrowserPlugin( this, delegate->GetWeakPtr()); } @@ -3458,7 +3458,7 @@ // |delegate| deletes itself. BrowserPluginDelegate* delegate = GetContentClient()->renderer()->CreateBrowserPluginDelegate( - this, kBrowserPluginMimeType, GURL(params.url)); + this, WebPluginInfo(), kBrowserPluginMimeType, GURL(params.url)); return BrowserPluginManager::Get()->CreateBrowserPlugin( this, delegate->GetWeakPtr()); }
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index c67c9882..5bb6141 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h
@@ -30,8 +30,8 @@ #include "base/unguessable_token.h" #include "build/build_config.h" #include "content/common/associated_interface_registry_impl.h" +#include "content/common/buildflags.h" #include "content/common/download/mhtml_save_status.h" -#include "content/common/features.h" #include "content/common/frame.mojom.h" #include "content/common/frame_message_enums.h" #include "content/common/host_zoom.mojom.h"
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc index 4f2e0415..ca1ad8cf 100644 --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc
@@ -158,7 +158,6 @@ SetV8FlagIfNotFeature(features::kAsmJsToWebAssembly, "--no-validate-asm"); SetV8FlagIfNotFeature(features::kWebAssembly, "--wasm-disable-structured-cloning"); - SetV8FlagIfFeature(features::kV8BackgroundCompile, "--background-compile"); SetV8FlagIfFeature(features::kV8VmFuture, "--future"); SetV8FlagIfNotFeature(features::kV8VmFuture, "--no-future");
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index affc7ad..1d44950 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc
@@ -60,9 +60,9 @@ #include "content/child/memory/child_memory_coordinator_impl.h" #include "content/child/runtime_features.h" #include "content/child/thread_safe_sender.h" +#include "content/common/buildflags.h" #include "content/common/content_constants_internal.h" #include "content/common/dom_storage/dom_storage_messages.h" -#include "content/common/features.h" #include "content/common/frame_messages.h" #include "content/common/frame_owner_properties.h" #include "content/common/gpu_stream_constants.h"
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index 3e8c9df5..ed92b75 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h
@@ -26,11 +26,11 @@ #include "cc/input/overscroll_behavior.h" #include "cc/input/touch_action.h" #include "components/viz/common/surfaces/local_surface_id.h" +#include "content/common/buildflags.h" #include "content/common/content_export.h" #include "content/common/cursors/webcursor.h" #include "content/common/drag_event_source_info.h" #include "content/common/edit_command.h" -#include "content/common/features.h" #include "content/common/widget.mojom.h" #include "content/public/common/drop_data.h" #include "content/public/common/screen_info.h"
diff --git a/content/shell/renderer/layout_test/blink_test_runner.cc b/content/shell/renderer/layout_test/blink_test_runner.cc index 250aaba..d018375 100644 --- a/content/shell/renderer/layout_test/blink_test_runner.cc +++ b/content/shell/renderer/layout_test/blink_test_runner.cc
@@ -78,7 +78,6 @@ #include "third_party/WebKit/public/platform/WebURLRequest.h" #include "third_party/WebKit/public/platform/WebURLResponse.h" #include "third_party/WebKit/public/platform/modules/app_banner/app_banner.mojom.h" -#include "third_party/WebKit/public/web/WebArrayBufferView.h" #include "third_party/WebKit/public/web/WebContextMenuData.h" #include "third_party/WebKit/public/web/WebDocument.h" #include "third_party/WebKit/public/web/WebElement.h" @@ -95,7 +94,6 @@ #include "ui/gfx/icc_profile.h" using blink::Platform; -using blink::WebArrayBufferView; using blink::WebContextMenuData; using device::MotionData; using device::OrientationData;
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn index aaadd7fe..f83b395e 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -1022,7 +1022,6 @@ ] sources -= [ "../browser/media/session/audio_focus_delegate_default_browsertest.cc", - "../browser/network_service_restart_browsertest.cc", "../browser/pointer_lock_browsertest.cc", "../browser/pointer_lock_browsertest.h", ] @@ -1101,7 +1100,7 @@ "../browser/webrtc/webrtc_webcam_browsertest.h", ] deps += [ - "//content/public/common:features", + "//content/public/common:buildflags", "//testing/perf", ] } @@ -1502,6 +1501,7 @@ "../browser/web_contents/web_drag_source_mac_unittest.mm", "../browser/web_package/signed_exchange_cert_fetcher_unittest.cc", "../browser/web_package/signed_exchange_header_parser_unittest.cc", + "../browser/web_package/signed_exchange_header_unittest.cc", "../browser/web_package/signed_exchange_signature_verifier_unittest.cc", "../browser/websockets/websocket_manager_unittest.cc", "../browser/webui/url_data_manager_backend_unittest.cc",
diff --git a/content/test/data/accessibility/event/add-alert-expected-mac.txt b/content/test/data/accessibility/event/add-alert-expected-mac.txt index 6d8c9444..d40a375 100644 --- a/content/test/data/accessibility/event/add-alert-expected-mac.txt +++ b/content/test/data/accessibility/event/add-alert-expected-mac.txt
@@ -1,2 +1,2 @@ -AXLiveRegionCreated on AXGroup AXLiveRegionChanged on AXGroup +AXLiveRegionCreated on AXGroup
diff --git a/content/test/data/accessibility/event/add-alert-expected-win.txt b/content/test/data/accessibility/event/add-alert-expected-win.txt index cefd9c3..8f349d6 100644 --- a/content/test/data/accessibility/event/add-alert-expected-win.txt +++ b/content/test/data/accessibility/event/add-alert-expected-win.txt
@@ -1 +1 @@ -EVENT_SYSTEM_ALERT on <div#a> role=ROLE_SYSTEM_ALERT \ No newline at end of file +EVENT_SYSTEM_ALERT on <div#a> role=ROLE_SYSTEM_ALERT
diff --git a/content/test/data/accessibility/event/add-child-of-body-expected-win.txt b/content/test/data/accessibility/event/add-child-of-body-expected-win.txt index 66632b4..0268fc4 100644 --- a/content/test/data/accessibility/event/add-child-of-body-expected-win.txt +++ b/content/test/data/accessibility/event/add-child-of-body-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_SHOW on <div> role=DIV \ No newline at end of file +EVENT_OBJECT_SHOW on <div> role=DIV
diff --git a/content/test/data/accessibility/event/add-hidden-attribute-expected-win.txt b/content/test/data/accessibility/event/add-hidden-attribute-expected-win.txt index 40c164d7..3867600 100644 --- a/content/test/data/accessibility/event/add-hidden-attribute-expected-win.txt +++ b/content/test/data/accessibility/event/add-hidden-attribute-expected-win.txt
@@ -1,3 +1,3 @@ EVENT_OBJECT_HIDE on <div#item3> role=ROLE_SYSTEM_LISTITEM name="Item 3" +EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_LIST old_text={'<obj>' start=2 end=3} -EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST \ No newline at end of file
diff --git a/content/test/data/accessibility/event/add-hidden-attribute-subtree-expected-win.txt b/content/test/data/accessibility/event/add-hidden-attribute-subtree-expected-win.txt index ba8d52b1..b0062429 100644 --- a/content/test/data/accessibility/event/add-hidden-attribute-subtree-expected-win.txt +++ b/content/test/data/accessibility/event/add-hidden-attribute-subtree-expected-win.txt
@@ -1,3 +1,3 @@ EVENT_OBJECT_HIDE on <li#item3> role=ROLE_SYSTEM_LISTITEM +EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST IA2_EVENT_TEXT_REMOVED on <ul> role=ROLE_SYSTEM_LIST old_text={'<obj>' start=2 end=3} -EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST \ No newline at end of file
diff --git a/content/test/data/accessibility/event/add-subtree-expected-win.txt b/content/test/data/accessibility/event/add-subtree-expected-win.txt index bffdf927..c93bd195 100644 --- a/content/test/data/accessibility/event/add-subtree-expected-win.txt +++ b/content/test/data/accessibility/event/add-subtree-expected-win.txt
@@ -1,3 +1,3 @@ -IA2_EVENT_TEXT_INSERTED on <ul> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3} +EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST EVENT_OBJECT_SHOW on <li> role=ROLE_SYSTEM_LISTITEM -EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <ul> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3}
diff --git a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-mac.txt b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-mac.txt index 5ad7975f..97c3c41 100644 --- a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-mac.txt +++ b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-mac.txt
@@ -1,2 +1,2 @@ +AXExpandedChanged on AXComboBox AXSelectedChildrenChanged on AXComboBox -AXExpandedChanged on AXComboBox \ No newline at end of file
diff --git a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt index 215714c1..d447038 100644 --- a/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-collapse-expected-win.txt
@@ -1,3 +1,3 @@ -EVENT_OBJECT_STATECHANGE on <input> role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION EVENT_OBJECT_FOCUS on <input> role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION \ No newline at end of file +EVENT_OBJECT_STATECHANGE on <input> role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX FOCUSED,COLLAPSED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-combo-box-expand-expected-mac.txt b/content/test/data/accessibility/event/aria-combo-box-expand-expected-mac.txt index 5ad7975f..97c3c41 100644 --- a/content/test/data/accessibility/event/aria-combo-box-expand-expected-mac.txt +++ b/content/test/data/accessibility/event/aria-combo-box-expand-expected-mac.txt
@@ -1,2 +1,2 @@ +AXExpandedChanged on AXComboBox AXSelectedChildrenChanged on AXComboBox -AXExpandedChanged on AXComboBox \ No newline at end of file
diff --git a/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt index cff24bf..3f9125c2 100644 --- a/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-expand-expected-win.txt
@@ -1,3 +1,3 @@ -EVENT_OBJECT_STATECHANGE on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION EVENT_OBJECT_FOCUS on <li#option1> role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSED,FOCUSABLE,SELECTABLE -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION \ No newline at end of file +EVENT_OBJECT_STATECHANGE on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-combo-box-next-expected-mac.txt b/content/test/data/accessibility/event/aria-combo-box-next-expected-mac.txt index d8ed042..47ff72a 100644 --- a/content/test/data/accessibility/event/aria-combo-box-next-expected-mac.txt +++ b/content/test/data/accessibility/event/aria-combo-box-next-expected-mac.txt
@@ -1 +1 @@ -AXSelectedChildrenChanged on AXComboBox \ No newline at end of file +AXSelectedChildrenChanged on AXComboBox
diff --git a/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt b/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt index c0c78727..2c53c87e 100644 --- a/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt +++ b/content/test/data/accessibility/event/aria-combo-box-next-expected-win.txt
@@ -1,2 +1,2 @@ EVENT_OBJECT_FOCUS on <li#option3> role=ROLE_SYSTEM_LISTITEM name="Banana" FOCUSED,FOCUSABLE,SELECTABLE -IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION \ No newline at end of file +IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <input> role=ROLE_SYSTEM_COMBOBOX EXPANDED,FOCUSABLE,HASPOPUP IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE,IA2_STATE_SUPPORTS_AUTOCOMPLETION
diff --git a/content/test/data/accessibility/event/aria-slider-value-both-change-expected-win.txt b/content/test/data/accessibility/event/aria-slider-value-both-change-expected-win.txt index e7c71c2b8..1a0ee59 100644 --- a/content/test/data/accessibility/event/aria-slider-value-both-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-slider-value-both-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2%" IA2_STATE_VERTICAL \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2%" IA2_STATE_VERTICAL
diff --git a/content/test/data/accessibility/event/aria-slider-value-change-expected-win.txt b/content/test/data/accessibility/event/aria-slider-value-change-expected-win.txt index a8a79ec..498e6c1 100644 --- a/content/test/data/accessibility/event/aria-slider-value-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-slider-value-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2" IA2_STATE_HORIZONTAL \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2" IA2_STATE_HORIZONTAL
diff --git a/content/test/data/accessibility/event/aria-slider-valuetext-change-expected-win.txt b/content/test/data/accessibility/event/aria-slider-valuetext-change-expected-win.txt index e7c71c2b8..1a0ee59 100644 --- a/content/test/data/accessibility/event/aria-slider-valuetext-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-slider-valuetext-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2%" IA2_STATE_VERTICAL \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#slider> role=ROLE_SYSTEM_SLIDER value="2%" IA2_STATE_VERTICAL
diff --git a/content/test/data/accessibility/event/aria-spinbutton-value-both-change-expected-win.txt b/content/test/data/accessibility/event/aria-spinbutton-value-both-change-expected-win.txt index 9a366422..4fcdcf36 100644 --- a/content/test/data/accessibility/event/aria-spinbutton-value-both-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-spinbutton-value-both-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2%" \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2%"
diff --git a/content/test/data/accessibility/event/aria-spinbutton-value-change-expected-win.txt b/content/test/data/accessibility/event/aria-spinbutton-value-change-expected-win.txt index 3b026145..1b1536e14 100644 --- a/content/test/data/accessibility/event/aria-spinbutton-value-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-spinbutton-value-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2" \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2"
diff --git a/content/test/data/accessibility/event/aria-spinbutton-valuetext-change-expected-win.txt b/content/test/data/accessibility/event/aria-spinbutton-valuetext-change-expected-win.txt index 9a366422..4fcdcf36 100644 --- a/content/test/data/accessibility/event/aria-spinbutton-valuetext-change-expected-win.txt +++ b/content/test/data/accessibility/event/aria-spinbutton-valuetext-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2%" \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <div#spinbutton> role=ROLE_SYSTEM_SPINBUTTON value="2%"
diff --git a/content/test/data/accessibility/event/aria-tree-collapse-expected-mac.txt b/content/test/data/accessibility/event/aria-tree-collapse-expected-mac.txt index 977f092..5e1aa09 100644 --- a/content/test/data/accessibility/event/aria-tree-collapse-expected-mac.txt +++ b/content/test/data/accessibility/event/aria-tree-collapse-expected-mac.txt
@@ -1,2 +1,2 @@ -AXRowCountChanged on AXOutline AXRowCollapsed on AXRow AXTitle="Minor" +AXRowCountChanged on AXOutline
diff --git a/content/test/data/accessibility/event/checked-state-changed-expected-win.txt b/content/test/data/accessibility/event/checked-state-changed-expected-win.txt index 2e431a8..782e80b5 100644 --- a/content/test/data/accessibility/event/checked-state-changed-expected-win.txt +++ b/content/test/data/accessibility/event/checked-state-changed-expected-win.txt
@@ -1,2 +1,2 @@ +EVENT_OBJECT_STATECHANGE on <div#treeitem> role=ROLE_SYSTEM_OUTLINEITEM name="Treeitem" CHECKED,SELECTABLE IA2_STATE_CHECKABLE EVENT_OBJECT_STATECHANGE on <input#c> role=ROLE_SYSTEM_CHECKBUTTON name="My Checkbox" CHECKED,FOCUSABLE IA2_STATE_CHECKABLE -EVENT_OBJECT_STATECHANGE on <div#treeitem> role=ROLE_SYSTEM_OUTLINEITEM name="Treeitem" CHECKED,SELECTABLE IA2_STATE_CHECKABLE \ No newline at end of file
diff --git a/content/test/data/accessibility/event/css-display-expected-win.txt b/content/test/data/accessibility/event/css-display-expected-win.txt index 47d19583..0372c2f 100644 --- a/content/test/data/accessibility/event/css-display-expected-win.txt +++ b/content/test/data/accessibility/event/css-display-expected-win.txt
@@ -1,5 +1,5 @@ EVENT_OBJECT_HIDE on <div.a> role=DIV name="Heading" -IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL old_text={'<obj>' start=0 end=1} -IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL new_text={'<obj>' start=0 end=1} +EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL EVENT_OBJECT_SHOW on <div.b> role=ROLE_SYSTEM_GROUPING name="Banner" -EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL new_text={'<obj>' start=0 end=1} +IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL old_text={'<obj>' start=0 end=1}
diff --git a/content/test/data/accessibility/event/css-visibility-expected-win.txt b/content/test/data/accessibility/event/css-visibility-expected-win.txt index 47d19583..0372c2f 100644 --- a/content/test/data/accessibility/event/css-visibility-expected-win.txt +++ b/content/test/data/accessibility/event/css-visibility-expected-win.txt
@@ -1,5 +1,5 @@ EVENT_OBJECT_HIDE on <div.a> role=DIV name="Heading" -IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL old_text={'<obj>' start=0 end=1} -IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL new_text={'<obj>' start=0 end=1} +EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL EVENT_OBJECT_SHOW on <div.b> role=ROLE_SYSTEM_GROUPING name="Banner" -EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL new_text={'<obj>' start=0 end=1} +IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_TOOLBAR IA2_STATE_HORIZONTAL old_text={'<obj>' start=0 end=1}
diff --git a/content/test/data/accessibility/event/description-change-expected-win.txt b/content/test/data/accessibility/event/description-change-expected-win.txt index 6db35f5..f187088 100644 --- a/content/test/data/accessibility/event/description-change-expected-win.txt +++ b/content/test/data/accessibility/event/description-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_DESCRIPTIONCHANGE on <h1#a> role=H1 name="Before" \ No newline at end of file +EVENT_OBJECT_DESCRIPTIONCHANGE on <h1#a> role=H1 name="Before"
diff --git a/content/test/data/accessibility/event/description-change-indirect-expected-win.txt b/content/test/data/accessibility/event/description-change-indirect-expected-win.txt index a5251e3..5835e6a 100644 --- a/content/test/data/accessibility/event/description-change-indirect-expected-win.txt +++ b/content/test/data/accessibility/event/description-change-indirect-expected-win.txt
@@ -1,7 +1,7 @@ +EVENT_OBJECT_DESCRIPTIONCHANGE on <div> role=ROLE_SYSTEM_GROUPING EVENT_OBJECT_HIDE on role=ROLE_SYSTEM_STATICTEXT name="apples" EVENT_OBJECT_NAMECHANGE on <h1#title> role=H1 name="oranges" -IA2_EVENT_TEXT_REMOVED on <h1#title> role=H1 name="oranges" old_text={'appl' start=0 end=4} -IA2_EVENT_TEXT_INSERTED on <h1#title> role=H1 name="oranges" new_text={'orang' start=0 end=5} +EVENT_OBJECT_REORDER on <h1#title> role=H1 name="oranges" EVENT_OBJECT_SHOW on role=ROLE_SYSTEM_STATICTEXT name="oranges" -EVENT_OBJECT_DESCRIPTIONCHANGE on <div> role=ROLE_SYSTEM_GROUPING -EVENT_OBJECT_REORDER on <h1#title> role=H1 name="oranges" \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <h1#title> role=H1 name="oranges" new_text={'orang' start=0 end=5} +IA2_EVENT_TEXT_REMOVED on <h1#title> role=H1 name="oranges" old_text={'appl' start=0 end=4}
diff --git a/content/test/data/accessibility/event/expanded-change-expected-mac.txt b/content/test/data/accessibility/event/expanded-change-expected-mac.txt index 5df454e..79119f7 100644 --- a/content/test/data/accessibility/event/expanded-change-expected-mac.txt +++ b/content/test/data/accessibility/event/expanded-change-expected-mac.txt
@@ -1 +1 @@ -AXExpandedChanged on AXLink AXTitle="Toggle" \ No newline at end of file +AXExpandedChanged on AXLink AXTitle="Toggle"
diff --git a/content/test/data/accessibility/event/inner-html-change-expected-win.txt b/content/test/data/accessibility/event/inner-html-change-expected-win.txt index 39ba107..0caf67da 100644 --- a/content/test/data/accessibility/event/inner-html-change-expected-win.txt +++ b/content/test/data/accessibility/event/inner-html-change-expected-win.txt
@@ -1,6 +1,6 @@ EVENT_OBJECT_HIDE on <h1> role=H1 name="A" EVENT_OBJECT_HIDE on <p> role=P -IA2_EVENT_TEXT_REMOVED on <div#main> role=ROLE_SYSTEM_GROUPING old_text={'<obj><obj>' start=0 end=2} -IA2_EVENT_TEXT_INSERTED on <div#main> role=ROLE_SYSTEM_GROUPING new_text={'<obj><obj>' start=0 end=2} EVENT_OBJECT_SHOW on <h1> role=H1 name="C" -EVENT_OBJECT_SHOW on <p> role=P \ No newline at end of file +EVENT_OBJECT_SHOW on <p> role=P +IA2_EVENT_TEXT_INSERTED on <div#main> role=ROLE_SYSTEM_GROUPING new_text={'<obj><obj>' start=0 end=2} +IA2_EVENT_TEXT_REMOVED on <div#main> role=ROLE_SYSTEM_GROUPING old_text={'<obj><obj>' start=0 end=2}
diff --git a/content/test/data/accessibility/event/input-type-text-value-changed-expected-win.txt b/content/test/data/accessibility/event/input-type-text-value-changed-expected-win.txt index 52bd2a6..334dcae 100644 --- a/content/test/data/accessibility/event/input-type-text-value-changed-expected-win.txt +++ b/content/test/data/accessibility/event/input-type-text-value-changed-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_VALUECHANGE on <input#c> role=ROLE_SYSTEM_TEXT value="After" FOCUSABLE IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <input#c> role=ROLE_SYSTEM_TEXT value="After" FOCUSABLE IA2_STATE_EDITABLE,IA2_STATE_SELECTABLE_TEXT,IA2_STATE_SINGLE_LINE
diff --git a/content/test/data/accessibility/event/listbox-focus-expected-win.txt b/content/test/data/accessibility/event/listbox-focus-expected-win.txt index 0e8874f..ea1da5d 100644 --- a/content/test/data/accessibility/event/listbox-focus-expected-win.txt +++ b/content/test/data/accessibility/event/listbox-focus-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_FOCUS on <select> role=ROLE_SYSTEM_LIST FOCUSED,FOCUSABLE IA2_STATE_VERTICAL \ No newline at end of file +EVENT_OBJECT_FOCUS on <select> role=ROLE_SYSTEM_LIST FOCUSED,FOCUSABLE IA2_STATE_VERTICAL
diff --git a/content/test/data/accessibility/event/listbox-next-expected-win.txt b/content/test/data/accessibility/event/listbox-next-expected-win.txt index 18b5b71..6096998 100644 --- a/content/test/data/accessibility/event/listbox-next-expected-win.txt +++ b/content/test/data/accessibility/event/listbox-next-expected-win.txt
@@ -1,6 +1,6 @@ -EVENT_OBJECT_STATECHANGE on <option> role=ROLE_SYSTEM_LISTITEM name="Orange" SELECTED,FOCUSABLE,SELECTABLE -EVENT_OBJECT_SELECTION on <option> role=ROLE_SYSTEM_LISTITEM name="Orange" SELECTED,FOCUSABLE,SELECTABLE -EVENT_OBJECT_STATECHANGE on <option> role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSABLE,SELECTABLE EVENT_OBJECT_FOCUS on <option> role=ROLE_SYSTEM_LISTITEM name="Orange" SELECTED,FOCUSED,FOCUSABLE,SELECTABLE +EVENT_OBJECT_SELECTION on <option> role=ROLE_SYSTEM_LISTITEM name="Orange" SELECTED,FOCUSABLE,SELECTABLE +EVENT_OBJECT_SELECTIONWITHIN on <select> role=ROLE_SYSTEM_LIST FOCUSABLE IA2_STATE_VERTICAL +EVENT_OBJECT_STATECHANGE on <option> role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSABLE,SELECTABLE +EVENT_OBJECT_STATECHANGE on <option> role=ROLE_SYSTEM_LISTITEM name="Orange" SELECTED,FOCUSABLE,SELECTABLE IA2_EVENT_ACTIVE_DESCENDANT_CHANGED on <select> role=ROLE_SYSTEM_LIST FOCUSABLE IA2_STATE_VERTICAL -EVENT_OBJECT_SELECTIONWITHIN on <select> role=ROLE_SYSTEM_LIST FOCUSABLE IA2_STATE_VERTICAL \ No newline at end of file
diff --git a/content/test/data/accessibility/event/live-region-add-expected-win.txt b/content/test/data/accessibility/event/live-region-add-expected-win.txt index 32f13d6..2768682f 100644 --- a/content/test/data/accessibility/event/live-region-add-expected-win.txt +++ b/content/test/data/accessibility/event/live-region-add-expected-win.txt
@@ -1,4 +1,4 @@ -IA2_EVENT_TEXT_INSERTED on <div#live> role=DIV new_text={'<obj>' start=6 end=7} -EVENT_OBJECT_SHOW on <p> role=P +EVENT_OBJECT_LIVEREGIONCHANGED on <div#live> role=DIV EVENT_OBJECT_REORDER on <div#live> role=DIV -EVENT_OBJECT_LIVEREGIONCHANGED on <div#live> role=DIV \ No newline at end of file +EVENT_OBJECT_SHOW on <p> role=P +IA2_EVENT_TEXT_INSERTED on <div#live> role=DIV new_text={'<obj>' start=6 end=7}
diff --git a/content/test/data/accessibility/event/live-region-change-expected-win.txt b/content/test/data/accessibility/event/live-region-change-expected-win.txt index 3fa68df..db735e05 100644 --- a/content/test/data/accessibility/event/live-region-change-expected-win.txt +++ b/content/test/data/accessibility/event/live-region-change-expected-win.txt
@@ -1,6 +1,6 @@ +EVENT_OBJECT_LIVEREGIONCHANGED on <div#live> role=DIV EVENT_OBJECT_NAMECHANGE on role=ROLE_SYSTEM_STATICTEXT name="After" -IA2_EVENT_TEXT_REMOVED on role=ROLE_SYSTEM_STATICTEXT name="After" old_text={'Before' start=0 end=6} +IA2_EVENT_TEXT_INSERTED on <div#live> role=DIV new_text={'After' start=0 end=5} IA2_EVENT_TEXT_INSERTED on role=ROLE_SYSTEM_STATICTEXT name="After" new_text={'After' start=0 end=5} IA2_EVENT_TEXT_REMOVED on <div#live> role=DIV old_text={'Before' start=0 end=6} -IA2_EVENT_TEXT_INSERTED on <div#live> role=DIV new_text={'After' start=0 end=5} -EVENT_OBJECT_LIVEREGIONCHANGED on <div#live> role=DIV \ No newline at end of file +IA2_EVENT_TEXT_REMOVED on role=ROLE_SYSTEM_STATICTEXT name="After" old_text={'Before' start=0 end=6}
diff --git a/content/test/data/accessibility/event/live-region-create-expected-win.txt b/content/test/data/accessibility/event/live-region-create-expected-win.txt index 74b3241e7..fd062a32 100644 --- a/content/test/data/accessibility/event/live-region-create-expected-win.txt +++ b/content/test/data/accessibility/event/live-region-create-expected-win.txt
@@ -1,3 +1,3 @@ -IA2_EVENT_TEXT_INSERTED on <div#container> role=DIV new_text={'<obj>' start=1 end=2} +EVENT_OBJECT_REORDER on <div#container> role=DIV EVENT_OBJECT_SHOW on <div> role=DIV -EVENT_OBJECT_REORDER on <div#container> role=DIV \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <div#container> role=DIV new_text={'<obj>' start=1 end=2}
diff --git a/content/test/data/accessibility/event/live-region-ignores-click-expected-win.txt b/content/test/data/accessibility/event/live-region-ignores-click-expected-win.txt index e69de29..8b13789 100644 --- a/content/test/data/accessibility/event/live-region-ignores-click-expected-win.txt +++ b/content/test/data/accessibility/event/live-region-ignores-click-expected-win.txt
@@ -0,0 +1 @@ +
diff --git a/content/test/data/accessibility/event/menulist-collapse-expected-win.txt b/content/test/data/accessibility/event/menulist-collapse-expected-win.txt index 6f816c75..ed367c5 100644 --- a/content/test/data/accessibility/event/menulist-collapse-expected-win.txt +++ b/content/test/data/accessibility/event/menulist-collapse-expected-win.txt
@@ -1,2 +1,2 @@ EVENT_OBJECT_STATECHANGE on <option> role=ROLE_SYSTEM_LISTITEM name="Apple" FOCUSED,INVISIBLE,FOCUSABLE,SELECTABLE -EVENT_OBJECT_VALUECHANGE on <select> role=ROLE_SYSTEM_COMBOBOX COLLAPSED,FOCUSABLE,HASPOPUP \ No newline at end of file +EVENT_OBJECT_VALUECHANGE on <select> role=ROLE_SYSTEM_COMBOBOX COLLAPSED,FOCUSABLE,HASPOPUP
diff --git a/content/test/data/accessibility/event/name-change-expected-win.txt b/content/test/data/accessibility/event/name-change-expected-win.txt index c5ef9444..97c0ec8 100644 --- a/content/test/data/accessibility/event/name-change-expected-win.txt +++ b/content/test/data/accessibility/event/name-change-expected-win.txt
@@ -1 +1 @@ -EVENT_OBJECT_NAMECHANGE on <h1#a> role=H1 name="After" \ No newline at end of file +EVENT_OBJECT_NAMECHANGE on <h1#a> role=H1 name="After"
diff --git a/content/test/data/accessibility/event/name-change-indirect-expected-win.txt b/content/test/data/accessibility/event/name-change-indirect-expected-win.txt index 969eea31..252d2881 100644 --- a/content/test/data/accessibility/event/name-change-indirect-expected-win.txt +++ b/content/test/data/accessibility/event/name-change-indirect-expected-win.txt
@@ -1,7 +1,7 @@ EVENT_OBJECT_HIDE on role=ROLE_SYSTEM_STATICTEXT name="apples" -EVENT_OBJECT_NAMECHANGE on <h1#title> role=H1 name="oranges" -IA2_EVENT_TEXT_REMOVED on <h1#title> role=H1 name="oranges" old_text={'appl' start=0 end=4} -IA2_EVENT_TEXT_INSERTED on <h1#title> role=H1 name="oranges" new_text={'orang' start=0 end=5} -EVENT_OBJECT_SHOW on role=ROLE_SYSTEM_STATICTEXT name="oranges" EVENT_OBJECT_NAMECHANGE on <div> role=ROLE_SYSTEM_GROUPING name="oranges" -EVENT_OBJECT_REORDER on <h1#title> role=H1 name="oranges" \ No newline at end of file +EVENT_OBJECT_NAMECHANGE on <h1#title> role=H1 name="oranges" +EVENT_OBJECT_REORDER on <h1#title> role=H1 name="oranges" +EVENT_OBJECT_SHOW on role=ROLE_SYSTEM_STATICTEXT name="oranges" +IA2_EVENT_TEXT_INSERTED on <h1#title> role=H1 name="oranges" new_text={'orang' start=0 end=5} +IA2_EVENT_TEXT_REMOVED on <h1#title> role=H1 name="oranges" old_text={'appl' start=0 end=4}
diff --git a/content/test/data/accessibility/event/remove-child-expected-win.txt b/content/test/data/accessibility/event/remove-child-expected-win.txt index 40c164d7..3867600 100644 --- a/content/test/data/accessibility/event/remove-child-expected-win.txt +++ b/content/test/data/accessibility/event/remove-child-expected-win.txt
@@ -1,3 +1,3 @@ EVENT_OBJECT_HIDE on <div#item3> role=ROLE_SYSTEM_LISTITEM name="Item 3" +EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST IA2_EVENT_TEXT_REMOVED on <div> role=ROLE_SYSTEM_LIST old_text={'<obj>' start=2 end=3} -EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST \ No newline at end of file
diff --git a/content/test/data/accessibility/event/remove-hidden-attribute-expected-win.txt b/content/test/data/accessibility/event/remove-hidden-attribute-expected-win.txt index 5c6819b..e000348 100644 --- a/content/test/data/accessibility/event/remove-hidden-attribute-expected-win.txt +++ b/content/test/data/accessibility/event/remove-hidden-attribute-expected-win.txt
@@ -1,3 +1,3 @@ -IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3} +EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST EVENT_OBJECT_SHOW on <div#item3> role=ROLE_SYSTEM_LISTITEM name="Item 3" -EVENT_OBJECT_REORDER on <div> role=ROLE_SYSTEM_LIST \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <div> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3}
diff --git a/content/test/data/accessibility/event/remove-hidden-attribute-subtree-expected-win.txt b/content/test/data/accessibility/event/remove-hidden-attribute-subtree-expected-win.txt index efecd44..b2e9be2f 100644 --- a/content/test/data/accessibility/event/remove-hidden-attribute-subtree-expected-win.txt +++ b/content/test/data/accessibility/event/remove-hidden-attribute-subtree-expected-win.txt
@@ -1,3 +1,3 @@ -IA2_EVENT_TEXT_INSERTED on <ul> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3} +EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST EVENT_OBJECT_SHOW on <li#item3> role=ROLE_SYSTEM_LISTITEM -EVENT_OBJECT_REORDER on <ul> role=ROLE_SYSTEM_LIST \ No newline at end of file +IA2_EVENT_TEXT_INSERTED on <ul> role=ROLE_SYSTEM_LIST new_text={'<obj>' start=2 end=3}
diff --git a/content/test/data/accessibility/event/text-changed-expected-win.txt b/content/test/data/accessibility/event/text-changed-expected-win.txt index 348bca9..88369c07 100644 --- a/content/test/data/accessibility/event/text-changed-expected-win.txt +++ b/content/test/data/accessibility/event/text-changed-expected-win.txt
@@ -1,11 +1,11 @@ EVENT_OBJECT_HIDE on role=ROLE_SYSTEM_STATICTEXT name="Para" -IA2_EVENT_TEXT_INSERTED on <p#p> role=P new_text={'Modified ' start=0 end=9} -EVENT_OBJECT_SHOW on role=ROLE_SYSTEM_STATICTEXT name="Modified Para" EVENT_OBJECT_NAMECHANGE on role=ROLE_SYSTEM_STATICTEXT name="Modified Heading" -IA2_EVENT_TEXT_INSERTED on role=ROLE_SYSTEM_STATICTEXT name="Modified Heading" new_text={'Modified ' start=0 end=9} -IA2_EVENT_TEXT_INSERTED on <h2#h> role=H2 name="Heading" new_text={'Modified ' start=0 end=9} EVENT_OBJECT_NAMECHANGE on role=ROLE_SYSTEM_STATICTEXT name="Text modified" -IA2_EVENT_TEXT_REMOVED on role=ROLE_SYSTEM_STATICTEXT name="Text modified" old_text={'Div' start=0 end=3} +EVENT_OBJECT_SHOW on role=ROLE_SYSTEM_STATICTEXT name="Modified Para" +IA2_EVENT_TEXT_INSERTED on <div> role=DIV name="div" new_text={'Text modified' start=0 end=13} +IA2_EVENT_TEXT_INSERTED on <h2#h> role=H2 name="Heading" new_text={'Modified ' start=0 end=9} +IA2_EVENT_TEXT_INSERTED on <p#p> role=P new_text={'Modified ' start=0 end=9} +IA2_EVENT_TEXT_INSERTED on role=ROLE_SYSTEM_STATICTEXT name="Modified Heading" new_text={'Modified ' start=0 end=9} IA2_EVENT_TEXT_INSERTED on role=ROLE_SYSTEM_STATICTEXT name="Text modified" new_text={'Text modified' start=0 end=13} IA2_EVENT_TEXT_REMOVED on <div> role=DIV name="div" old_text={'Div' start=0 end=3} -IA2_EVENT_TEXT_INSERTED on <div> role=DIV name="div" new_text={'Text modified' start=0 end=13} \ No newline at end of file +IA2_EVENT_TEXT_REMOVED on role=ROLE_SYSTEM_STATICTEXT name="Text modified" old_text={'Div' start=0 end=3}
diff --git a/content/test/data/htxg/README b/content/test/data/htxg/README index e6a77a9d..5d1bc49 100644 --- a/content/test/data/htxg/README +++ b/content/test/data/htxg/README
@@ -36,5 +36,3 @@ -privateKey /tmp/wildcard_example.org.private.pem \ -o test.example.org_test.htxg \ -miRecordSize=100 - -
diff --git a/content/test/data/htxg/signed_exchange_header_test.htxg b/content/test/data/htxg/signed_exchange_header_test.htxg new file mode 100644 index 0000000..c7c65e9 --- /dev/null +++ b/content/test/data/htxg/signed_exchange_header_test.htxg Binary files differ
diff --git a/extensions/browser/extension_registrar.cc b/extensions/browser/extension_registrar.cc index 103e4db..b857402 100644 --- a/extensions/browser/extension_registrar.cc +++ b/extensions/browser/extension_registrar.cc
@@ -5,6 +5,7 @@ #include "extensions/browser/extension_registrar.h" #include "base/logging.h" +#include "base/metrics/histogram_macros.h" #include "base/stl_util.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" @@ -58,8 +59,25 @@ int version_compare_result = extension->version().CompareTo(old->version()); is_extension_upgrade = version_compare_result > 0; // Other than for unpacked extensions, we should not be downgrading. - if (!Manifest::IsUnpackedLocation(extension->location())) - CHECK_GE(version_compare_result, 0); + if (!Manifest::IsUnpackedLocation(extension->location()) && + version_compare_result < 0) { + UMA_HISTOGRAM_ENUMERATION( + "Extensions.AttemptedToDowngradeVersionLocation", + extension->location(), Manifest::NUM_LOCATIONS); + UMA_HISTOGRAM_ENUMERATION("Extensions.AttemptedToDowngradeVersionType", + extension->GetType(), Manifest::NUM_LOAD_TYPES); + + // TODO(https://crbug.com/810799): It would be awfully nice to CHECK this, + // but that's caused problems. There are apparently times when this + // happens that we aren't accounting for. We should track those down and + // fix them, but it can be tricky. + NOTREACHED() << "Attempted to downgrade extension." + << "\nID: " << extension->id() + << "\nOld Version: " << old->version() + << "\nNew Version: " << extension->version() + << "\nLocation: " << extension->location(); + return; + } } // If the extension was disabled for a reload, we will enable it.
diff --git a/extensions/browser/guest_view/extensions_guest_view_message_filter.cc b/extensions/browser/guest_view/extensions_guest_view_message_filter.cc index 120dee5f..f90f3e0b 100644 --- a/extensions/browser/guest_view/extensions_guest_view_message_filter.cc +++ b/extensions/browser/guest_view/extensions_guest_view_message_filter.cc
@@ -4,6 +4,7 @@ #include "extensions/browser/guest_view/extensions_guest_view_message_filter.h" +#include "base/guid.h" #include "base/macros.h" #include "components/guest_view/browser/guest_view_base.h" #include "components/guest_view/browser/guest_view_manager.h" @@ -12,13 +13,18 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" +#include "content/public/browser/stream_info.h" +#include "content/public/browser/web_contents.h" #include "extensions/browser/api/extensions_api_client.h" +#include "extensions/browser/extension_registry.h" +#include "extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_constants.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" #include "extensions/browser/guest_view/web_view/web_view_content_script_manager.h" #include "extensions/browser/guest_view/web_view/web_view_guest.h" #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" #include "extensions/common/guest_view/extensions_guest_view_messages.h" +#include "extensions/common/manifest_handlers/mime_types_handler.h" #include "ipc/ipc_message_macros.h" using content::BrowserContext; @@ -40,7 +46,8 @@ : GuestViewMessageFilter(kFilteredMessageClasses, arraysize(kFilteredMessageClasses), render_process_id, - context) {} + context), + content::BrowserAssociatedInterface<mojom::GuestView>(this, this) {} ExtensionsGuestViewMessageFilter::~ExtensionsGuestViewMessageFilter() { DCHECK_CURRENTLY_ON(BrowserThread::IO); @@ -153,6 +160,61 @@ mhvg->SetSize(set_size_params); } +void ExtensionsGuestViewMessageFilter::CreateEmbeddedMimeHandlerViewGuest( + int32_t render_frame_id, + int32_t tab_id, + const GURL& original_url, + int32_t element_instance_id, + const gfx::Size& element_size, + content::mojom::TransferrableURLLoaderPtr transferrable_url_loader) { + if (!content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)) { + content::BrowserThread::PostTask( + content::BrowserThread::UI, FROM_HERE, + base::BindOnce(&ExtensionsGuestViewMessageFilter:: + CreateEmbeddedMimeHandlerViewGuest, + this, render_frame_id, tab_id, original_url, + element_instance_id, element_size, + base::Passed(&transferrable_url_loader))); + return; + } + + content::WebContents* web_contents = + content::WebContents::FromRenderFrameHost( + content::RenderFrameHost::FromID(render_process_id_, + render_frame_id)); + if (!web_contents) + return; + + auto* browser_context = web_contents->GetBrowserContext(); + std::string extension_id = transferrable_url_loader->url.host(); + const Extension* extension = ExtensionRegistry::Get(browser_context) + ->enabled_extensions() + .GetByID(extension_id); + if (!extension) + return; + + MimeTypesHandler* handler = MimeTypesHandler::GetHandler(extension); + if (!handler || !handler->HasPlugin()) { + NOTREACHED(); + return; + } + + GURL handler_url(Extension::GetBaseURLFromExtensionId(extension_id).spec() + + handler->handler_url()); + + std::string view_id = base::GenerateGUID(); + std::unique_ptr<StreamContainer> stream_container(new StreamContainer( + nullptr, tab_id, true /* embedded */, handler_url, extension_id, + std::move(transferrable_url_loader), original_url)); + MimeHandlerStreamManager::Get(browser_context) + ->AddStream(view_id, std::move(stream_container), + -1 /* frame_tree_node_id*/, render_process_id_, + render_frame_id); + + OnCreateMimeHandlerViewGuest(render_frame_id, view_id, element_instance_id, + element_size); +} + void ExtensionsGuestViewMessageFilter::MimeHandlerViewGuestCreatedCallback( int element_instance_id, int embedder_render_process_id,
diff --git a/extensions/browser/guest_view/extensions_guest_view_message_filter.h b/extensions/browser/guest_view/extensions_guest_view_message_filter.h index a8b7f522..0e7d3b51 100644 --- a/extensions/browser/guest_view/extensions_guest_view_message_filter.h +++ b/extensions/browser/guest_view/extensions_guest_view_message_filter.h
@@ -12,7 +12,9 @@ #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "components/guest_view/browser/guest_view_message_filter.h" +#include "content/public/browser/browser_associated_interface.h" #include "content/public/browser/browser_message_filter.h" +#include "extensions/common/mojo/guest_view.mojom.h" namespace content { class BrowserContext; @@ -33,7 +35,9 @@ // from thw renderer process. It is created on the UI thread. Messages may be // handled on the IO thread or the UI thread. class ExtensionsGuestViewMessageFilter - : public guest_view::GuestViewMessageFilter { + : public guest_view::GuestViewMessageFilter, + public content::BrowserAssociatedInterface<mojom::GuestView>, + public mojom::GuestView { public: ExtensionsGuestViewMessageFilter(int render_process_id, content::BrowserContext* context); @@ -62,6 +66,16 @@ int element_instance_id, const gfx::Size& new_size); + // mojom::GuestView implementation. + void CreateEmbeddedMimeHandlerViewGuest( + int32_t render_frame_id, + int32_t tab_id, + const GURL& original_url, + int32_t element_instance_id, + const gfx::Size& element_size, + content::mojom::TransferrableURLLoaderPtr transferrable_url_loader) + override; + // Runs on UI thread. void MimeHandlerViewGuestCreatedCallback(int element_instance_id, int embedder_render_process_id,
diff --git a/extensions/browser/shared_user_script_master.h b/extensions/browser/shared_user_script_master.h index d085368..53dab23 100644 --- a/extensions/browser/shared_user_script_master.h +++ b/extensions/browser/shared_user_script_master.h
@@ -5,6 +5,7 @@ #ifndef EXTENSIONS_BROWSER_SHARED_USER_SCRIPT_MASTER_H_ #define EXTENSIONS_BROWSER_SHARED_USER_SCRIPT_MASTER_H_ +#include <memory> #include <set> #include "base/macros.h"
diff --git a/extensions/common/BUILD.gn b/extensions/common/BUILD.gn index cd741cc0..e17d511 100644 --- a/extensions/common/BUILD.gn +++ b/extensions/common/BUILD.gn
@@ -25,6 +25,7 @@ sources = [ "extension_unpacker.mojom", "mojo/app_window.mojom", + "mojo/guest_view.mojom", "mojo/keep_alive.mojom", ] @@ -33,9 +34,15 @@ } public_deps = [ + "//content/public/common:interfaces", "//mojo/common:common_custom_types", + "//ui/gfx/geometry/mojo", "//url/mojom:url_mojom_gurl", ] + + overridden_deps = [ "//content/public/common:interfaces" ] + + component_deps = [ "//content/public/common" ] } # This must be a static library because extensions common depends on
diff --git a/extensions/common/mojo/guest_view.mojom b/extensions/common/mojo/guest_view.mojom new file mode 100644 index 0000000..e0b8657 --- /dev/null +++ b/extensions/common/mojo/guest_view.mojom
@@ -0,0 +1,22 @@ +// Copyright 2018 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. + +module extensions.mojom; + +import "content/public/common/transferrable_url_loader.mojom"; +import "ui/gfx/geometry/mojo/geometry.mojom"; +import "url/mojom/url.mojom"; + +interface GuestView { + // Tells the browser to create a mime handler guest view for a plugin. + // This method is only called when the network service is enabled, and only + // for plugins added using the embedded/object tag. + CreateEmbeddedMimeHandlerViewGuest( + int32 render_frame_id, + int32 tab_id, + url.mojom.Url original_url, + int32 element_instance_id, + gfx.mojom.Size element_size, + content.mojom.TransferrableURLLoader transferrable_url_loader); +};
diff --git a/extensions/renderer/DEPS b/extensions/renderer/DEPS index 1e90971..70b92c2 100644 --- a/extensions/renderer/DEPS +++ b/extensions/renderer/DEPS
@@ -21,6 +21,7 @@ "+storage/common/fileapi", + "+services/network/public", "+services/service_manager/public/cpp", ]
diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc index ffd47c1..487df98d 100644 --- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc +++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
@@ -7,21 +7,29 @@ #include <map> #include <set> +#include "base/guid.h" #include "base/lazy_instance.h" #include "base/macros.h" #include "components/guest_view/common/guest_view_constants.h" #include "components/guest_view/common/guest_view_messages.h" +#include "content/public/common/url_loader_throttle.h" +#include "content/public/common/webplugininfo.h" #include "content/public/renderer/render_frame.h" +#include "content/public/renderer/render_thread.h" #include "content/public/renderer/render_view.h" #include "content/public/renderer/v8_value_converter.h" #include "extensions/common/extension_messages.h" #include "extensions/common/guest_view/extensions_guest_view_messages.h" +#include "extensions/common/mojo/guest_view.mojom.h" +#include "extensions/renderer/extension_frame_helper.h" #include "gin/arguments.h" #include "gin/dictionary.h" #include "gin/handle.h" #include "gin/interceptor.h" #include "gin/object_template_builder.h" #include "gin/wrappable.h" +#include "ipc/ipc_sync_channel.h" +#include "services/network/public/cpp/features.h" #include "third_party/WebKit/public/platform/WebURLRequest.h" #include "third_party/WebKit/public/web/WebAssociatedURLLoader.h" #include "third_party/WebKit/public/web/WebAssociatedURLLoaderOptions.h" @@ -36,6 +44,17 @@ const char kPostMessageName[] = "postMessage"; +base::LazyInstance<mojom::GuestViewAssociatedPtr>::Leaky g_guest_view; + +mojom::GuestView* GetGuestView() { + if (!g_guest_view.Get()) { + content::RenderThread::Get()->GetChannel()->GetRemoteAssociatedInterface( + &g_guest_view.Get()); + } + + return g_guest_view.Get().get(); +} + // The gin-backed scriptable object which is exposed by the BrowserPlugin for // MimeHandlerViewContainer. This currently only implements "postMessage". class ScriptableObject : public gin::Wrappable<ScriptableObject>, @@ -106,11 +125,56 @@ } // namespace +// Stores a raw pointer to MimeHandlerViewContainer since this throttle's +// lifetime is shorter (it matches |container|'s loader_). +class MimeHandlerViewContainer::PluginResourceThrottle + : public content::URLLoaderThrottle { + public: + explicit PluginResourceThrottle(MimeHandlerViewContainer* container) + : container_(container) {} + ~PluginResourceThrottle() override {} + + private: + // content::URLLoaderThrottle overrides; + void WillProcessResponse(const GURL& response_url, + const network::ResourceResponseHead& response_head, + bool* defer) override { + network::mojom::URLLoaderPtr dummy_new_loader; + mojo::MakeRequest(&dummy_new_loader); + network::mojom::URLLoaderClientPtr new_client; + network::mojom::URLLoaderClientRequest new_client_request = + mojo::MakeRequest(&new_client); + + network::mojom::URLLoaderPtr original_loader; + network::mojom::URLLoaderClientRequest original_client; + delegate_->InterceptResponse(std::move(dummy_new_loader), + std::move(new_client_request), + &original_loader, &original_client); + + auto transferrable_loader = content::mojom::TransferrableURLLoader::New(); + transferrable_loader->url_loader = original_loader.PassInterface(); + transferrable_loader->url_loader_client = std::move(original_client); + + // Make a deep copy of ResourceResponseHead before passing it cross-thread. + auto resource_response = base::MakeRefCounted<network::ResourceResponse>(); + resource_response->head = response_head; + auto deep_copied_response = resource_response->DeepCopy(); + transferrable_loader->head = std::move(deep_copied_response->head); + container_->SetEmbeddedLoader(std::move(transferrable_loader)); + } + + MimeHandlerViewContainer* container_; + + DISALLOW_COPY_AND_ASSIGN(PluginResourceThrottle); +}; + MimeHandlerViewContainer::MimeHandlerViewContainer( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) : GuestViewContainer(render_frame), + plugin_path_(info.path.MaybeAsASCII()), mime_type_(mime_type), original_url_(original_url), guest_proxy_routing_id_(-1), @@ -164,6 +228,8 @@ // may get their security origins from their own urls". // https://w3c.github.io/ServiceWorker/#implementer-concerns request.SetSkipServiceWorker(true); + + waiting_to_create_throttle_ = true; loader_->LoadAsynchronously(request, this); } @@ -281,6 +347,15 @@ &message, frame->MainWorldScriptContext())); } +std::unique_ptr<content::URLLoaderThrottle> +MimeHandlerViewContainer::MaybeCreatePluginThrottle(const GURL& url) { + if (!waiting_to_create_throttle_ || url != original_url_) + return nullptr; + + waiting_to_create_throttle_ = false; + return std::make_unique<PluginResourceThrottle>(this); +} + void MimeHandlerViewContainer::OnCreateMimeHandlerViewGuestACK( int element_instance_id) { DCHECK_NE(this->element_instance_id(), guest_view::kInstanceIDNone); @@ -323,8 +398,36 @@ pending_messages_.clear(); } +void MimeHandlerViewContainer::SetEmbeddedLoader( + content::mojom::TransferrableURLLoaderPtr transferrable_url_loader) { + transferrable_url_loader_ = std::move(transferrable_url_loader); + transferrable_url_loader_->url = GURL(plugin_path_ + base::GenerateGUID()); + CreateMimeHandlerViewGuestIfNecessary(); +} + void MimeHandlerViewContainer::CreateMimeHandlerViewGuestIfNecessary() { - if (guest_created_ || !element_size_.has_value() || view_id_.empty()) + if (guest_created_ || !element_size_.has_value()) + return; + + // When the network service is enabled, subresource requests like plugins are + // made directly from the renderer to the network service. So we need to + // intercept the URLLoader and send it to the browser so that it can forward + // it to the plugin. + if (base::FeatureList::IsEnabled(network::features::kNetworkService) && + is_embedded_) { + if (transferrable_url_loader_.is_null()) + return; + + GetGuestView()->CreateEmbeddedMimeHandlerViewGuest( + render_frame()->GetRoutingID(), + ExtensionFrameHelper::Get(render_frame())->tab_id(), original_url_, + element_instance_id(), *element_size_, + std::move(transferrable_url_loader_)); + guest_created_ = true; + return; + } + + if (view_id_.empty()) return; // The loader has completed loading |view_id_| so we can dispose it.
diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h index a11ce1b..c5dee490 100644 --- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h +++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h
@@ -14,6 +14,9 @@ #include "base/memory/weak_ptr.h" #include "base/optional.h" #include "components/guest_view/renderer/guest_view_container.h" +#include "content/public/common/transferrable_url_loader.mojom.h" +#include "mojo/public/cpp/bindings/binding.h" +#include "services/network/public/mojom/url_loader.mojom.h" #include "third_party/WebKit/public/web/WebAssociatedURLLoaderClient.h" #include "ui/gfx/geometry/size.h" #include "url/gurl.h" @@ -23,6 +26,11 @@ class WebAssociatedURLLoader; } // namespace blink +namespace content { +class URLLoaderThrottle; +struct WebPluginInfo; +} // namespace content + namespace extensions { // A container for loading up an extension inside a BrowserPlugin to handle a @@ -45,6 +53,7 @@ public blink::WebAssociatedURLLoaderClient { public: MimeHandlerViewContainer(content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url); @@ -75,10 +84,24 @@ // Post |message| to the guest. void PostMessageFromValue(const base::Value& message); + // If the URL matches the same URL that this object has created and it hasn't + // added a throttle yet, it will return a new one for the purpose of + // intercepting it. + std::unique_ptr<content::URLLoaderThrottle> MaybeCreatePluginThrottle( + const GURL& url); + protected: ~MimeHandlerViewContainer() override; private: + class PluginResourceThrottle; + + // Called for embedded plugins when network service is enabled. This is called + // by the URLLoaderThrottle which intercepts the resource load, which is then + // sent to the browser to be handed off to the plugin. + void SetEmbeddedLoader( + content::mojom::TransferrableURLLoaderPtr transferrable_url_loader); + // Message handlers. void OnCreateMimeHandlerViewGuestACK(int element_instance_id); void OnGuestAttached(int element_instance_id, @@ -89,6 +112,9 @@ // to are available. void CreateMimeHandlerViewGuestIfNecessary(); + // Path of the plugin. + const std::string plugin_path_; + // The MIME type of the plugin. const std::string mime_type_; @@ -104,6 +130,11 @@ // The RenderView routing ID of the guest. int guest_proxy_routing_id_; + // Used when network service is enabled: + bool waiting_to_create_throttle_ = false; + content::mojom::TransferrableURLLoaderPtr transferrable_url_loader_; + + // Used when network service is disabled: // A URL loader to load the |original_url_| when the plugin is embedded. In // the embedded case, no URL request is made automatically. std::unique_ptr<blink::WebAssociatedURLLoader> loader_;
diff --git a/extensions/shell/browser/shell_navigation_ui_data.cc b/extensions/shell/browser/shell_navigation_ui_data.cc index 5ee7b6b..85bba453 100644 --- a/extensions/shell/browser/shell_navigation_ui_data.cc +++ b/extensions/shell/browser/shell_navigation_ui_data.cc
@@ -4,6 +4,7 @@ #include "extensions/shell/browser/shell_navigation_ui_data.h" +#include "base/memory/ptr_util.h" #include "content/public/browser/navigation_handle.h" #include "extensions/common/constants.h"
diff --git a/extensions/shell/renderer/shell_content_renderer_client.cc b/extensions/shell/renderer/shell_content_renderer_client.cc index 248238c..a09efe4 100644 --- a/extensions/shell/renderer/shell_content_renderer_client.cc +++ b/extensions/shell/renderer/shell_content_renderer_client.cc
@@ -112,13 +112,14 @@ content::BrowserPluginDelegate* ShellContentRendererClient::CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) { if (mime_type == content::kBrowserPluginMimeType) { return new extensions::ExtensionsGuestViewContainer(render_frame); } else { - return new extensions::MimeHandlerViewContainer( - render_frame, mime_type, original_url); + return new extensions::MimeHandlerViewContainer(render_frame, info, + mime_type, original_url); } }
diff --git a/extensions/shell/renderer/shell_content_renderer_client.h b/extensions/shell/renderer/shell_content_renderer_client.h index 6bb8ceb6..f0f64b46 100644 --- a/extensions/shell/renderer/shell_content_renderer_client.h +++ b/extensions/shell/renderer/shell_content_renderer_client.h
@@ -45,6 +45,7 @@ bool ShouldGatherSiteIsolationStats() const override; content::BrowserPluginDelegate* CreateBrowserPluginDelegate( content::RenderFrame* render_frame, + const content::WebPluginInfo& info, const std::string& mime_type, const GURL& original_url) override; void RunScriptsAtDocumentStart(content::RenderFrame* render_frame) override;
diff --git a/extensions/strings/extensions_strings_am.xtb b/extensions/strings/extensions_strings_am.xtb index e66979b..a211cb8 100644 --- a/extensions/strings/extensions_strings_am.xtb +++ b/extensions/strings/extensions_strings_am.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">ይህን ስም የያዘ የCRX ፋይል አስቀድሞ ነበር።</translation> <translation id="2753617847762399167">ህገወጥ ዱካ (በ«..» ፍጹማዊ ወይም አንጻራዊ)፦ «<ph name="IMAGE_PATH" />»</translation> <translation id="27822970480436970">ለውጡ ከሌላ ቅጥያ ጋር ስለተጋጨ ይህ ቅጥያ የአውታረ መረብ ጥያቄ መቀየር አልተሳካለትም።</translation> +<translation id="2785530881066938471">ፋይል «<ph name="RELATIVE_PATH" />»ን ለይዘት ስክሪፕት መጫን አልተቻለም። በUTF-8 ኮድ የተቀመጠ አይደለም።</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (የቅጥያ መታወቂያ «<ph name="EXTENSION_ID" />») በአስተዳዳሪው ታግዷል። <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">ጥቅል መጫን አልተቻለም፦ «<ph name="ERROR_CODE" />»</translation> +<translation id="3097628171361913691">የዚፕ ፋይል ጫኝ</translation> <translation id="3115238746683532089">ያልታወቀ ምርት <ph name="PRODUCT_ID" /> ከ<ph name="VENDOR_ID" /> ሻጭ (ተከታታይ ቁጥር <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">የcrx ፋይል መተካት አልተቻለም። ፋይሉ ስራ ላይ እየዋለ ከሆነ ያረጋግጡ።</translation> <translation id="3163201441334626963">ያልታወቀ ምርት <ph name="PRODUCT_ID" /> ከ<ph name="VENDOR_ID" /> ሻጭ</translation> +<translation id="3302709122321372472">ለይዘት ስክሪፕት ሲ ኤስ ኤስ «<ph name="RELATIVE_PATH" />» መጫን አልተቻለም።</translation> <translation id="3369521687965833290">ቅጥያ መበተን አይቻልም። አንድ ቅጥያ ደህንነቱ በተጠበቀ መልኩ ለመበተን በአንጻፊ ፊደሉ የሚጀምርና መገጣጠሚያ፣ የማፈናጠጫ ነጥብ ወይም ተምሳሌታዊ መጠሪያ ያልያዘ ወደ የመገለጫ ማውጫዎ የሚወስድ ዱካ መኖር አለበት። እንደዚህ ያሉ ዱካዎች ለመገለጫዎ የሉም።</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (ተከታታይ ቁጥር <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> ከ<ph name="VENDOR_ID" /> ሻጭ (ተከታታይ ቁጥር <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ለግላዊ ቁልፍ የሚገባ እሴት ትክክለኛ ዱካ መሆን አለበት።</translation> <translation id="388442998277590542">የአማራጮች ገጽ «<ph name="OPTIONS_PAGE" />»ን መጫን አልተቻለም።</translation> <translation id="3984413272403535372">ቅጥያዎችን በመፈረም ጊዜ ስህተት።</translation> +<translation id="39964277676607559">ለይዘት ስክሪፕት ጃቫስክሪፕት «<ph name="RELATIVE_PATH" />»ን መጫን አልተቻለም።</translation> <translation id="4115165561519362854">የዚህ ማሽን አስተዳዳሪ <ph name="EXTENSION_NAME" /> ቢያንስ የ<ph name="EXTENSION_VERSION" /> ስሪት እንዲሆን ይፈልጋሉል። ወደዚያ ስሪት (ወይም ከዚያ በላይ) ካልተዘመነ በስተቀር ሊነቃ አይችልም።</translation> <translation id="4233778200880751280">የስለ ገጹ «<ph name="ABOUT_PAGE" />» መጫን አልተቻለም።</translation> <translation id="471800408830181311">የግላዊ ቁልፍን ውጤት ማውጣት አልተሳካም።</translation>
diff --git a/extensions/strings/extensions_strings_ar.xtb b/extensions/strings/extensions_strings_ar.xtb index 437e856b..9b5ea3d2 100644 --- a/extensions/strings/extensions_strings_ar.xtb +++ b/extensions/strings/extensions_strings_ar.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">هناك ملف CRX بهذا الاسم فعلاً.</translation> <translation id="2753617847762399167">مسار غير قانوني (أساسي أو منتسب مع '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">تعذّرت هذه الإضافة في تعديل طلب الشبكة نظرًا لتعارض التعديل مع إضافة أخرى.</translation> +<translation id="2785530881066938471">تعذر تحميل الملف '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى. لأنه ليس بتشفير UTF-8.</translation> <translation id="2903070246402204397">تم حظر <ph name="EXTENSION_NAME" /> (معرف الإضافة "<ph name="EXTENSION_ID" />") من قِبل المشرف. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">تعذر تثبيت الحزمة: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">مُثبت ملف Zip</translation> <translation id="3115238746683532089">المنتج غير معروف <ph name="PRODUCT_ID" /> من المورّد <ph name="VENDOR_ID" /> (الرقم التسلسلي <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">تعذّر استبدال ملف crx. تحقق ما إذا كان قيد الاستخدام.</translation> <translation id="3163201441334626963">المنتج غير معروف <ph name="PRODUCT_ID" /> من المورّد <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">تعذر تحميل ملف css (أوراق الأنماط المتتالية) '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى.</translation> <translation id="3369521687965833290">لا يمكن فك ضغط الإضافة. لفك ضغط الإضافة بشكل آمن، يجب أن يكون هناك مسار إلى دليل ملفك الشخصي، ويبدأ بحرف محرك أقراص ولا يحتوي على وصلة أو نقطة تحميل أو رابط رمزي. ليس هناك مثل هذا المسار لملفك الشخصي.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (الرقم التسلسلي <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> من المورّد <ph name="VENDOR_ID" /> (الرقم التسلسلي <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">يجب أن تكون قيمة الإدخال للمفتاح الخاص مسارًا صالحًا.</translation> <translation id="388442998277590542">تعذر تحميل صفحة الخيارات "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">حدث خطأ أثناء التوقيع على الإضافة.</translation> +<translation id="39964277676607559">تعذر تحميل جافا سكريبت '<ph name="RELATIVE_PATH" />' للنص البرمجي للمحتوى.</translation> <translation id="4115165561519362854">يطلب مشرف هذا الجهاز <ph name="EXTENSION_NAME" /> الحصول على الحد الأدنى لإصدار <ph name="EXTENSION_VERSION" />. ولا يمكن تمكينه حتى يتم تحديثه إلى هذا الإصدار (أو أعلى).</translation> <translation id="4233778200880751280">تعذر تحميل حول الصفحة "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">تعذّر إخراج المفتاح الخاص.</translation>
diff --git a/extensions/strings/extensions_strings_bg.xtb b/extensions/strings/extensions_strings_bg.xtb index c08fbcaf..266c690 100644 --- a/extensions/strings/extensions_strings_bg.xtb +++ b/extensions/strings/extensions_strings_bg.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Вече присъства CRX файл с това име.</translation> <translation id="2753617847762399167">Непозволен път (абсолютен или относителен с (..): „<ph name="IMAGE_PATH" />“</translation> <translation id="27822970480436970">Това разширение не успя да промени заявка от мрежата, защото промяната влезе в конфликт с друго разширение.</translation> +<translation id="2785530881066938471">Файлът „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание не можа да бъде зареден. Не е кодиран в UTF-8.</translation> <translation id="2903070246402204397">Разширението <ph name="EXTENSION_NAME" /> (идентификационен номер <ph name="EXTENSION_ID" />) е блокирано от администратора. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Пакетът не можа да се инсталира: „<ph name="ERROR_CODE" />“</translation> +<translation id="3097628171361913691">Инсталиране на компресирани файлове</translation> <translation id="3115238746683532089">Неизвестен продукт <ph name="PRODUCT_ID" /> от доставчик <ph name="VENDOR_ID" /> (сериен номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Замяната на crx файла не бе успешна. Проверете дали не се използва.</translation> <translation id="3163201441334626963">Неизвестен продукт <ph name="PRODUCT_ID" /> от доставчик <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Не можа да се зареди css „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание.</translation> <translation id="3369521687965833290">Разширението не може да се разпакетира. За да направите това по безопасен начин, трябва да има път към директорията в потребителския ви профил, който започва с буква на локален диск и не съдържа възел, точка на монтиране или символна връзка. Не съществува такъв път за потребителския ви профил.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (сериен номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> от доставчик <ph name="VENDOR_ID" /> (сериен номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Въведената стойност за личен ключ трябва да бъде валиден път.</translation> <translation id="388442998277590542">Страницата за опции „<ph name="OPTIONS_PAGE" />“ не можа да се зареди.</translation> <translation id="3984413272403535372">Грешка при подписването на разширението.</translation> +<translation id="39964277676607559">Не можа да се зареди javascript „<ph name="RELATIVE_PATH" />“ за скрипта за съдържание.</translation> <translation id="4115165561519362854">Администраторът на тази машина е поставил изискване версията на <ph name="EXTENSION_NAME" /> да е поне <ph name="EXTENSION_VERSION" />. Разширението не може да бъде активирано, докато не бъде актуализирано до тази или по-нова версия.</translation> <translation id="4233778200880751280">Страницата с информация <ph name="ABOUT_PAGE" /> не можа да се зареди.</translation> <translation id="471800408830181311">Извеждането на личния ключ не бе успешно.</translation>
diff --git a/extensions/strings/extensions_strings_bn.xtb b/extensions/strings/extensions_strings_bn.xtb index f1b44805..c14aad6 100644 --- a/extensions/strings/extensions_strings_bn.xtb +++ b/extensions/strings/extensions_strings_bn.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">এই নামের একটি CRX ফাইল ইতিমধ্যে বিদ্যমান আছে৷</translation> <translation id="2753617847762399167">আইনি পথ (পূর্ণ অথবা '..' এর সাথে সম্পর্কিত: '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">এই এক্সটেনশানটি নেটওয়ার্কের অনুরোধ সংশোধন করতে ব্যর্থ হয়েছে কারণ সংশোধনের অন্য এক্সটেনশানের সঙ্গে বিরোধ হয়েছে৷</translation> +<translation id="2785530881066938471">বর্তমান স্ক্রিপ্টটির জন্য <ph name="RELATIVE_PATH" /> ফাইলটি লোড করতে পারা যায়নি৷ এটি UTF-8 এনকোড হওয়া নেই৷</translation> <translation id="2903070246402204397">প্রশাসক <ph name="EXTENSION_NAME" /> (এক্সটেনশন আইডি "<ph name="EXTENSION_ID" />") ব্লক করেছে। <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">এই প্যাকেজটি ইনস্টল করতে পারেনি: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">জিপ ফাইল ইনস্টলার</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> বিক্রেতার থেকেঅজানা পণ্য <ph name="PRODUCT_ID" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ফাইলটি প্রতিস্থাপন করতে ব্যর্থ৷ ফাইলটি ব্যবহার হচ্ছে কিনা দেখতে পরীক্ষা করুন৷</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> বিক্রেতার থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">সামগ্রী স্ক্রিপ্টের জন্য css '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation> <translation id="3369521687965833290">এক্সটেনশন প্যাকমুক্ত করতে পারেনা৷ কোনও এক্সটেনশনকে সুরক্ষিতভাবে প্যাকমুক্ত করতে, আপনার প্রোফাইল ডিরেক্টরিতে অবশ্যই এমন একটি পথ থাকবে যা চালক অক্ষরটি দিয়ে শুরু হবে এবং এতে কোন জাংশন, মাউন্ট পয়েন্ট বা সিমলিঙ্ক থাকবে না৷ আপনার প্রোফাইলে এ জাতীয় কোনও পথ বিদ্যমান নেই৷</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> বিক্রেতার থেকে <ph name="PRODUCT_NAME" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ব্যক্তিগত কীয়ের জন্য ইনপুট মান অবশ্যই একটি বৈধ পথ হবে৷</translation> <translation id="388442998277590542">বিকল্প পৃষ্ঠা '<ph name="OPTIONS_PAGE" />' লোড করা যায়নি৷</translation> <translation id="3984413272403535372">এক্সটেনশন স্বাক্ষরের সময় ত্রুটি৷</translation> +<translation id="39964277676607559">সামগ্রী স্ক্রিপ্টের জন্য '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation> <translation id="4115165561519362854"><ph name="EXTENSION_VERSION" /> এর কোনো সর্বনিম্ন সংস্করণ রাখতে, এই মেশিনের প্রশাসকের জন্য <ph name="EXTENSION_NAME" /> প্রয়োজন৷ এটিকে যতক্ষণ না পর্যন্ত সেই সংস্করণে আপডেট করা হচ্ছে (বা উচ্চতর) এটি সক্ষমিত হবে না৷</translation> <translation id="4233778200880751280"><ph name="ABOUT_PAGE" /> সম্পর্কিত পৃষ্ঠা লোড করা গেল না।</translation> <translation id="471800408830181311">ব্যক্তিগত কী আউটপুট করতে ব্যর্থ৷</translation>
diff --git a/extensions/strings/extensions_strings_ca.xtb b/extensions/strings/extensions_strings_ca.xtb index 1e47ce9..02ae3cc 100644 --- a/extensions/strings/extensions_strings_ca.xtb +++ b/extensions/strings/extensions_strings_ca.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Ja hi ha un fitxer CRX amb aquest nom.</translation> <translation id="2753617847762399167">Camí il·legal (absolut o relatiu amb ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Aquesta extensió no ha pogut modificar una sol·licitud de xarxa perquè la modificació està en conflicte amb una altra extensió.</translation> +<translation id="2785530881066938471">No s'ha pogut carregar el fitxer "<ph name="RELATIVE_PATH" />" per a l'script de contingut. No està codificat com a UTF-8.</translation> <translation id="2903070246402204397">L'administrador ha bloquejat l'extensió <ph name="EXTENSION_NAME" /> (amb l'identificador <ph name="EXTENSION_ID" />). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">No s'ha pogut instal·lar el paquet: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Instal·lador de fitxers zip</translation> <translation id="3115238746683532089">Producte desconegut <ph name="PRODUCT_ID" /> del proveïdor <ph name="VENDOR_ID" /> (número de sèrie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">No s'ha pogut substituir el fitxer crx. Comproveu si el fitxer s'està utilitzant.</translation> <translation id="3163201441334626963">Producte desconegut <ph name="PRODUCT_ID" /> del proveïdor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">No s'ha pogut carregar el CSS "<ph name="RELATIVE_PATH" />" per a l'script de contingut.</translation> <translation id="3369521687965833290">No es pot desempaquetar l'extensió. Per desempaquetar l'extensió amb seguretat, cal un camí al directori del perfil que comenci amb la lletra d'una unitat i no contingui cap unió, punt de muntatge o enllaç simbòlic. No hi ha cap camí d'aquestes característiques al vostre perfil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (número de sèrie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> del proveïdor <ph name="VENDOR_ID" /> (número de sèrie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">El valor d'entrada per a la clau privada ha de ser un camí vàlid.</translation> <translation id="388442998277590542">No s'ha pogut carregar la pàgina d'opcions "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">S'ha produït un error en signar l'extensió.</translation> +<translation id="39964277676607559">No s'ha pogut carregar el JavaScript "<ph name="RELATIVE_PATH" />" per a l'script de contingut.</translation> <translation id="4115165561519362854">L'administrador d'aquest ordinador requereix que <ph name="EXTENSION_NAME" /> tingui com a mínim la versió <ph name="EXTENSION_VERSION" />. No es pot activar fins que no s'hagi actualitzat a aquesta versió (o posterior).</translation> <translation id="4233778200880751280">No s'ha pogut carregar la pàgina d'informació "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">No s'ha pogut generar la clau privada.</translation>
diff --git a/extensions/strings/extensions_strings_cs.xtb b/extensions/strings/extensions_strings_cs.xtb index 42f7a52..da7c6264 100644 --- a/extensions/strings/extensions_strings_cs.xtb +++ b/extensions/strings/extensions_strings_cs.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Soubor CRX s tímto názvem již existuje.</translation> <translation id="2753617847762399167">Neplatná cesta (absolutní nebo relativní s „..“): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Tomuto rozšíření se nepodařilo upravit požadavek sítě, protože úprava byla v konfliktu s dalším rozšířením.</translation> +<translation id="2785530881066938471">Nelze načíst soubor <ph name="RELATIVE_PATH" /> s obsahovým skriptem. Soubor není kódován ve formátu UTF-8.</translation> <translation id="2903070246402204397">Rozšíření <ph name="EXTENSION_NAME" /> (ID rozšíření <ph name="EXTENSION_ID" />) je blokováno administrátorem. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nepodařilo se nainstalovat balíček: <ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">Instalátor souborů ZIP</translation> <translation id="3115238746683532089">Neznámý produkt <ph name="PRODUCT_ID" /> od dodavatele <ph name="VENDOR_ID" /> (sériové číslo <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Nepodařilo se nahradit soubor CRX. Zkontrolujte, zda je tento soubor používán.</translation> <translation id="3163201441334626963">Neznámý produkt <ph name="PRODUCT_ID" /> od dodavatele <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Pro skript obsahu nelze načíst soubor CSS „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3369521687965833290">Rozšíření nelze rozbalit. Chcete-li rozšíření rozbalit bezpečně, musíte zadat cestu k adresáři profilu, která začíná písmenem diskové jednotky a neobsahuje spojení, přípojný bod ani symbolický odkaz symlink. Ve vašem profilu taková cesta neexistuje.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (sériové číslo <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> od dodavatele <ph name="VENDOR_ID" /> (sériové číslo <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Vstupní hodnota pro soukromý klíč musí být platná cesta.</translation> <translation id="388442998277590542">Nelze načíst stránku možností „<ph name="OPTIONS_PAGE" />“.</translation> <translation id="3984413272403535372">Při podepisování rozšíření došlo k chybě.</translation> +<translation id="39964277676607559">Pro skript obsahu nelze načíst soubor JavaScriptu „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4115165561519362854">Správce tohoto zařízení vyžaduje, aby rozšíření <ph name="EXTENSION_NAME" /> mělo verzi alespoň <ph name="EXTENSION_VERSION" />. Dokud nebude aktualizováno na tuto (nebo vyšší) verzi, nelze jej povolit.</translation> <translation id="4233778200880751280">Načtení stránky s informacemi <ph name="ABOUT_PAGE" /> se nezdařilo.</translation> <translation id="471800408830181311">Vytvoření soukromého klíče se nezdařilo.</translation>
diff --git a/extensions/strings/extensions_strings_da.xtb b/extensions/strings/extensions_strings_da.xtb index c41c873..429f6d0 100644 --- a/extensions/strings/extensions_strings_da.xtb +++ b/extensions/strings/extensions_strings_da.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Der findes allerede en CRX-fil med dette navn.</translation> <translation id="2753617847762399167">Ugyldig sti (absolut eller relativ med '..'): '<ph name="IMAGE_PATH" /> '</translation> <translation id="27822970480436970">Denne udvidelse kunne ikke ændre en netværksanmodning, fordi ændringen var i strid med en anden udvidelse.</translation> +<translation id="2785530881066938471">Filen '<ph name="RELATIVE_PATH" />' til indholdsscript kunne ikke indlæses. Det er ikke UTF-8-kodet.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (udvidelses-id "<ph name="EXTENSION_ID" />") er blokeret af administrator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Pakken kunne ikke installeres: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Installationsprogram til zip-filer</translation> <translation id="3115238746683532089">Ukendt produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Crx-filen kunne ikke erstattes. Tjek, om filen er i brug.</translation> <translation id="3163201441334626963">Ukendt produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Css '<ph name="RELATIVE_PATH" />' for indholdsscript kunne ikke indlæses.</translation> <translation id="3369521687965833290">Udvidelsen kunne ikke pakkes ud. Hvis du vil udpakke en udvidelse korrekt, skal der angives en sti til din profilmappe. Denne sti skal starte med et drevbogstav, og den må ikke indeholde et forbindelsespunkt, monteringspunkt eller symlink. Der findes ingen sådan sti for din profil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> fra leverandøren <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Indtastningsværdi for personlig nøgle skal være en gyldig sti.</translation> <translation id="388442998277590542">Siden med valgmuligheder '<ph name="OPTIONS_PAGE" />' kunne ikke indlæses.</translation> <translation id="3984413272403535372">Fejl under signering af udvidelse.</translation> +<translation id="39964277676607559">Javascriptet '<ph name="RELATIVE_PATH" />' til indholdsscript kunne ikke indlæses.</translation> <translation id="4115165561519362854">Administratoren af denne computer kræver, at <ph name="EXTENSION_NAME" /> har en minimumsversion af <ph name="EXTENSION_VERSION" />. Den kan ikke aktiveres, før den er blevet opdateret til den pågældende version (eller nyere).</translation> <translation id="4233778200880751280">Siden "<ph name="ABOUT_PAGE" />" kunne ikke indlæses.</translation> <translation id="471800408830181311">Den personlige nøgle kunne ikke udstedes.</translation>
diff --git a/extensions/strings/extensions_strings_de.xtb b/extensions/strings/extensions_strings_de.xtb index 570e4b8..4c94312 100644 --- a/extensions/strings/extensions_strings_de.xtb +++ b/extensions/strings/extensions_strings_de.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Es ist bereits eine CRX-Datei mit diesem Namen vorhanden.</translation> <translation id="2753617847762399167">Unzulässiger Pfad (absolut oder relativ mit ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Die Erweiterung konnte eine Netzwerkanfrage nicht modifizieren, da die Modifikation einen Konflikt mit einer anderen Erweiterung verursacht.</translation> +<translation id="2785530881066938471">Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden. Sie ist nicht UTF-8-codiert.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (Erweiterungs-ID "<ph name="EXTENSION_ID" />") wurde vom Administrator blockiert. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Paket konnte nicht installiert werden: "<ph name="ERROR_CODE" />".</translation> +<translation id="3097628171361913691">ZIP-Datei-Installationsprogramm</translation> <translation id="3115238746683532089">Unbekanntes Produkt <ph name="PRODUCT_ID" /> von Anbieter <ph name="VENDOR_ID" /> (Seriennummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">CRX-Datei konnte nicht ersetzt werden. Überprüfen Sie, ob die Datei verwendet wird.</translation> <translation id="3163201441334626963">Unbekanntes Produkt <ph name="PRODUCT_ID" /> von Anbieter <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">CSS-Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden.</translation> <translation id="3369521687965833290">Erweiterung kann nicht entpackt werden. Damit eine Erweiterung sicher entpackt werden kann, muss ein Pfad zu Ihrem Profilverzeichnis zur Verfügung stehen, der mit einem Laufwerksbuchstaben beginnt und keine Verknüpfung, keinen Bereitstellungspunkt und keine symbolische Verbindung enthält. Für Ihr Profil besteht kein solcher Pfad.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (Seriennummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> von Anbieter <ph name="VENDOR_ID" /> (Seriennummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Der Eingabewert für den privaten Schlüssel muss ein gültiger Pfad sein.</translation> <translation id="388442998277590542">Optionsseite "<ph name="OPTIONS_PAGE" />" konnte nicht geladen werden.</translation> <translation id="3984413272403535372">Fehler bei der Signatur der Erweiterung</translation> +<translation id="39964277676607559">JavaScript-Datei "<ph name="RELATIVE_PATH" />" konnte nicht für das Content-Skript geladen werden.</translation> <translation id="4115165561519362854">Der Administrator dieses Geräts hat festgelegt, dass für <ph name="EXTENSION_NAME" /> mindestens Version <ph name="EXTENSION_VERSION" /> installiert sein muss. Die Erweiterung kann erst aktiviert werden, nachdem sie auf diese oder eine höhere Version aktualisiert wurde.</translation> <translation id="4233778200880751280">Infoseite "<ph name="ABOUT_PAGE" />" konnte nicht geladen werden.</translation> <translation id="471800408830181311">Privater Schlüssel konnte nicht ausgegeben werden.</translation>
diff --git a/extensions/strings/extensions_strings_el.xtb b/extensions/strings/extensions_strings_el.xtb index d5d7df8c..05c4f2c3 100644 --- a/extensions/strings/extensions_strings_el.xtb +++ b/extensions/strings/extensions_strings_el.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Υπάρχει ήδη ένα αρχείο CRX με αυτό το όνομα.</translation> <translation id="2753617847762399167">Παράνομη διαδρομή (απόλυτη ή σχετική με ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Η επέκταση αυτή απέτυχε να τροποποιήσει ένα αίτημα δικτύου, επειδή η τροποποίηση ερχόταν σε σύγκρουση με μια άλλη προέκταση.</translation> +<translation id="2785530881066938471">Δεν ήταν δυνατή η φόρτωση του αρχείου "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου. Δεν έχει κωδικοποίηση UTF-8.</translation> <translation id="2903070246402204397">Η επέκταση <ph name="EXTENSION_NAME" /> (αναγνωριστικό επέκτασης "<ph name="EXTENSION_ID" />") έχει αποκλειστεί από τον διαχειριστή. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Δεν ήταν δυνατή η εγκατάσταση του πακέτου: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Εργαλείο εγκατάστασης συμπιεσμένων αρχείων</translation> <translation id="3115238746683532089">Άγνωστο προϊόν <ph name="PRODUCT_ID" /> από τον προμηθευτή <ph name="VENDOR_ID" /> (σειριακός αριθμός <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Αποτυχία αντικατάστασης αρχείου crx. Ελέγξτε αν το αρχείο χρησιμοποιείται.</translation> <translation id="3163201441334626963">Άγνωστο προϊόν <ph name="PRODUCT_ID" /> από τον προμηθευτή <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Δεν ήταν δυνατή η φόρτωση του css "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου.</translation> <translation id="3369521687965833290">Δεν είναι δυνατή η αποσυσκευασία επέκτασης. Για την ασφαλή αποσυσκευασία μιας επέκτασης, πρέπει να υπάρχει στον κατάλογο προφίλ σας μια διαδρομή που να ξεκινάει με ένα γράμμα μονάδας δίσκου και να μην περιέχει κάποιο σύνδεσμο, σημείο μονταρίσματος ή symlink (συντόμευση). Δεν υπάρχει τέτοια διαδρομή για το προφίλ σας.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (σειριακός ρυθμός <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> από τον προμηθευτή <ph name="VENDOR_ID" /> (σειριακός ρυθμός <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Η τιμή εισαγωγής για το ιδιωτικό κλειδί πρέπει να είναι έγκυρη διαδρομή.</translation> <translation id="388442998277590542">Δεν ήταν δυνατή η φόρτωση της σελίδας επιλογών "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Σφάλμα κατά την υπογραφή επέκτασης.</translation> +<translation id="39964277676607559">Δεν ήταν δυνατή η φόρτωση του javascript "<ph name="RELATIVE_PATH" />" για το σενάριο περιεχομένου.</translation> <translation id="4115165561519362854">Ο διαχειριστής αυτού του μηχανήματος απαιτεί από το <ph name="EXTENSION_NAME" /> να διαθέτει τουλάχιστον την έκδοση <ph name="EXTENSION_VERSION" />. Δεν μπορεί να ενεργοποιηθεί έως ότου ενημερωθεί σε αυτήν την έκδοση (ή σε μεταγενέστερη).</translation> <translation id="4233778200880751280">Δεν ήταν δυνατή η φόρτωση της σελίδας πληροφοριών "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Αποτυχία εξόδου ιδιωτικού κλειδιού.</translation>
diff --git a/extensions/strings/extensions_strings_en-GB.xtb b/extensions/strings/extensions_strings_en-GB.xtb index cb5a7845..049ecf0 100644 --- a/extensions/strings/extensions_strings_en-GB.xtb +++ b/extensions/strings/extensions_strings_en-GB.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">There is already a CRX file present with this name.</translation> <translation id="2753617847762399167">Illegal path (absolute or relative with '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">This extension failed to modify a network request because the modification conflicted with another extension.</translation> +<translation id="2785530881066938471">Could not load file '<ph name="RELATIVE_PATH" />' for content script. It isn't UTF-8 encoded.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (extension ID "<ph name="EXTENSION_ID" />") is blocked by the administrator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Could not install package: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3115238746683532089">Unknown product <ph name="PRODUCT_ID" /> from vendor <ph name="VENDOR_ID" /> (serial number <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Failed to replace crx file. Check to see if the file is in use.</translation> <translation id="3163201441334626963">Unknown product <ph name="PRODUCT_ID" /> from vendor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Could not load css '<ph name="RELATIVE_PATH" />' for content script.</translation> <translation id="3369521687965833290">Cannot unpack extension. To safely unpack an extension, there must be a path to your profile directory that starts with a drive letter and does not contain a junction, mount point or symlink. No such path exists for your profile.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serial number <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> from vendor <ph name="VENDOR_ID" /> (serial number <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Input value for private key must be a valid path.</translation> <translation id="388442998277590542">Could not load options page '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Error while signing extension.</translation> +<translation id="39964277676607559">Could not load JavaScript '<ph name="RELATIVE_PATH" />' for content script.</translation> <translation id="4115165561519362854">The administrator of this machine requires <ph name="EXTENSION_NAME" /> to have a minimum version of <ph name="EXTENSION_VERSION" />. It cannot be enabled until it has updated to that version (or higher).</translation> <translation id="4233778200880751280">Could not load about page '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Failed to output private key.</translation>
diff --git a/extensions/strings/extensions_strings_es-419.xtb b/extensions/strings/extensions_strings_es-419.xtb index 6b93b62..70720fc 100644 --- a/extensions/strings/extensions_strings_es-419.xtb +++ b/extensions/strings/extensions_strings_es-419.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Ya existe una archivo CRX con este nombre.</translation> <translation id="2753617847762399167">Ruta no válida (absoluta o relativa con '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Esta extensión no pudo modificar una solicitud de red porque la modificación provocaba un conflicto con otra extensión.</translation> +<translation id="2785530881066938471">No se pudo cargar el archivo "<ph name="RELATIVE_PATH" />" para la secuencia de comandos del contenido. No está codificado en UTF-8.</translation> <translation id="2903070246402204397">El administrador bloqueó la extensión <ph name="EXTENSION_NAME" /> (ID de extensión "<ph name="EXTENSION_ID" />"). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">No se pudo instalar el paquete: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Instalador de archivos comprimidos</translation> <translation id="3115238746683532089">Producto desconocido <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /> (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">No se pudo reemplazar el archivo crx. Comprueba si el archivo está en uso.</translation> <translation id="3163201441334626963">Producto desconocido <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">No se pudo cargar <ph name="RELATIVE_PATH" /> css para la secuencia de comandos del contenido.</translation> <translation id="3369521687965833290">No se puede desempaquetar la extensión. Para desempaquetar una extensión de manera segura, debe haber una ruta de acceso al directorio de tu perfil que comience con una letra de unidad y que no contenga una unión, un punto de montaje ni un symlink. No existe esa ruta de acceso para tu perfil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> del proveedor <ph name="VENDOR_ID" /> (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">El valor de entrada de la clave privada debe ser una ruta válida.</translation> <translation id="388442998277590542">No se pudo cargar la página de opciones '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Error al firmar extensión.</translation> +<translation id="39964277676607559">No se pudo cargar JavaScript <ph name="RELATIVE_PATH" /> css para la secuencia de comandos del contenido.</translation> <translation id="4115165561519362854">El administrador de esta computadora requiere una versión de <ph name="EXTENSION_NAME" /> no anterior a <ph name="EXTENSION_VERSION" />. No se puede habilitar hasta que se haya actualizado a dicha versión (o versiones posteriores).</translation> <translation id="4233778200880751280">No se pudo cargar la página de información "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Error al emitir clave privada.</translation>
diff --git a/extensions/strings/extensions_strings_es.xtb b/extensions/strings/extensions_strings_es.xtb index 8da7fb1d..427ef821 100644 --- a/extensions/strings/extensions_strings_es.xtb +++ b/extensions/strings/extensions_strings_es.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Ya existe un archivo CRX con este nombre.</translation> <translation id="2753617847762399167">Ruta no válida (absoluta o relativa con ".."): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Esta extensión no ha podido modificar una solicitud de red porque existe un conflicto con otra extensión.</translation> +<translation id="2785530881066938471">No se ha podido cargar el archivo "<ph name="RELATIVE_PATH" />" para el script de contenido. No está codificado con UTF-8.</translation> <translation id="2903070246402204397">El administrador ha bloqueado la extensión <ph name="EXTENSION_NAME" /> (ID de extensión "<ph name="EXTENSION_ID" />"). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">No se ha podido instalar el paquete: "<ph name="ERROR_CODE" />".</translation> +<translation id="3097628171361913691">Instalador de archivos .zip</translation> <translation id="3115238746683532089">Producto <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /> desconocido (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">No se ha podido sustituir el archivo .crx. Comprueba si se está utilizando el archivo.</translation> <translation id="3163201441334626963">Producto <ph name="PRODUCT_ID" /> del proveedor <ph name="VENDOR_ID" /> desconocido</translation> +<translation id="3302709122321372472">No se ha podido cargar el archivo CSS "<ph name="RELATIVE_PATH" />" para el script de contenido.</translation> <translation id="3369521687965833290">No se puede descomprimir la extensión. Para descomprimir de forma segura una extensión, debe existir una ruta al directorio de tu perfil que comience con una letra de unidad y que no incluya ninguna unión, ningún punto de montaje ni ningún enlace simbólico. No existe ninguna ruta de este tipo para tu perfil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> del proveedor <ph name="VENDOR_ID" /> (número de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">El valor de entrada de la clave privada debe ser una ruta válida.</translation> <translation id="388442998277590542">No se ha podido cargar la página de opciones "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Se ha producido un error al firmar la extensión.</translation> +<translation id="39964277676607559">No se ha podido cargar la ruta "<ph name="RELATIVE_PATH" />" de JavaScript para el script de contenido.</translation> <translation id="4115165561519362854">El administrador de este equipo requiere que <ph name="EXTENSION_NAME" /> tenga como mínimo la versión <ph name="EXTENSION_VERSION" />. No se puede habilitar hasta que se haya actualizado a esa versión (o superior).</translation> <translation id="4233778200880751280">No se ha podido cargar la página de información (<ph name="ABOUT_PAGE" />).</translation> <translation id="471800408830181311">Se ha producido un error al generar la clave privada.</translation>
diff --git a/extensions/strings/extensions_strings_et.xtb b/extensions/strings/extensions_strings_et.xtb index 3235ac0..7610605 100644 --- a/extensions/strings/extensions_strings_et.xtb +++ b/extensions/strings/extensions_strings_et.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Selle nimega CRX-fail on juba olemas.</translation> <translation id="2753617847762399167">Keelatud tee (absoluutne või suhteline üksusega '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Laiendusel ei õnnestunud võrgutaotlust muuta, kuna muutmisel tekkis vastuolu muu laiendusega.</translation> +<translation id="2785530881066938471">Sisuskripti jaoks ei õnnestunud laadida faili <ph name="RELATIVE_PATH" />, kuna sellel ei ole UTF-8 kodeeringut.</translation> <translation id="2903070246402204397">Laienduse <ph name="EXTENSION_NAME" /> (laienduse ID „<ph name="EXTENSION_ID" />”) blokeeris administraator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Paketti ei saanud installida: „<ph name="ERROR_CODE" />”</translation> +<translation id="3097628171361913691">ZIP-faili installija</translation> <translation id="3115238746683532089">Tundmatu toode <ph name="PRODUCT_ID" /> teenusepakkujalt <ph name="VENDOR_ID" /> (seerianumber <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx-faili asendamine ebaõnnestus. Kontrollige, kas fail on kasutusel.</translation> <translation id="3163201441334626963">Tundmatu toode <ph name="PRODUCT_ID" /> teenusepakkujalt <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Sisuskripti jaoks ei õnnestunud laadida üksust css <ph name="RELATIVE_PATH" />.</translation> <translation id="3369521687965833290">Laiendust ei saanud lahti pakkida. Laienduse turvaliseks lahtipakkimiseks peab olema tee teie profiili kataloogi, mis algab ketast tähistava tähega ja milles ei ole sõlme, paigalduspunkti või symlinki. Sellist teed teie profiilil ei ole.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (seerianumber <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">Toode <ph name="PRODUCT_NAME" /> teenusepakkujalt <ph name="VENDOR_ID" /> (seerianumber <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Privaatvõtme sisendi väärtus peab olema kehtiv tee.</translation> <translation id="388442998277590542">Valikute lehte <ph name="OPTIONS_PAGE" /> ei õnnestunud laadida.</translation> <translation id="3984413272403535372">Laienduse allkirjastamisel ilmnes viga.</translation> +<translation id="39964277676607559">Sisuskripti jaoks ei õnnestunud laadida JavaScripti <ph name="RELATIVE_PATH" />.</translation> <translation id="4115165561519362854">Seadme administraator nõuab, et kasutaksite laienduse <ph name="EXTENSION_NAME" /> puhul vähemalt versiooni <ph name="EXTENSION_VERSION" />. Laiendust ei saa lubada enne, kui see on värskendatud sellele versioonile (või uuemale versioonile).</translation> <translation id="4233778200880751280">Teabelehte „<ph name="ABOUT_PAGE" />” ei õnnestunud laadida.</translation> <translation id="471800408830181311">Privaatvõtit ei õnnestunud väljastada.</translation>
diff --git a/extensions/strings/extensions_strings_fa.xtb b/extensions/strings/extensions_strings_fa.xtb index e28b34c..6d10fbb0 100644 --- a/extensions/strings/extensions_strings_fa.xtb +++ b/extensions/strings/extensions_strings_fa.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">یک فایل CRX در حال حاضر با این نام وجود دارد.</translation> <translation id="2753617847762399167">مسیر غیرمجاز (مطلق یا نسبی با «..»): «<ph name="IMAGE_PATH" />»</translation> <translation id="27822970480436970">این برنامهٔ افزودنی قادر به تغییر درخواست شبکه به دلیل تغییری متداخل با یک برنامهٔ افزودنی دیگر نیست.</translation> +<translation id="2785530881066938471">بارگیری فایل "<ph name="RELATIVE_PATH" />" برای اسکریپت محتوا ممکن نیست. رمزگذاری آن UTF-8 نیست.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (شناسه افزونه «<ph name="EXTENSION_ID" />») توسط سرپرست مسدود شده است. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">بسته نصب نشد: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">نصبکننده فایل زیپ</translation> <translation id="3115238746683532089">محصول نامشخص <ph name="PRODUCT_ID" /> از فروشنده <ph name="VENDOR_ID" /> (شماره سریال <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">فایل crx جایگزین نشد. بررسی کنید که آیا فایل در حال استفاده است یا نه.</translation> <translation id="3163201441334626963">محصول نامشخص <ph name="PRODUCT_ID" /> از فروشنده <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">بارگیری "<ph name="RELATIVE_PATH" />" css برای اسکریپت محتوا ممکن نیست.</translation> <translation id="3369521687965833290">بسته برنامهٔ افزودنی را نمیتوان باز کرد. برای باز کردن ایمن برنامهٔ افزودنی، باید یک مسیر در فهرست نمایهٔ شما وجود داشته باشد که با یک حرف درایو آغاز شود و فاقد یک خط اتصال، نقطه اتصال و پیوند نمادی باشد. چنین مسیری برای نمایهٔ شما وجود ندارد.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (شماره سریال <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> از فروشنده <ph name="VENDOR_ID" /> (شماره سریال <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">مقدار ورودی برای کلید خصوصی باید یک مسیر معتبر باشد.</translation> <translation id="388442998277590542">صفحه گزینهها "<ph name="OPTIONS_PAGE" />" بارگیری نشد.</translation> <translation id="3984413272403535372">هنگام امضای برنامهٔ افزودنی خطا رخ داد.</translation> +<translation id="39964277676607559">بارگیری جاوا اسکریپت "<ph name="RELATIVE_PATH" />" برای اسکریپت محتوا ممکن نیست.</translation> <translation id="4115165561519362854">طبق دستور سرپرست این دستگاه باید نسخه <ph name="EXTENSION_NAME" /> حداقل <ph name="EXTENSION_VERSION" /> باشد. تا زمانی که به آن نسخه (یا بالاتر) بهروزرسانی نشود نمیتوان آن را فعال کرد.</translation> <translation id="4233778200880751280">صفحه درباره «<ph name="ABOUT_PAGE" />» بارگیری نشد.</translation> <translation id="471800408830181311">ارسال کلید خصوصی ناموفق بود.</translation>
diff --git a/extensions/strings/extensions_strings_fi.xtb b/extensions/strings/extensions_strings_fi.xtb index 751f8e3..a3d5e28 100644 --- a/extensions/strings/extensions_strings_fi.xtb +++ b/extensions/strings/extensions_strings_fi.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Tämän niminen CRX-tiedosto on jo olemassa.</translation> <translation id="2753617847762399167">Luvaton polku (absoluuttinen tai kohteeseen '..' liittyvä): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Tämä laajennus ei voinut muuttaa verkkopyyntöä, koska muutos on ristiriidassa toisen laajennuksen kanssa.</translation> +<translation id="2785530881066938471">Sisältökomentosarjan tiedoston <ph name="RELATIVE_PATH" /> lataus epäonnistui, sillä tiedoston merkistökoodaus ei ole UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (tunnus <ph name="EXTENSION_ID" />) on järjestelmänvalvojan estämä. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Paketin <ph name="ERROR_CODE" /> asentaminen epäonnistui.</translation> +<translation id="3097628171361913691">Zip-tiedostojen purkaja</translation> <translation id="3115238746683532089">Tuntematon tuote <ph name="PRODUCT_ID" /> toimittajalta <ph name="VENDOR_ID" /> (sarjanumero <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">CRX-tiedoston korvaaminen epäonnistui. Tarkista, onko tiedosto käytössä.</translation> <translation id="3163201441334626963">Tuntematon tuote <ph name="PRODUCT_ID" /> toimittajalta <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">css-tiedoston <ph name="RELATIVE_PATH" /> lataaminen sisältöohjelmalle epäonnistui.</translation> <translation id="3369521687965833290">Laajennuksen purkaminen epäonnistui. Voit purkaa laajennuksen määrittämällä polun profiilihakemistoon, joka alkaa kiintolevyn kirjaimella eikä sisällä liitos- tai liityntäkohtaa tai symlink-määritettä. Profiilissasi ei ole kyseistä polkua.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (sarjanumero <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> toimittajalta <ph name="VENDOR_ID" /> (sarjanumero <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Yksityisen avaimen syötearvon täytyy olla kelvollinen polku.</translation> <translation id="388442998277590542">Asetussivun <ph name="OPTIONS_PAGE" /> lataaminen epäonnistui.</translation> <translation id="3984413272403535372">Virhe allekirjoittaessa varmennetta.</translation> +<translation id="39964277676607559">JavaScript-tiedoston <ph name="RELATIVE_PATH" /> lataaminen sisältöohjelmalle epäonnistui.</translation> <translation id="4115165561519362854">Tämän laitteen järjestelmänvalvoja edellyttää laajennuksen <ph name="EXTENSION_NAME" /> version olevan vähintään <ph name="EXTENSION_VERSION" />. Laajennusta ei voida ottaa käyttöön ennen kuin se on päivitetty kyseiseen tai sitä uudempaan versioon.</translation> <translation id="4233778200880751280">Tietosivun <ph name="ABOUT_PAGE" /> lataus epäonnistui.</translation> <translation id="471800408830181311">Yksityisen avaimen tulostus ei onnistunut.</translation>
diff --git a/extensions/strings/extensions_strings_fil.xtb b/extensions/strings/extensions_strings_fil.xtb index 5dbdf373..ab7e51da 100644 --- a/extensions/strings/extensions_strings_fil.xtb +++ b/extensions/strings/extensions_strings_fil.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Mayroon nang isang CRX file na may ganitong pangalan.</translation> <translation id="2753617847762399167">Ilegal na daanan (ganap o may kaugnayan sa '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Nabigong bawiin ng extension na ito ang isang kahilingan ng network dahil sumalungat ang pagbabago sa isa pang extension.</translation> +<translation id="2785530881066938471">Hindi ma-load ang file na '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman. Hindi ito naka-encode bilang UTF-8.</translation> <translation id="2903070246402204397">Na-block ng administrator ang <ph name="EXTENSION_NAME" /> (extension ID "<ph name="EXTENSION_ID" />"). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Hindi ma-install ang package: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Pang-install ng Zip File</translation> <translation id="3115238746683532089">Hindi kilalang produkto na <ph name="PRODUCT_ID" /> mula sa vendor na <ph name="VENDOR_ID" /> (serial number na <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Nabigong palitan ang crx na file. Tingnan upang malaman kung ginagamit ang file.</translation> <translation id="3163201441334626963">Hindi kilalang produkto na <ph name="PRODUCT_ID" /> mula sa vendor na <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Hindi ma-load ang css '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman.</translation> <translation id="3369521687965833290">Hindi ma-unpack ang extension. Upang ligtas na ma-unpack ang isang extension, dapat na mayroong daanan patungo sa iyong direktoryo ng profile na nagsisimula sa isang drive letter at walang nilalamang junction, mount point, o symlink. Walang ganoong daanan ang umiiral para sa iyong profile.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serial number na <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> mula sa vendor na <ph name="VENDOR_ID" /> (serial number na <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Dapat na wastong path ang input na halaga para sa pribadong key.</translation> <translation id="388442998277590542">Hindi ma-load ang pahina ng mga pagpipilian na '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Nagka-error habang linalagdaan ang extension.</translation> +<translation id="39964277676607559">Maaaring hindi mai-load ang javascript '<ph name="RELATIVE_PATH" />' para sa script ng nilalaman.</translation> <translation id="4115165561519362854">Iniaatas ng administrator ng computer na ito sa <ph name="EXTENSION_NAME" /> na magkaroon ng minimum na bersyon na <ph name="EXTENSION_VERSION" />. Hindi ito mae-enable hanggang sa ma-update ito sa bersyong iyon (o mas bago).</translation> <translation id="4233778200880751280">Hindi ma-load ang page na tungkol dito na '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Nabigong ilabas ang pribadong key.</translation>
diff --git a/extensions/strings/extensions_strings_fr.xtb b/extensions/strings/extensions_strings_fr.xtb index d2bdd56..f075d9e9 100644 --- a/extensions/strings/extensions_strings_fr.xtb +++ b/extensions/strings/extensions_strings_fr.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Un autre fichier CRX portant le même nom existe déjà.</translation> <translation id="2753617847762399167">Chemin (absolu ou par rapport à "..") non valide : "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Cette extension n'a pas réussi à modifier une requête réseau, car la modification était en conflit avec une autre extension.</translation> +<translation id="2785530881066938471">Impossible de charger le fichier "<ph name="RELATIVE_PATH" />" pour le script de contenu, car ce fichier n'est pas codé en UTF-8.</translation> <translation id="2903070246402204397">L'administrateur a bloqué l'extension <ph name="EXTENSION_NAME" /> (ID : <ph name="EXTENSION_ID" />). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Impossible d'installer le package : "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Décompression de fichiers .zip</translation> <translation id="3115238746683532089">Produit inconnu <ph name="PRODUCT_ID" /> du fournisseur <ph name="VENDOR_ID" /> (numéro de série : <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Échec lors du remplacement du fichier CRX. Vérifiez qu'il n'est pas en cours d'utilisation.</translation> <translation id="3163201441334626963">Produit inconnu <ph name="PRODUCT_ID" /> du fournisseur <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Impossible de charger le fichier css "<ph name="RELATIVE_PATH" />" du script de contenu.</translation> <translation id="3369521687965833290">Impossible d'extraire les fichiers de l'extension. Pour effectuer cette opération en toute sécurité, vous devez disposer d'un chemin d'accès à votre répertoire de profils commençant par une lettre de lecteur et ne contenant ni jonction, ni point de montage, ni lien symbolique. Aucun chemin de ce type n'existe pour votre profil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (numéro de série : <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> du fournisseur <ph name="VENDOR_ID" /> (numéro de série : <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Vous devez indiquer un chemin valide comme valeur de clé privée.</translation> <translation id="388442998277590542">Impossible de charger la page d'options "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Erreur lors de la signature de l'extension</translation> +<translation id="39964277676607559">Impossible de charger le JavaScript "<ph name="RELATIVE_PATH" />" du script de contenu.</translation> <translation id="4115165561519362854">L'administrateur de cette machine exige que <ph name="EXTENSION_NAME" /> dispose, au minimum, de la version <ph name="EXTENSION_VERSION" />. L'activation sera impossible tant que la mise à jour vers cette version (ou une version ultérieure) n'aura pas été effectuée.</translation> <translation id="4233778200880751280">Impossible de charger la page "À propos" <ph name="ABOUT_PAGE" />.</translation> <translation id="471800408830181311">Échec de création de clé privée</translation>
diff --git a/extensions/strings/extensions_strings_gu.xtb b/extensions/strings/extensions_strings_gu.xtb index 1a66f87..1ed3989cf 100644 --- a/extensions/strings/extensions_strings_gu.xtb +++ b/extensions/strings/extensions_strings_gu.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">આ નામવાળી એક CRX ફાઇલ પહેલાથી જ અસ્તિત્વમાં છે.</translation> <translation id="2753617847762399167">ગેરકાયદેસર પાથ (નિરપેક્ષ અથવા '..' સાથે સંબંધિત): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">આ એક્સ્ટેંશન નેટવર્ક વિનંતીનું સંશોધન કરવામાં નિષ્ફળ રહ્યું છે કારણ કે સંશોધન બીજા એક્સ્ટેંશનથી વિરોધાભાસી છે.</translation> +<translation id="2785530881066938471">સામગ્રી સ્ક્રિપ્ટ માટે '<ph name="RELATIVE_PATH" />' ફાઇલ લોડ કરી શકાઈ નથી. તે UTF-8 એન્કોડેડ નથી.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (એક્સ્ટેન્શન ID "<ph name="EXTENSION_ID" />")ને વ્યવસ્થાપક દ્વારા અવરોધિત કરવામાં આવેલ છે. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">પૅકેજ ઇન્સ્ટોલ કરી શકાયું નહીં: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">ઝિપ ફાઇલ ઇન્સ્ટોલર</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> વિક્રેતાનું અજાણ્યું ઉત્પાદન <ph name="PRODUCT_ID" /> (શૃંખલા ક્રમાંક <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ફાઇલ બદલવામાં નિષ્ફળ થયું. ફાઇલ ઉપયોગમાં છે કે નહીં તે જોવા માટે તપાસો.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> વિક્રેતાનું અજાણ્યું ઉત્પાદન <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">સામગ્રી સ્ક્રિપ્ટ માટે css '<ph name="RELATIVE_PATH" />' લોડ કરી શકાયું નથી.</translation> <translation id="3369521687965833290">એક્સ્ટેંશન અનપૅક કરી શકાતું નથી. એક્સ્ટેંશનને સુરક્ષિત રીતે અનપૅક કરવા માટે, તમારી પ્રોફાઇલ નિર્દેશિકાનો પાથ હોવો જોઈએ જે ડ્રાઇવ અક્ષરથી શરૂ થતો હોય અને કોઈ જંક્શન, માઉન્ટ પોઇન્ટ અથવા સિમલિંક ધરાવતો ન હોય. આવો કોઈ પાથ તમારી પ્રોફાઇલ માટે અસ્તિત્વમાં નથી.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (શૃંખલા ક્રમાંક <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> વિક્રેતા તરફથી <ph name="PRODUCT_NAME" /> (શૃંખલા ક્રમાંક <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ખાનગી કી માટેનું ઇનપુટ મૂલ્ય એ એક માન્ય પાથ હોવો આવશ્યક છે.</translation> <translation id="388442998277590542">વિકલ્પોનું પૃષ્ઠ '<ph name="OPTIONS_PAGE" />' લોડ કરી શકાયું નથી.</translation> <translation id="3984413272403535372">એક્સટેંશન હસ્તાક્ષરિત કરતી વખતે ભૂલ.</translation> +<translation id="39964277676607559">સામગ્રી સ્ક્રિપ્ટ માટે JavaScript '<ph name="RELATIVE_PATH" />' લોડ કરી શકાયું નથી.</translation> <translation id="4115165561519362854">આ મશીનનાં વ્યવસ્થાપકને <ph name="EXTENSION_VERSION" /> ના ન્યૂનતમ સંસ્કરણ માટે <ph name="EXTENSION_NAME" /> ની જરૂર છે. તે જ્યાં સુધી તે સંસ્કરણ (અથવા તે પછીના) પર અપડેટ ન થાય ત્યાં સુધી સક્ષમ થઈ શકતું નથી.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' વિશે પૃષ્ઠ લોડ કરી શકાયું નથી.</translation> <translation id="471800408830181311">ખાનગી કી બનાવવામાં નિષ્ફળ.</translation>
diff --git a/extensions/strings/extensions_strings_hi.xtb b/extensions/strings/extensions_strings_hi.xtb index 87f2f42..eac5860d5 100644 --- a/extensions/strings/extensions_strings_hi.xtb +++ b/extensions/strings/extensions_strings_hi.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">इस नाम वाली CRX फ़ाइल पहले से ही मौजूद है.</translation> <translation id="2753617847762399167">गलत पथ (पूर्ण या '..' से संबंधित): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">यह एक्सटेंशन, नेटवर्क अनुरोध संशोधित करने में विफल रहा क्योंकि संशोधन का अन्य एक्सटेंशन के साथ विरोध हुआ.</translation> +<translation id="2785530881066938471">सामग्री स्क्रिप्ट के लिए '<ph name="RELATIVE_PATH" />' फ़ाइल लोड नहीं कर सका. यह UTF-8 एनकोड नहीं है.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (एक्सटेंशन आईडी "<ph name="EXTENSION_ID" />") को व्यवस्थापक ने अवरोधित किया है. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">पैकेज इंस्टॉल नहीं कर सका: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">ज़िप फ़ाइल इंस्टॉलर</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> (क्रमांक <ph name="SERIAL_NUMBER" />) विक्रेता की ओर से <ph name="PRODUCT_ID" /> अज्ञात उत्पाद</translation> <translation id="3144135466825225871">crx फ़ाइल बदलने में विफल. यह देखने के लिए जाँच करें कि क्या फ़ाइल उपयोग में है.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> की ओर से अज्ञात <ph name="PRODUCT_ID" /> उत्पाद</translation> +<translation id="3302709122321372472">सामग्री स्क्रिप्ट के लिए css '<ph name="RELATIVE_PATH" />' लोड नहीं कर सका.</translation> <translation id="3369521687965833290">एक्सटेंशन को अनपैक नहीं कर सका. किसी एक्सटेंशन को सुरक्षित रूप से अनपैक करने के लिए आपकी प्रोफ़ाइल निर्देशिका में एक ऐसा पथ होना आवश्यक है, जिसमें कोई सिमलिंक न हो. ऐसा कोई भी पथ आपकी प्रोफ़ाइल के लिए मौजूद नहीं है.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (क्रमांक <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> (क्रमांक <ph name="SERIAL_NUMBER" />) विक्रेता की ओर से <ph name="PRODUCT_NAME" /></translation> <translation id="3561217442734750519">निजी कुंजी के लिए इनपुट मान एक मान्य पथ होना चाहिए.</translation> <translation id="388442998277590542">विकल्प पेज '<ph name="OPTIONS_PAGE" />' लोड नहीं कर सका.</translation> <translation id="3984413272403535372">एक्सटेंशन हस्ताक्षरित करते समय गड़बड़ी आई.</translation> +<translation id="39964277676607559">सामग्री स्क्रिप्ट के लिए javascript '<ph name="RELATIVE_PATH" />' लोड नहीं कर सका.</translation> <translation id="4115165561519362854">इस मशीन का नियंत्रक चाहता है कि <ph name="EXTENSION_NAME" /> के पास <ph name="EXTENSION_VERSION" /> का एक न्यूनतम वर्शन हो. इसे तब तक सक्षम नहीं किया जा सकता जब तक कि उसे उस वर्शन (या बाद वाले वर्शन) में अपडेट ना कर दिया गया हो.</translation> <translation id="4233778200880751280">संक्षिप्त विवरण पेज '<ph name="ABOUT_PAGE" />' लोड नहीं हो सका.</translation> <translation id="471800408830181311">निजी कुंजी आउटपुट करने में विफल.</translation>
diff --git a/extensions/strings/extensions_strings_hr.xtb b/extensions/strings/extensions_strings_hr.xtb index 3939280..6b09a66d0 100644 --- a/extensions/strings/extensions_strings_hr.xtb +++ b/extensions/strings/extensions_strings_hr.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Već postoji CRX datoteka s takvim nazivom.</translation> <translation id="2753617847762399167">Neispravna putanja (apsolutna ili relativna u odnosu na ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Ovo proširenje nije uspjelo izmijeniti mrežni zahtjev jer je izmjena u sukobu s drugim proširenjem.</translation> +<translation id="2785530881066938471">Nije bilo moguće učitati datoteku "<ph name="RELATIVE_PATH" />" za skriptu sadržaja. Nema UTF-8 kodiranje.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID proširenja "<ph name="EXTENSION_ID" />") blokirao je administrator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nije moguće instaliranje paketa: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Program za instaliranje zip datoteka</translation> <translation id="3115238746683532089">Nepoznati proizvod <ph name="PRODUCT_ID" /> dobavljača <ph name="VENDOR_ID" /> (serijski broj <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Zamjena CRX datoteke nije uspjela. Provjerite je li datoteka u upotrebi.</translation> <translation id="3163201441334626963">Nepoznati proizvod <ph name="PRODUCT_ID" /> dobavljača <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Nije uspjelo učitavanje CSS-a "<ph name="RELATIVE_PATH" />" za sadržajnu skriptu.</translation> <translation id="3369521687965833290">Ne mogu otpakirati proširenje. Kako biste sigurno otpakirali proširenje, mora postojati putanja do direktorija vašeg profila koja počinje slovom pogona i ne sadrži spoj, točku povezivanja ili simboličku vezu. Za vaš profil ne postoji takva putanja.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serijski broj <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> dobavljača <ph name="VENDOR_ID" /> (serijski broj <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Vrijednost unosa osobnog ključa mora biti valjana putanja.</translation> <translation id="388442998277590542">Nije uspjelo učitavanje stranice opcija "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Došlo je do pogreške tijekom potpisivanja proširenja.</translation> +<translation id="39964277676607559">Nije uspjelo učitavanje javascripta "<ph name="RELATIVE_PATH" />" za sadržajnu skriptu.</translation> <translation id="4115165561519362854">Administrator ovog uređaja zahtijeva da <ph name="EXTENSION_NAME" /> ima minimalnu verziju <ph name="EXTENSION_VERSION" />. Ne može se omogućiti dok se ne ažurira na tu ili višu verziju.</translation> <translation id="4233778200880751280">Nije uspjelo učitavanje stranice s informacijama "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Izvoz osobnog ključa nije uspio.</translation>
diff --git a/extensions/strings/extensions_strings_hu.xtb b/extensions/strings/extensions_strings_hu.xtb index a8cf4464..bf1c680 100644 --- a/extensions/strings/extensions_strings_hu.xtb +++ b/extensions/strings/extensions_strings_hu.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Már van egy CRX-fájl ilyen névvel.</translation> <translation id="2753617847762399167">Szabálytalan útvonal (abszolút vagy relatív „..” taggal): „<ph name="IMAGE_PATH" />”</translation> <translation id="27822970480436970">A bővítmény nem tudta módosítani a hálózati lekérést, mivel a módosítás egy másik bővítménnyel ütközött.</translation> +<translation id="2785530881066938471">A(z) '<ph name="RELATIVE_PATH" />' fájlt nem lehet betölteni tartalomszkriptre, mert nem UTF-8 kódolású.</translation> <translation id="2903070246402204397">A(z) <ph name="EXTENSION_NAME" /> bővítményt (bővítményazonosító: <ph name="EXTENSION_ID" />) tiltja a rendszergazda. <ph name="ADMIN_INFO" />.</translation> <translation id="2988488679308982380">Nem sikerült a következő csomag telepítése: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">ZIP-fájl telepítő</translation> <translation id="3115238746683532089">Ismeretlen termék (<ph name="PRODUCT_ID" />) <ph name="VENDOR_ID" /> szolgáltatótól (sorozatszám: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Nem sikerült lecserélni a crx-fájlt. Ellenőrizze, hogy nincs-e használatban a fájl.</translation> <translation id="3163201441334626963">Ismeretlen termék (<ph name="PRODUCT_ID" />) a következő forgalmazótól: <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">A(z) '<ph name="RELATIVE_PATH" />' css nem tölthető be a tartalomszkripthez.</translation> <translation id="3369521687965833290">Nem lehet kicsomagolni a bővítményt. A bővítmények biztonságos kicsomagolásához kell lennie egy olyan elérési útnak a profilkönyvtárban, amely egy meghajtó betűjelével kezdődik, és nem tartalmaz közvetett hivatkozást (junction vagy symlink) vagy csatolási pontot. Ilyen elérési út nem létezik a profiljában.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (sorozatszám: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> termék a következő forgalmazótól: <ph name="VENDOR_ID" /> (sorozatszám: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">A privát kulcs beviteli értékéhez érvényes útvonalat kell megadnia.</translation> <translation id="388442998277590542">Nem lehet betölteni a(z) "<ph name="OPTIONS_PAGE" />" opcióoldalt.</translation> <translation id="3984413272403535372">Hiba történt a bővítmények aláírása során.</translation> +<translation id="39964277676607559">A(z) '<ph name="RELATIVE_PATH" />' javascript nem tölthető be a tartalomszkripthez.</translation> <translation id="4115165561519362854">A gép rendszergazdája előírta, hogy a(z) <ph name="EXTENSION_NAME" /> bővítmény verziója legalább <ph name="EXTENSION_VERSION" /> legyen. Nem kapcsolható be addig, amíg nincs frissítve erre a verzióra (vagy újabbra).</translation> <translation id="4233778200880751280">A(z) „<ph name="ABOUT_PAGE" />” névjegyoldal betöltése sikertelen volt.</translation> <translation id="471800408830181311">Nem sikerült a privát kulcs kiírása.</translation>
diff --git a/extensions/strings/extensions_strings_id.xtb b/extensions/strings/extensions_strings_id.xtb index 5def069..0490c41 100644 --- a/extensions/strings/extensions_strings_id.xtb +++ b/extensions/strings/extensions_strings_id.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Sudah ada file CRX dengan nama ini.</translation> <translation id="2753617847762399167">jalur ilegal (mutlak atau relatif dengan '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Ekstensi ini gagal memodifikasi permintaan jaringan karena modifikasi bentrok dengan ekstensi lain.</translation> +<translation id="2785530881066938471">Tidak dapat memuat file '<ph name="RELATIVE_PATH" />' untuk skrip konten. File ini tidak bersandiaksara UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID ekstensi "<ph name="EXTENSION_ID" />") diblokir oleh administrator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Tidak dapat memasang paket: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Pemasang File Zip</translation> <translation id="3115238746683532089">Produk <ph name="PRODUCT_ID" /> tak dikenal dari vendor <ph name="VENDOR_ID" /> (nomor seri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Gagal mengganti file crx. Cek apakah file sedang digunakan.</translation> <translation id="3163201441334626963">Produk <ph name="PRODUCT_ID" /> tak dikenal dari vendor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Tidak dapat memuat css '<ph name="RELATIVE_PATH" />' untuk skrip konten.</translation> <translation id="3369521687965833290">Tidak dapat membuka paket ekstensi. Untuk membuka paket ekstensi dengan aman, harus tersedia jalur ke direktori profil Anda yang mulai dengan sebuah huruf drive dan tidak berisi junction point, mount point, atau link simbolik. Tidak ada jalur yang seperti itu untuk profil Anda.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (nomor seri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> dari vendor <ph name="VENDOR_ID" /> (nomor seri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Nilai masukan untuk kunci pribadi harus jalur yang valid.</translation> <translation id="388442998277590542">Tidak dapat memuat halaman opsi '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Kesalahan ketika menandai ekstensi.</translation> +<translation id="39964277676607559">Tidak dapat memuat javascript '<ph name="RELATIVE_PATH" />' untuk skrip konten.</translation> <translation id="4115165561519362854">Administrator perangkat ini mewajibkan <ph name="EXTENSION_NAME" /> untuk menjalankan versi minimum <ph name="EXTENSION_VERSION" />. Ekstensi tidak dapat diaktifkan sampai diperbarui ke versi tersebut (atau yang lebih tinggi).</translation> <translation id="4233778200880751280">Tidak dapat memuat halaman tentang '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Gagal mengeluarkan kunci pribadi.</translation>
diff --git a/extensions/strings/extensions_strings_it.xtb b/extensions/strings/extensions_strings_it.xtb index 91aaca7f..7a95b001 100644 --- a/extensions/strings/extensions_strings_it.xtb +++ b/extensions/strings/extensions_strings_it.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Esiste già un file CRX con questo nome.</translation> <translation id="2753617847762399167">Percorso non valido (assoluto o relativo con ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Questa estensione non è riuscita a modificare una richiesta di rete perché la modifica era in conflitto con un'altra estensione.</translation> +<translation id="2785530881066938471">Impossibile caricare il file "<ph name="RELATIVE_PATH" />" per la trascrizione dei contenuti. Non è codificato in UTF-8.</translation> <translation id="2903070246402204397">L'estensione <ph name="EXTENSION_NAME" /> (ID "<ph name="EXTENSION_ID" />") è stata bloccata dall'amministratore. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Impossibile installare il pacchetto: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3115238746683532089">Prodotto sconosciuto <ph name="PRODUCT_ID" /> del fornitore <ph name="VENDOR_ID" /> (numero di serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Impossibile sostituire il file crx. Controlla se il file è in uso.</translation> <translation id="3163201441334626963">Prodotto sconosciuto <ph name="PRODUCT_ID" /> del fornitore <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Impossibile caricare css "<ph name="RELATIVE_PATH" />" per script contenuti.</translation> <translation id="3369521687965833290">Impossibile decomprimere l'estensione. Per decomprimere in modo sicuro un'estensione, deve essere fornito un percorso alla directory del profilo che inizi con una lettera di unità e non contenga un punto di giunzione, un punto di montaggio o un link simbolico. Non esiste un simile percorso per il tuo profilo.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (numero di serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> del fornitore <ph name="VENDOR_ID" /> (numero di serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Il valore di input per la chiave privata deve essere un percorso valido.</translation> <translation id="388442998277590542">Impossibile caricare la pagina delle opzioni "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Errore durante la firma dell'estensione.</translation> +<translation id="39964277676607559">Impossibile caricare javascript "<ph name="RELATIVE_PATH" />" per script contenuti.</translation> <translation id="4115165561519362854">L'amministratore di questo computer richiede che <ph name="EXTENSION_NAME" /> abbia almeno la versione <ph name="EXTENSION_VERSION" />. L'attivazione potrà essere completata solo dopo che è stato eseguito l'aggiornamento a questa versione o a una versione successiva.</translation> <translation id="4233778200880751280">Impossibile caricare la pagina di informazioni "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Operazione di output della chiave privata non riuscita.</translation>
diff --git a/extensions/strings/extensions_strings_iw.xtb b/extensions/strings/extensions_strings_iw.xtb index f41732d8..cc4ffeb 100644 --- a/extensions/strings/extensions_strings_iw.xtb +++ b/extensions/strings/extensions_strings_iw.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">כבר קיים קובץ CRX בשם זה.</translation> <translation id="2753617847762399167">נתיב לא חוקי (באופן מוחלט או ביחס אל '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">תוסף זה לא הצליח לשנות בקשת רשת משום שהשינוי התנגש עם תוסף אחר.</translation> +<translation id="2785530881066938471">אין אפשרות לטעון את הקובץ '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן. הוא לא בקידוד UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (מזהה תוסף "<ph name="EXTENSION_ID" />") חסום על-ידי מנהל המערכת. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">לא ניתן להתקין את החבילה: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">מתקין קובצי Zip</translation> <translation id="3115238746683532089">מוצר לא ידוע <ph name="PRODUCT_ID" /> מהספק <ph name="VENDOR_ID" /> (מספר סידורי <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">הנסיון להחליף קובץ crx נכשל. בדוק אם הקובץ נמצא בשימוש.</translation> <translation id="3163201441334626963">מוצר לא ידוע <ph name="PRODUCT_ID" /> מהספק <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">לא היתה אפשרות לטעון את ה-css '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן.</translation> <translation id="3369521687965833290">לא ניתן לפרוק את התוסף. כדי לפרוק תוספים בצורה בטוחה, יש צורך בנתיב לספריית הפרופילים שמתחיל באות כונן ולא מכיל צומת, נקודת טעינה או קישור סמלי. לא קיים נתיב שכזה לפרופיל שלך.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (מספר סידורי <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> מהספק <ph name="VENDOR_ID" /> (מספר סידורי <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ערך קלט עבור מפתח פרטי חייב להיות נתיב חוקי.</translation> <translation id="388442998277590542">לא היתה אפשרות לטעון את דף האפשרויות '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">שגיאה בחתימה על התוסף.</translation> +<translation id="39964277676607559">לא היתה אפשרות לטעון את ה-Javascript '<ph name="RELATIVE_PATH" />' עבור סקריפט תוכן.</translation> <translation id="4115165561519362854">מנהל המערכת של מחשב זה דורש שהגרסה המינימלית של <ph name="EXTENSION_NAME" /> תהיה <ph name="EXTENSION_VERSION" />. ההפעלה אינה אפשרית עד לעדכון לגרסה זו (ואילך).</translation> <translation id="4233778200880751280">לא ניתן לטעון את דף המידע '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">נכשל בפלט מפתח פרטי.</translation>
diff --git a/extensions/strings/extensions_strings_ja.xtb b/extensions/strings/extensions_strings_ja.xtb index 8a88ee7..db37010 100644 --- a/extensions/strings/extensions_strings_ja.xtb +++ b/extensions/strings/extensions_strings_ja.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">既にこの名前の CRX ファイルが存在しています。</translation> <translation id="2753617847762399167">パス(絶対パスまたは '..' がある相対パス)が不適切です: <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">この拡張機能はネットワーク リクエストを変更できませんでした。他の拡張機能と変更が競合しています。</translation> +<translation id="2785530881066938471">コンテンツ スクリプトのファイル「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。UTF-8 でエンコードされていません。</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" />(拡張機能 ID「<ph name="EXTENSION_ID" />」)は管理者によってブロックされています。<ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">パッケージをインストールできませんでした: <ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">Zip ファイル インストーラ</translation> <translation id="3115238746683532089">不明な商品(<ph name="PRODUCT_ID" />、ベンダー: <ph name="VENDOR_ID" />、シリアル番号: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ファイルを置き換えられませんでした。ファイルが使用されていないか確認してください。</translation> <translation id="3163201441334626963">不明な商品(<ph name="PRODUCT_ID" />、ベンダー: <ph name="VENDOR_ID" />)</translation> +<translation id="3302709122321372472">コンテンツ スクリプトの CSS「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。</translation> <translation id="3369521687965833290">拡張機能を解凍できません。拡張機能を安全に解凍するには、ドライブ文字で始まるプロフィール ディレクトリへのパスが必要です(ジャンクション、マウント ポイント、シンボリック リンクが含まれていないこと)。このようなパスがプロフィール内に存在しません。</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" />(シリアル番号: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" />(ベンダー: <ph name="VENDOR_ID" />、シリアル番号: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">秘密鍵の入力値は有効なパスでなければなりません。</translation> <translation id="388442998277590542">オプション ページ「<ph name="OPTIONS_PAGE" />」を読み込むことができませんでした。</translation> <translation id="3984413272403535372">拡張機能の署名中にエラーが発生しました。</translation> +<translation id="39964277676607559">コンテンツ スクリプトの Javascript「<ph name="RELATIVE_PATH" />」を読み込むことができませんでした。</translation> <translation id="4115165561519362854">このパソコンの管理者により、<ph name="EXTENSION_NAME" /> バージョン <ph name="EXTENSION_VERSION" /> 以上が要件に指定されています。有効にするにはこのバージョン以上に更新する必要があります。</translation> <translation id="4233778200880751280">情報ページ「<ph name="ABOUT_PAGE" />」を読み込めませんでした。</translation> <translation id="471800408830181311">秘密鍵を出力できませんでした。</translation>
diff --git a/extensions/strings/extensions_strings_kn.xtb b/extensions/strings/extensions_strings_kn.xtb index 1fcbf9c..6f5b8b15 100644 --- a/extensions/strings/extensions_strings_kn.xtb +++ b/extensions/strings/extensions_strings_kn.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">ಪ್ರಸ್ತುತ ಈ ಹೆಸರಿನೊಂದಿಗೆ ಈಗಾಗಲೇ CRX ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ.</translation> <translation id="2753617847762399167">ಕಾನೂನು ಬಾಹಿರ ಪಾಥ್ ('..' ರೊಂದಿಗೆ ಸಮಗ್ರ ಅಥವಾ ಸಂಬಂಧಿತ... ): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಈ ವಿಸ್ತರಣೆಯು ವಿಫಲವಾಗಿದೆ ಏಕೆಂದರೆ ಮಾರ್ಪಡಿಸುವಿಕೆಯು ಮತ್ತೊಂದು ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಸಂಘರ್ಷಗೊಂಡಿದೆ.</translation> +<translation id="2785530881066938471">'<ph name="RELATIVE_PATH" />' ಫೈಲ್ ಅನ್ನು ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲು ಆಗುವುದಿಲ್ಲ. ಇದು UTF-8 ಎನ್ಕೋಡ್ ಆಗಿಲ್ಲ.</translation> <translation id="2903070246402204397">ನಿರ್ವಾಹಕರಿಂದ <ph name="EXTENSION_NAME" /> (ವಿಸ್ತರಣೆ ಐಡಿ "<ph name="EXTENSION_ID" />") ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುವುದಿಲ್ಲ: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip ಫೈಲ್ ಸ್ಥಾಪಕ</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> ಮಾರಾಟಗಾರರಿಂದ <ph name="PRODUCT_ID" /> ಅಪರಿಚಿತ ಉತ್ಪನ್ನ (ಕ್ರಮ ಸಂಖ್ಯೆ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ಫೈಲ್ ಅನ್ನು ಸ್ಥಾನಾಂತರಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ. ಫೈಲ್ ಬಳಕೆಯಲ್ಲಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಿ.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> ಮಾರಾಟಗಾರರಿಂದ <ph name="PRODUCT_ID" /> ಅಪರಿಚಿತ ಉತ್ಪನ್ನ</translation> +<translation id="3302709122321372472">css '<ph name="RELATIVE_PATH" />' ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation> <translation id="3369521687965833290">ವಿಸ್ತರಣೆಯನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ವಿಸ್ತರಣೆಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲು, ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಪಾಥ್ ಇದ್ದು ಅದು ಡ್ರೈವ್ ಅಕ್ಷರದೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ಜಂಕ್ಷನ್, ಮೌಂಟ್ ಪಾಯಿಂಟ್ ಅಥವಾ ಸಿಮ್ಲಿಂಕ್ ಅನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ನಲ್ಲಿ ಯಾವುದೇ ಪಾಥ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವುದಿಲ್ಲ.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (ಕ್ರಮ ಸಂಖ್ಯೆ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> ಮಾರಾಟಗಾರರಿಂದ <ph name="PRODUCT_NAME" /> (ಕ್ರಮ ಸಂಖ್ಯೆ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ಖಾಸಗಿ ಕೀಲಿಗಾಗಿ ಇನ್ಪುಟ್ ಮೌಲ್ಯವು ಮಾನ್ಯವಾದ ಹಾದಿಯಾಗಿರಬೇಕು.</translation> <translation id="388442998277590542">ಆಯ್ಕೆಗಳ ಪುಟ '<ph name="OPTIONS_PAGE" />' ವನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="3984413272403535372">ವಿಸ್ತರಣೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡುವಾಗ ದೋಷ.</translation> +<translation id="39964277676607559">javascript '<ph name="RELATIVE_PATH" />' ಅನ್ನು ವಿಷಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಾಗಿ ಲೋಡ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="4115165561519362854">ಈ ಮೆಷಿನ್ನ ನಿರ್ವಾಹಕರಿಗೆ <ph name="EXTENSION_VERSION" /> ನ ಕನಿಷ್ಠ ಆವೃತಿಯನ್ನು <ph name="EXTENSION_NAME" /> ಹೊಂದಬೇಕಾದ ಅಗತ್ಯವಿದೆ. ಅದು ಹೊಸ ಆವೃತ್ತಿಗೆ (ಅಥವಾ ಹೆಚ್ಚಿನ) ನವೀಕರಣಗೊಳ್ಳುವವರೆಗೂ ಇದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' ಪುಟದ ಕುರಿತು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ.</translation> <translation id="471800408830181311">ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ.</translation>
diff --git a/extensions/strings/extensions_strings_ko.xtb b/extensions/strings/extensions_strings_ko.xtb index 70d34fc..cb31605 100644 --- a/extensions/strings/extensions_strings_ko.xtb +++ b/extensions/strings/extensions_strings_ko.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">동일한 이름의 CRX 파일이 이미 있습니다.</translation> <translation id="2753617847762399167">불법 경로(절대 또는 상대): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">수정 내용이 다른 확장 프로그램과 충돌하여 이 확장 프로그램이 네트워크 요청을 수정하지 못했습니다.</translation> +<translation id="2785530881066938471">콘텐츠 스크립트에 파일('<ph name="RELATIVE_PATH" />')을 로드할 수 없습니다. UTF-8로 인코딩되지 않았습니다.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" />(확장 프로그램 ID '<ph name="EXTENSION_ID" />')은(는) 관리자에 의해 차단되었습니다. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">패키지를 설치할 수 없습니다. '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip 파일 설치 프로그램</translation> <translation id="3115238746683532089">공급업체 <ph name="VENDOR_ID" />의 알 수 없는 제품 <ph name="PRODUCT_ID" />(일련번호 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx 파일을 대체하지 못했습니다. 파일을 사용 중인지 확인하세요.</translation> <translation id="3163201441334626963">공급업체 <ph name="VENDOR_ID" />의 알 수 없는 제품 <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">콘텐츠 스크립트의 css('<ph name="RELATIVE_PATH" />')를 로드하지 못했습니다.</translation> <translation id="3369521687965833290">확장 프로그램을 압축해제할 수 없습니다. 확장 프로그램을 안전하게 압축해제하려면 드라이브 문자로 시작되고 정션(junction), 마운트 포인트(mount point) 또는 심볼릭 링크가 포함되지 않은 프로필 디렉토리 경로가 있어야 합니다. 프로필에 해당 경로가 없습니다.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" />(일련번호 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">공급업체 <ph name="VENDOR_ID" />의 <ph name="PRODUCT_NAME" />(일련번호 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">비공개 키 입력 값은 유효한 경로여야 합니다.</translation> <translation id="388442998277590542">옵션 페이지('<ph name="OPTIONS_PAGE" />')를 로드하지 못했습니다.</translation> <translation id="3984413272403535372">확장 프로그램에 서명하는 중에 오류가 발생했습니다.</translation> +<translation id="39964277676607559">콘텐츠 스크립트의 자바스크립트('<ph name="RELATIVE_PATH" />')를 로드하지 못했습니다.</translation> <translation id="4115165561519362854">이 시스템의 관리자가 최소 <ph name="EXTENSION_NAME" /> <ph name="EXTENSION_VERSION" /> 버전을 요구합니다. 해당 버전 이상으로 업데이트하지 않으면 사용할 수 없습니다.</translation> <translation id="4233778200880751280">정보 페이지 '<ph name="ABOUT_PAGE" />'을(를) 로드할 수 없습니다.</translation> <translation id="471800408830181311">비공개 키를 출력하지 못했습니다.</translation>
diff --git a/extensions/strings/extensions_strings_lt.xtb b/extensions/strings/extensions_strings_lt.xtb index 2208871..960b23b 100644 --- a/extensions/strings/extensions_strings_lt.xtb +++ b/extensions/strings/extensions_strings_lt.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">CRX failas tokiu pavadinimu jau yra.</translation> <translation id="2753617847762399167">Netinkamas kelias (absoliutus arba susijęs su „..“): „<ph name="IMAGE_PATH" />“</translation> <translation id="27822970480436970">Šiam plėtiniui nepavyko pakeisti tinklo užklausos, nes pakeitimas nesuderinamas su kitu plėtiniu.</translation> +<translation id="2785530881066938471">Nepavyko įkelti turinio scenarijaus failo „<ph name="RELATIVE_PATH" />“. Jis nėra užkoduotas naudojant UTF-8.</translation> <translation id="2903070246402204397">„<ph name="EXTENSION_NAME" />“ (plėtinio ID „<ph name="EXTENSION_ID" />“) užblokavo administratorius. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nepavyko įdiegti paketo: „<ph name="ERROR_CODE" />“</translation> +<translation id="3097628171361913691">ZIP failų diegimo programa</translation> <translation id="3115238746683532089">Nežinomas produktas „<ph name="PRODUCT_ID" />“ iš teikėjo „<ph name="VENDOR_ID" />“ (serijos numeris: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Nepavyko pakeisti CRX failo. Patikrinkite, ar failas naudojamas.</translation> <translation id="3163201441334626963">Nežinomas produktas „<ph name="PRODUCT_ID" />“ iš teikėjo „<ph name="VENDOR_ID" />“</translation> +<translation id="3302709122321372472">Turinio scenarijui nepavyko įkelti „css“ failo „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3369521687965833290">Nepavyksta išpakuoti plėtinio. Kad būtų galima saugiai išpakuoti plėtinį, turi būti nurodytas kelias į profilio katalogą, kuris turi prasidėti disko vardu ir kuriame negali būti sujungimo, įrengimo taško ar virtualiojo katalogo.</translation> <translation id="3393440416772303020">„<ph name="PRODUCT_NAME" />“ (serijos numeris: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">„<ph name="PRODUCT_NAME" />“ iš teikėjo „<ph name="VENDOR_ID" />“ (serijos numeris: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Privačiojo rakto įvesties vertė turi būti galiojantis kelias.</translation> <translation id="388442998277590542">Nepavyko įkelti parinkčių puslapio „<ph name="OPTIONS_PAGE" />“.</translation> <translation id="3984413272403535372">Pasirašant plėtinį įvyko klaida.</translation> +<translation id="39964277676607559">Turinio scenarijui nepavyko įkelti „javascript“ „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4115165561519362854">Šio kompiuterio administratorius reikalauja, kad „<ph name="EXTENSION_NAME" />“ būtų bent <ph name="EXTENSION_VERSION" /> versijos. Negalėsite įgalinti plėtinio, kol neatnaujinsite jo į nurodytą (ar naujesnę) versiją.</translation> <translation id="4233778200880751280">Nepavyko įkelti informacijos puslapio „<ph name="ABOUT_PAGE" />“.</translation> <translation id="471800408830181311">Privačiojo rakto išvestis nepavyko.</translation>
diff --git a/extensions/strings/extensions_strings_lv.xtb b/extensions/strings/extensions_strings_lv.xtb index ec6fcd8..b96f5b0 100644 --- a/extensions/strings/extensions_strings_lv.xtb +++ b/extensions/strings/extensions_strings_lv.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">CRX fails ar šādu nosaukumu jau pastāv.</translation> <translation id="2753617847762399167">Nederīgs ceļš (pilnais vai relatīvais ar elementu “..”): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Šim paplašinājumam neizdevās modificēt tīkla pieprasījumu, jo šī modifikācija bija pretrunā ar citu paplašinājumu.</translation> +<translation id="2785530881066938471">Nevar ielādēt failu "<ph name="RELATIVE_PATH" />" satura skriptam. Tas nav UTF-8 kodēts.</translation> <translation id="2903070246402204397">Administrators bloķēja paplašinājumu <ph name="EXTENSION_NAME" /> (paplašinājuma ID “<ph name="EXTENSION_ID" />”). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nevarēja instalēt pakotni: <ph name="ERROR_CODE" />.</translation> +<translation id="3097628171361913691">ZIP failu instalētājs</translation> <translation id="3115238746683532089">Nezināms produkts (ID: <ph name="PRODUCT_ID" />), ko piedāvā <ph name="VENDOR_ID" /> (sērijas numurs: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Neizdevās aizstāt crx failu. Pārbaudiet, vai fails tiek izmantots.</translation> <translation id="3163201441334626963">Nezināms produkts (ID: <ph name="PRODUCT_ID" />), ko piedāvā <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Nevarēja ielādēt css “<ph name="RELATIVE_PATH" />” satura skriptam.</translation> <translation id="3369521687965833290">Nevar atvērt paplašinājuma pakotni. Lai varētu drošā veidā atvērt paplašinājuma pakotni, jābūt norādītam ceļam uz jūsu profila direktoriju, kas sākas ar diska burtu un neietver savienojumu, montēšanas punktu vai simbolisku saiti. Jūsu profilam nav norādīts šāds ceļš.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (sērijas numurs: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" />, ko piedāvā <ph name="VENDOR_ID" /> (sērijas numurs: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Privātās atslēgas ievades vērtībai jābūt derīgam ceļam.</translation> <translation id="388442998277590542">Nevarēja ielādēt opciju lapu “<ph name="OPTIONS_PAGE" />”.</translation> <translation id="3984413272403535372">Kļūda paplašinājuma parakstīšanas laikā.</translation> +<translation id="39964277676607559">Nevarēja ielādēt JavaScript “<ph name="RELATIVE_PATH" />” satura skriptam.</translation> <translation id="4115165561519362854">Šīs iekārtas administrators pieprasa, lai tiktu izmantots pakalpojums <ph name="EXTENSION_NAME" /> <ph name="EXTENSION_VERSION" /> vai jaunāka versija. To nevar iespējot, līdz nebūs veikta jaunināšana uz norādīto (vai jaunāku) versiju.</translation> <translation id="4233778200880751280">Nevarēja ielādēt lapu “Par” (<ph name="ABOUT_PAGE" />).</translation> <translation id="471800408830181311">Neizdevās izvadīt privāto atslēgu.</translation>
diff --git a/extensions/strings/extensions_strings_ml.xtb b/extensions/strings/extensions_strings_ml.xtb index 43b95a8..5c15282 100644 --- a/extensions/strings/extensions_strings_ml.xtb +++ b/extensions/strings/extensions_strings_ml.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">ഇതേ പേരിൽ ഇതിനകം ഒരു CRX ഫയൽ നിലവിലുണ്ട്.</translation> <translation id="2753617847762399167">നിയമവിരുദ്ധമായ പാത്ത് (കേവലം അല്ലെങ്കിൽ '..' എന്നതുമായി ബന്ധപ്പെട്ടത്): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">ഈ വിപുലീകരണം ഒരു നെറ്റ്വർക്ക് അഭ്യർത്ഥന പരിഷ്കരിക്കുന്നതിൽ പരാജയപ്പെട്ടു കാരണം പരിഷ്കരണത്തിന് മറ്റൊരു വിപുലീകരണവുമായി പൊരുത്തക്കേടുണ്ട്.</translation> +<translation id="2785530881066938471">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി '<ph name="RELATIVE_PATH" />' ഫയല് ലോഡുചെയ്യാന് കഴിഞ്ഞില്ല. ഇത് UTF-8 എന്കോഡുചെയ്തതല്ല.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (വിപുലീകരണ ഐഡി "<ph name="EXTENSION_ID" />") അഡ്മിനിസ്ട്രേറ്റർ ബ്ലോക്കുചെയ്തു. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">പാക്കേജ് ഇന്സ്റ്റാള് ചെയ്യാന് കഴിഞ്ഞില്ല: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip ഫയൽ ഇൻസ്റ്റാളർ</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> വെൻഡറിൽ നിന്നുള്ള അജ്ഞാത ഉൽപ്പന്നം <ph name="PRODUCT_ID" /> (സീരിയൽ നമ്പർ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ഫയലിലേക്കുള്ള പുനഃസ്ഥാപനം പരാജയപ്പെട്ടു. ഈ ഫയൽ ഉപയോഗത്തിലാണോ എന്ന് പരിശോധിച്ച് നോക്കുക.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> വെൻഡറിൽ നിന്നുള്ള അജ്ഞാത ഉൽപ്പന്നം <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി css '<ph name="RELATIVE_PATH" />' ലോഡുചെയ്യാനായില്ല.</translation> <translation id="3369521687965833290">വിപുലീകരണം അണ്പാക്ക് ചെയ്യാന് കഴിയുന്നില്ല. ഒരു വിപുലീകരണം സുരക്ഷിതമായി അണ്പാക്ക് ചെയ്യുന്നതിന്, ഡ്രൈവ് പ്രതീകം ഉപയോഗിച്ച് ആരംഭിക്കുന്ന നിങ്ങളുടെ പ്രൊഫൈൽ ഡയറക്ടറിയിലേക്കുള്ള പാത്ത് ഉണ്ടായിരിക്കണം മാത്രമല്ല ജംഗ്ഷന്, മൌണ്ട് പോയിന്റ് അല്ലെങ്കില് സിംലിങ്ക് എന്നിവ അടങ്ങിയിരിക്കരുത്. നിങ്ങളുടെ പ്രൊഫൈലിനായി അത്തരം പാത്തൊന്നും നിലവിലുണ്ടായിരിക്കരുത്.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (സീരിയൽ നമ്പർ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> വെൻഡറിൽ നിന്നുള്ള <ph name="PRODUCT_NAME" /> (സീരിയൽ നമ്പർ <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">സ്വകാര്യ കീയ്ക്കായുള്ള ഇന്പുട്ട് മൂല്യം ഒരു സാധുവായ പാതയായിരിക്കണം.</translation> <translation id="388442998277590542">'<ph name="OPTIONS_PAGE" />' ഓപ്ഷനുകള് പേജ് ലോഡുചെയ്യാന് കഴിഞ്ഞില്ല.</translation> <translation id="3984413272403535372">വിപുലീകരണം സൈന് ചെയ്യുന്നസമയത്ത് പിശക്.</translation> +<translation id="39964277676607559">ഉള്ളടക്ക സ്ക്രിപ്റ്റിനായി javascript '<ph name="RELATIVE_PATH" />' ലോഡ് ചെയ്യാന് കഴിഞ്ഞില്ല.</translation> <translation id="4115165561519362854"><ph name="EXTENSION_VERSION" /> എന്നതിന്റെ ഏറ്റവും കുറഞ്ഞ പതിപ്പിനായി ഈ യന്ത്രത്തിന്റെ അഡ്മിനിസ്ട്രേറ്റർക്ക് <ph name="EXTENSION_NAME" /> എന്നതാവശ്യമാണ്. അത് ആ പതിപ്പിലേക്ക് (അല്ലെങ്കിൽ അതിനും മുകളിലേക്ക്) അപ്ഡേറ്റുചെയ്യുന്നതുവരെ അത് പ്രവർത്തനക്ഷമമാക്കാനാവില്ല.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' എന്ന ആമുഖം പേജ് ലോഡുചെയ്യാൻ കഴിഞ്ഞില്ല.</translation> <translation id="471800408830181311">സ്വകാര്യ കീ ഔട്ട്പുട്ട് ചെയ്യുന്നതിന് പരാജയപ്പെട്ടു.</translation>
diff --git a/extensions/strings/extensions_strings_mr.xtb b/extensions/strings/extensions_strings_mr.xtb index 8337c25..b5cf3d2b 100644 --- a/extensions/strings/extensions_strings_mr.xtb +++ b/extensions/strings/extensions_strings_mr.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">या नावाने आधीपासूनच CRX फाइल उपस्थित आहे.</translation> <translation id="2753617847762399167">बेकायदेशीर पथ ('..' सह अचूक किंवा संबंधित): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">हा विस्तार नेटवर्क विनंती सुधारण्यात अयशस्वी झाला कारण सुधारणेचा दुसर्या विस्ताराशी विवाद झाला.</translation> +<translation id="2785530881066938471">सामग्री स्क्रिप्टसाठी '<ph name="RELATIVE_PATH" />' फाइल लोड करणे शक्य नाही. ही UTF-8 द्वारे एन्कोड केलेली नाही.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> विस्तार आयडी "<ph name="EXTENSION_ID" />") प्रशासकाने ब्लॉक केलेला आहे. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">हे पॅकेज इंस्टॉल करणे शक्य नाही: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">झिप फाईल स्थापितकर्ता</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> विक्रेत्याकडील <ph name="PRODUCT_ID" /> अज्ञात उत्पादन (अनुक्रमांक <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx फाइल पुनर्स्थित करण्यात अयशस्वी. फाइल वापरात आहे किंवा नाही हे पाहण्यासाठी तपासा.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> विक्रेत्याकडील <ph name="PRODUCT_ID" /> अज्ञात उत्पादन</translation> +<translation id="3302709122321372472">सामग्री स्क्रिप्टसाठी css '<ph name="RELATIVE_PATH" />' लोड करणे शक्य नाही.</translation> <translation id="3369521687965833290">विस्तार अनपॅक करणे शक्य नाही. विस्तार सुरक्षितपणे अनपॅक करण्यासाठी, आपल्या प्रोफाइल निर्देशिकेत ड्राइव्ह अक्षरासह प्रारंभ होणारा पथ असणे आणि जंक्शन, माउंट पॉइंट किंवा सिमलिंक नसणे आवश्यक आहे. आपल्या प्रोफाइलसाठी असा कोणताही पथ विद्यमान नाही.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (अनुक्रमांक <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> विक्रेत्याकडील <ph name="PRODUCT_NAME" /> (अनुक्रमांक <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">खासगी की साठी इनपुट मूल्य वैध पथ असावा.</translation> <translation id="388442998277590542">पर्याय पृष्ठ '<ph name="OPTIONS_PAGE" />' लोड करणे शक्य नाही.</translation> <translation id="3984413272403535372">विस्तारात साइन करताना एरर.</translation> +<translation id="39964277676607559">सामग्री स्क्रिप्टसाठी javascript '<ph name="RELATIVE_PATH" />' लोड करणे शक्य नाही.</translation> <translation id="4115165561519362854">या मशीनच्या प्रशासकाला <ph name="EXTENSION_NAME" /> कडे <ph name="EXTENSION_VERSION" /> ची किमान आवृत्ती असणे आवश्यक आहे. ही त्या आवृत्तीवर (किंवा उच्च) अपडेट करेपर्यंत हे सक्षम होऊ शकत नाही.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' पृष्ठाविषयी लोड करू शकलो नाही.</translation> <translation id="471800408830181311">खासगी की आउटपुट करण्यात अयशस्वी.</translation>
diff --git a/extensions/strings/extensions_strings_ms.xtb b/extensions/strings/extensions_strings_ms.xtb index 4a5b8a2..cdcd638 100644 --- a/extensions/strings/extensions_strings_ms.xtb +++ b/extensions/strings/extensions_strings_ms.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Fail CRX dengan nama ini telah wujud.</translation> <translation id="2753617847762399167">Laluan tidak sah (mutlak atau berkaitan dengan '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Sambungan ini gagal mengubah suai permintaan rangkaian kerana pengubahsuaian itu bercanggah dengan sambungan lain.</translation> +<translation id="2785530881066938471">Tidak dapat memuatkan fail '<ph name="RELATIVE_PATH" />' untuk skrip kandungan. Ia tidak terkod UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID sambungan "<ph name="EXTENSION_ID" />") disekat oleh pentadbir. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Tidak dapat memasang pakej: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Pemasang Fail Zip</translation> <translation id="3115238746683532089">Produk <ph name="PRODUCT_ID" /> daripada vendor <ph name="VENDOR_ID" /> tidak diketahui (nombor siri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Gagal untuk menggantikan fail crx. Periksa untuk melihat jika fail sedang digunakan.</translation> <translation id="3163201441334626963">Produk <ph name="PRODUCT_ID" /> daripada vendor <ph name="VENDOR_ID" /> tidak diketahui</translation> +<translation id="3302709122321372472">Tidak dapat memuatkan css '<ph name="RELATIVE_PATH" />' untuk skrip kandungan.</translation> <translation id="3369521687965833290">Tidak dapat menyahpek sambungan. Untuk menyahpek sambungan dengan selamat, perlu ada laluan ke direktori profil anda yang bermula dengan huruf pemacu dan tidak mengandungi simpang, titik peletakan atau symlink. Laluan tersebut tidak wujud untuk profil anda.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (nombor siri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> daripada vendor <ph name="VENDOR_ID" /> (nombor siri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Nilai input untuk kunci persendirian mestilah laluan yang sah.</translation> <translation id="388442998277590542">Tidak dapat memuatkan halaman pilihan '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Ralat semasa menandatangani sambungan.</translation> +<translation id="39964277676607559">Tidak dapat memuatkan javascript '<ph name="RELATIVE_PATH" />' untuk skrip kandungan.</translation> <translation id="4115165561519362854">Pentadbir mesin ini memerlukan <ph name="EXTENSION_NAME" /> untuk mempunyai versi minimum <ph name="EXTENSION_VERSION" />. Ia tidak dapat didayakan sehingga ia telah dikemas kini kepada versi itu (atau lebih tinggi).</translation> <translation id="4233778200880751280">Tidak dapat memuatkan halaman perihal '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Gagal untuk output kunci persendirian.</translation>
diff --git a/extensions/strings/extensions_strings_nl.xtb b/extensions/strings/extensions_strings_nl.xtb index 2482a90..2d957ca 100644 --- a/extensions/strings/extensions_strings_nl.xtb +++ b/extensions/strings/extensions_strings_nl.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Er is al een CRX-bestand aanwezig met deze naam.</translation> <translation id="2753617847762399167">Illegaal pad (absoluut of relatief met '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Deze extensie heeft een netwerkverzoek niet kunnen aanpassen, omdat de aanpassing zorgde voor een conflict met een andere extensie.</translation> +<translation id="2785530881066938471">Kan bestand '<ph name="RELATIVE_PATH" />' niet laden voor inhoudsscript. Het bestand bevat geen UTF-8-codering.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (extensie-ID '<ph name="EXTENSION_ID" />') is geblokkeerd door de beheerder. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Kan pakket niet installeren: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3115238746683532089">Onbekend product <ph name="PRODUCT_ID" /> van leverancier <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Vervangen van crx-bestand is mislukt. Controleer of het bestand wordt gebruikt.</translation> <translation id="3163201441334626963">Onbekend product <ph name="PRODUCT_ID" /> van leverancier <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Kan CSS '<ph name="RELATIVE_PATH" />' niet laden voor het inhoudsscript.</translation> <translation id="3369521687965833290">Kan extensie niet uitpakken. Om een extensie veilig te kunnen uitpakken, moet er een pad naar je profieldirectory verwijzen dat begint met een stationletter en geen koppeling, koppelpunt of symlink bevat. Een dergelijk pad bestaat niet voor je profiel.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> van leverancier <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Invoerwaarde voor persoonlijke sleutel moet een geldig pad zijn.</translation> <translation id="388442998277590542">Kan optiepagina '<ph name="OPTIONS_PAGE" />' niet laden.</translation> <translation id="3984413272403535372">Fout bij ondertekenen van extensie.</translation> +<translation id="39964277676607559">Kan JavaScript '<ph name="RELATIVE_PATH" />' niet laden voor het inhoudsscript.</translation> <translation id="4115165561519362854">De beheerder van dit apparaat vereist dat minimaal versie <ph name="EXTENSION_VERSION" /> van <ph name="EXTENSION_NAME" /> moet zijn geïnstalleerd. De extensie kan pas worden ingeschakeld nadat deze is geüpdatet naar die versie (of hoger).</translation> <translation id="4233778200880751280">De informatiepagina '<ph name="ABOUT_PAGE" />' kan niet worden geladen.</translation> <translation id="471800408830181311">Uitvoer van persoonlijke sleutel is mislukt.</translation>
diff --git a/extensions/strings/extensions_strings_no.xtb b/extensions/strings/extensions_strings_no.xtb index e211c79..10863697 100644 --- a/extensions/strings/extensions_strings_no.xtb +++ b/extensions/strings/extensions_strings_no.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Det fins allerede en .crx-fil med dette navnet.</translation> <translation id="2753617847762399167">Ugyldig bane (absolutt eller relativ med '..'): «<ph name="IMAGE_PATH" />»</translation> <translation id="27822970480436970">Denne utvidelsen mislyktes i å endre en nettverksforespørsel, fordi endringen var i konflikt med en annen utvidelse.</translation> +<translation id="2785530881066938471">Kan ikke laste inn filen «<ph name="RELATIVE_PATH" />» for innholdsskript. Den er ikke UTF-8-kodet.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (utvidelses-ID «<ph name="EXTENSION_ID" />») er blokkert av administratoren. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Kunne ikke installere pakken: <ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3115238746683532089">Ukjent produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /> (serienummer: <ph name="SERIAL_NUMBER" /> )</translation> <translation id="3144135466825225871">Kunne ikke erstatte .crx-fil. Kontrollér om filen er i bruk.</translation> <translation id="3163201441334626963">Ukjent produkt, <ph name="PRODUCT_ID" />, fra leverandøren <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Kan ikke laste inn <ph name="RELATIVE_PATH" /> for innholdsskript.</translation> <translation id="3369521687965833290">Kan ikke pakke ut utvidelse. For å kunne pakke ut en utvidelse på en sikker måte, må det finnes en bane til profilkatalogen din som begynner med en harddiskbokstav og som ikke inneholder en forbindelse, et innsettingspunkt eller en symlink. Det finnes ingen slik bane for profilen din.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serienummer: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> fra leverandøren <ph name="VENDOR_ID" /> (serienummer: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Inndataverdien for privatnøkkelen må være en gyldig bane.</translation> <translation id="388442998277590542">Kan ikke laste inn alternativsiden <ph name="OPTIONS_PAGE" />.</translation> <translation id="3984413272403535372">Det oppstod en feil under signeringen av utvidelsen.</translation> +<translation id="39964277676607559">Kan ikke laste inn JavaScript <ph name="RELATIVE_PATH" /> for innholdsskript.</translation> <translation id="4115165561519362854">Administratoren for denne maskinen krever at <ph name="EXTENSION_NAME" /> har en minimumsversjon på <ph name="EXTENSION_VERSION" />. Den kan ikke slås på før den er oppdatert til denne versjonen (eller høyere).</translation> <translation id="4233778200880751280">Kunne ikke laste inn info-siden «<ph name="ABOUT_PAGE" />».</translation> <translation id="471800408830181311">Kan ikke mate ut privatnøkkelen.</translation>
diff --git a/extensions/strings/extensions_strings_pl.xtb b/extensions/strings/extensions_strings_pl.xtb index 4c950bf..ed0d83b5 100644 --- a/extensions/strings/extensions_strings_pl.xtb +++ b/extensions/strings/extensions_strings_pl.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Plik CRX o tej nazwie już istnieje.</translation> <translation id="2753617847762399167">Nieprawidłowa ścieżka (pełna lub względna z przedrostkiem „..”): „<ph name="IMAGE_PATH" />”</translation> <translation id="27822970480436970">To rozszerzenie nie mogło zmienić żądania sieciowego, ponieważ zmiana wchodziła w konflikt z innym rozszerzeniem.</translation> +<translation id="2785530881066938471">Nie można wczytać pliku „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego treści. Plik nie ma kodowania UTF-8.</translation> <translation id="2903070246402204397">Rozszerzenie <ph name="EXTENSION_NAME" /> (identyfikator rozszerzenia „<ph name="EXTENSION_ID" />”) jest zablokowane przez administratora. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nie można zainstalować pakietu: „<ph name="ERROR_CODE" />”</translation> +<translation id="3097628171361913691">Instalator plików ZIP</translation> <translation id="3115238746683532089">Nieznany produkt <ph name="PRODUCT_ID" />, którego producent to <ph name="VENDOR_ID" /> (numer seryjny <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Nie można zastąpić pliku crx. Sprawdź, czy nie jest on używany.</translation> <translation id="3163201441334626963">Nieznany produkt <ph name="PRODUCT_ID" />, którego producent to <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Nie można wczytać pliku css „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego zawartości.</translation> <translation id="3369521687965833290">Nie można rozpakować rozszerzenia. Aby bezpiecznie rozpakować rozszerzenie, musi istnieć ścieżka do katalogu profilu, która zaczyna się literą dysku i nie zawiera punktu połączenia, punktu instalacji (montowania) ani dowiązania symbolicznego. W przypadku Twojego profilu taka ścieżka nie istnieje.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (numer seryjny <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> wyprodukowany przez <ph name="VENDOR_ID" /> (numer seryjny <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Wartość wejściowa klucza prywatnego musi być prawidłową ścieżką.</translation> <translation id="388442998277590542">Nie można wczytać strony opcji „<ph name="OPTIONS_PAGE" />”.</translation> <translation id="3984413272403535372">Błąd podczas podpisywania rozszerzenia.</translation> +<translation id="39964277676607559">Nie można wczytać pliku JavaScript „<ph name="RELATIVE_PATH" />” dla skryptu dotyczącego zawartości.</translation> <translation id="4115165561519362854">Administrator tego urządzenia wymaga, by rozszerzenie <ph name="EXTENSION_NAME" /> było w wersji co najmniej <ph name="EXTENSION_VERSION" />. Jeśli rozszerzenie nie zostanie zaktualizowane do tej wersji (lub nowszej), nie zostanie włączone.</translation> <translation id="4233778200880751280">Nie udało się załadować strony z informacjami: „<ph name="ABOUT_PAGE" />”.</translation> <translation id="471800408830181311">Nie można przekazać klucza prywatnego.</translation>
diff --git a/extensions/strings/extensions_strings_pt-BR.xtb b/extensions/strings/extensions_strings_pt-BR.xtb index ca1e9c9..724f1b65 100644 --- a/extensions/strings/extensions_strings_pt-BR.xtb +++ b/extensions/strings/extensions_strings_pt-BR.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Já existe um arquivo CRX com este nome.</translation> <translation id="2753617847762399167">Caminho ilegal (absoluto ou relativo com '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Esta extensão não conseguiu modificar uma solicitação de rede pois a modificação entrou em conflito com outra extensão.</translation> +<translation id="2785530881066938471">Não foi possível carregar o arquivo "<ph name="RELATIVE_PATH" />" para o script de conteúdo. Ele não possui a codificação UTF-8.</translation> <translation id="2903070246402204397">A extensão <ph name="EXTENSION_NAME" /> (código "<ph name="EXTENSION_ID" />") está bloqueada pelo administrador. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Não foi possível instalar o pacote: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Instalador de arquivo zip</translation> <translation id="3115238746683532089">Produto <ph name="PRODUCT_ID" /> desconhecido do fornecedor <ph name="VENDOR_ID" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Falha ao substituir arquivo crx. Verifique se o arquivo está em uso.</translation> <translation id="3163201441334626963">Produto <ph name="PRODUCT_ID" /> desconhecido do fornecedor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Não foi possível carregar "<ph name="RELATIVE_PATH" />" em css para o script de conteúdo.</translation> <translation id="3369521687965833290">Não é possível abrir a extensão. Para abrir uma extensão com segurança, deve haver um caminho para o diretório de seu perfil que comece com uma letra de drive e não contenha uma junção, um mount point ou um symlink. Não existe um caminho assim para seu perfil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> do fornecedor <ph name="VENDOR_ID" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">O valor inserido para a chave privada deve ser um caminho válido.</translation> <translation id="388442998277590542">Não foi possível carregar a página de opções "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Erro ao assinar a extensão.</translation> +<translation id="39964277676607559">Não foi possível carregar "<ph name="RELATIVE_PATH" />" em javascript para o script de conteúdo.</translation> <translation id="4115165561519362854">O administrador desta máquina requer que <ph name="EXTENSION_NAME" /> tenha, no mínimo, a versão <ph name="EXTENSION_VERSION" /> . Ele não pode ser ativado até que tenha sido atualizado para essa versão (ou superior).</translation> <translation id="4233778200880751280">Não foi possível carregar a página "Sobre" '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Falha ao emitir a chave privada.</translation>
diff --git a/extensions/strings/extensions_strings_pt-PT.xtb b/extensions/strings/extensions_strings_pt-PT.xtb index 71d093eb..9edd083 100644 --- a/extensions/strings/extensions_strings_pt-PT.xtb +++ b/extensions/strings/extensions_strings_pt-PT.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Já existe um ficheiro CRX com este nome.</translation> <translation id="2753617847762399167">Caminho ilegal (absoluto ou relativo com ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Esta extensão não conseguiu modificar um pedido de rede, porque a modificação entrou em conflito com outra extensão.</translation> +<translation id="2785530881066938471">Não foi possível carregar o ficheiro "<ph name="RELATIVE_PATH" />" para script de conteúdo. Não está codificado em UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID de extensão "<ph name="EXTENSION_ID" />") está bloqueada pelo gestor. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Não foi possível instalar o pacote: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Instalador de ficheiros ZIP</translation> <translation id="3115238746683532089">Produto desconhecido <ph name="PRODUCT_ID" /> do fornecedor <ph name="VENDOR_ID" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Falha ao substituir o ficheiro crx. Verifique se o ficheiro está a ser utilizado.</translation> <translation id="3163201441334626963">Produto desconhecido <ph name="PRODUCT_ID" /> do fornecedor <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Não foi possível carregar css "<ph name="RELATIVE_PATH" />" para script de conteúdo.</translation> <translation id="3369521687965833290">Não é possível descompactar a extensão. Para descompactar uma extensão em segurança, é necessário existir um caminho para o seu directório de perfil começado por uma letra de unidade e sem uma junção, ponto de montagem ou ligação simbólica. Não existe um caminho deste tipo para o seu perfil.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> do fornecedor <ph name="VENDOR_ID" /> (número de série <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">O valor de entrada para uma chave privada tem de ser um caminho válido.</translation> <translation id="388442998277590542">Não foi possível carregar a página de opções "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Erro durante a assinatura da extensão.</translation> +<translation id="39964277676607559">Não foi possível carregar javascript "<ph name="RELATIVE_PATH" />" para script de conteúdo.</translation> <translation id="4115165561519362854">O gestor deste computador requer que <ph name="EXTENSION_NAME" /> tenha uma versão mínima de <ph name="EXTENSION_VERSION" />. Não pode ser atualizado enquanto não for atualizado para essa versão (ou posterior).</translation> <translation id="4233778200880751280">Não foi possível carregar a página acerca de "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Falha ao obter resultado de chave privada.</translation>
diff --git a/extensions/strings/extensions_strings_ro.xtb b/extensions/strings/extensions_strings_ro.xtb index 7881ceb..2e2d1033 100644 --- a/extensions/strings/extensions_strings_ro.xtb +++ b/extensions/strings/extensions_strings_ro.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Există deja un fișier CRX cu acest nume.</translation> <translation id="2753617847762399167">Cale nevalidă (absolută sau relativă cu „..”): „<ph name="IMAGE_PATH" />”</translation> <translation id="27822970480436970">Această extensie nu a reușit să modifice o solicitare în rețea, deoarece modificarea intră în conflict cu o altă extensie.</translation> +<translation id="2785530881066938471">Nu se poate încărca fișierul „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut. Fișierul nu are codificare UTF-8.</translation> <translation id="2903070246402204397">Extensia <ph name="EXTENSION_NAME" /> (cu ID-ul „<ph name="EXTENSION_ID" />”) este blocată de administrator. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nu s-a putut instala pachetul: „<ph name="ERROR_CODE" />”</translation> +<translation id="3097628171361913691">Instrument de instalare a fișierelor .zip</translation> <translation id="3115238746683532089">Produs necunoscut <ph name="PRODUCT_ID" /> de la furnizorul <ph name="VENDOR_ID" /> (numărul de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Înlocuirea fișierului crx a eșuat. Verificați dacă fișierul este în uz.</translation> <translation id="3163201441334626963">Produs necunoscut <ph name="PRODUCT_ID" /> de la furnizorul <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Nu se poate încărca fișierul CSS „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut.</translation> <translation id="3369521687965833290">Nu se poate despacheta extensia. Pentru a despacheta în siguranță o extensie, trebuie să existe o cale către directorul de profil, care începe cu o literă de unitate și nu conține o joncțiune, un punct de montare sau un link simbolic. Nu există o astfel de cale pentru profilul tău.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (numărul de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> de la furnizorul <ph name="VENDOR_ID" /> (numărul de serie <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Valoarea introdusă pentru cheia privată trebuie să fie o cale validă.</translation> <translation id="388442998277590542">Nu se poate încărca pagina cu opțiuni „<ph name="OPTIONS_PAGE" />”.</translation> <translation id="3984413272403535372">Eroare la semnarea extensiei.</translation> +<translation id="39964277676607559">Nu se poate încărca conținutul JavaScript „<ph name="RELATIVE_PATH" />” pentru scriptul de conținut.</translation> <translation id="4115165561519362854">Administratorul acestui computer solicită ca versiunea minimă pentru <ph name="EXTENSION_NAME" /> să fie <ph name="EXTENSION_VERSION" />. Extensia poate fi activată doar după actualizarea la acea versiune (sau una superioară).</translation> <translation id="4233778200880751280">Pagina informativă „<ph name="ABOUT_PAGE" />” nu s-a putut încărca.</translation> <translation id="471800408830181311">Cheia privată nu poate fi generată.</translation>
diff --git a/extensions/strings/extensions_strings_ru.xtb b/extensions/strings/extensions_strings_ru.xtb index 7e07209..ace4232 100644 --- a/extensions/strings/extensions_strings_ru.xtb +++ b/extensions/strings/extensions_strings_ru.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Файл CRX с таким именем уже существует.</translation> <translation id="2753617847762399167">Недопустимый путь (абсолютный или относительный с элементом ".."): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Этому расширению не удалось изменить сетевой запрос, так как при этом возник конфликт с другим расширением.</translation> +<translation id="2785530881066938471">Не удается загрузить файл <ph name="RELATIVE_PATH" /> для скрипта содержания. Кодировка отличается от UTF-8.</translation> <translation id="2903070246402204397">Расширение <ph name="EXTENSION_NAME" /> (идентификатор: <ph name="EXTENSION_ID" />) заблокировано администратором. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Не удается установить пакет: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Распаковщик ZIP-файлов</translation> <translation id="3115238746683532089">Неизвестный продукт <ph name="PRODUCT_ID" /> от поставщика <ph name="VENDOR_ID" /> (серийный номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Не удалось переместить CRX-файл. Убедитесь, что он не используется.</translation> <translation id="3163201441334626963">Неизвестный продукт <ph name="PRODUCT_ID" /> от поставщика <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Не удалось загрузить css '<ph name="RELATIVE_PATH" />' для скрипта содержимого.</translation> <translation id="3369521687965833290">Не удается распаковать расширение. Для безопасной распаковки расширения необходим путь к каталогу вашего профиля, начинающийся с буквы диска. Он не должен содержать параметр слияния папок, точку монтирования или символьную ссылку. Такого пути для вашего профиля не существует.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (серийный номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> от поставщика <ph name="VENDOR_ID" /> (серийный номер <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Входное значение закрытого ключа должно предоставлять собой допустимый путь.</translation> <translation id="388442998277590542">Не удалось загрузить страницу параметров <ph name="OPTIONS_PAGE" />.</translation> <translation id="3984413272403535372">Ошибка при подписи расширения.</translation> +<translation id="39964277676607559">Не удается загрузить javascript "<ph name="RELATIVE_PATH" />" для скрипта содержимого.</translation> <translation id="4115165561519362854">Администратор установил, что для запуска приложения "<ph name="EXTENSION_NAME" />" необходима версия <ph name="EXTENSION_VERSION" /> или выше. Обновите приложение.</translation> <translation id="4233778200880751280">Не удалось загрузить страницу <ph name="ABOUT_PAGE" />.</translation> <translation id="471800408830181311">Не удалось выгрузить закрытый ключ.</translation>
diff --git a/extensions/strings/extensions_strings_sk.xtb b/extensions/strings/extensions_strings_sk.xtb index 1d9a469..87c048be 100644 --- a/extensions/strings/extensions_strings_sk.xtb +++ b/extensions/strings/extensions_strings_sk.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Súbor CRX s týmto názvom už existuje.</translation> <translation id="2753617847762399167">Neplatná cesta (absolútna alebo relatívna s '..'): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Tomuto rozšíreniu sa nepodarilo upraviť žiadosť siete, pretože úprava bola v rozpore s ďalším rozšírením.</translation> +<translation id="2785530881066938471">Pre skript obsahu sa nepodarilo sa načítať súbor „<ph name="RELATIVE_PATH" />“. Nepoužíva kódovanie UTF-8.</translation> <translation id="2903070246402204397">Rozšírenie <ph name="EXTENSION_NAME" /> (ID rozšírenia: <ph name="EXTENSION_ID" />) je blokované správcom. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Nepodarilo sa nainštalovať balík: <ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">Zip File Installer</translation> <translation id="3115238746683532089">Neznámy produkt <ph name="PRODUCT_ID" /> od dodávateľa <ph name="VENDOR_ID" /> (sériové číslo: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Súbor crx sa nepodarilo nahradiť. Skontrolujte, či je súbor používaný.</translation> <translation id="3163201441334626963">Neznámy produkt <ph name="PRODUCT_ID" /> od dodávateľa <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Pre skript obsahu sa nepodarilo načítať súbor css „<ph name="RELATIVE_PATH" />“.</translation> <translation id="3369521687965833290">Rozšírenie sa nepodarilo rozbaliť. Aby bolo rozbalenie rozšírenia bezpečné, musíte zadať cestu k profilovému adresáru, ktorá začína písmenom jednotky a neobsahuje žiadny styčný bod, bod prepojenia ani odkaz symlink. Pre váš profil nie je k dispozícii žiadna takáto cesta.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (sériové číslo: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> od dodávateľa <ph name="VENDOR_ID" /> (sériové číslo: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Vstupná hodnota pre súkromný kľúč musí byť platná cesta.</translation> <translation id="388442998277590542">Nepodarilo sa načítať stránku s možnosťami „<ph name="OPTIONS_PAGE" />“.</translation> <translation id="3984413272403535372">Pri podpisovaní rozšírenia sa vyskytla chyba.</translation> +<translation id="39964277676607559">Pre skript obsahu sa nepodarilo načítať súbor javascript „<ph name="RELATIVE_PATH" />“.</translation> <translation id="4115165561519362854">Správca tohto zariadenia vyžaduje, aby ste používali rozšírenie <ph name="EXTENSION_NAME" /> aspoň vo verzii <ph name="EXTENSION_VERSION" />. Kým nebude aktualizované na túto alebo vyššiu verziu, nedá sa povoliť.</translation> <translation id="4233778200880751280">Informačnú stránku <ph name="ABOUT_PAGE" /> sa nepodarilo načítať.</translation> <translation id="471800408830181311">Výstup súkromného kľúča zlyhal.</translation>
diff --git a/extensions/strings/extensions_strings_sl.xtb b/extensions/strings/extensions_strings_sl.xtb index c14bdc5..31e16941 100644 --- a/extensions/strings/extensions_strings_sl.xtb +++ b/extensions/strings/extensions_strings_sl.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Datoteka CRX s tem imenom že obstaja.</translation> <translation id="2753617847762399167">Neveljavna pot (absolutna ali v povezavi z »..«): »<ph name="IMAGE_PATH" />«</translation> <translation id="27822970480436970">Tej razširitvi ni uspelo spremeniti omrežne zahteve, ker je bila sprememba v sporu z drugo razširitvijo.</translation> +<translation id="2785530881066938471">Datoteke »<ph name="RELATIVE_PATH" />« ni mogoče naložiti. Ni kodirana z UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID razširitve »<ph name="EXTENSION_ID" />«) je blokiral skrbnik. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Paketa »<ph name="ERROR_CODE" />« ni bilo mogoče namestiti</translation> +<translation id="3097628171361913691">Namestitveni program za stiskanje datotek</translation> <translation id="3115238746683532089">Neznan izdelek <ph name="PRODUCT_ID" /> dobavitelja <ph name="VENDOR_ID" /> (serijska številka <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Datoteke .crx ni bilo mogoče zamenjati. Preverite, ali je datoteka v uporabi.</translation> <translation id="3163201441334626963">Neznan izdelek <ph name="PRODUCT_ID" /> dobavitelja <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Ni bilo mogoče naložiti seznama slogov »<ph name="RELATIVE_PATH" />« za skript vsebine.</translation> <translation id="3369521687965833290">Razširitve ne morete odpakirati. Če želite varno odpakirati razširitev, mora biti navedena pot do imenika vašega profila, ki se začne s črko pogona in ne vsebuje spoja, točke vpenjanja ali simbolne povezave. Za vaš profil ni takšne poti.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serijska številka <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> dobavitelja <ph name="VENDOR_ID" /> (serijska številka <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Vrednost vnosa za zasebni ključ mora biti veljavna pot.</translation> <translation id="388442998277590542">Strani z možnostmi »<ph name="OPTIONS_PAGE" />« ni bilo mogoče naložiti.</translation> <translation id="3984413272403535372">Med podpisovanjem razširitve je prišlo do napake.</translation> +<translation id="39964277676607559">Ni bilo mogoče naložiti skripta JavaScript »<ph name="RELATIVE_PATH" />« za skript vsebine.</translation> <translation id="4115165561519362854">Skrbnik te naprave zahteva, da je <ph name="EXTENSION_NAME" /> različice najmanj <ph name="EXTENSION_VERSION" />. Ni je mogoče omogočiti, dokler ni posodobljena na to (ali novejšo) različico.</translation> <translation id="4233778200880751280">Ni bilo mogoče naložiti Vizitke »<ph name="ABOUT_PAGE" />«.</translation> <translation id="471800408830181311">Zasebnega ključa ni bilo mogoče izdati.</translation>
diff --git a/extensions/strings/extensions_strings_sr.xtb b/extensions/strings/extensions_strings_sr.xtb index 276fee02..65332e3 100644 --- a/extensions/strings/extensions_strings_sr.xtb +++ b/extensions/strings/extensions_strings_sr.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Већ постоји CRX датотека са овим називом.</translation> <translation id="2753617847762399167">Неисправна путања (апсолутна или релативна вредност једнака вредности „..“): „<ph name="IMAGE_PATH" />“</translation> <translation id="27822970480436970">Овај додатак није успео да измени захтев мреже јер измена није усаглашена са другим додатком.</translation> +<translation id="2785530881066938471">Учитавање датотеке „<ph name="RELATIVE_PATH" />“ за скрипту садржаја није успело. Нема UTF-8 шифровање.</translation> <translation id="2903070246402204397">Администратор је блокирао <ph name="EXTENSION_NAME" /> (ИД додатка је „<ph name="EXTENSION_ID" />“). <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Инсталација пакета није била могућа: „<ph name="ERROR_CODE" />“</translation> +<translation id="3097628171361913691">Инсталирање zip датотека</translation> <translation id="3115238746683532089">Непознати производ <ph name="PRODUCT_ID" /> продавца <ph name="VENDOR_ID" /> (серијски број <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Замена crx датотеке није успела. Проверите да ли се датотека користи.</translation> <translation id="3163201441334626963">Непознати производ <ph name="PRODUCT_ID" /> продавца <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Није могуће учитати css „<ph name="RELATIVE_PATH" />“ за скрипту садржаја.</translation> <translation id="3369521687965833290">Није могуће отпаковати додатак. Да бисте безбедно отпаковали додатак, мора да постоји путања до директоријума профила која почиње словом за ознаку јединице и не садржи спој, тачку повезивања или симболичку везу. За ваш профил не постоји таква путања.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (серијски број <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> продавца <ph name="VENDOR_ID" /> (серијски број <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Улазна вредност приватног кључа мора бити важећа путања.</translation> <translation id="388442998277590542">Није могуће учитати страницу опција „<ph name="OPTIONS_PAGE" />“.</translation> <translation id="3984413272403535372">Дошло је до грешке приликом потписивања додатка.</translation> +<translation id="39964277676607559">Није могуће учитати javascript „<ph name="RELATIVE_PATH" />“ за скрипту садржаја.</translation> <translation id="4115165561519362854">Администратор овог рачунара захтева да <ph name="EXTENSION_NAME" /> има минималну верзију <ph name="EXTENSION_VERSION" />. Не можете да га омогућите док га не ажурирате на ту верзију (или новију).</translation> <translation id="4233778200880751280">Није могуће учитати страницу са основним подацима „<ph name="ABOUT_PAGE" />“.</translation> <translation id="471800408830181311">Формирање излазних резултата приватног кључа није успело.</translation>
diff --git a/extensions/strings/extensions_strings_sv.xtb b/extensions/strings/extensions_strings_sv.xtb index 603bfc9..f6cf5e1 100644 --- a/extensions/strings/extensions_strings_sv.xtb +++ b/extensions/strings/extensions_strings_sv.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Det finns redan en CRX-fil med det här namnet.</translation> <translation id="2753617847762399167">Illegal sökväg (absolut eller relativ med ".."): <ph name="IMAGE_PATH" /></translation> <translation id="27822970480436970">Tillägget misslyckades att ändra en nätverksbegäran eftersom ändringen står i konflikt med ett annat tillägg.</translation> +<translation id="2785530881066938471">Det gick inte att läsa in filen <ph name="RELATIVE_PATH" /> för innehållsskriptet. Den har inte kodats i UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (tilläggs-id <ph name="EXTENSION_ID" />) har blockerats av administratören. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Det gick inte att installera paketet <ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">Zip-filsinstallerare</translation> <translation id="3115238746683532089">Okänd produkt (<ph name="PRODUCT_ID" />) från leverantören <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Det gick inte att ersätta CRX-filen. Kontrollera om filen används.</translation> <translation id="3163201441334626963">Okänd produkt (<ph name="PRODUCT_ID" />) från leverantören <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Det gick inte att läsa in CSS-filen <ph name="RELATIVE_PATH" /> för innehållsskriptet.</translation> <translation id="3369521687965833290">Det går inte att packa upp tillägget. Ett tillägg kan bara packas upp säkert om det finns en sökväg till din profilkatalog som börjar med en enhetsbokstav och inte innehåller en knutpunkt, mount point eller symbollänk.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> från leverantören <ph name="VENDOR_ID" /> (serienummer <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Det angivna värdet för den privata nyckeln måste vara en giltig sökväg.</translation> <translation id="388442998277590542">Det gick inte att läsa in alternativsidan <ph name="OPTIONS_PAGE" />.</translation> <translation id="3984413272403535372">Ett fel uppstod när tillägget skulle signeras.</translation> +<translation id="39964277676607559">Det gick inte att läsa in JavaScript-filen <ph name="RELATIVE_PATH" /> för innehållsskriptet.</translation> <translation id="4115165561519362854">Administratören för datorn måste ha den lägsta versionen <ph name="EXTENSION_VERSION" /> av <ph name="EXTENSION_NAME" />. Det kan inte aktiveras förrän det har uppdaterats till den versionen (eller senare).</translation> <translation id="4233778200880751280">Det gick inte att ladda informationssidan <ph name="ABOUT_PAGE" />.</translation> <translation id="471800408830181311">Det gick inte att visa den privata nyckeln.</translation>
diff --git a/extensions/strings/extensions_strings_sw.xtb b/extensions/strings/extensions_strings_sw.xtb index a775e09..2800e64 100644 --- a/extensions/strings/extensions_strings_sw.xtb +++ b/extensions/strings/extensions_strings_sw.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Tayari kuna faili ya CRX iliyo na jina hili.</translation> <translation id="2753617847762399167">Njia haramu (kabisa au kiasi na '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Kiendelezi hiki kimeshindwa kurekebisha ombi la mtandao kwa sababu ya ukizano wa urekebishaji na kirefusho kingine.</translation> +<translation id="2785530881066938471">Isingweza kupakia faili '<ph name="RELATIVE_PATH" />' ya hati ya maudhui. Haijasimbwa kwa UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (kitambulisho cha kiendelezi cha "<ph name="EXTENSION_ID" />") kimezuiwa na msimamizi. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Isingeweza kusakinisha furushi: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Kisakinishaji cha Faili za Zip</translation> <translation id="3115238746683532089">Bidhaa isiyojulikana <ph name="PRODUCT_ID" /> kutoka kwa mchuuzi <ph name="VENDOR_ID" /> (nambari tambulishi <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Imeshindwa kubadilisha faili ya crx. Angalia kuona ikiwa faili inatumika.</translation> <translation id="3163201441334626963">Bidhaa isiyojulikana <ph name="PRODUCT_ID" /> kutoka kwa mchuuzi <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">CSS '<ph name="RELATIVE_PATH" />' haikuweza kupakiwa kwa ajili ya hati ya maudhui.</translation> <translation id="3369521687965833290">Haiwezi kufungua kiendelezi. Ili kufungua kiendelezi kwa usalama, sharti kuwe na kijia katika saraka ya maelzeo yako mafupi ambacho kinaanza kwa sarufi ya kiendeshi na hakina makutano, sehemu ya kuangika, au kiungo cha mfumo. Hakuna vijia kama hivyo vinavyopo kwa maelezo yako mafupi.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (nambari tambulishi <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> kutoka kwa mchuuzi <ph name="VENDOR_ID" /> (nambari tambulishi <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Thamani ya kuingizwa kwa ufunguo binafsi sharti iwe njia halali.</translation> <translation id="388442998277590542">Isingeweza kupakia ukurasa wa chaguo <ph name="OPTIONS_PAGE" /> '.</translation> <translation id="3984413272403535372">Hitilafu katika kuweka sahihi kwenye kiendelezi.</translation> +<translation id="39964277676607559">JavaScript '<ph name="RELATIVE_PATH" />' haikuweza kupakiwa kwa ajili ya hati ya maudhui.</translation> <translation id="4115165561519362854">Msimamizi wa mashine hii anahitaji <ph name="EXTENSION_NAME" /> ili kuwa na toleo la chini zaidi la <ph name="EXTENSION_VERSION" />. Haiwezi kuwashwa mpaka isasishwe hadi toleo hilo (au juu zaidi).</translation> <translation id="4233778200880751280">Haikuweza kupakia ukurasa wa kuhusu '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Imeshindwa kutoa ufunguo binafsi.</translation>
diff --git a/extensions/strings/extensions_strings_ta.xtb b/extensions/strings/extensions_strings_ta.xtb index 2d7e26d..8365dd1 100644 --- a/extensions/strings/extensions_strings_ta.xtb +++ b/extensions/strings/extensions_strings_ta.xtb
@@ -16,17 +16,21 @@ <translation id="2576842806987913196">இந்தப் பெயருடன் ஏற்கனவே ஒரு CRX கோப்பு உள்ளது.</translation> <translation id="2753617847762399167">முறையற்ற பாதை (சரியான அல்லது இதனுடன் தொடர்புடையவை '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">மாற்றம் மற்றொரு நீட்டிப்புடன் முரண்பட்டுள்ளதால், நெட்வொர்க் கோரிக்கையை மாற்றுவதற்கான, இந்தக் கோரிக்கை தோல்வி அடைந்தது.</translation> +<translation id="2785530881066938471">உள்ளடக்க ஸ்கிரிப்டுக்காக கோப்பு '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை. இது UTF-8 குறியாக்கத்தில் இல்லை.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (நீட்டிப்பு ஐடி "<ph name="EXTENSION_ID" />") எனும் நீட்டிப்பை நிர்வாகி தடுத்துள்ளார். <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">இந்த தொகுப்பை நிறுவமுடியாது: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">ஜிப் ஃபைல் இன்ஸ்டாலர்</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> விற்பனையாளர் அனுப்பிய <ph name="PRODUCT_ID" /> (சீரியல் எண் <ph name="SERIAL_NUMBER" />) தயாரிப்பை அறிய முடியவில்லை</translation> <translation id="3144135466825225871">crx கோப்பை இடமாற்றுவதில் தோல்வி. கோப்பு பயன்பாட்டில் உள்ளதா என்று பார்க்கவும்.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> அனுப்பிய <ph name="PRODUCT_ID" /> தயாரிப்பை அறிய முடியவில்லை.</translation> +<translation id="3302709122321372472">உள்ளடக்க ஸ்கிரிப்டுக்காக css '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை. </translation> <translation id="3369521687965833290">நீட்டிப்பைத் திறக்க முடியவில்லை. பாதுகாப்பாக நீட்டிப்பைத் திறக்க வேண்டுமானால், உங்கள் சுயவிவர கோப்பகத்திற்கான பாதை தரப்பட வேண்டும். சுயவிவர கோப்பகமானது கோப்பக எழுத்துடன் தொடங்க வேண்டும் மற்றும் சந்திப்பு, மவுண்ட் பாயின்ட் அல்லது சிம்லிங்கைக் கொண்டிருக்கக் கூடாது. உங்கள் சுயவிவரத்தில் அவ்வாறான பாதைகள் எதுவுமில்லை.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (சீரியல் எண் <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">விற்பனையாளர் <ph name="VENDOR_ID" /> அனுப்பிய <ph name="PRODUCT_NAME" /> (சீரியல் எண் <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">தனிப்பட்ட விசைக்கான உள்ளீட்டு மதிப்பானது, செல்லுபடியாகும் பாதையாக இருக்க வேண்டும்.</translation> <translation id="388442998277590542">'<ph name="OPTIONS_PAGE" />' என்ற விருப்பங்கள் பக்கத்தை ஏற்ற முடியவில்லை.</translation> <translation id="3984413272403535372">நீட்டிப்பிற்கு உள்நுழைவதில் பிழை.</translation> +<translation id="39964277676607559">உள்ளடக்க ஸ்கிரிப்டுக்காக javascript '<ph name="RELATIVE_PATH" />' ஐ ஏற்ற முடியவில்லை.</translation> <translation id="4115165561519362854">இந்தச் சாதனத்தின் நிர்வாகிக்கு <ph name="EXTENSION_NAME" /> இன் குறைந்தபட்ச பதிப்பான <ph name="EXTENSION_VERSION" /> தேவை. இது அந்தப் பதிப்பிற்குப் (அல்லது சமீபத்திய பதிப்பு) புதுப்பிக்கப்படும் வரை இயக்கமுடியாது.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' பக்கத்தை ஏற்ற முடியவில்லை.</translation> <translation id="471800408830181311">தனிப்பட்ட விசையை வெளியனுப்புவதில் தோல்வியடைந்தது.</translation>
diff --git a/extensions/strings/extensions_strings_te.xtb b/extensions/strings/extensions_strings_te.xtb index c7e1c4c..f379f00 100644 --- a/extensions/strings/extensions_strings_te.xtb +++ b/extensions/strings/extensions_strings_te.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">ఈ పేరుతో ఇప్పటికే CRX ఫైల్ ఉంది.</translation> <translation id="2753617847762399167">చట్టవిరుద్ధ పథం (ఖచ్చితంగా లేదా '..'కు సంబంధిత): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">నెట్వర్క్ అభ్యర్థనను సవరించడంలో ఈ పొడిగింపు విఫలమైంది ఎందుకంటే సవరణ మరొక పొడిగింపుతో వైరుధ్యంలో ఉంది.</translation> +<translation id="2785530881066938471">కంటెంట్ స్క్రిప్ట్ కోసం '<ph name="RELATIVE_PATH" />' ఫైల్ను లోడ్ చేయలేకపోయింది. ఇది ఎన్కోడ్ చేయబడిన UTF-8 కాదు.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (పొడిగింపు ID "<ph name="EXTENSION_ID" />") నిర్వాహకుల ద్వారా బ్లాక్ చేయబడింది. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">ప్యాకేజీని వ్యవస్థాపించడం సాధ్యం కాలేదు: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">జిప్ ఫైల్ ఇన్స్టాలర్</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> విక్రేత నుండి తెలియని ఉత్పత్తి <ph name="PRODUCT_ID" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx ఫైల్ భర్తీ విఫలమైంది. ఫైల్ ఉపయోగంలో ఉన్నదా అని తనిఖీ చేయండి.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> నుండి <ph name="PRODUCT_ID" /> తెలియని ఉత్పత్తి</translation> +<translation id="3302709122321372472">కంటెంట్ స్క్రిప్ట్ కోసం css '<ph name="RELATIVE_PATH" />' లోడ్ చేయబడలేరు.</translation> <translation id="3369521687965833290">ఎక్స్టెన్షన్ అన్ప్యాక్ చేయబడదు. ఒక ఎక్స్టెన్షన్ను సురక్షితంగా అన్ప్యాక్ చేయడానికి, మీ ప్రొఫైల్ డైరెక్టరీకి ఒక డ్రైవ్ అక్షరంతో ప్రారంభమయ్యే మరియు జంక్షన్, మౌంట్ పాయింట్ లేదా సింలింక్ ఉండని గమ్యమార్గం తప్పనిసరిగా ఉండాలి. మీ ప్రొఫైల్కు అటువంటి గమ్యమార్గం లేదు.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> విక్రేత నుండి <ph name="PRODUCT_NAME" /> (క్రమ సంఖ్య <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ప్రైవేట్ కీ కోసం ఇన్పుట్ విలువ తప్పనిసరిగా చెల్లుబాటు అయ్యే మార్గంగా ఉండాలి.</translation> <translation id="388442998277590542">ఎంపికల పేజీ '<ph name="OPTIONS_PAGE" />'ని లోడ్ చెయ్యడం సాధ్యం కాలేదు.</translation> <translation id="3984413272403535372">పొడిగింపుకు సంతకం చేసేటప్పుడు లోపం.</translation> +<translation id="39964277676607559">కంటెంట్ స్క్రిప్ట్ కోసం javascript '<ph name="RELATIVE_PATH" />' లోడ్ చేయబడలేదు.</translation> <translation id="4115165561519362854">ఈ మెషీన్ నిర్వాహకుడికి <ph name="EXTENSION_NAME" /> కనీస సంస్కరణ అయిన <ph name="EXTENSION_VERSION" /> ఉండటం అవసరం. ఇది ఆ సంస్కరణకు (లేదా తదుపరి దానికి) నవీకరించే వరకు ప్రారంభించబడదు.</translation> <translation id="4233778200880751280">'<ph name="ABOUT_PAGE" />' పరిచయ పేజీని లోడ్ చేయడం సాధ్యపడలేదు.</translation> <translation id="471800408830181311">ప్రైవేట్ కీని అవుట్పుట్ చేయడంలో విఫలమైంది.</translation>
diff --git a/extensions/strings/extensions_strings_th.xtb b/extensions/strings/extensions_strings_th.xtb index deaed4da..195ec77a 100644 --- a/extensions/strings/extensions_strings_th.xtb +++ b/extensions/strings/extensions_strings_th.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">มีไฟล์ CRX ที่มีชื่อนี้อยู่แล้ว</translation> <translation id="2753617847762399167">เส้นทางที่ไม่ถูกต้อง (โดยชัดแจ้งหรือเกี่ยวข้องกับ '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">ส่วนขยายนี้ไม่สามารถปรับเปลี่ยนคำขอเครือข่ายได้เนื่องจากการปรับเปลี่ยนมีความขัดแย้งกับส่วนขยายอื่น</translation> +<translation id="2785530881066938471">ไม่สามารถโหลดไฟล์ "<ph name="RELATIVE_PATH" />" สำหรับสคริปต์เนื้อหา ไม่ใช่การเข้ารหัส UTF-8</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (รหัสส่วนขยาย "<ph name="EXTENSION_ID" />") ถูกบล็อกโดยผู้ดูแลระบบ <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">ไม่สามารถติดตั้งแพ็กเกจ: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">ตัวติดตั้งไฟล์ Zip</translation> <translation id="3115238746683532089">ผลิตภัณฑ์ที่ไม่รู้จัก <ph name="PRODUCT_ID" /> จากผู้ขาย <ph name="VENDOR_ID" /> (หมายเลขซีเรียล <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">ไม่สามารถแทนที่ไฟล์ CRX ได้ โปรดตรวจสอบดูว่าไฟล์มีการใช้งานอยู่หรือไม่</translation> <translation id="3163201441334626963">ผลิตภัณฑ์ที่ไม่รู้จัก <ph name="PRODUCT_ID" /> จากผู้ขาย <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">ไม่สามารถโหลด CSS "<ph name="RELATIVE_PATH" />" เพื่อดูสคริปต์เนื้อหา</translation> <translation id="3369521687965833290">ไม่สามารถแยกส่วนขยายได้ หากต้องการแยกส่วนขยายอย่างปลอดภัย คุณต้องมีเส้นทางไปยังไดเรกทอรีโปรไฟล์ของคุณซึ่งขึ้นต้นด้วยตัวอักษรของไดรฟ์และจะต้องไม่มีจังก์ชัน จุดต่อเชื่อม หรือลิงก์สัญลักษณ์ ไม่มีเส้นทางในรูปแบบดังกล่าวสำหรับโปรไฟล์ของคุณ</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (หมายเลขซีเรียล <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> จากผู้ขาย <ph name="VENDOR_ID" /> (หมายเลขซีเรียล <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">ค่าที่ป้อนสำหรับคีย์ส่วนตัวจะต้องเป็นเส้นทางที่ถูกต้อง</translation> <translation id="388442998277590542">ไม่สามารถโหลดหน้าตัวเลือก "<ph name="OPTIONS_PAGE" />"</translation> <translation id="3984413272403535372">พบข้อผิดพลาดขณะเซ็นชื่อบนส่วนขยาย</translation> +<translation id="39964277676607559">ไม่สามารถโหลด javascript "<ph name="RELATIVE_PATH" />" สำหรับสคริปต์เนื้อหา</translation> <translation id="4115165561519362854">ผู้ดูแลระบบของเครื่องนี้ต้องการ <ph name="EXTENSION_NAME" /> เวอร์ชัน <ph name="EXTENSION_VERSION" /> ซึ่งเป็นเวอร์ชันขั้นต่ำ จะไม่สามารถเปิดใช้ได้จนกว่าจะมีการอัปเดตส่วนขยายนี้เป็นเวอร์ชันดังกล่าว (หรือสูงกว่า)</translation> <translation id="4233778200880751280">ไม่สามารถโหลดหน้าเกี่ยวกับ "<ph name="ABOUT_PAGE" />"</translation> <translation id="471800408830181311">ไม่สามารถส่งค่าคีย์ส่วนตัว</translation>
diff --git a/extensions/strings/extensions_strings_tr.xtb b/extensions/strings/extensions_strings_tr.xtb index e1948ac..6a34787 100644 --- a/extensions/strings/extensions_strings_tr.xtb +++ b/extensions/strings/extensions_strings_tr.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Bu adla bir CRX dosyası zaten var.</translation> <translation id="2753617847762399167">Geçersiz yol (mutlak veya '..' ile göreli): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Bu uzantı, değişikliğin başka bir uzantıyla çakışması nedeniyle bir ağ isteğini değiştiremedi.</translation> +<translation id="2785530881066938471">İçerik komut dosyası için '<ph name="RELATIVE_PATH" />' dosyası yüklenemedi. Dosya UTF-8 olarak kodlanmamış.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (uzantı kimliği "<ph name="EXTENSION_ID" />") yönetici tarafından engelleniyor. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Paket yüklenemedi: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Zip Dosyası Yükleyici</translation> <translation id="3115238746683532089"><ph name="VENDOR_ID" /> adlı satıcı firma tarafından sağlanan <ph name="PRODUCT_ID" /> ürün kimliğine sahip bilinmeyen ürün (seri numarası: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">crx dosyası değiştirilemedi. Dosyanın kullanımda olup olmadığını kontrol edin.</translation> <translation id="3163201441334626963"><ph name="VENDOR_ID" /> adlı satıcı firma tarafından sağlanan <ph name="PRODUCT_ID" /> ürün kimliğine sahip bilinmeyen ürün</translation> +<translation id="3302709122321372472">İçerik komut dosyasına ilişkin css '<ph name="RELATIVE_PATH" />' yüklenemedi.</translation> <translation id="3369521687965833290">Uzantının paketi açılamıyor. Bir uzantının paketini güvenli bir şekilde açabilmek için profil dizininize, sürücü harfi ile başlayan ve bağlantı, bağlantı noktası veya sembolik bağlantı içermeyen bir yol olmalıdır. Profiliniz için böyle bir yol bulunmuyor.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (seri numarası: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="VENDOR_ID" /> kimliğine sahip üretici firma tarafından sağlanan <ph name="PRODUCT_NAME" /> (seri numarası: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Özel anahtara ilişkin giriş değeri geçerli bir yol olmalıdır.</translation> <translation id="388442998277590542">'<ph name="OPTIONS_PAGE" />' seçenekler sayfası yüklenemedi.</translation> <translation id="3984413272403535372">Uzantı imzalanırken hata oluştu.</translation> +<translation id="39964277676607559">İçerik komut dosyasına ilişkin '<ph name="RELATIVE_PATH" />' javascript'i yüklenemedi.</translation> <translation id="4115165561519362854">Bu makinenin yöneticisi, <ph name="EXTENSION_NAME" /> uzantısının en azından <ph name="EXTENSION_VERSION" /> sürümünde olmasını gerektiriyor. Bu sürüme (veya sonraki sürümlere) güncelleninceye kadar uzantı etkinleştirilemez.</translation> <translation id="4233778200880751280">Hakkında sayfası ("<ph name="ABOUT_PAGE" />") yüklenemedi.</translation> <translation id="471800408830181311">Özel anahtar oluşturulamadı.</translation>
diff --git a/extensions/strings/extensions_strings_uk.xtb b/extensions/strings/extensions_strings_uk.xtb index 3191717..953a36b3 100644 --- a/extensions/strings/extensions_strings_uk.xtb +++ b/extensions/strings/extensions_strings_uk.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Файл у форматі CRX із такою назвою вже існує.</translation> <translation id="2753617847762399167">Заборонений шлях (узагалі або у зв’язку з ".."): "<ph name="IMAGE_PATH" />"</translation> <translation id="27822970480436970">Цьому розширенню не вдалося змінити запит мережі, оскільки зміна не сумісна з іншим розширенням.</translation> +<translation id="2785530881066938471">Неможливо завантажити файл "<ph name="RELATIVE_PATH" />" для сценарію вмісту. Кодування файлу не UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ідентифікатор розширення "<ph name="EXTENSION_ID" />") заблоковано адміністратором. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Неможливо встановити пакет: "<ph name="ERROR_CODE" />"</translation> +<translation id="3097628171361913691">Засіб розпакування файлів .zip</translation> <translation id="3115238746683532089">Невідомий продукт <ph name="PRODUCT_ID" /> від постачальника <ph name="VENDOR_ID" /> (серійний номер: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Не вдалося замінити файл у форматі crx. Перевірте, чи файл зараз не використовується.</translation> <translation id="3163201441334626963">Невідомий продукт <ph name="PRODUCT_ID" /> від постачальника <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Не вдалося завантажити файл .css "<ph name="RELATIVE_PATH" />" для сценарію вмісту.</translation> <translation id="3369521687965833290">Неможливо розпакувати розширення. Щоб безпечно розпакувати розширення, має бути шлях до каталогу вашого профілю, який починається буквою диску та не містить точок з’єднання, під’єднання чи символьного посилання. Для вашого профілю такого шляху немає.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (серійний номер: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> від постачальника <ph name="VENDOR_ID" /> (серійний номер: <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Потрібно ввести правильний шлях до секретного ключа.</translation> <translation id="388442998277590542">Не вдалося завантажити сторінку параметрів "<ph name="OPTIONS_PAGE" />".</translation> <translation id="3984413272403535372">Помилка під час підписування розширення.</translation> +<translation id="39964277676607559">Не вдалося завантажити javascript "<ph name="RELATIVE_PATH" />" для сценарію вмісту.</translation> <translation id="4115165561519362854">Адміністратор цього комп’ютера вимагає встановити розширення <ph name="EXTENSION_NAME" /> принаймні такої версії: <ph name="EXTENSION_VERSION" />. Ви не зможете ввімкнути це розширення, доки не оновите його до цієї версії (або новішої).</translation> <translation id="4233778200880751280">Не вдалося завантажити сторінку з інформацією про "<ph name="ABOUT_PAGE" />".</translation> <translation id="471800408830181311">Не вдалося вивести секретний ключ.</translation>
diff --git a/extensions/strings/extensions_strings_vi.xtb b/extensions/strings/extensions_strings_vi.xtb index f8ba3ebe..95192faa 100644 --- a/extensions/strings/extensions_strings_vi.xtb +++ b/extensions/strings/extensions_strings_vi.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">Hiện có tệp CRX hiển thị với tên này.</translation> <translation id="2753617847762399167">Đường dẫn không hợp lệ (tuyệt đối hoặc tương đối với '..'): '<ph name="IMAGE_PATH" />'</translation> <translation id="27822970480436970">Tiện ích này không thể sửa đổi yêu cầu mạng vì việc sửa đổi xung đột với một tiện ích khác.</translation> +<translation id="2785530881066938471">Không thể tải tệp '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung. Tệp không được mã hóa UTF-8.</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" /> (ID tiện ích "<ph name="EXTENSION_ID" />") bị quản trị viên chặn. <ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">Không thể cài đặt gói: '<ph name="ERROR_CODE" />'</translation> +<translation id="3097628171361913691">Trình cài đặt tệp nén</translation> <translation id="3115238746683532089">Sản phẩm không xác định <ph name="PRODUCT_ID" /> từ nhà cung cấp <ph name="VENDOR_ID" /> (số sê-ri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">Không thể thay thế tệp crx. Kiểm tra để xem tệp có đang được sử dụng hay không.</translation> <translation id="3163201441334626963">Sản phẩm không xác định <ph name="PRODUCT_ID" /> từ nhà cung cấp <ph name="VENDOR_ID" /></translation> +<translation id="3302709122321372472">Không thể tải css '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung.</translation> <translation id="3369521687965833290">Không thể giải nén tiện ích. Để giải nén tiện ích một cách an toàn, phải có đường dẫn đến thư mục hồ sơ của bạn bắt đầu bằng ký tự ổ đĩa và không chứa ký tự liên kết, điểm lắp hoặc liên kết dạng biểu tượng. Không có đường dẫn như vậy tồn tại cho hồ sơ của bạn.</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (số sê-ri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397"><ph name="PRODUCT_NAME" /> từ nhà cung cấp <ph name="VENDOR_ID" /> (số sê-ri <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">Giá trị dữ liệu nhập cho khóa cá nhân phải là một đường dẫn hợp lệ.</translation> <translation id="388442998277590542">Không thể tải trang tùy chọn '<ph name="OPTIONS_PAGE" />'.</translation> <translation id="3984413272403535372">Lỗi khi ký tiện ích.</translation> +<translation id="39964277676607559">Không thể tải javascript '<ph name="RELATIVE_PATH" />' cho tập lệnh nội dung.</translation> <translation id="4115165561519362854">Quản trị viên của máy này yêu cầu <ph name="EXTENSION_NAME" /> có phiên bản tối thiểu của <ph name="EXTENSION_VERSION" />. Không thể kích hoạt phiên bản cho đến khi máy cập nhật lên phiên bản đó (hoặc phiên bản cao hơn).</translation> <translation id="4233778200880751280">Không thể tải trang giới thiệu '<ph name="ABOUT_PAGE" />'.</translation> <translation id="471800408830181311">Không thể đăng nhập khóa cá nhân đầu ra.</translation>
diff --git a/extensions/strings/extensions_strings_zh-CN.xtb b/extensions/strings/extensions_strings_zh-CN.xtb index 8bdaa5f..726a5758 100644 --- a/extensions/strings/extensions_strings_zh-CN.xtb +++ b/extensions/strings/extensions_strings_zh-CN.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">已经有其他 CRX 文件使用了此名称。</translation> <translation id="2753617847762399167">非法路径(具有“..”的绝对或相对路径):“<ph name="IMAGE_PATH" />”</translation> <translation id="27822970480436970">此扩展程序无法修改网络请求,因为这一修改与其他扩展程序产生了冲突。</translation> +<translation id="2785530881066938471">无法为内容脚本加载“<ph name="RELATIVE_PATH" />”文件。该文件采用的不是 UTF-8 编码。</translation> <translation id="2903070246402204397"><ph name="EXTENSION_NAME" />(扩展程序 ID为“<ph name="EXTENSION_ID" />”)已被管理员阻止。<ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">无法安装程序包:“<ph name="ERROR_CODE" />”</translation> +<translation id="3097628171361913691">Zip 文件安装程序</translation> <translation id="3115238746683532089">来自供应商 <ph name="VENDOR_ID" /> 的未知产品 <ph name="PRODUCT_ID" />(序列号为 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">未能替换 CRX 文件。请检查该文件是否正在使用。</translation> <translation id="3163201441334626963">来自供应商 <ph name="VENDOR_ID" /> 的未知产品 <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">无法为内容脚本加载重叠样式表“<ph name="RELATIVE_PATH" />”。</translation> <translation id="3369521687965833290">无法将扩展程序解包。要安全地将扩展程序解包,您的个人资料目录中的解包路径必须以驱动器号开头,并且不能包含交接点、装入点或符号链接。您的个人资料中不存在这样的路径。</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" />(序列号为 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">来自供应商 <ph name="VENDOR_ID" /> 的<ph name="PRODUCT_NAME" />(序列号为 <ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">私有密钥的输入值必须是有效的路径。</translation> <translation id="388442998277590542">无法加载选项页“<ph name="OPTIONS_PAGE" />”。</translation> <translation id="3984413272403535372">为扩展程序签名时出错。</translation> +<translation id="39964277676607559">无法为内容脚本加载 JavaScript“<ph name="RELATIVE_PATH" />”。</translation> <translation id="4115165561519362854">此设备的管理员要求“<ph name="EXTENSION_NAME" />”的最低版本为 <ph name="EXTENSION_VERSION" />。此扩展程序必须更新到该版本(或更高版本)后才能启用。</translation> <translation id="4233778200880751280">无法加载简介页面“<ph name="ABOUT_PAGE" />”。</translation> <translation id="471800408830181311">无法输出私有密钥。</translation>
diff --git a/extensions/strings/extensions_strings_zh-TW.xtb b/extensions/strings/extensions_strings_zh-TW.xtb index 9736ea7..ad15b15 100644 --- a/extensions/strings/extensions_strings_zh-TW.xtb +++ b/extensions/strings/extensions_strings_zh-TW.xtb
@@ -15,17 +15,21 @@ <translation id="2576842806987913196">已有一個 CRX 檔案使用這個名稱。</translation> <translation id="2753617847762399167">路徑無效 (絕對路徑或「..」相對路徑):「<ph name="IMAGE_PATH" />」</translation> <translation id="27822970480436970">這個擴充功能無法修改網路要求,因為執行修改會與其他擴充功能相衝突。</translation> +<translation id="2785530881066938471">無法載入內容指令碼的「<ph name="RELATIVE_PATH" />」檔案,因為該檔案未使用 UTF-8 編碼。</translation> <translation id="2903070246402204397">管理員已封鎖 <ph name="EXTENSION_NAME" /> (擴充功能 ID「<ph name="EXTENSION_ID" />」)。<ph name="ADMIN_INFO" /></translation> <translation id="2988488679308982380">無法安裝套件:<ph name="ERROR_CODE" /></translation> +<translation id="3097628171361913691">壓縮檔安裝程式</translation> <translation id="3115238746683532089">供應商 <ph name="VENDOR_ID" /> 提供的不明產品 <ph name="PRODUCT_ID" /> (序號:<ph name="SERIAL_NUMBER" />)</translation> <translation id="3144135466825225871">無法取代 crx 檔案,請檢查檔案是否正在使用中。</translation> <translation id="3163201441334626963">供應商 <ph name="VENDOR_ID" /> 提供的不明產品 <ph name="PRODUCT_ID" /></translation> +<translation id="3302709122321372472">無法載入內容指令碼的 css「<ph name="RELATIVE_PATH" />」。</translation> <translation id="3369521687965833290">無法為擴充功能解除封裝。如要安全解除封裝,設定檔目錄的路徑必須以磁碟代號開頭,且不能包含連接點、掛載點或符號連結。你的設定檔中沒有符合條件的路徑。</translation> <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (序號:<ph name="SERIAL_NUMBER" />)</translation> <translation id="3466070586188012397">供應商 <ph name="VENDOR_ID" /> 提供的 <ph name="PRODUCT_NAME" /> (序號:<ph name="SERIAL_NUMBER" />)</translation> <translation id="3561217442734750519">私密金鑰的輸入值必須是有效的路徑。</translation> <translation id="388442998277590542">無法載入「<ph name="OPTIONS_PAGE" />」選項頁面。</translation> <translation id="3984413272403535372">簽署擴充功能時出現錯誤。</translation> +<translation id="39964277676607559">無法載入內容指令碼的 javascript「<ph name="RELATIVE_PATH" />」。</translation> <translation id="4115165561519362854">這個裝置的管理員要求的 <ph name="EXTENSION_NAME" /> 最低版本為 <ph name="EXTENSION_VERSION" />。更新至該版本 (或以上版本) 後,才能啟用這項擴充功能。</translation> <translation id="4233778200880751280">無法載入簡介網頁「<ph name="ABOUT_PAGE" />」。</translation> <translation id="471800408830181311">匯出私密金鑰失敗。</translation>
diff --git a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc index 85087b2..cfbfbbb08 100644 --- a/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc +++ b/gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc
@@ -398,6 +398,9 @@ case GL_TEXTURE_EXTERNAL_OES: source += "#define TextureLookup texture2D\n"; break; + case GL_TEXTURE_RECTANGLE_ARB: + source += "#define TextureLookup texture2DRect\n"; + break; default: NOTREACHED(); break;
diff --git a/headless/lib/browser/devtools_api/domain_type_conversions_h.template b/headless/lib/browser/devtools_api/domain_type_conversions_h.template index eb829705..91385404 100644 --- a/headless/lib/browser/devtools_api/domain_type_conversions_h.template +++ b/headless/lib/browser/devtools_api/domain_type_conversions_h.template
@@ -39,7 +39,7 @@ switch (value) { {% for literal in type.enum %} case {{namespace}}::{{type.id}}::{{literal | sanitize_literal | dash_to_camelcase | camelcase_to_hacker_style | upper }}: - return base::WrapUnique(new base::Value("{{literal}}")); + return std::make_unique<base::Value>("{{literal}}"); {% endfor %} }; NOTREACHED();
diff --git a/headless/public/util/compositor_controller_browsertest.cc b/headless/public/util/compositor_controller_browsertest.cc index 5a0aabd..deee8a8 100644 --- a/headless/public/util/compositor_controller_browsertest.cc +++ b/headless/public/util/compositor_controller_browsertest.cc
@@ -24,6 +24,7 @@ #include "headless/public/headless_devtools_client.h" #include "headless/public/util/virtual_time_controller.h" #include "headless/test/headless_browser_test.h" +#include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" @@ -160,8 +161,9 @@ void CustomizeHeadlessBrowserContext( HeadlessBrowserContext::Builder& builder) override { - // Set an arbitrary initial time to enable base::Time/TimeTicks overrides. - builder.SetInitialVirtualTime(base::Time::Now()); + // Set an initial time to enable base::Time/TimeTicks overrides and ensure + // deterministic timestamps. + builder.SetInitialVirtualTime(base::Time::FromJsTime(100000.0)); } bool GetEnableBeginFrameControl() override { return true; } @@ -361,10 +363,7 @@ // - animate_only BeginFrames don't produce CompositorFrames, // - first screenshot starts the GIF animation, // - animation is advanced according to virtual time. -// -// TODO(eseckler): Also verify that image animation frame times are not -// re-synced after the first iteration. This requires adding an flag/setting to -// disable such resyncs. +// - the animation is not resynced after the first iteration. class CompositorControllerImageAnimationBrowserTest : public CompositorControllerBrowserTest { private: @@ -545,6 +544,154 @@ CompositorControllerImageAnimationBrowserTest, ::testing::Bool()); +// Loads a CSS animation and verifies that: +// - animate_only BeginFrames don't produce CompositorFrames, +// - animate_only BeginFrames advance animations and trigger itersection events, +// - animation is advanced according to virtual time. +class CompositorControllerCssAnimationBrowserTest + : public CompositorControllerBrowserTest, + public runtime::Observer { + private: + base::TimeDelta GetAnimationFrameInterval() const override { + return base::TimeDelta::FromMilliseconds(500); + } + + std::string GetTestFile() const override { + // Animates opacity of a blue 100px square on red blackground over 4 + // seconds (100% -> 0% -> 100% four times). Logs events to console. + // + // Timeline: + // 0 ms: --- animation starts at 500ms --- + // 500 ms: 100% opacity -> blue background. + // 1000 ms: 0% opacity -> red background. + // 1500 ms: 100% opacity -> blue background. + // 2000 ms: 0% opacity -> red background. + // 2500 ms: 100% opacity -> blue background. + // 3000 ms: 0% opacity -> red background. + // 3500 ms: 100% opacity -> blue background. + // 4000 ms: 0% opacity -> red background. + // 4500 ms: 100% opacity -> blue background. + // + // The animation will start with the first BeginFrame after load. + return "/css_animation.html"; + } + + void OnFirstBeginFrameComplete() override { + CompositorControllerBrowserTest::OnFirstBeginFrameComplete(); + + // First frame advanced one BeginFrame interval. + elapsed_time_ += GetAnimationFrameInterval(); + + // First BeginFrame advanced by one interval. + devtools_client_->GetRuntime()->AddObserver(this); + devtools_client_->GetRuntime()->Enable(base::BindRepeating( + &CompositorControllerCssAnimationBrowserTest::RuntimeEnabled, + base::Unretained(this))); + } + + void RuntimeEnabled() { + // Animation starts with the first BeginFrame of this budget. Advance five + // frames to reach 3000ms, at which point the background should be red. + GrantBudget(GetAnimationFrameInterval() * 5); + } + + void GrantBudget(base::TimeDelta budget) { + // Grant the budget in two halves, with screenshots at the end of each. + // AdditionalVirtualTimeBudget will self delete. + new AdditionalVirtualTimeBudget( + virtual_time_controller_.get(), + AdditionalVirtualTimeBudget::StartPolicy::START_IMMEDIATELY, budget, + base::BindOnce( + &CompositorControllerCssAnimationBrowserTest::OnBudgetExpired, + base::Unretained(this), budget)); + } + + void OnBudgetExpired(base::TimeDelta budget) { + elapsed_time_ += budget; + + EXPECT_THAT( + elapsed_time_, + testing::AnyOf(testing::Eq(base::TimeDelta::FromMilliseconds(3000)), + testing::Eq(base::TimeDelta::FromMilliseconds(4500)))); + + if (elapsed_time_ == base::TimeDelta::FromMilliseconds(3000)) { + // We should have advanced five BeginFrames. No CompositorFrames from + // renderer because update_display_for_animations is false. + EXPECT_SCOPED(ExpectAdditionalFrameCounts(5, 0)); + } else { + // We should have advanced two more BeginFrames since the second budget + // was preceded by a screenshot. No CompositorFrames from renderer + // because update_display_for_animations is false. + EXPECT_SCOPED(ExpectAdditionalFrameCounts(2, 0)); + } + + compositor_controller_->CaptureScreenshot( + headless_experimental::ScreenshotParamsFormat::PNG, 100, + base::BindRepeating( + &CompositorControllerCssAnimationBrowserTest::OnScreenshot, + base::Unretained(this))); + } + + void OnScreenshot(const std::string& screenshot_data) { + // Screenshot should have incurred a new CompositorFrame from renderer. + EXPECT_SCOPED(ExpectAdditionalFrameCounts(1, 1)); + EXPECT_LT(0U, screenshot_data.length()); + + if (screenshot_data.length()) { + SkBitmap result_bitmap; + EXPECT_TRUE(DecodePNG(screenshot_data, &result_bitmap)); + + EXPECT_EQ(800, result_bitmap.width()); + EXPECT_EQ(600, result_bitmap.height()); + SkColor actual_color = result_bitmap.getColor(50, 50); + + // First screenshot should be red, because box is not visible. + SkColor expected_color = SkColorSetRGB(0xff, 0x00, 0x00); + if (elapsed_time_ == base::TimeDelta::FromMilliseconds(4500)) { + // Box is visible in second screenshot, so it should be blue. + expected_color = SkColorSetRGB(0x00, 0x00, 0xff); + } + + EXPECT_EQ(expected_color, actual_color); + } + + if (elapsed_time_ == base::TimeDelta::FromMilliseconds(3000)) { + // Advance to the end of the animation. + GrantBudget(base::TimeDelta::FromMilliseconds(1500)); + } else { + EXPECT_THAT(log_, testing::ElementsAre( + // Animation actually started at 500ms, but the + // event is executed a BeginFrame later. + "event animationstart at 101000ms", + "event animationiteration at 101500ms", + "event animationiteration at 102500ms", + "event animationiteration at 103500ms", + "event animationend at 104500ms")); + FinishCompositorControllerTest(); + } + } + + // runtime::Observer implementation: + void OnConsoleAPICalled( + const runtime::ConsoleAPICalledParams& params) override { + // We expect the arguments always to be a single string. + const std::vector<std::unique_ptr<runtime::RemoteObject>>& args = + *params.GetArgs(); + if (args.size() == 1u && args[0]->HasValue()) + log_.push_back(args[0]->GetValue()->GetString()); + } + + base::TimeDelta elapsed_time_; + std::vector<std::string> log_; +}; + +HEADLESS_ASYNC_DEVTOOLED_TEST_P(CompositorControllerCssAnimationBrowserTest); + +// Instantiate test case for both software and gpu compositing modes. +INSTANTIATE_TEST_CASE_P(CompositorControllerCssAnimationBrowserTests, + CompositorControllerCssAnimationBrowserTest, + ::testing::Bool()); + #endif // !defined(OS_MACOSX) } // namespace headless
diff --git a/headless/public/util/testing/mock_devtools_agent_host.h b/headless/public/util/testing/mock_devtools_agent_host.h index 3fe8e340..3ce76f2 100644 --- a/headless/public/util/testing/mock_devtools_agent_host.h +++ b/headless/public/util/testing/mock_devtools_agent_host.h
@@ -17,6 +17,8 @@ // DevToolsAgentHost implementation. MOCK_METHOD1(AttachClient, void(content::DevToolsAgentHostClient* client)); + MOCK_METHOD1(AttachRestrictedClient, + bool(content::DevToolsAgentHostClient* client)); MOCK_METHOD1(ForceAttachClient, void(content::DevToolsAgentHostClient* client)); MOCK_METHOD1(DetachClient, bool(content::DevToolsAgentHostClient* client));
diff --git a/headless/test/data/css_animation.html b/headless/test/data/css_animation.html new file mode 100644 index 0000000..38711ef --- /dev/null +++ b/headless/test/data/css_animation.html
@@ -0,0 +1,32 @@ +<!doctype html> +<style> +* { + margin: 0px; + background-color: red; +} + +#box { + width: 100px; + height: 100px; + background-color: blue; + + animation: flash 1s steps(1, end) 4; +} + +@keyframes flash { + 0% { opacity: 1; } + 50% { opacity: 0; } + 100% { opacity: 1; } +} +</style> +<div id="box"></div> +<script> +var box = document.getElementById("box"); +box.addEventListener("animationstart", onAnimationEvent, false); +box.addEventListener("animationiteration", onAnimationEvent, false); +box.addEventListener("animationend", onAnimationEvent, false); + +function onAnimationEvent(event) { + console.log("event " + event.type + " at " + Date.now() + "ms"); +} +</script>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb index d86acac..4112773 100644 --- a/ios/chrome/app/strings/resources/ios_strings_am.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">አቃፊዎች</translation> <translation id="7004499039102548441">የቅርብ ጊዜ ትሮች</translation> <translation id="7006788746334555276">የይዘት ቅንብሮች </translation> +<translation id="7029809446516969842">የይለፍ ቃላት</translation> <translation id="7031882061095297553">አሥምር ወደ</translation> <translation id="7053983685419859001">አግድ</translation> <translation id="7062545763355031412">ይቀበሉ እና መለያዎችን ይቀይሩ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb index 28248a4..70785b2d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">المجلدات</translation> <translation id="7004499039102548441">علامات التبويب الأخيرة</translation> <translation id="7006788746334555276">إعدادات المحتوى</translation> +<translation id="7029809446516969842">كلمات المرور</translation> <translation id="7031882061095297553">مزامنة لـ</translation> <translation id="7053983685419859001">منع</translation> <translation id="7062545763355031412">قبول الحسابات وتبديلها</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb index 29d2088..071c7ce 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Папки</translation> <translation id="7004499039102548441">Скорошни раздели</translation> <translation id="7006788746334555276">Настройки за съдържанието</translation> +<translation id="7029809446516969842">Пароли</translation> <translation id="7031882061095297553">Синхронизиране със</translation> <translation id="7053983685419859001">Блокиране</translation> <translation id="7062545763355031412">Приемане и превключване на профилите</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb index 3c8526f..9518ca35 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -320,6 +320,7 @@ <translation id="6973630695168034713">ফোল্ডারগুলি</translation> <translation id="7004499039102548441">সাম্প্রতিক ট্যাবগুলি</translation> <translation id="7006788746334555276">সামগ্রী সেটিংস</translation> +<translation id="7029809446516969842">পাসওয়ার্ড</translation> <translation id="7031882061095297553">এতে সিঙ্ক করুন</translation> <translation id="7053983685419859001">ব্লক করুন</translation> <translation id="7062545763355031412">স্বীকার করে অ্যাকাউন্টগুলি সুইচ করুন</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb index c690872d..37d30974 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Carpetes</translation> <translation id="7004499039102548441">Pestanyes recents</translation> <translation id="7006788746334555276">Configuració del contingut</translation> +<translation id="7029809446516969842">Contrasenyes</translation> <translation id="7031882061095297553">Sincronitza amb</translation> <translation id="7053983685419859001">Bloqueja</translation> <translation id="7062545763355031412">Accepta i canvia de compte</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb index fd0f98f..bec5fee 100644 --- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Složky</translation> <translation id="7004499039102548441">Nedávno použité karty</translation> <translation id="7006788746334555276">Nastavení obsahu</translation> +<translation id="7029809446516969842">Hesla</translation> <translation id="7031882061095297553">Synchronizace s účty</translation> <translation id="7053983685419859001">Blokovat</translation> <translation id="7062545763355031412">Přijmout a přepnout účet</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb index a99a66a..f1810e5 100644 --- a/ios/chrome/app/strings/resources/ios_strings_da.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mapper</translation> <translation id="7004499039102548441">Seneste faner</translation> <translation id="7006788746334555276">Indstillinger for indhold</translation> +<translation id="7029809446516969842">Adgangskoder</translation> <translation id="7031882061095297553">Synkroniser til</translation> <translation id="7053983685419859001">Bloker</translation> <translation id="7062545763355031412">Acceptér, og skift konto</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb index bb1ab11..ea2e3e7 100644 --- a/ios/chrome/app/strings/resources/ios_strings_de.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Ordner</translation> <translation id="7004499039102548441">Zuletzt geöffnete Tabs</translation> <translation id="7006788746334555276">Inhaltseinstellungen</translation> +<translation id="7029809446516969842">Passwörter</translation> <translation id="7031882061095297553">Synchronisieren mit</translation> <translation id="7053983685419859001">Blockieren</translation> <translation id="7062545763355031412">Akzeptieren und Konto wechseln</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb index bcd0b01..71d6ecbb 100644 --- a/ios/chrome/app/strings/resources/ios_strings_el.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Φάκελοι</translation> <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation> <translation id="7006788746334555276">Ρυθμίσεις περιεχομένου</translation> +<translation id="7029809446516969842">Κωδικοί πρόσβασης</translation> <translation id="7031882061095297553">Συγχρονισμός με</translation> <translation id="7053983685419859001">Αποκλεισμός</translation> <translation id="7062545763355031412">Αποδοχή και εναλλαγή λογαριασμών</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb index 15790b1..80b9ee0 100644 --- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Folders</translation> <translation id="7004499039102548441">Recent tabs</translation> <translation id="7006788746334555276">Content Settings</translation> +<translation id="7029809446516969842">Passwords</translation> <translation id="7031882061095297553">Sync to</translation> <translation id="7053983685419859001">Block</translation> <translation id="7062545763355031412">Accept and switch accounts</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb index a97624f..91ae15b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Carpetas</translation> <translation id="7004499039102548441">Pestañas recientes</translation> <translation id="7006788746334555276">Configuración de contenido</translation> +<translation id="7029809446516969842">Contraseñas</translation> <translation id="7031882061095297553">Sincronizar con</translation> <translation id="7053983685419859001">Bloquear</translation> <translation id="7062545763355031412">Aceptar y cambiar de cuenta</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb index 8a25e66..d928aea2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_es.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Carpetas</translation> <translation id="7004499039102548441">Pestañas recientes</translation> <translation id="7006788746334555276">Configuración de contenido</translation> +<translation id="7029809446516969842">Contraseñas</translation> <translation id="7031882061095297553">Sincronizar con</translation> <translation id="7053983685419859001">Bloquear</translation> <translation id="7062545763355031412">Aceptar y cambiar de cuenta</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb index a6fd8d2..6f93249 100644 --- a/ios/chrome/app/strings/resources/ios_strings_et.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Kaustad</translation> <translation id="7004499039102548441">Hiljutised vahelehed</translation> <translation id="7006788746334555276">Sisu seaded</translation> +<translation id="7029809446516969842">Paroolid</translation> <translation id="7031882061095297553">Sünkroonimine:</translation> <translation id="7053983685419859001">Blokeeri</translation> <translation id="7062545763355031412">Nõustu ja vaheta kontosid</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb index ad098ff..07a4d97d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -320,6 +320,7 @@ <translation id="6973630695168034713">پوشهها</translation> <translation id="7004499039102548441">برگههای جدید</translation> <translation id="7006788746334555276">تنظیمات محتوا</translation> +<translation id="7029809446516969842">گذرواژهها</translation> <translation id="7031882061095297553">همگامسازی در</translation> <translation id="7053983685419859001">مسدود کردن</translation> <translation id="7062545763355031412">پذیرش و تغییر حسابها</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb index 5b5edcd..c49eca017 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Kansiot</translation> <translation id="7004499039102548441">Hiljattain suljetut välilehdet</translation> <translation id="7006788746334555276">Sisältöasetukset</translation> +<translation id="7029809446516969842">Salasanat</translation> <translation id="7031882061095297553">Synkronoi tilille</translation> <translation id="7053983685419859001">Estä</translation> <translation id="7062545763355031412">Hyväksy ja vaihda tiliä</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb index 5377bc36..4d3f6f7c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mga Folder</translation> <translation id="7004499039102548441">Mga Kamakailang Tab</translation> <translation id="7006788746334555276">Mga Setting ng Nilalaman</translation> +<translation id="7029809446516969842">Mga Password</translation> <translation id="7031882061095297553">I-sync sa</translation> <translation id="7053983685419859001">Harangan</translation> <translation id="7062545763355031412">Tanggapin at lumipat ng account</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb index 0e5021b..11d6eeea 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Dossiers</translation> <translation id="7004499039102548441">Onglets récents</translation> <translation id="7006788746334555276">Paramètres de contenu</translation> +<translation id="7029809446516969842">Mots de passe</translation> <translation id="7031882061095297553">Synchroniser avec</translation> <translation id="7053983685419859001">Bloquer</translation> <translation id="7062545763355031412">Accepter et changer de compte</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb index e63d003..ab37cf49 100644 --- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">ફોલ્ડર્સ</translation> <translation id="7004499039102548441">તાજેતરના ટૅબ્સ</translation> <translation id="7006788746334555276">સામગ્રી સેટિંગ્સ</translation> +<translation id="7029809446516969842">પાસવર્ડ્સ</translation> <translation id="7031882061095297553">આના પર સમન્વયિત કરો</translation> <translation id="7053983685419859001">અવરોધિત કરો</translation> <translation id="7062545763355031412">સ્વીકારો અને એકાઉન્ટ્સ સ્વિચ કરો</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb index f43ff4d..249c7c9f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">फ़ोल्डर</translation> <translation id="7004499039102548441">हाल के टैब</translation> <translation id="7006788746334555276">सामग्री सेटिंग</translation> +<translation id="7029809446516969842">पासवर्ड</translation> <translation id="7031882061095297553">इसमें समन्वयित करें</translation> <translation id="7053983685419859001">अवरोधित करें</translation> <translation id="7062545763355031412">स्वीकार करें और खातों को बदलें</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb index 530aee98..ff7db16 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mape</translation> <translation id="7004499039102548441">Nedavne kartice</translation> <translation id="7006788746334555276">Postavke sadržaja</translation> +<translation id="7029809446516969842">Zaporke</translation> <translation id="7031882061095297553">Sinkronizacija s računima</translation> <translation id="7053983685419859001">Blokiraj</translation> <translation id="7062545763355031412">Prihvati i promijeni račun</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb index cd6aa3fd..1748be74 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mappák</translation> <translation id="7004499039102548441">Nemrég megnyitott lapok</translation> <translation id="7006788746334555276">Tartalombeállítások</translation> +<translation id="7029809446516969842">Jelszavak</translation> <translation id="7031882061095297553">Szinkronizálás a következőknél</translation> <translation id="7053983685419859001">Letiltás</translation> <translation id="7062545763355031412">Elfogadás és fiókváltás</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb index d154c97..6ac572a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_id.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Folder</translation> <translation id="7004499039102548441">Tab Baru-baru Ini</translation> <translation id="7006788746334555276">Setelan Konten</translation> +<translation id="7029809446516969842">Sandi</translation> <translation id="7031882061095297553">Sinkronkan ke</translation> <translation id="7053983685419859001">Blokir</translation> <translation id="7062545763355031412">Terima dan beralih akun</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb index 1f39d0e..9ccfcf6b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_it.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Cartelle</translation> <translation id="7004499039102548441">Schede recenti</translation> <translation id="7006788746334555276">Impostazioni contenuti</translation> +<translation id="7029809446516969842">Password</translation> <translation id="7031882061095297553">Sincronizza con</translation> <translation id="7053983685419859001">Blocca</translation> <translation id="7062545763355031412">Accetta e cambia account</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb index 7cee373..01d0b65 100644 --- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">תיקיות</translation> <translation id="7004499039102548441">כרטיסיות אחרונות</translation> <translation id="7006788746334555276">הגדרות תוכן</translation> +<translation id="7029809446516969842">סיסמאות</translation> <translation id="7031882061095297553">סינכרון עם</translation> <translation id="7053983685419859001">חסום</translation> <translation id="7062545763355031412">קבל והחלף חשבונות</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb index 9265620..4433e89eb 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">フォルダ</translation> <translation id="7004499039102548441">最近使ったタブ</translation> <translation id="7006788746334555276">コンテンツの設定</translation> +<translation id="7029809446516969842">パスワード</translation> <translation id="7031882061095297553">同期先</translation> <translation id="7053983685419859001">ブロック</translation> <translation id="7062545763355031412">同意してアカウントを切り替える</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb index 5f5816754..b3cbb3d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">ಫೋಲ್ಡರ್ಗಳು</translation> <translation id="7004499039102548441">ಇತ್ತೀಚಿನ ಟ್ಯಾಬ್ಗಳು</translation> <translation id="7006788746334555276">ವಿಷಯ ಸೆಟ್ಟಿಂಗ್ಗಳು</translation> +<translation id="7029809446516969842">ಪಾಸ್ವರ್ಡ್ಗಳು</translation> <translation id="7031882061095297553">ಇದಕ್ಕೆ ಸಿಂಕ್ ಮಾಡಿ</translation> <translation id="7053983685419859001">ನಿರ್ಬಂಧಿಸು</translation> <translation id="7062545763355031412">ಸಮ್ಮತಿಸಿ ಮತ್ತು ಖಾತೆಗಳನ್ನು ಬದಲಾಯಿಸಿ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb index 285597f4..88ab377 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">폴더</translation> <translation id="7004499039102548441">최근 탭</translation> <translation id="7006788746334555276">콘텐츠 설정</translation> +<translation id="7029809446516969842">비밀번호</translation> <translation id="7031882061095297553">동기화 가능 계정</translation> <translation id="7053983685419859001">차단</translation> <translation id="7062545763355031412">동의 및 계정 전환</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb index 4fdc2198..91ce273 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Aplankai</translation> <translation id="7004499039102548441">Naujausi skirtukai</translation> <translation id="7006788746334555276">Turinio nustatymai</translation> +<translation id="7029809446516969842">Slaptažodžiai</translation> <translation id="7031882061095297553">Sinchronizavimas su</translation> <translation id="7053983685419859001">Blokuoti</translation> <translation id="7062545763355031412">Sutikti ir perjungti paskyras</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb index 087e12ce..24557be 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mapes</translation> <translation id="7004499039102548441">Nesen atvērtas cilnes</translation> <translation id="7006788746334555276">Satura iestatījumi</translation> +<translation id="7029809446516969842">Paroles</translation> <translation id="7031882061095297553">Sinhronizēt ar:</translation> <translation id="7053983685419859001">Bloķēt</translation> <translation id="7062545763355031412">Piekrist un pārslēgt kontus</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb index fc801fa..646c3fcb 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">ഫോൾഡറുകൾ</translation> <translation id="7004499039102548441">സമീപകാല ടാബുകൾ</translation> <translation id="7006788746334555276">ഉള്ളടക്ക ക്രമീകരണങ്ങള്</translation> +<translation id="7029809446516969842">പാസ്വേഡുകള്</translation> <translation id="7031882061095297553">ഇതിലേക്ക് സമന്വയിപ്പിക്കുക</translation> <translation id="7053983685419859001">തടയുക</translation> <translation id="7062545763355031412">അംഗീകരിച്ചശേഷം, അക്കൗണ്ടുകൾ മാറുക</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb index 28bc1fd9..c313e30a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -320,6 +320,7 @@ <translation id="6973630695168034713">फोल्डर</translation> <translation id="7004499039102548441">अलीकडील टॅब</translation> <translation id="7006788746334555276">सामग्री सेटिंग्ज</translation> +<translation id="7029809446516969842">पासवर्ड</translation> <translation id="7031882061095297553">यावर संकालित करा</translation> <translation id="7053983685419859001">अवरोधित करा</translation> <translation id="7062545763355031412">स्वीकार करा आणि खाती स्विच करा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb index 97d863c..7746102 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Folder</translation> <translation id="7004499039102548441">Tab Terbaharu</translation> <translation id="7006788746334555276">Tetapan Kandungan</translation> +<translation id="7029809446516969842">Kata laluan</translation> <translation id="7031882061095297553">Segerakkan ke</translation> <translation id="7053983685419859001">Sekat</translation> <translation id="7062545763355031412">Terima dan tukar akaun</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb index 76a6202..5d39664 100644 --- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mappen</translation> <translation id="7004499039102548441">Recent gebruikte tabbladen</translation> <translation id="7006788746334555276">Instellingen voor content</translation> +<translation id="7029809446516969842">Wachtwoorden</translation> <translation id="7031882061095297553">Synchroniseren met</translation> <translation id="7053983685419859001">Blokkeren</translation> <translation id="7062545763355031412">Accepteren en account wijzigen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb index aa62814..be3e9be 100644 --- a/ios/chrome/app/strings/resources/ios_strings_no.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mapper</translation> <translation id="7004499039102548441">Nylige faner</translation> <translation id="7006788746334555276">Innholdsinnstillinger</translation> +<translation id="7029809446516969842">Passord</translation> <translation id="7031882061095297553">Synkroniser med</translation> <translation id="7053983685419859001">Blokkér</translation> <translation id="7062545763355031412">Godta og bytt konto</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb index e22a9a2..1a668a51 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Foldery</translation> <translation id="7004499039102548441">Niedawno używane karty</translation> <translation id="7006788746334555276">Ustawienia treści</translation> +<translation id="7029809446516969842">Hasła</translation> <translation id="7031882061095297553">Synchronizuj z</translation> <translation id="7053983685419859001">Blokuj</translation> <translation id="7062545763355031412">Zaakceptuj i przełącz konta</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb index e29a80d7..ba6aa0e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -320,6 +320,7 @@ <translation id="6973630695168034713">Pastas</translation> <translation id="7004499039102548441">Guias recentes</translation> <translation id="7006788746334555276">Configurações de conteúdo</translation> +<translation id="7029809446516969842">Senhas</translation> <translation id="7031882061095297553">Sincronizar com</translation> <translation id="7053983685419859001">Bloquear</translation> <translation id="7062545763355031412">Aceitar e alternar entre contas</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb index 7d9e0d7..e8595873 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Pastas</translation> <translation id="7004499039102548441">Separadores recentes</translation> <translation id="7006788746334555276">Definições de Conteúdo</translation> +<translation id="7029809446516969842">Palavras-passe</translation> <translation id="7031882061095297553">Sincronizar com</translation> <translation id="7053983685419859001">Bloquear</translation> <translation id="7062545763355031412">Aceitar e mudar de contas</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb index 46c7f0f..9741e8b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Dosare</translation> <translation id="7004499039102548441">File recente</translation> <translation id="7006788746334555276">Setări privind conținutul</translation> +<translation id="7029809446516969842">Parole</translation> <translation id="7031882061095297553">Sincronizează cu</translation> <translation id="7053983685419859001">Blochează</translation> <translation id="7062545763355031412">Acceptă și comută conturile</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb index 9bd2b09..c29102b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Папки</translation> <translation id="7004499039102548441">Недавние вкладки</translation> <translation id="7006788746334555276">Настройки контента</translation> +<translation id="7029809446516969842">Пароли</translation> <translation id="7031882061095297553">Выберите аккаунт</translation> <translation id="7053983685419859001">Блокировать</translation> <translation id="7062545763355031412">Принять и переключиться</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb index 240adff..a30cb3f2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Priečinky</translation> <translation id="7004499039102548441">Nedávne karty</translation> <translation id="7006788746334555276">Nastavenia obsahu</translation> +<translation id="7029809446516969842">Heslá</translation> <translation id="7031882061095297553">Kam synchronizovať</translation> <translation id="7053983685419859001">Blokovať</translation> <translation id="7062545763355031412">Prijať a prepnúť účty</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb index 20b0175..4a0d7930 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -317,6 +317,7 @@ <translation id="6973630695168034713">Mape</translation> <translation id="7004499039102548441">Nedavni zavihki</translation> <translation id="7006788746334555276">Nastavitve vsebine</translation> +<translation id="7029809446516969842">Gesla</translation> <translation id="7031882061095297553">Sinhroniziranje z</translation> <translation id="7053983685419859001">Blokiraj</translation> <translation id="7062545763355031412">Sprejmi in preklopi račun</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb index 0e0ce942..b9e5048 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Директоријуми</translation> <translation id="7004499039102548441">Недавне картице</translation> <translation id="7006788746334555276">Подешавања садржаја</translation> +<translation id="7029809446516969842">Лозинке</translation> <translation id="7031882061095297553">Синхронизујте са</translation> <translation id="7053983685419859001">Блокирај</translation> <translation id="7062545763355031412">Прихватам, промени налог</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb index 11a3743..2b78e39 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Mappar</translation> <translation id="7004499039102548441">Senaste flikarna</translation> <translation id="7006788746334555276">Innehållsinställningar</translation> +<translation id="7029809446516969842">Lösenord</translation> <translation id="7031882061095297553">Synkronisera med</translation> <translation id="7053983685419859001">Blockera</translation> <translation id="7062545763355031412">Godkänn och byt konto</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb index 2b1075f..5df3b4e 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Folda</translation> <translation id="7004499039102548441">Vichupo vya Hivi Punde</translation> <translation id="7006788746334555276">Mipangilio ya Maudhui</translation> +<translation id="7029809446516969842">Manenosiri</translation> <translation id="7031882061095297553">Sawazisha kwenye</translation> <translation id="7053983685419859001">Zuia</translation> <translation id="7062545763355031412">Kubali na ubadilishe akaunti</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb index 9805c92d..54e5ad6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">கோப்புறைகள்</translation> <translation id="7004499039102548441">சமீபத்திய தாவல்கள்</translation> <translation id="7006788746334555276">உள்ளடக்க அமைப்புகள்</translation> +<translation id="7029809446516969842">கடவுச்சொற்கள்</translation> <translation id="7031882061095297553">இதற்கு ஒத்திசை</translation> <translation id="7053983685419859001">தடு</translation> <translation id="7062545763355031412">சரி, கணக்குகளை மாற்று</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb index 61e5f255..35695192 100644 --- a/ios/chrome/app/strings/resources/ios_strings_te.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">ఫోల్డర్లు</translation> <translation id="7004499039102548441">ఇటీవలి ట్యాబ్లు</translation> <translation id="7006788746334555276">కంటెంట్ సెట్టింగ్లు</translation> +<translation id="7029809446516969842">పాస్వర్డ్లు</translation> <translation id="7031882061095297553">వీటికి సమకాలీకరించండి</translation> <translation id="7053983685419859001">నిరోధించు</translation> <translation id="7062545763355031412">అంగీకరిస్తున్నాను, ఖాతాలను మార్చు</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb index 3d8420d..cb7d29c6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_th.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -317,6 +317,7 @@ <translation id="6973630695168034713">โฟลเดอร์</translation> <translation id="7004499039102548441">แท็บล่าสุด</translation> <translation id="7006788746334555276">การตั้งค่าเนื้อหา</translation> +<translation id="7029809446516969842">รหัสผ่าน</translation> <translation id="7031882061095297553">ซิงค์กับ</translation> <translation id="7053983685419859001">บล็อก</translation> <translation id="7062545763355031412">ยอมรับและเปลี่ยนบัญชี</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb index 4e686249..95bdb5b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Klasörler</translation> <translation id="7004499039102548441">Son Sekmeler</translation> <translation id="7006788746334555276">İçerik Ayarları</translation> +<translation id="7029809446516969842">Şifreler</translation> <translation id="7031882061095297553">Şununla senkronize et</translation> <translation id="7053983685419859001">Engelle</translation> <translation id="7062545763355031412">Kabul et ve hesabı değiştir</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb index d785936..5ea63fd 100644 --- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Папки</translation> <translation id="7004499039102548441">Останні вкладки</translation> <translation id="7006788746334555276">Веб-контент</translation> +<translation id="7029809446516969842">Паролі</translation> <translation id="7031882061095297553">Синхронізувати</translation> <translation id="7053983685419859001">Блокувати</translation> <translation id="7062545763355031412">Прийняти та перейти в інший обліковий запис</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb index 9b7f0d8..0aebe57 100644 --- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">Thư mục</translation> <translation id="7004499039102548441">Các tab gần đây</translation> <translation id="7006788746334555276">Cài đặt nội dung</translation> +<translation id="7029809446516969842">Mật khẩu</translation> <translation id="7031882061095297553">Đồng bộ hóa với</translation> <translation id="7053983685419859001">Chặn</translation> <translation id="7062545763355031412">Chấp nhận và chuyển đổi tài khoản</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb index 4c5165a..61aea553 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">文件夹</translation> <translation id="7004499039102548441">最近打开的标签页</translation> <translation id="7006788746334555276">内容设置</translation> +<translation id="7029809446516969842">密码</translation> <translation id="7031882061095297553">同步到</translation> <translation id="7053983685419859001">禁止</translation> <translation id="7062545763355031412">接受并切换帐号</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb index 56e5419..d8b12879 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -319,6 +319,7 @@ <translation id="6973630695168034713">資料夾</translation> <translation id="7004499039102548441">最近開啟的分頁</translation> <translation id="7006788746334555276">內容設定</translation> +<translation id="7029809446516969842">密碼</translation> <translation id="7031882061095297553">同步處理</translation> <translation id="7053983685419859001">封鎖</translation> <translation id="7062545763355031412">接受並切換帳戶</translation>
diff --git a/ios/chrome/browser/first_run/first_run_metrics.h b/ios/chrome/browser/first_run/first_run_metrics.h index 273a627..a272fd6 100644 --- a/ios/chrome/browser/first_run/first_run_metrics.h +++ b/ios/chrome/browser/first_run/first_run_metrics.h
@@ -29,6 +29,10 @@ // SSO account exists and user attempted to sign in, but gave up by clicking // on Skip after trying. HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_GIVEUP, + // Sentinel file marks the successful completion of First Run. This records + // the cases where sentinel creation failed. In most likelihood, user will + // go through First Run again at the next launch. + SENTINEL_CREATION_FAILED, // Number of First Run states. SIGNIN_SIZE };
diff --git a/ios/chrome/browser/ntp_snippets/BUILD.gn b/ios/chrome/browser/ntp_snippets/BUILD.gn index 1a68e47..f7ad381 100644 --- a/ios/chrome/browser/ntp_snippets/BUILD.gn +++ b/ios/chrome/browser/ntp_snippets/BUILD.gn
@@ -29,6 +29,7 @@ "//ios/chrome/browser/history", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/signin", + "//ios/chrome/browser/ui:ui_util", "//ios/chrome/common", "//ios/web", "//net",
diff --git a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc index b68b669..9b1e9089 100644 --- a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc +++ b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory_util.cc
@@ -44,6 +44,7 @@ #include "ios/chrome/browser/pref_names.h" #include "ios/chrome/browser/reading_list/reading_list_model_factory.h" #include "ios/chrome/browser/signin/identity_manager_factory.h" +#include "ios/chrome/browser/ui/ui_util.h" #include "ios/chrome/common/channel_info.h" #include "ios/web/public/browser_state.h" #include "net/url_request/url_request_context_getter.h" @@ -139,6 +140,10 @@ void RegisterReadingListProvider(ContentSuggestionsService* service, web::BrowserState* browser_state) { + // Prevent loading any reading list items for refresh. + if (IsUIRefreshPhase1Enabled()) + return; + ios::ChromeBrowserState* chrome_browser_state = ios::ChromeBrowserState::FromBrowserState(browser_state);
diff --git a/ios/chrome/browser/prerender/BUILD.gn b/ios/chrome/browser/prerender/BUILD.gn index 160f1cf3..ddd67ea8 100644 --- a/ios/chrome/browser/prerender/BUILD.gn +++ b/ios/chrome/browser/prerender/BUILD.gn
@@ -65,6 +65,7 @@ "//ios/chrome/browser/ui:ui_util", "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant", "//ios/chrome/browser/ui/omnibox:omnibox_internal", + "//ios/chrome/browser/ui/omnibox:omnibox_popup_shared", "//ios/chrome/test/app:test_support", "//ios/chrome/test/earl_grey:test_support", "//ios/web/public/test/http_server",
diff --git a/ios/chrome/browser/translate/translate_egtest.mm b/ios/chrome/browser/translate/translate_egtest.mm index e35ee8df..600eae5 100644 --- a/ios/chrome/browser/translate/translate_egtest.mm +++ b/ios/chrome/browser/translate/translate_egtest.mm
@@ -616,9 +616,8 @@ selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabelId( IDS_TRANSLATE_INFOBAR_ACCEPT)] assertWithMatcher:grey_notNil()]; - [[EarlGrey - selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabelId( - IDS_CLOSE)] assertWithMatcher:grey_notNil()]; + [[EarlGrey selectElementWithMatcher:chrome_test_util::CloseButton()] + assertWithMatcher:grey_notNil()]; // Open the language picker. NSString* kFrench = @"French"; @@ -877,9 +876,7 @@ selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabelId( IDS_TRANSLATE_INFOBAR_REVERT)] assertWithMatcher:grey_sufficientlyVisible()]; - [[EarlGrey - selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabelId( - IDS_CLOSE)] + [[EarlGrey selectElementWithMatcher:chrome_test_util::CloseButton()] assertWithMatcher:grey_sufficientlyVisible()]; }
diff --git a/ios/chrome/browser/ui/download/download_manager_egtest.mm b/ios/chrome/browser/ui/download/download_manager_egtest.mm index ed1fed7..6ad16f3 100644 --- a/ios/chrome/browser/ui/download/download_manager_egtest.mm +++ b/ios/chrome/browser/ui/download/download_manager_egtest.mm
@@ -82,4 +82,20 @@ assertWithMatcher:grey_notNil()]; } +// Tests cancelling download UI. +- (void)testCancellingDownload { + [ChromeEarlGrey loadURL:self.testServer->GetURL("/")]; + [ChromeEarlGrey waitForWebViewContainingText:"Download"]; + [ChromeEarlGrey tapWebViewElementWithID:@"download"]; + + [[EarlGrey selectElementWithMatcher:DownloadButton()] + assertWithMatcher:grey_notNil()]; + + [[EarlGrey selectElementWithMatcher:chrome_test_util::CloseButton()] + performAction:grey_tap()]; + + [[EarlGrey selectElementWithMatcher:DownloadButton()] + assertWithMatcher:grey_nil()]; +} + @end
diff --git a/ios/chrome/browser/ui/download/download_manager_view_controller.mm b/ios/chrome/browser/ui/download/download_manager_view_controller.mm index 1c24568..a9e3990 100644 --- a/ios/chrome/browser/ui/download/download_manager_view_controller.mm +++ b/ios/chrome/browser/ui/download/download_manager_view_controller.mm
@@ -68,6 +68,9 @@ @property(nonatomic, readonly) UIView* downloadControlsRow; @property(nonatomic, readonly) UIView* installDriveControlsRow; +// Grey line which separates downloadControlsRow and installDriveControlsRow. +@property(nonatomic, readonly) UIView* horizontalLine; + // Represents constraint for self.view.bottomAnchor, which can either be // constrained to installDriveControlsRow's bottomAnchor or to // downloadControlsRow's bottomAnchor. Stored in a property to allow @@ -83,6 +86,7 @@ @synthesize background = _background; @synthesize downloadControlsRow = _downloadControlsRow; @synthesize installDriveControlsRow = _installDriveControlsRow; +@synthesize horizontalLine = _horizontalLine; @synthesize bottomConstraint = _bottomConstraint; #pragma mark - UIViewController overrides @@ -99,6 +103,7 @@ [self.downloadControlsRow addSubview:self.statusLabel]; [self.downloadControlsRow addSubview:self.actionButton]; [self.installDriveControlsRow addSubview:self.installDriveButton]; + [self.installDriveControlsRow addSubview:self.horizontalLine]; AddNamedGuide(kActionButtonGuide, self.view); ConstrainNamedGuideToView(kActionButtonGuide, self.actionButton); @@ -130,42 +135,37 @@ // download controls row constraints. UIView* downloadRow = self.downloadControlsRow; - UIButton* actionButton = self.actionButton; + UIButton* closeButton = self.closeButton; // Account for bottom white pixel on shadow image. CGFloat shadowHeight = CGRectGetHeight(shadow.frame) - 1; [NSLayoutConstraint activateConstraints:@[ - [downloadRow.leadingAnchor - constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor], - [downloadRow.trailingAnchor - constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor], - [downloadRow.topAnchor - constraintEqualToAnchor:view.layoutMarginsGuide.topAnchor - constant:shadowHeight], - [downloadRow.heightAnchor - constraintEqualToAnchor:actionButton.heightAnchor], + [downloadRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor], + [downloadRow.trailingAnchor constraintEqualToAnchor:view.trailingAnchor], + [downloadRow.topAnchor constraintEqualToAnchor:view.topAnchor + constant:shadowHeight], + [downloadRow.layoutMarginsGuide.heightAnchor + constraintEqualToAnchor:closeButton.heightAnchor], ]]; // install drive controls row constraints. UIView* installDriveRow = self.installDriveControlsRow; UIButton* installDriveButton = self.installDriveButton; [NSLayoutConstraint activateConstraints:@[ - [installDriveRow.leadingAnchor - constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor], + [installDriveRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor], [installDriveRow.trailingAnchor - constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor], + constraintEqualToAnchor:view.trailingAnchor], [installDriveRow.topAnchor constraintEqualToAnchor:downloadRow.bottomAnchor], [installDriveRow.heightAnchor - constraintEqualToAnchor:installDriveButton.heightAnchor], + constraintEqualToAnchor:downloadRow.heightAnchor], ]]; // close button constraints. - UIButton* closeButton = self.closeButton; [NSLayoutConstraint activateConstraints:@[ [closeButton.centerYAnchor constraintEqualToAnchor:downloadRow.centerYAnchor], [closeButton.trailingAnchor - constraintEqualToAnchor:downloadRow.trailingAnchor], + constraintEqualToAnchor:downloadRow.layoutMarginsGuide.trailingAnchor], ]]; // status icon constraints. @@ -174,11 +174,12 @@ [statusIcon.centerYAnchor constraintEqualToAnchor:downloadRow.centerYAnchor], [statusIcon.leadingAnchor - constraintEqualToAnchor:downloadRow.leadingAnchor], + constraintEqualToAnchor:downloadRow.layoutMarginsGuide.leadingAnchor], ]]; // status label constraints. UILabel* statusLabel = self.statusLabel; + UIButton* actionButton = self.actionButton; [NSLayoutConstraint activateConstraints:@[ [statusLabel.centerYAnchor constraintEqualToAnchor:downloadRow.centerYAnchor], @@ -206,6 +207,18 @@ constraintEqualToAnchor:closeButton.leadingAnchor constant:-kElementMargin], ]]; + + // constraint line which separates download controls and install drive rows. + UIView* horizontalLine = self.horizontalLine; + [NSLayoutConstraint activateConstraints:@[ + [horizontalLine.heightAnchor constraintEqualToConstant:1], + [horizontalLine.topAnchor + constraintEqualToAnchor:installDriveRow.topAnchor], + [horizontalLine.leadingAnchor + constraintEqualToAnchor:installDriveRow.leadingAnchor], + [horizontalLine.trailingAnchor + constraintEqualToAnchor:installDriveRow.trailingAnchor], + ]]; } #pragma mark - Public @@ -334,7 +347,7 @@ _actionButton = [UIButton buttonWithType:UIButtonTypeCustom]; _actionButton.translatesAutoresizingMaskIntoConstraints = NO; _actionButton.exclusiveTouch = YES; - [_actionButton setTitleColor:[MDCPalette bluePalette].tint500 + [_actionButton setTitleColor:[MDCPalette bluePalette].tint600 forState:UIControlStateNormal]; [_actionButton addTarget:self @@ -350,7 +363,7 @@ _installDriveButton = [UIButton buttonWithType:UIButtonTypeCustom]; _installDriveButton.translatesAutoresizingMaskIntoConstraints = NO; _installDriveButton.exclusiveTouch = YES; - [_installDriveButton setTitleColor:[MDCPalette bluePalette].tint500 + [_installDriveButton setTitleColor:[MDCPalette bluePalette].tint600 forState:UIControlStateNormal]; [_installDriveButton addTarget:self @@ -363,6 +376,15 @@ return _installDriveButton; } +- (UIView*)horizontalLine { + if (!_horizontalLine) { + _horizontalLine = [[UIView alloc] init]; + _horizontalLine.translatesAutoresizingMaskIntoConstraints = NO; + _horizontalLine.backgroundColor = [MDCPalette greyPalette].tint300; + } + return _horizontalLine; +} + #pragma mark - Actions - (void)didTapCloseButton {
diff --git a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done.png b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done.png index ed4cbea41..3d2250d 100644 --- a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done.png +++ b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done.png Binary files differ
diff --git a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@2x.png b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@2x.png index 4bc2092..6912f6b 100644 --- a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@2x.png +++ b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@2x.png Binary files differ
diff --git a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@3x.png b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@3x.png index 9a647fb..ba9cf87 100644 --- a/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@3x.png +++ b/ios/chrome/browser/ui/download/resources/download_done.imageset/download_done@3x.png Binary files differ
diff --git a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file.png b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file.png index dfca4ece..8c07b076 100644 --- a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file.png +++ b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file.png Binary files differ
diff --git a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@2x.png b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@2x.png index 240ec5fc..42290d5 100644 --- a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@2x.png +++ b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@2x.png Binary files differ
diff --git a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@3x.png b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@3x.png index 07f5d01a..eb0a567b 100644 --- a/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@3x.png +++ b/ios/chrome/browser/ui/download/resources/download_file.imageset/download_file@3x.png Binary files differ
diff --git a/ios/chrome/browser/ui/first_run/first_run_util.mm b/ios/chrome/browser/ui/first_run/first_run_util.mm index 602e269bf..a8e1a57b 100644 --- a/ios/chrome/browser/ui/first_run/first_run_util.mm +++ b/ios/chrome/browser/ui/first_run/first_run_util.mm
@@ -82,36 +82,38 @@ } // Helper function for recording first run metrics. Takes an additional -// |to_record| argument which is the returned value from CreateSentinel(). +// |sentinel_created| argument which is the returned value from +// CreateSentinel(). void RecordFirstRunMetricsInternal(ios::ChromeBrowserState* browserState, bool sign_in_attempted, bool has_sso_accounts, - bool to_record) { - // |to_record| is false if the sentinel file was not created which indicates - // that the sentinel already exists and metrics were already recorded. + bool sentinel_created) { + first_run::SignInStatus sign_in_status; + // |sentinel_created| is false if the sentinel file was not created which + // indicates that the sentinel already exists and metrics were already + // recorded. // Note: If the user signs in and then signs out during first run, it will be // recorded as a successful sign in. - if (!to_record) - return; - - bool user_signed_in = - ios::SigninManagerFactory::GetForBrowserState(browserState) - ->IsAuthenticated(); - first_run::SignInStatus sign_in_status; - - if (user_signed_in) { - sign_in_status = has_sso_accounts - ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SUCCESSFUL - : first_run::SIGNIN_SUCCESSFUL; + if (!sentinel_created) { + sign_in_status = first_run::SENTINEL_CREATION_FAILED; } else { - if (sign_in_attempted) { + bool user_signed_in = + ios::SigninManagerFactory::GetForBrowserState(browserState) + ->IsAuthenticated(); + if (user_signed_in) { sign_in_status = has_sso_accounts - ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_GIVEUP - : first_run::SIGNIN_SKIPPED_GIVEUP; + ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SUCCESSFUL + : first_run::SIGNIN_SUCCESSFUL; } else { - sign_in_status = has_sso_accounts - ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_QUICK - : first_run::SIGNIN_SKIPPED_QUICK; + if (sign_in_attempted) { + sign_in_status = has_sso_accounts + ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_GIVEUP + : first_run::SIGNIN_SKIPPED_GIVEUP; + } else { + sign_in_status = has_sso_accounts + ? first_run::HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_QUICK + : first_run::SIGNIN_SKIPPED_QUICK; + } } } UMA_HISTOGRAM_ENUMERATION("FirstRun.SignIn", sign_in_status,
diff --git a/ios/chrome/browser/ui/omnibox/BUILD.gn b/ios/chrome/browser/ui/omnibox/BUILD.gn index 6fa244c..4f65b05 100644 --- a/ios/chrome/browser/ui/omnibox/BUILD.gn +++ b/ios/chrome/browser/ui/omnibox/BUILD.gn
@@ -17,6 +17,21 @@ ] } +source_set("omnibox_popup_shared") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ + "truncating_attributed_label.h", + "truncating_attributed_label.mm", + ] + deps = [ + "//base", + "//components/omnibox/browser", + ] + public_deps = [ + "//ui/base", + ] +} + source_set("omnibox_util") { sources = [ "omnibox_util.cc", @@ -26,6 +41,8 @@ "//base", "//components/omnibox/browser", "//components/security_state/core", + ] + public_deps = [ "//ios/chrome/app/theme", ] } @@ -48,19 +65,6 @@ "image_retriever.h", "location_bar_controller_impl.h", "location_bar_controller_impl.mm", - "omnibox_popup_mediator.h", - "omnibox_popup_mediator.mm", - "omnibox_popup_positioner.h", - "omnibox_popup_presenter.h", - "omnibox_popup_presenter.mm", - "omnibox_popup_provider.h", - "omnibox_popup_row.h", - "omnibox_popup_row.mm", - "omnibox_popup_view_controller.h", - "omnibox_popup_view_controller.mm", - "omnibox_popup_view_ios.h", - "omnibox_popup_view_ios.mm", - "omnibox_popup_view_suggestions_delegate.h", "omnibox_text_field_delegate.h", "omnibox_text_field_ios.h", "omnibox_text_field_ios.mm", @@ -68,18 +72,16 @@ "omnibox_text_field_paste_delegate.mm", "omnibox_view_ios.h", "omnibox_view_ios.mm", - "truncating_attributed_label.h", - "truncating_attributed_label.mm", ] deps = [ ":omnibox", + ":omnibox_popup_shared", ":omnibox_util", "resources:omnibox_background", "resources:omnibox_transparent_background", "//base", "//components/favicon/ios", "//components/image_fetcher/ios", - "//components/open_from_clipboard", "//components/resources", "//components/search_engines", "//components/security_state/core",
diff --git a/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.mm b/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.mm index e974e27..f9cc4eee 100644 --- a/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.mm +++ b/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.mm
@@ -24,9 +24,9 @@ #import "ios/chrome/browser/ui/location_bar/location_bar_url_loader.h" #import "ios/chrome/browser/ui/location_bar/location_bar_view.h" #import "ios/chrome/browser/ui/omnibox/location_bar_delegate.h" -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h" #import "ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.h" #import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_coordinator.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h" #include "ios/chrome/browser/ui/ui_util.h" #import "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_strings.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_row.h b/ios/chrome/browser/ui/omnibox/omnibox_popup_row.h index 21d8dee..53ed491 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_row.h +++ b/ios/chrome/browser/ui/omnibox/omnibox_popup_row.h
@@ -1,40 +1,6 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. +// Copyright 2018 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 IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_ -#define IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_ - -#import <UIKit/UIKit.h> - -@class OmniboxPopupTruncatingLabel; - -// View used to display an omnibox autocomplete match in the omnibox popup. -@interface OmniboxPopupRow : UITableViewCell - -// A truncate-by-fading version of the textLabel of a UITableViewCell. -@property(nonatomic, readonly, strong) - OmniboxPopupTruncatingLabel* textTruncatingLabel; -// A truncate-by-fading version of the detailTextLabel of a UITableViewCell. -@property(nonatomic, readonly, strong) - OmniboxPopupTruncatingLabel* detailTruncatingLabel; -// A standard UILabel for answers, which truncates with ellipses to support -// multi-line text. -@property(nonatomic, readonly, strong) UILabel* detailAnswerLabel; - -@property(nonatomic, readonly, strong) UIImageView* imageView; -@property(nonatomic, readonly, strong) UIImageView* answerImageView; -@property(nonatomic, readonly, strong) UIButton* appendButton; -@property(nonatomic, assign) CGFloat rowHeight; - -// Initialize the row with the given incognito state. The colors and styling are -// dependent on whether or not the row is displayed in incognito mode. -- (instancetype)initWithIncognito:(BOOL)incognito; - -// Update the match type icon with the supplied image ID and adjust its position -// based on the current size of the row. -- (void)updateLeadingImage:(int)imageID; - -@end - -#endif // IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_ +// TODO(crbug.com/814732): Remove this file once it's not included downstream. +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_view_ios.h b/ios/chrome/browser/ui/omnibox/omnibox_view_ios.h index b3ed097..b650c08 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_view_ios.h +++ b/ios/chrome/browser/ui/omnibox/omnibox_view_ios.h
@@ -10,9 +10,9 @@ #include <memory> #include "components/omnibox/browser/omnibox_view.h" #include "components/toolbar/toolbar_model.h" -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_provider.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_view_suggestions_delegate.h" #import "ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_provider.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_suggestions_delegate.h" struct AutocompleteMatch; class AutocompleteResult;
diff --git a/ios/chrome/browser/ui/omnibox/popup/BUILD.gn b/ios/chrome/browser/ui/omnibox/popup/BUILD.gn index b2972c4..d6a962c 100644 --- a/ios/chrome/browser/ui/omnibox/popup/BUILD.gn +++ b/ios/chrome/browser/ui/omnibox/popup/BUILD.gn
@@ -6,12 +6,53 @@ sources = [ "omnibox_popup_coordinator.h", "omnibox_popup_coordinator.mm", + "omnibox_popup_mediator.h", + "omnibox_popup_mediator.mm", + "omnibox_popup_positioner.h", + "omnibox_popup_presenter.h", + "omnibox_popup_presenter.mm", + "omnibox_popup_provider.h", + "omnibox_popup_view_controller.h", + "omnibox_popup_view_controller.mm", + "omnibox_popup_view_ios.h", + "omnibox_popup_view_ios.mm", + "omnibox_popup_view_suggestions_delegate.h", + ] + deps = [ + ":popup_internal", + "//base", + "//components/image_fetcher/ios", + "//components/omnibox/browser", + "//components/open_from_clipboard", + "//ios/chrome/browser", + "//ios/chrome/browser/browser_state", + "//ios/chrome/browser/ui:ui", + "//ios/chrome/browser/ui:ui_util", + "//ios/chrome/browser/ui/omnibox:omnibox_popup_shared", + "//ios/chrome/browser/ui/omnibox:omnibox_util", + "//ios/chrome/browser/ui/toolbar/public:public", + "//ios/chrome/browser/ui/toolbar/public:toolbar_base_feature", + "//ios/chrome/browser/ui/util:util", + "//ios/web/public:public", + "//net", + ] + configs += [ "//build/config/compiler:enable_arc" ] +} + +source_set("popup_internal") { + sources = [ + "omnibox_popup_row.h", + "omnibox_popup_row.mm", ] deps = [ "//base", "//components/image_fetcher/ios", "//components/omnibox/browser", + "//ios/chrome/app/theme:theme", "//ios/chrome/browser/browser_state", + "//ios/chrome/browser/ui:ui_util", + "//ios/chrome/browser/ui/omnibox:omnibox_popup_shared", + "//ios/chrome/browser/ui/util:util", "//net", ] configs += [ "//build/config/compiler:enable_arc" ]
diff --git a/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_coordinator.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_coordinator.mm index 6275411..9777adc 100644 --- a/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_coordinator.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_coordinator.mm
@@ -7,10 +7,10 @@ #import "components/image_fetcher/ios/ios_image_data_fetcher_wrapper.h" #include "components/omnibox/browser/autocomplete_result.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.h" -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.mm similarity index 97% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.mm rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.mm index 80da89be..b6f8dba 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h" #include "base/metrics/user_metrics.h" #include "base/metrics/user_metrics_action.h" @@ -11,7 +11,7 @@ #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_result.h" #import "ios/chrome/browser/ui/omnibox/autocomplete_match_formatter.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support."
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_positioner.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_positioner.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_positioner.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_positioner.h
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.h
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.mm similarity index 97% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.mm rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.mm index 27d8b0a..375d7777 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.mm
@@ -2,9 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_presenter.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_presenter.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_positioner.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_positioner.h" #import "ios/chrome/browser/ui/toolbar/public/toolbar_controller_base_feature.h" #include "ios/chrome/browser/ui/ui_util.h" #import "ios/chrome/browser/ui/uikit_ui_util.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_provider.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_provider.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_provider.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_provider.h
diff --git a/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h new file mode 100644 index 0000000..21d8dee --- /dev/null +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h
@@ -0,0 +1,40 @@ +// Copyright (c) 2014 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 IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_ +#define IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_ + +#import <UIKit/UIKit.h> + +@class OmniboxPopupTruncatingLabel; + +// View used to display an omnibox autocomplete match in the omnibox popup. +@interface OmniboxPopupRow : UITableViewCell + +// A truncate-by-fading version of the textLabel of a UITableViewCell. +@property(nonatomic, readonly, strong) + OmniboxPopupTruncatingLabel* textTruncatingLabel; +// A truncate-by-fading version of the detailTextLabel of a UITableViewCell. +@property(nonatomic, readonly, strong) + OmniboxPopupTruncatingLabel* detailTruncatingLabel; +// A standard UILabel for answers, which truncates with ellipses to support +// multi-line text. +@property(nonatomic, readonly, strong) UILabel* detailAnswerLabel; + +@property(nonatomic, readonly, strong) UIImageView* imageView; +@property(nonatomic, readonly, strong) UIImageView* answerImageView; +@property(nonatomic, readonly, strong) UIButton* appendButton; +@property(nonatomic, assign) CGFloat rowHeight; + +// Initialize the row with the given incognito state. The colors and styling are +// dependent on whether or not the row is displayed in incognito mode. +- (instancetype)initWithIncognito:(BOOL)incognito; + +// Update the match type icon with the supplied image ID and adjust its position +// based on the current size of the row. +- (void)updateLeadingImage:(int)imageID; + +@end + +#endif // IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_POPUP_ROW_H_
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_row.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm similarity index 98% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_row.mm rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm index 0fed838..f938b67 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_row.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_row.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h" #include "base/logging.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.h
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.mm similarity index 98% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.mm rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.mm index 3f6af66c..0e09869 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.mm
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.h" #include <memory> #include "base/ios/ios_util.h" #include "ios/chrome/browser/ui/animation_util.h" #import "ios/chrome/browser/ui/omnibox/image_retriever.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_row.h" #include "ios/chrome/browser/ui/omnibox/omnibox_util.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h" #import "ios/chrome/browser/ui/omnibox/truncating_attributed_label.h" #include "ios/chrome/browser/ui/rtl_geometry.h" #include "ios/chrome/browser/ui/ui_util.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h similarity index 90% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h index fd13b7cf..01c4de1 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h
@@ -11,9 +11,9 @@ #include "base/strings/string16.h" #include "components/omnibox/browser/omnibox_popup_view.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h" -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_provider.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_view_controller.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_provider.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_controller.h" class OmniboxEditModel; @class OmniboxPopupMediator;
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.mm similarity index 94% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.mm rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.mm index 0b4c1d3..f16d8e584 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.mm +++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_view_ios.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h" #import <QuartzCore/QuartzCore.h> @@ -18,9 +18,9 @@ #include "components/open_from_clipboard/clipboard_recent_content.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h" #import "ios/chrome/browser/experimental_flags.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_mediator.h" -#include "ios/chrome/browser/ui/omnibox/omnibox_popup_view_suggestions_delegate.h" #include "ios/chrome/browser/ui/omnibox/omnibox_util.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_mediator.h" +#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_suggestions_delegate.h" #include "ios/chrome/browser/ui/ui_util.h" #import "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/grit/ios_theme_resources.h"
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_popup_view_suggestions_delegate.h b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_suggestions_delegate.h similarity index 100% rename from ios/chrome/browser/ui/omnibox/omnibox_popup_view_suggestions_delegate.h rename to ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_suggestions_delegate.h
diff --git a/ios/chrome/browser/ui/tab_grid/BUILD.gn b/ios/chrome/browser/ui/tab_grid/BUILD.gn index d365011..0d24b23 100644 --- a/ios/chrome/browser/ui/tab_grid/BUILD.gn +++ b/ios/chrome/browser/ui/tab_grid/BUILD.gn
@@ -64,8 +64,10 @@ deps = [ "//base", + "//ios/chrome/app/strings", "//ios/chrome/browser/ui/tab_grid/transitions", "//ios/chrome/browser/ui/util:constraints_ui", + "//ui/base", ] }
diff --git a/ios/chrome/browser/ui/tab_grid/grid_cell.h b/ios/chrome/browser/ui/tab_grid/grid_cell.h index 0399e21..73fa1b3a 100644 --- a/ios/chrome/browser/ui/tab_grid/grid_cell.h +++ b/ios/chrome/browser/ui/tab_grid/grid_cell.h
@@ -11,6 +11,9 @@ @class GridCell; +// The accessibility label for the close button for use in test automation. +extern NSString* const kGridCellCloseButtonAccessibilityID; + // Informs the receiver of actions on the cell. @protocol GridCellDelegate - (void)closeButtonTappedForCell:(GridCell*)cell;
diff --git a/ios/chrome/browser/ui/tab_grid/grid_cell.mm b/ios/chrome/browser/ui/tab_grid/grid_cell.mm index 9b9b383..102a7ba 100644 --- a/ios/chrome/browser/ui/tab_grid/grid_cell.mm +++ b/ios/chrome/browser/ui/tab_grid/grid_cell.mm
@@ -6,11 +6,16 @@ #import "base/logging.h" #import "ios/chrome/browser/ui/tab_grid/top_aligned_image_view.h" +#include "ios/chrome/grit/ios_strings.h" +#include "ui/base/l10n/l10n_util.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." #endif +NSString* const kGridCellCloseButtonAccessibilityID = + @"GridCellCloseButtonAccessibilityID"; + namespace { // Height of the top bar containing the icon, title, and close button. const CGFloat kTopBarHeight = 28.0f; @@ -99,6 +104,23 @@ // NO-OP to disable highlighting and only allow selection. } +#pragma mark - Accessibility + +- (BOOL)isAccessibilityElement { + // This makes the whole cell tappable in VoiceOver rather than the individual + // title and close button. + return YES; +} + +- (NSArray*)accessibilityCustomActions { + // Each cell has 2 custom actions, which is accessible through swiping. The + // default is to select the cell. Another is to close the cell. + return @[ [[UIAccessibilityCustomAction alloc] + initWithName:l10n_util::GetNSString(IDS_IOS_TAB_SWITCHER_CLOSE_TAB) + target:self + selector:@selector(closeButtonTapped:)] ]; +} + #pragma mark - Public // Updates the theme to either dark or light. Updating is only done if the @@ -152,6 +174,7 @@ - (void)setTitle:(NSString*)title { self.titleLabel.text = title; + self.accessibilityLabel = title; _title = title; } @@ -182,6 +205,7 @@ [closeButton addTarget:self action:@selector(closeButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + closeButton.accessibilityIdentifier = kGridCellCloseButtonAccessibilityID; [topBar addSubview:iconView]; [topBar addSubview:titleLabel];
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm b/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm index d3ed4de3..7a962ad 100644 --- a/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm +++ b/ios/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm
@@ -100,7 +100,8 @@ self.incognitoTabsMediator = [[TabGridMediator alloc] initWithConsumer:mainViewController.incognitoTabsConsumer]; self.incognitoTabsMediator.tabModel = self.incognitoTabModel; - + mainViewController.regularTabsDelegate = self.regularTabsMediator; + mainViewController.incognitoTabsDelegate = self.incognitoTabsMediator; mainViewController.regularTabsImageDataSource = self.regularTabsMediator; mainViewController.incognitoTabsImageDataSource = self.incognitoTabsMediator; }
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h index 01156fa..b94a268 100644 --- a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h +++ b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h
@@ -10,8 +10,8 @@ #import "ios/chrome/browser/ui/tab_grid/tab_grid_transition_state_provider.h" @protocol GridConsumer; +@protocol GridCommands; @protocol GridImageDataSource; -@protocol GridViewControllerDelegate; // Page enumerates the kinds of grouped tabs. typedef NS_ENUM(NSUInteger, TabGridPage) { @@ -40,8 +40,8 @@ @property(nonatomic, readonly) id<GridConsumer> incognitoTabsConsumer; // Delegates send updates from the UI layer to the model layer. -@property(nonatomic, weak) id<GridViewControllerDelegate> regularTabsDelegate; -@property(nonatomic, weak) id<GridViewControllerDelegate> incognitoTabsDelegate; +@property(nonatomic, weak) id<GridCommands> regularTabsDelegate; +@property(nonatomic, weak) id<GridCommands> incognitoTabsDelegate; // Data sources provide lazy access to heavy-weight resources. @property(nonatomic, weak) id<GridImageDataSource> regularTabsImageDataSource;
diff --git a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm index ad0c6950..be2bc89 100644 --- a/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm +++ b/ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
@@ -5,6 +5,7 @@ #import "ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h" #import "base/logging.h" +#import "ios/chrome/browser/ui/tab_grid/grid_commands.h" #import "ios/chrome/browser/ui/tab_grid/grid_consumer.h" #import "ios/chrome/browser/ui/tab_grid/grid_image_data_source.h" #import "ios/chrome/browser/ui/tab_grid/grid_view_controller.h" @@ -15,7 +16,22 @@ #error "This file requires ARC support." #endif -@interface TabGridViewController () +namespace { +// Temporary alert used while building this feature. +UIAlertController* NotImplementedAlert() { + UIAlertController* alert = + [UIAlertController alertControllerWithTitle:@"Not implemented" + message:nil + preferredStyle:UIAlertControllerStyleAlert]; + [alert addAction:[UIAlertAction actionWithTitle:@"OK" + style:UIAlertActionStyleCancel + handler:nil]]; + return alert; +} +} // namespace + +@interface TabGridViewController ()<GridViewControllerDelegate, + UIScrollViewAccessibilityDelegate> // Child view controllers. @property(nonatomic, strong) GridViewController* regularTabsViewController; @property(nonatomic, strong) GridViewController* incognitoTabsViewController; @@ -98,6 +114,31 @@ return UIStatusBarStyleLightContent; } +#pragma mark - UIScrollViewDelegate + +- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView { + // Bookkeeping for the current page. + CGFloat pageWidth = scrollView.frame.size.width; + float fractionalPage = scrollView.contentOffset.x / pageWidth; + NSUInteger page = lround(fractionalPage); + self.currentPage = static_cast<TabGridPage>(page); +} + +#pragma mark - UIScrollViewAccessibilityDelegate + +- (NSString*)accessibilityScrollStatusForScrollView:(UIScrollView*)scrollView { + // TODO(crbug.com/818699) : Localize strings. + // This reads the new page whenever the user scrolls in VoiceOver. + switch (self.currentPage) { + case TabGridPageIncognitoTabs: + return @"Incognito Tabs page"; + case TabGridPageRegularTabs: + return @"Regular Tabs page"; + case TabGridPageRemoteTabs: + return @"Remote Tabs page"; + } +} + #pragma mark - TabGridTransitionStateProvider properties - (BOOL)selectedTabVisible { @@ -110,12 +151,6 @@ return self.regularTabsViewController; } -- (void)setRegularTabsDelegate: - (id<GridViewControllerDelegate>)regularTabsDelegate { - self.regularTabsViewController.delegate = regularTabsDelegate; - _regularTabsDelegate = regularTabsDelegate; -} - - (void)setRegularTabsImageDataSource: (id<GridImageDataSource>)regularTabsImageDataSource { self.regularTabsViewController.imageDataSource = regularTabsImageDataSource; @@ -126,12 +161,6 @@ return self.incognitoTabsViewController; } -- (void)setIncognitoTabsDelegate: - (id<GridViewControllerDelegate>)incognitoTabsDelegate { - self.incognitoTabsViewController.delegate = incognitoTabsDelegate; - _incognitoTabsDelegate = incognitoTabsDelegate; -} - - (void)setIncognitoTabsImageDataSource: (id<GridImageDataSource>)incognitoTabsImageDataSource { self.incognitoTabsViewController.imageDataSource = @@ -147,6 +176,7 @@ scrollView.translatesAutoresizingMaskIntoConstraints = NO; scrollView.scrollEnabled = YES; scrollView.pagingEnabled = YES; + scrollView.delegate = self; if (@available(iOS 11, *)) { // Ensures that scroll view does not add additional margins based on safe // areas. @@ -186,6 +216,7 @@ [contentView addSubview:viewController.view]; [viewController didMoveToParentViewController:self]; viewController.theme = GridThemeDark; + viewController.delegate = self; if (@available(iOS 11, *)) { // Adjustments are made in |-viewWillLayoutSubviews|. Automatic adjustments // do not work well with the scrollview. @@ -215,6 +246,7 @@ [contentView addSubview:viewController.view]; [viewController didMoveToParentViewController:self]; viewController.theme = GridThemeLight; + viewController.delegate = self; if (@available(iOS 11, *)) { // Adjustments are made in |-viewWillLayoutSubviews|. Automatic adjustments // do not work well with the scrollview. @@ -324,6 +356,7 @@ - (void)setupTopToolbarButtons { self.doneButton = self.topToolbar.leadingButton; self.closeAllButton = self.topToolbar.trailingButton; + // TODO(crbug.com/818699) : Localize strings. [self.doneButton setTitle:@"Done" forState:UIControlStateNormal]; [self.closeAllButton setTitle:@"Close All" forState:UIControlStateNormal]; [self.doneButton addTarget:self @@ -336,6 +369,7 @@ // Adds the bottom toolbar buttons. - (void)setupBottomToolbarButtons { + // TODO(crbug.com/818699) : Localize strings. [self.bottomToolbar.leadingButton setTitle:@"Done" forState:UIControlStateNormal]; [self.bottomToolbar.trailingButton setTitle:@"Close All" @@ -353,6 +387,27 @@ forControlEvents:UIControlEventTouchUpInside]; } +#pragma mark - GridViewControllerDelegate + +- (void)gridViewController:(GridViewController*)gridViewController + didSelectItemAtIndex:(NSUInteger)index { + if (gridViewController == self.regularTabsViewController) { + [self.regularTabsDelegate selectItemAtIndex:index]; + } else if (gridViewController == self.incognitoTabsViewController) { + [self.incognitoTabsDelegate selectItemAtIndex:index]; + } + [self.tabPresentationDelegate showActiveTab]; +} + +- (void)gridViewController:(GridViewController*)gridViewController + didCloseItemAtIndex:(NSUInteger)index { + if (gridViewController == self.regularTabsViewController) { + [self.regularTabsDelegate closeItemAtIndex:index]; + } else if (gridViewController == self.incognitoTabsViewController) { + [self.incognitoTabsDelegate closeItemAtIndex:index]; + } +} + #pragma mark - Button actions - (void)doneButtonTapped:(id)sender { @@ -360,11 +415,23 @@ } - (void)closeAllButtonTapped:(id)sender { - // TODO(crbug.com/804503) : Placeholder alerts. + switch (self.currentPage) { + case TabGridPageIncognitoTabs: + [self.incognitoTabsDelegate closeAllItems]; + break; + case TabGridPageRegularTabs: + [self.regularTabsDelegate closeAllItems]; + break; + case TabGridPageRemoteTabs: + // No-op. It is invalid to call close all tabs on remote tabs. + break; + } } - (void)newTabButtonTapped:(id)sender { - // TODO(crbug.com/804503) : Placeholder alerts. + [self presentViewController:NotImplementedAlert() + animated:YES + completion:nil]; } @end
diff --git a/ios/chrome/browser/ui/toolbar/BUILD.gn b/ios/chrome/browser/ui/toolbar/BUILD.gn index dc19946..f42f1dd 100644 --- a/ios/chrome/browser/ui/toolbar/BUILD.gn +++ b/ios/chrome/browser/ui/toolbar/BUILD.gn
@@ -138,6 +138,9 @@ "//ios/chrome/browser/ui/ntp:ntp_controller", "//ios/chrome/browser/ui/ntp:ntp_internal", "//ios/chrome/browser/ui/omnibox:omnibox_internal", + "//ios/chrome/browser/ui/omnibox/popup", + "//ios/chrome/browser/ui/omnibox/popup:popup_internal", + "//ios/chrome/browser/ui/omnibox/popup:popup_internal", "//ios/chrome/browser/ui/toolbar/clean:toolbar_ui", "//ios/chrome/browser/ui/toolbar/legacy", "//ios/chrome/browser/ui/tools_menu/public",
diff --git a/ios/chrome/browser/ui/toolbar/adaptive/primary_toolbar_coordinator.mm b/ios/chrome/browser/ui/toolbar/adaptive/primary_toolbar_coordinator.mm index 66be102..81cb85b 100644 --- a/ios/chrome/browser/ui/toolbar/adaptive/primary_toolbar_coordinator.mm +++ b/ios/chrome/browser/ui/toolbar/adaptive/primary_toolbar_coordinator.mm
@@ -15,8 +15,8 @@ #import "ios/chrome/browser/ui/fullscreen/fullscreen_ui_updater.h" #import "ios/chrome/browser/ui/location_bar/location_bar_coordinator.h" #import "ios/chrome/browser/ui/ntp/ntp_util.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_positioner.h" #import "ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_positioner.h" #import "ios/chrome/browser/ui/orchestrator/omnibox_focus_orchestrator.h" #import "ios/chrome/browser/ui/toolbar/adaptive/adaptive_toolbar_coordinator+subclassing.h" #import "ios/chrome/browser/ui/toolbar/adaptive/primary_toolbar_view_controller.h"
diff --git a/ios/chrome/browser/ui/toolbar/clean/BUILD.gn b/ios/chrome/browser/ui/toolbar/clean/BUILD.gn index be3fd46dc..5bc10e59 100644 --- a/ios/chrome/browser/ui/toolbar/clean/BUILD.gn +++ b/ios/chrome/browser/ui/toolbar/clean/BUILD.gn
@@ -37,6 +37,7 @@ "//ios/chrome/browser/ui/ntp:util", "//ios/chrome/browser/ui/omnibox", "//ios/chrome/browser/ui/omnibox:omnibox_internal", + "//ios/chrome/browser/ui/omnibox/popup", "//ios/chrome/browser/ui/toolbar:toolbar_ui", "//ios/chrome/browser/ui/toolbar/buttons", "//ios/chrome/browser/ui/toolbar/buttons/resources:toolbar_search",
diff --git a/ios/chrome/browser/ui/toolbar/clean/toolbar_coordinator.mm b/ios/chrome/browser/ui/toolbar/clean/toolbar_coordinator.mm index e6db68a..ae73034 100644 --- a/ios/chrome/browser/ui/toolbar/clean/toolbar_coordinator.mm +++ b/ios/chrome/browser/ui/toolbar/clean/toolbar_coordinator.mm
@@ -20,8 +20,8 @@ #import "ios/chrome/browser/ui/fullscreen/fullscreen_ui_updater.h" #import "ios/chrome/browser/ui/location_bar/location_bar_coordinator.h" #import "ios/chrome/browser/ui/ntp/ntp_util.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_positioner.h" #import "ios/chrome/browser/ui/omnibox/omnibox_text_field_ios.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_positioner.h" #import "ios/chrome/browser/ui/toolbar/buttons/toolbar_button_factory.h" #import "ios/chrome/browser/ui/toolbar/buttons/toolbar_button_visibility_configuration.h" #import "ios/chrome/browser/ui/toolbar/buttons/toolbar_style.h"
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm b/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm index dd73752..d2faed4 100644 --- a/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm +++ b/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm
@@ -10,7 +10,7 @@ #import "ios/chrome/browser/ui/commands/browser_commands.h" #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h" #import "ios/chrome/browser/ui/ntp/new_tab_page_controller.h" -#import "ios/chrome/browser/ui/omnibox/omnibox_popup_row.h" +#import "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.h" #import "ios/chrome/browser/ui/toolbar/clean/toolbar_view.h" #import "ios/chrome/browser/ui/toolbar/legacy/toolbar_controller.h" #include "ios/chrome/browser/ui/tools_menu/public/tools_menu_constants.h"
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.h b/ios/chrome/test/earl_grey/chrome_matchers.h index baf0e27..140ed52a 100644 --- a/ios/chrome/test/earl_grey/chrome_matchers.h +++ b/ios/chrome/test/earl_grey/chrome_matchers.h
@@ -34,6 +34,9 @@ // Returns matcher for a cancel button. id<GREYMatcher> CancelButton(); +// Returns matcher for a close button. +id<GREYMatcher> CloseButton(); + // Matcher for the navigate forward button. id<GREYMatcher> ForwardButton();
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.mm b/ios/chrome/test/earl_grey/chrome_matchers.mm index 7e977d0..7cc940d 100644 --- a/ios/chrome/test/earl_grey/chrome_matchers.mm +++ b/ios/chrome/test/earl_grey/chrome_matchers.mm
@@ -126,6 +126,10 @@ return ButtonWithAccessibilityLabelId(IDS_CANCEL); } +id<GREYMatcher> CloseButton() { + return ButtonWithAccessibilityLabelId(IDS_CLOSE); +} + id<GREYMatcher> ForwardButton() { return ButtonWithAccessibilityLabelId(IDS_ACCNAME_FORWARD); }
diff --git a/ios/showcase/tab_grid/sc_tab_grid_coordinator.mm b/ios/showcase/tab_grid/sc_tab_grid_coordinator.mm index ac58f43..0690430 100644 --- a/ios/showcase/tab_grid/sc_tab_grid_coordinator.mm +++ b/ios/showcase/tab_grid/sc_tab_grid_coordinator.mm
@@ -4,6 +4,7 @@ #import "ios/showcase/tab_grid/sc_tab_grid_coordinator.h" +#import "ios/chrome/browser/ui/tab_grid/grid_commands.h" #import "ios/chrome/browser/ui/tab_grid/grid_consumer.h" #import "ios/chrome/browser/ui/tab_grid/grid_item.h" #import "ios/chrome/browser/ui/tab_grid/tab_grid_view_controller.h" @@ -24,14 +25,14 @@ @synthesize alerter = _alerter; - (void)start { - self.alerter = [[ProtocolAlerter alloc] - initWithProtocols:@[ @protocol(GridViewControllerDelegate) ]]; + self.alerter = + [[ProtocolAlerter alloc] initWithProtocols:@[ @protocol(GridCommands) ]]; self.viewController = [[TabGridViewController alloc] init]; self.alerter.baseViewController = self.viewController; self.viewController.incognitoTabsDelegate = - static_cast<id<GridViewControllerDelegate>>(self.alerter); + static_cast<id<GridCommands>>(self.alerter); self.viewController.regularTabsDelegate = - static_cast<id<GridViewControllerDelegate>>(self.alerter); + static_cast<id<GridCommands>>(self.alerter); self.viewController.title = @"Full TabGrid UI"; self.baseViewController.delegate = self; self.baseViewController.hidesBarsOnSwipe = YES;
diff --git a/ios/third_party/material_components_ios/README.chromium b/ios/third_party/material_components_ios/README.chromium index b54b303..c0b922b2 100644 --- a/ios/third_party/material_components_ios/README.chromium +++ b/ios/third_party/material_components_ios/README.chromium
@@ -1,7 +1,7 @@ Name: Material Components for iOS URL: https://github.com/material-components/material-components-ios Version: 0 -Revision: 9de3fbdb9d71fdb0f643f5320a7331854651b592 +Revision: 7d2e0214553aba8b5bb09fbe023df0f0dc48005a License: Apache 2.0 License File: LICENSE Security Critical: yes
diff --git a/ios/web/web_client.mm b/ios/web/web_client.mm index 99a883d4..0115c80 100644 --- a/ios/web/web_client.mm +++ b/ios/web/web_client.mm
@@ -91,7 +91,15 @@ } bool WebClient::IsSlimNavigationManagerEnabled() const { - return base::FeatureList::IsEnabled(web::features::kSlimNavigationManager); + if (@available(iOS 11.3, *)) { + // Starting iOS 11.3, pushState and replaceState are not allowed in file:// + // scheme which the new navigation manager relies on. So this excludes the + // newer iOS versions until this bug is fixed. + // TODO(crbug.com/814803): Remove this workaround. + return false; + } else { + return base::FeatureList::IsEnabled(web::features::kSlimNavigationManager); + } } } // namespace web
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc index 4498b874..94b9cc3 100644 --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -304,16 +304,6 @@ "low-delay-video-rendering-on-live-stream", base::FEATURE_ENABLED_BY_DEFAULT}; -// Enables Media Engagement Index recording. The data from which will -// be used to bypass autoplay policies. -const base::Feature kRecordMediaEngagementScores{ - "RecordMediaEngagementScores", base::FEATURE_ENABLED_BY_DEFAULT}; - -// Enables the Media Engagement Index to override autoplay policies if an -// origins engagement score is high enough. -const base::Feature kMediaEngagementBypassAutoplayPolicies{ - "MediaEngagementBypassAutoplayPolicies", base::FEATURE_ENABLED_BY_DEFAULT}; - #if defined(OS_ANDROID) // Lock the screen orientation when a video goes fullscreen. const base::Feature kVideoFullscreenOrientationLock{ @@ -385,12 +375,26 @@ const base::Feature kUseModernMediaControls{"UseModernMediaControls", base::FEATURE_DISABLED_BY_DEFAULT}; -// Allows Media Engagement to use preloaded data to decide whether an origin has -// a high media engagement. +// Enables Media Engagement Index recording. This data will be used to determine +// when to bypass autoplay policies. This is recorded on all platforms. +const base::Feature kRecordMediaEngagementScores{ + "RecordMediaEngagementScores", base::FEATURE_ENABLED_BY_DEFAULT}; + +// The following Media Engagement flags are not enabled on mobile platforms: +// - MediaEngagementBypassAutoplayPolicies: enables the Media Engagement Index +// data to be esude to override autoplay policies. An origin with a high MEI +// will be allowed to autoplay. +// - PreloadMediaEngagementData: enables a list of origins to be considered as +// having a high MEI until there is enough local data to determine the user's +// preferred behaviour. #if defined(OS_ANDROID) || defined(OS_IOS) +const base::Feature kMediaEngagementBypassAutoplayPolicies{ + "MediaEngagementBypassAutoplayPolicies", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kPreloadMediaEngagementData{ "PreloadMediaEngagementData", base::FEATURE_DISABLED_BY_DEFAULT}; #else +const base::Feature kMediaEngagementBypassAutoplayPolicies{ + "MediaEngagementBypassAutoplayPolicies", base::FEATURE_ENABLED_BY_DEFAULT}; const base::Feature kPreloadMediaEngagementData{ "PreloadMediaEngagementData", base::FEATURE_ENABLED_BY_DEFAULT}; #endif
diff --git a/media/gpu/windows/d3d11_cdm_proxy.cc b/media/gpu/windows/d3d11_cdm_proxy.cc index 2ba8bb9..cdae8a5 100644 --- a/media/gpu/windows/d3d11_cdm_proxy.cc +++ b/media/gpu/windows/d3d11_cdm_proxy.cc
@@ -9,36 +9,125 @@ #include "base/bind.h" #include "base/logging.h" +#include "media/base/cdm_context.h" +#include "media/base/cdm_proxy_context.h" namespace media { -D3D11CdmProxy::KeyInfo::KeyInfo() = default; +namespace { -D3D11CdmProxy::KeyInfo::KeyInfo(uint32_t crypto_session_id, - std::vector<uint8_t> key_id, - std::vector<uint8_t> key_blob) - : crypto_session_id(crypto_session_id), - key_id(std::move(key_id)), - key_blob(std::move(key_blob)) {} +class D3D11CdmProxyContext : public CdmProxyContext { + public: + explicit D3D11CdmProxyContext(const GUID& key_info_guid) + : key_info_guid_(key_info_guid) {} + ~D3D11CdmProxyContext() override = default; -D3D11CdmProxy::KeyInfo::KeyInfo(const KeyInfo&) = default; + // The pointers are owned by the caller. + void SetKey(ID3D11CryptoSession* crypto_session, + const std::vector<uint8_t>& key_id, + const std::vector<uint8_t>& key_blob) { + std::string key_id_str(key_id.begin(), key_id.end()); + KeyInfo key_info(crypto_session, key_blob); + // Note that this would overwrite an entry but it is completely valid, e.g. + // updating the keyblob due to a configuration change. + key_info_map_[key_id_str] = std::move(key_info); + } -D3D11CdmProxy::KeyInfo::~KeyInfo() {} + void RemoveKey(ID3D11CryptoSession* crypto_session, + const std::vector<uint8_t>& key_id) { + std::string key_id_str(key_id.begin(), key_id.end()); + key_info_map_.erase(key_id_str); + } -D3D11CdmProxy::D3D11CdmProxy(const GUID& stream_id, + // CdmProxyContext implementation. + base::Optional<D3D11DecryptContext> GetD3D11DecryptContext( + const std::string& key_id) override { + auto key_info_it = key_info_map_.find(key_id); + if (key_info_it == key_info_map_.end()) + return base::nullopt; + + auto& key_info = key_info_it->second; + D3D11DecryptContext context = {}; + context.crypto_session = key_info.crypto_session; + context.key_blob = key_info.key_blob.data(); + context.key_blob_size = key_info.key_blob.size(); + context.key_info_guid = key_info_guid_; + return context; + } + + private: + // A structure to keep the data passed to SetKey(). See documentation for + // SetKey() for what the fields mean. + struct KeyInfo { + KeyInfo() = default; + KeyInfo(ID3D11CryptoSession* crypto_session, std::vector<uint8_t> key_blob) + : crypto_session(crypto_session), key_blob(std::move(key_blob)) {} + KeyInfo(const KeyInfo&) = default; + ~KeyInfo() = default; + ID3D11CryptoSession* crypto_session; + std::vector<uint8_t> key_blob; + }; + + // Maps key ID to KeyInfo. + // The key ID's type is string, which is converted from |key_id| in + // SetKey(). It's better to use string here rather than convert + // vector<uint8_t> to string every time in GetD3D11DecryptContext() because + // in most cases it would be called more often than SetKey() and RemoveKey() + // combined. + std::map<std::string, KeyInfo> key_info_map_; + + const GUID key_info_guid_; + + DISALLOW_COPY_AND_ASSIGN(D3D11CdmProxyContext); +}; + +} // namespace + +class D3D11CdmContext : public CdmContext { + public: + explicit D3D11CdmContext(const GUID& key_info_guid) + : cdm_proxy_context_(key_info_guid), weak_factory_(this) {} + ~D3D11CdmContext() override = default; + + // The pointers are owned by the caller. + void SetKey(ID3D11CryptoSession* crypto_session, + const std::vector<uint8_t>& key_id, + const std::vector<uint8_t>& key_blob) { + cdm_proxy_context_.SetKey(crypto_session, key_id, key_blob); + } + void RemoveKey(ID3D11CryptoSession* crypto_session, + const std::vector<uint8_t>& key_id) { + cdm_proxy_context_.RemoveKey(crypto_session, key_id); + } + + base::WeakPtr<D3D11CdmContext> GetWeakPtr() { + return weak_factory_.GetWeakPtr(); + } + + // CdmContext implementation. + CdmProxyContext* GetCdmProxyContext() override { return &cdm_proxy_context_; } + + private: + D3D11CdmProxyContext cdm_proxy_context_; + + base::WeakPtrFactory<D3D11CdmContext> weak_factory_; + + DISALLOW_COPY_AND_ASSIGN(D3D11CdmContext); +}; + +D3D11CdmProxy::D3D11CdmProxy(const GUID& crypto_type, CdmProxy::Protocol protocol, const FunctionIdMap& function_id_map) - : stream_id_(stream_id), + : crypto_type_(crypto_type), protocol_(protocol), function_id_map_(function_id_map), + cdm_context_(std::make_unique<D3D11CdmContext>(crypto_type)), create_device_func_(base::BindRepeating(D3D11CreateDevice)) {} D3D11CdmProxy::~D3D11CdmProxy() {} base::WeakPtr<CdmContext> D3D11CdmProxy::GetCdmContext() { - // TODO(rkuroiwa): Implement CdmContext that returns the decrypt context - // thru GetDecryptContext(). - return nullptr; + return cdm_context_->GetWeakPtr(); } void D3D11CdmProxy::Initialize(Client* client, InitializeCB init_cb) { @@ -106,7 +195,7 @@ Microsoft::WRL::ComPtr<ID3D11CryptoSession> csme_crypto_session; hresult = video_device_->CreateCryptoSession( - &stream_id_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, + &crypto_type_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, &D3D11_KEY_EXCHANGE_HW_PROTECTION, csme_crypto_session.GetAddressOf()); if (FAILED(hresult)) { DLOG(ERROR) << "Failed to Create CryptoSession: " << hresult; @@ -115,7 +204,7 @@ } hresult = video_device1_->GetCryptoSessionPrivateDataSize( - &stream_id_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, + &crypto_type_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, &D3D11_KEY_EXCHANGE_HW_PROTECTION, &private_input_size_, &private_output_size_); if (FAILED(hresult)) { @@ -226,7 +315,7 @@ Microsoft::WRL::ComPtr<ID3D11CryptoSession> media_crypto_session; HRESULT hresult = video_device_->CreateCryptoSession( - &stream_id_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, &stream_id_, + &crypto_type_, &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, &crypto_type_, media_crypto_session.GetAddressOf()); if (FAILED(hresult)) { DLOG(ERROR) << "Failed to create a crypto session: " << hresult; @@ -269,15 +358,24 @@ void D3D11CdmProxy::SetKey(uint32_t crypto_session_id, const std::vector<uint8_t>& key_id, const std::vector<uint8_t>& key_blob) { - KeyInfo key_info(crypto_session_id, key_id, key_blob); - // Note that this would overwrite an entry but it is completely valid, e.g. - // updating the keyblob due to a configuration change. - key_info_map_[key_id] = std::move(key_info); + auto crypto_session_it = crypto_session_map_.find(crypto_session_id); + if (crypto_session_it == crypto_session_map_.end()) { + DLOG(WARNING) << crypto_session_id + << " did not map to a crypto session instance."; + return; + } + cdm_context_->SetKey(crypto_session_it->second.Get(), key_id, key_blob); } void D3D11CdmProxy::RemoveKey(uint32_t crypto_session_id, const std::vector<uint8_t>& key_id) { - key_info_map_.erase(key_id); + auto crypto_session_it = crypto_session_map_.find(crypto_session_id); + if (crypto_session_it == crypto_session_map_.end()) { + DLOG(WARNING) << crypto_session_id + << " did not map to a crypto session instance."; + return; + } + cdm_context_->RemoveKey(crypto_session_it->second.Get(), key_id); } void D3D11CdmProxy::SetCreateDeviceCallbackForTesting(CreateDeviceCB callback) {
diff --git a/media/gpu/windows/d3d11_cdm_proxy.h b/media/gpu/windows/d3d11_cdm_proxy.h index dc7fa3a6..ce444ed 100644 --- a/media/gpu/windows/d3d11_cdm_proxy.h +++ b/media/gpu/windows/d3d11_cdm_proxy.h
@@ -18,6 +18,8 @@ namespace media { +class D3D11CdmContext; + // This is a CdmProxy implementation that uses D3D11. class MEDIA_GPU_EXPORT D3D11CdmProxy : public CdmProxy { public: @@ -37,12 +39,17 @@ D3D_FEATURE_LEVEL*, ID3D11DeviceContext**)>; - // |crypto_type| is the ID that should be using to do crypto session - // operations. This includes creating a crypto session with - // ID3D11VideoDevice::CreateCryptoSession(). In other words this is the - // value passed to D3D11 functions that take 'pCryptoType'. - // |protocol| determines what protocol this is operating in. This value is - // passed to callbacks that require a protocol enum value. + // |crypto_type| is the ID that is used to do crypto session operations. This + // includes creating a crypto session with + // ID3D11VideoDevice::CreateCryptoSession(). This is "a GUID that specifies + // the type of encryption to use". + // https://msdn.microsoft.com/en-us/library/windows/desktop/hh447785(v=vs.85).aspx + // This is also used ot call + // ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize(). It "Indicates the + // crypto type for which the private input and output size is queried." + // https://msdn.microsoft.com/en-us/library/windows/desktop/dn894143(v=vs.85).aspx + // |protocol| determines what protocol this is operating in. This + // value is passed to callbacks that require a protocol enum value. // |function_id_map| maps Function enum to an integer. D3D11CdmProxy(const GUID& crypto_type, CdmProxy::Protocol protocol, @@ -72,27 +79,12 @@ template <typename T> using ComPtr = Microsoft::WRL::ComPtr<T>; - // A structure to keep the data passed to SetKey(). See documentation for - // SetKey() for what the fields mean. - // TODO(rkuroiwa): Move this to D3D11CdmContext (or whatever class that would - // be added) that this class will inherit to provide the key information to - // the decoder. - struct KeyInfo { - KeyInfo(); - KeyInfo(uint32_t crypto_session_id, - std::vector<uint8_t> key_id, - std::vector<uint8_t> key_blob); - KeyInfo(const KeyInfo&); - ~KeyInfo(); - uint32_t crypto_session_id; - std::vector<uint8_t> key_id; - std::vector<uint8_t> key_blob; - }; - - const GUID stream_id_; + const GUID crypto_type_; const CdmProxy::Protocol protocol_; const FunctionIdMap function_id_map_; + std::unique_ptr<D3D11CdmContext> cdm_context_; + // Implmenenting this class does not require this to be a callback. But in // order to inject D3D11CreateDevice() function for testing, this member is // required. The test will replace this with a function that returns a mock @@ -124,9 +116,6 @@ UINT private_input_size_ = 0; UINT private_output_size_ = 0; - // Maps key ID to KeyInfo. - std::map<std::vector<uint8_t>, KeyInfo> key_info_map_; - DISALLOW_COPY_AND_ASSIGN(D3D11CdmProxy); };
diff --git a/media/gpu/windows/d3d11_proxy_unittest.cc b/media/gpu/windows/d3d11_proxy_unittest.cc index 1270f73..69bc19d83 100644 --- a/media/gpu/windows/d3d11_proxy_unittest.cc +++ b/media/gpu/windows/d3d11_proxy_unittest.cc
@@ -9,6 +9,7 @@ #include <initguid.h> #include "base/bind.h" +#include "media/base/cdm_proxy_context.h" #include "media/gpu/windows/d3d11_mocks.h" #include "testing/gtest/include/gtest/gtest.h" @@ -212,7 +213,7 @@ } // Matcher for checking whether the structure passed to -// NegotiateCryptoSessionKeyExchange haev the expected values. +// NegotiateCryptoSessionKeyExchange has the expected values. MATCHER_P2(MatchesKeyExchangeStructure, expected, input_struct_size, "") { D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA* actual = static_cast<D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA*>(arg); @@ -446,4 +447,108 @@ base::Unretained(&callback_mock_))); } -} // namespace media \ No newline at end of file +// Verify that GetCdmContext() is implemented and does not return null. +TEST_F(D3D11CdmProxyTest, GetCdmContext) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + ASSERT_TRUE(context); +} + +TEST_F(D3D11CdmProxyTest, GetCdmProxyContext) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + ASSERT_TRUE(context); + ASSERT_TRUE(context->GetCdmProxyContext()); +} + +TEST_F(D3D11CdmProxyTest, GetD3D11DecryptContextNoKey) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + ASSERT_TRUE(context); + CdmProxyContext* proxy_context = context->GetCdmProxyContext(); + // The key ID doesn't matter. + auto decrypt_context = proxy_context->GetD3D11DecryptContext(""); + EXPECT_FALSE(decrypt_context); +} + +// Verifies that keys are set and is acccessible with a getter. +TEST_F(D3D11CdmProxyTest, SetKeyAndGetDecryptContext) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + ASSERT_TRUE(context); + CdmProxyContext* proxy_context = context->GetCdmProxyContext(); + + uint32_t crypto_session_id_from_initialize = 0; + EXPECT_CALL(callback_mock_, + InitializeCallback(CdmProxy::Status::kOk, kTestProtocol, _)) + .WillOnce(SaveArg<2>(&crypto_session_id_from_initialize)); + ASSERT_NO_FATAL_FAILURE(Initialize(base::BindOnce( + &CallbackMock::InitializeCallback, base::Unretained(&callback_mock_)))); + ::testing::Mock::VerifyAndClearExpectations(&callback_mock_); + + std::vector<uint8_t> kKeyId = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + }; + std::vector<uint8_t> kKeyBlob = { + 0xab, 0x01, 0x20, 0xd3, 0xee, 0x05, 0x99, 0x87, + 0xff, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x7F, + }; + proxy_->SetKey(crypto_session_id_from_initialize, kKeyId, kKeyBlob); + + std::string key_id_str(kKeyId.begin(), kKeyId.end()); + auto decrypt_context = proxy_context->GetD3D11DecryptContext(key_id_str); + ASSERT_TRUE(decrypt_context); + + EXPECT_TRUE(decrypt_context->crypto_session) + << "Crypto session should not be null."; + const uint8_t* key_blob = + reinterpret_cast<const uint8_t*>(decrypt_context->key_blob); + EXPECT_EQ(kKeyBlob, std::vector<uint8_t>( + key_blob, key_blob + decrypt_context->key_blob_size)); + EXPECT_EQ(CRYPTO_TYPE_GUID, decrypt_context->key_info_guid); +} + +// Verify that removing a key works. +TEST_F(D3D11CdmProxyTest, RemoveKey) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + ASSERT_TRUE(context); + CdmProxyContext* proxy_context = context->GetCdmProxyContext(); + + uint32_t crypto_session_id_from_initialize = 0; + EXPECT_CALL(callback_mock_, + InitializeCallback(CdmProxy::Status::kOk, kTestProtocol, _)) + .WillOnce(SaveArg<2>(&crypto_session_id_from_initialize)); + ASSERT_NO_FATAL_FAILURE(Initialize(base::BindOnce( + &CallbackMock::InitializeCallback, base::Unretained(&callback_mock_)))); + ::testing::Mock::VerifyAndClearExpectations(&callback_mock_); + + std::vector<uint8_t> kKeyId = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + }; + std::vector<uint8_t> kKeyBlob = { + 0xab, 0x01, 0x20, 0xd3, 0xee, 0x05, 0x99, 0x87, + 0xff, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x7F, + }; + proxy_->SetKey(crypto_session_id_from_initialize, kKeyId, kKeyBlob); + proxy_->RemoveKey(crypto_session_id_from_initialize, kKeyId); + + std::string keyblob_str(kKeyId.begin(), kKeyId.end()); + auto decrypt_context = proxy_context->GetD3D11DecryptContext(keyblob_str); + EXPECT_FALSE(decrypt_context); +} + +// Calling SetKey() and RemoveKey() for non-existent crypto session should +// not crash. +TEST_F(D3D11CdmProxyTest, SetRemoveKeyWrongCryptoSessionId) { + const uint32_t kAnyCryptoSessionId = 0x9238; + const std::vector<uint8_t> kEmpty; + proxy_->RemoveKey(kAnyCryptoSessionId, kEmpty); + proxy_->SetKey(kAnyCryptoSessionId, kEmpty, kEmpty); +} + +TEST_F(D3D11CdmProxyTest, ProxyInvalidationInvalidatesCdmContext) { + base::WeakPtr<CdmContext> context = proxy_->GetCdmContext(); + EXPECT_TRUE(context); + proxy_.reset(); + EXPECT_FALSE(context); +} + +} // namespace media
diff --git a/media/renderers/video_renderer_impl_unittest.cc b/media/renderers/video_renderer_impl_unittest.cc index ff46050..59eef02 100644 --- a/media/renderers/video_renderer_impl_unittest.cc +++ b/media/renderers/video_renderer_impl_unittest.cc
@@ -15,6 +15,7 @@ #include "base/macros.h" #include "base/memory/memory_pressure_listener.h" #include "base/memory/memory_pressure_monitor.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h"
diff --git a/mojo/public/cpp/bindings/message.h b/mojo/public/cpp/bindings/message.h index 97f92b073..4ad1c04 100644 --- a/mojo/public/cpp/bindings/message.h +++ b/mojo/public/cpp/bindings/message.h
@@ -17,6 +17,7 @@ #include "base/compiler_specific.h" #include "base/component_export.h" #include "base/logging.h" +#include "base/memory/ptr_util.h" #include "mojo/public/cpp/bindings/lib/buffer.h" #include "mojo/public/cpp/bindings/lib/message_internal.h" #include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
diff --git a/net/proxy_resolution/dhcp_pac_file_fetcher_win.cc b/net/proxy_resolution/dhcp_pac_file_fetcher_win.cc index 6f6a899..2f5690e 100644 --- a/net/proxy_resolution/dhcp_pac_file_fetcher_win.cc +++ b/net/proxy_resolution/dhcp_pac_file_fetcher_win.cc
@@ -25,6 +25,33 @@ namespace net { +namespace { + +// Returns true if |adapter| should be considered when probing for WPAD via +// DHCP. +bool IsDhcpCapableAdapter(IP_ADAPTER_ADDRESSES* adapter) { + if (adapter->IfType == IF_TYPE_SOFTWARE_LOOPBACK) + return false; + if ((adapter->Flags & IP_ADAPTER_DHCP_ENABLED) == 0) + return false; + + // Don't probe interfaces which are not up and ready to pass packets. + // + // This is a speculative fix for https://crbug.com/770201, in case calling + // dhcpsvc!DhcpRequestParams on interfaces that aren't ready yet blocks for + // a long time. + // + // Since ProxyResolutionService restarts WPAD probes in response to other + // network level changes, this will likely get called again once the + // interface is up. + if (adapter->OperStatus != IfOperStatusUp) + return false; + + return true; +} + +} // namespace + // This struct contains logging information describing how // GetCandidateAdapterNames() performed, for output to NetLog. struct DhcpAdapterNamesLoggingInfo { @@ -202,9 +229,8 @@ SetInt("TunnelType", adapter->TunnelType, &adapter_value); // "skipped" means the adapter was not ultimately chosen as a candidate for - // testing WPAD. This replicates the logic in GetAdapterNames(). - bool skipped = (adapter->IfType == IF_TYPE_SOFTWARE_LOOPBACK) || - ((adapter->Flags & IP_ADAPTER_DHCP_ENABLED) == 0); + // testing WPAD. + bool skipped = !IsDhcpCapableAdapter(adapter); adapter_value.SetKey("skipped", base::Value(skipped)); adapters_value.GetList().push_back(std::move(adapter_value)); @@ -564,13 +590,10 @@ IP_ADAPTER_ADDRESSES* adapter = NULL; for (adapter = adapters.get(); adapter; adapter = adapter->Next) { - if (adapter->IfType == IF_TYPE_SOFTWARE_LOOPBACK) - continue; - if ((adapter->Flags & IP_ADAPTER_DHCP_ENABLED) == 0) - continue; - - DCHECK(adapter->AdapterName); - adapter_names->insert(adapter->AdapterName); + if (IsDhcpCapableAdapter(adapter)) { + DCHECK(adapter->AdapterName); + adapter_names->insert(adapter->AdapterName); + } } // Transfer the buffer containing the adapters, so it can be used later for
diff --git a/net/quic/core/quic_connection.cc b/net/quic/core/quic_connection.cc index 8f43ec8..47ecf74 100644 --- a/net/quic/core/quic_connection.cc +++ b/net/quic/core/quic_connection.cc
@@ -1481,6 +1481,14 @@ void QuicConnection::OnCanWrite() { DCHECK(!writer_->IsWriteBlocked()); + // TODO(wub): Deprecate this histogram once crbug.com/818040 is fixed. + if (!queued_packets_.empty() && + queued_packets_.front().packet_number < + sent_packet_manager_.GetLargestSentPacket()) { + UMA_HISTOGRAM_BOOLEAN( + "Net.QuicSession.WriteOutOfOrderQueuedPacketAfterClose", !connected_); + } + WriteQueuedPackets(); if (!session_decides_what_to_write()) { WritePendingRetransmissions();
diff --git a/net/url_request/url_request_data_job_fuzzer.cc b/net/url_request/url_request_data_job_fuzzer.cc index dc14e1d7..fa6ad4b3 100644 --- a/net/url_request/url_request_data_job_fuzzer.cc +++ b/net/url_request/url_request_data_job_fuzzer.cc
@@ -44,10 +44,8 @@ read_lengths_.clear(); // Allocate an IOBuffer with fuzzed size. - uint32_t buf_size = provider.ConsumeUint32InRange(1, 127); // 7 bits. - scoped_refptr<net::IOBuffer> buf( - new net::IOBuffer(static_cast<size_t>(buf_size))); - buf_.swap(buf); + int buf_size = provider.ConsumeUint32InRange(1, 127); // 7 bits. + buf_ = base::MakeRefCounted<net::IOBufferWithSize>(buf_size); // Generate a range header, and a bool determining whether to use it. // Generate the header regardless of the bool value to keep the data URL and @@ -56,9 +54,12 @@ bool use_range = provider.ConsumeBool(); std::string range(provider.ConsumeBytes(kMaxLengthForFuzzedRange)); - // Generate a sequence of reads sufficient to read the entire data URL. + // Generate a sequence of reads sufficient to read the entire data URL, + // capping it at 20000 reads, to avoid hangs. Once the limit is reached, + // all subsequent reads will be 32k. size_t simulated_bytes_read = 0; - while (simulated_bytes_read < provider.remaining_bytes()) { + while (simulated_bytes_read < provider.remaining_bytes() && + read_lengths_.size() < 20000u) { size_t read_length = provider.ConsumeUint32InRange(1, buf_size); read_lengths_.push_back(read_length); simulated_bytes_read += read_length; @@ -100,14 +101,14 @@ void ReadFromRequest(net::URLRequest* request) { int bytes_read = 0; do { - // If possible, pop the next read size. If none exists, then this should - // be the last call to Read. - bool using_populated_read = read_lengths_.size() > 0; - size_t read_size = 1; - if (using_populated_read) { + size_t read_size = 32 * 1024; + // If possible, pop the next read size. + if (read_lengths_.size() > 0) { read_size = read_lengths_.back(); read_lengths_.pop_back(); } + if (read_size > static_cast<size_t>(buf_->size())) + buf_ = base::MakeRefCounted<net::IOBufferWithSize>(read_size); bytes_read = request->Read(buf_.get(), read_size); } while (bytes_read > 0); @@ -159,8 +160,8 @@ net::TestURLRequestContext context_; net::URLRequestJobFactoryImpl job_factory_; std::vector<size_t> read_lengths_; - scoped_refptr<net::IOBuffer> buf_; - base::RunLoop* read_loop_; + scoped_refptr<net::IOBufferWithSize> buf_; + base::RunLoop* read_loop_ = nullptr; DISALLOW_COPY_AND_ASSIGN(URLRequestDataJobFuzzerHarness); };
diff --git a/pdf/BUILD.gn b/pdf/BUILD.gn index 6d46f53..4d7e4c0 100644 --- a/pdf/BUILD.gn +++ b/pdf/BUILD.gn
@@ -52,6 +52,8 @@ "pdf_engine.h", "pdf_ppapi.cc", "pdf_ppapi.h", + "pdf_transform.cc", + "pdf_transform.h", "preview_mode_client.cc", "preview_mode_client.h", "range_set.cc", @@ -102,6 +104,7 @@ sources = [ "chunk_stream_unittest.cc", "document_loader_unittest.cc", + "pdf_transform_unittest.cc", "range_set_unittest.cc", "run_all_unittests.cc", ]
diff --git a/pdf/DEPS b/pdf/DEPS index 6e454722..36bce0d 100644 --- a/pdf/DEPS +++ b/pdf/DEPS
@@ -2,9 +2,11 @@ "+chrome/common/content_restriction.h", "+net", "+ppapi", + "+printing/units.h", "+ui/base/window_open_disposition.h", "+ui/events/keycodes/keyboard_codes.h", "+ui/gfx/geometry/point_f.h", + "+ui/gfx/geometry/rect.h", "+ui/gfx/range/range.h", "+v8/include/v8.h" ]
diff --git a/printing/pdf_transform.cc b/pdf/pdf_transform.cc similarity index 93% rename from printing/pdf_transform.cc rename to pdf/pdf_transform.cc index 7555bd6..28a69de 100644 --- a/printing/pdf_transform.cc +++ b/pdf/pdf_transform.cc
@@ -2,14 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "printing/pdf_transform.h" +#include "pdf/pdf_transform.h" #include <algorithm> +#include <utility> #include "base/logging.h" #include "ui/gfx/geometry/rect.h" -namespace printing { +namespace chrome_pdf { namespace { @@ -33,10 +34,10 @@ double actual_source_page_width = rotated ? src_height : src_width; double actual_source_page_height = rotated ? src_width : src_height; - double ratio_x = static_cast<double>(content_rect.width()) / - actual_source_page_width; - double ratio_y = static_cast<double>(content_rect.height()) / - actual_source_page_height; + double ratio_x = + static_cast<double>(content_rect.width()) / actual_source_page_width; + double ratio_y = + static_cast<double>(content_rect.height()) / actual_source_page_height; return std::min(ratio_x, ratio_y); } @@ -135,4 +136,4 @@ } } -} // namespace printing +} // namespace chrome_pdf
diff --git a/printing/pdf_transform.h b/pdf/pdf_transform.h similarity index 63% rename from printing/pdf_transform.h rename to pdf/pdf_transform.h index 7910f0f..da506f1 100644 --- a/printing/pdf_transform.h +++ b/pdf/pdf_transform.h
@@ -2,20 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef PRINTING_PDF_TRANSFORM_H_ -#define PRINTING_PDF_TRANSFORM_H_ - -#include "printing/printing_export.h" +#ifndef PDF_PDF_TRANSFORM_H_ +#define PDF_PDF_TRANSFORM_H_ namespace gfx { class Rect; } -namespace printing { +namespace chrome_pdf { // A rect struct for use with FPDF bounding box functions. // With PDFs, origin is bottom-left. -struct PRINTING_EXPORT PdfRectangle { +struct PdfRectangle { float left; float bottom; float right; @@ -30,25 +28,25 @@ // |src_width| specifies the source page width in points. // |src_height| specifies the source page height in points. // |rotated| True if source page is rotated 90 degree or 270 degree. -PRINTING_EXPORT double CalculateScaleFactor(const gfx::Rect& content_rect, - double src_width, - double src_height, - bool rotated); +double CalculateScaleFactor(const gfx::Rect& content_rect, + double src_width, + double src_height, + bool rotated); // Make the default size to be letter size (8.5" X 11"). We are just following // the PDFium way of handling these corner cases. PDFium always consider // US-Letter as the default page size. -PRINTING_EXPORT void SetDefaultClipBox(bool rotated, PdfRectangle* clip_box); +void SetDefaultClipBox(bool rotated, PdfRectangle* clip_box); // Set the media box and/or crop box as needed. If both boxes are there, then // nothing needs to be done. If one box is missing, then fill it with the value // from the other box. If both boxes are missing, then they both get the default // value from SetDefaultClipBox(), based on |rotated|. -PRINTING_EXPORT void CalculateMediaBoxAndCropBox(bool rotated, - bool has_media_box, - bool has_crop_box, - PdfRectangle* media_box, - PdfRectangle* crop_box); +void CalculateMediaBoxAndCropBox(bool rotated, + bool has_media_box, + bool has_crop_box, + PdfRectangle* media_box, + PdfRectangle* crop_box); // Compute source clip box boundaries based on the crop box / media box of // source page and scale factor. @@ -56,12 +54,11 @@ // // |media_box| The PDF's media box. // |crop_box| The PDF's crop box. -PRINTING_EXPORT PdfRectangle CalculateClipBoxBoundary( - const PdfRectangle& media_box, - const PdfRectangle& crop_box); +PdfRectangle CalculateClipBoxBoundary(const PdfRectangle& media_box, + const PdfRectangle& crop_box); // Scale |box| by |scale_factor|. -PRINTING_EXPORT void ScalePdfRectangle(double scale_factor, PdfRectangle* rect); +void ScalePdfRectangle(double scale_factor, PdfRectangle* rect); // Calculate the clip box translation offset for a page that does need to be // scaled. All parameters are in points. @@ -72,11 +69,10 @@ // origin at left-bottom. // |offset_x| and |offset_y| will contain the final translation offsets for the // source clip box, relative to origin at left-bottom. -PRINTING_EXPORT void CalculateScaledClipBoxOffset( - const gfx::Rect& content_rect, - const PdfRectangle& source_clip_box, - double* offset_x, - double* offset_y); +void CalculateScaledClipBoxOffset(const gfx::Rect& content_rect, + const PdfRectangle& source_clip_box, + double* offset_x, + double* offset_y); // Calculate the clip box offset for a page that does not need to be scaled. // All parameters are in points. @@ -91,15 +87,14 @@ // at left-bottom. // |offset_x| and |offset_y| will contain the final translation offsets for the // source clip box, relative to origin at left-bottom. -PRINTING_EXPORT void CalculateNonScaledClipBoxOffset( - const gfx::Rect& content_rect, - int rotation, - int page_width, - int page_height, - const PdfRectangle& source_clip_box, - double* offset_x, - double* offset_y); +void CalculateNonScaledClipBoxOffset(const gfx::Rect& content_rect, + int rotation, + int page_width, + int page_height, + const PdfRectangle& source_clip_box, + double* offset_x, + double* offset_y); -} // namespace printing +} // namespace chrome_pdf -#endif // PRINTING_PDF_TRANSFORM_H_ +#endif // PDF_PDF_TRANSFORM_H_
diff --git a/printing/pdf_transform_unittest.cc b/pdf/pdf_transform_unittest.cc similarity index 84% rename from printing/pdf_transform_unittest.cc rename to pdf/pdf_transform_unittest.cc index 4ee2145..e52b02a 100644 --- a/printing/pdf_transform_unittest.cc +++ b/pdf/pdf_transform_unittest.cc
@@ -2,18 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "printing/pdf_transform.h" +#include "pdf/pdf_transform.h" #include "printing/units.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/geometry/rect.h" -namespace printing { +namespace chrome_pdf { namespace { -const float kDefaultWidth = 8.5 * kPointsPerInch; -const float kDefaultHeight = 11.0 * kPointsPerInch; +const float kDefaultWidth = 8.5 * printing::kPointsPerInch; +const float kDefaultHeight = 11.0 * printing::kPointsPerInch; const float kDefaultRatio = kDefaultWidth / kDefaultHeight; const double kTolerance = 0.0001; @@ -217,40 +217,40 @@ // |rect|, page size and |clip_box| are the same. InitializeBoxToDefaultPortraitValues(&clip_box); - CalculateNonScaledClipBoxOffset( - rect, 0, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 0, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 1, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 1, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 2, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 2, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 3, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 3, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(180, offset_x); EXPECT_DOUBLE_EQ(-180, offset_y); // Smaller |clip_box|. clip_box.top /= 4; clip_box.right /= 2; - CalculateNonScaledClipBoxOffset( - rect, 0, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 0, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(594, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 1, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 1, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 2, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 2, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(306, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 3, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 3, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(486, offset_x); EXPECT_DOUBLE_EQ(414, offset_y); @@ -258,20 +258,20 @@ InitializeBoxToDefaultPortraitValues(&clip_box); page_width += 10; page_height += 20; - CalculateNonScaledClipBoxOffset( - rect, 0, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 0, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(20, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 1, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 1, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(0, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 2, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 2, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(10, offset_x); EXPECT_DOUBLE_EQ(0, offset_y); - CalculateNonScaledClipBoxOffset( - rect, 3, page_width, page_height, clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(rect, 3, page_width, page_height, clip_box, + &offset_x, &offset_y); EXPECT_DOUBLE_EQ(200, offset_x); EXPECT_DOUBLE_EQ(-170, offset_y); } @@ -332,4 +332,4 @@ EXPECT_DOUBLE_EQ(0, offset_y); } -} // namespace printing +} // namespace chrome_pdf
diff --git a/pdf/pdfium/DEPS b/pdf/pdfium/DEPS index cf1dc86..00a544d 100644 --- a/pdf/pdfium/DEPS +++ b/pdf/pdfium/DEPS
@@ -1,9 +1,6 @@ include_rules = [ "+gin/array_buffer.h", "+gin/public", - "+printing/pdf_transform.h", - "+printing/units.h", "+third_party/pdfium/public", "+ui/gfx/codec/jpeg_codec.h", - "+ui/gfx/geometry/rect.h", ]
diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc index 2c61a87..ae7ed5a 100644 --- a/pdf/pdfium/pdfium_engine.cc +++ b/pdf/pdfium/pdfium_engine.cc
@@ -31,6 +31,7 @@ #include "gin/public/gin_embedders.h" #include "gin/public/isolate_holder.h" #include "pdf/draw_utils.h" +#include "pdf/pdf_transform.h" #include "pdf/pdfium/pdfium_api_string_buffer_adapter.h" #include "pdf/pdfium/pdfium_mem_buffer_file_read.h" #include "pdf/pdfium/pdfium_mem_buffer_file_write.h" @@ -48,7 +49,6 @@ #include "ppapi/cpp/url_response_info.h" #include "ppapi/cpp/var.h" #include "ppapi/cpp/var_dictionary.h" -#include "printing/pdf_transform.h" #include "printing/units.h" #include "third_party/pdfium/public/cpp/fpdf_deleters.h" #include "third_party/pdfium/public/fpdf_annot.h" @@ -3792,35 +3792,33 @@ const gfx::Rect gfx_content_rect(content_rect.x(), content_rect.y(), content_rect.width(), content_rect.height()); const double scale_factor = - fit_to_page - ? printing::CalculateScaleFactor(gfx_content_rect, src_page_width, - src_page_height, rotated) - : 1.0; + fit_to_page ? CalculateScaleFactor(gfx_content_rect, src_page_width, + src_page_height, rotated) + : 1.0; // Calculate positions for the clip box. - printing::PdfRectangle media_box; - printing::PdfRectangle crop_box; + PdfRectangle media_box; + PdfRectangle crop_box; bool has_media_box = !!FPDFPage_GetMediaBox(page, &media_box.left, &media_box.bottom, &media_box.right, &media_box.top); bool has_crop_box = !!FPDFPage_GetCropBox( page, &crop_box.left, &crop_box.bottom, &crop_box.right, &crop_box.top); - printing::CalculateMediaBoxAndCropBox(rotated, has_media_box, has_crop_box, - &media_box, &crop_box); - printing::PdfRectangle source_clip_box = - printing::CalculateClipBoxBoundary(media_box, crop_box); - printing::ScalePdfRectangle(scale_factor, &source_clip_box); + CalculateMediaBoxAndCropBox(rotated, has_media_box, has_crop_box, &media_box, + &crop_box); + PdfRectangle source_clip_box = CalculateClipBoxBoundary(media_box, crop_box); + ScalePdfRectangle(scale_factor, &source_clip_box); // Calculate the translation offset values. double offset_x = 0; double offset_y = 0; if (fit_to_page) { - printing::CalculateScaledClipBoxOffset(gfx_content_rect, source_clip_box, - &offset_x, &offset_y); + CalculateScaledClipBoxOffset(gfx_content_rect, source_clip_box, &offset_x, + &offset_y); } else { - printing::CalculateNonScaledClipBoxOffset( - gfx_content_rect, src_page_rotation, actual_page_width, - actual_page_height, source_clip_box, &offset_x, &offset_y); + CalculateNonScaledClipBoxOffset(gfx_content_rect, src_page_rotation, + actual_page_width, actual_page_height, + source_clip_box, &offset_x, &offset_y); } // Reset the media box and crop box. When the page has crop box and media box,
diff --git a/printing/BUILD.gn b/printing/BUILD.gn index 086afa4..d5d52d5 100644 --- a/printing/BUILD.gn +++ b/printing/BUILD.gn
@@ -229,13 +229,6 @@ "printing_context_linux.h", ] } - - if (!is_android) { - sources += [ - "pdf_transform.cc", - "pdf_transform.h", - ] - } } static_library("test_support") { @@ -289,10 +282,6 @@ "//ui/gfx/geometry", ] - if (!is_android) { - sources += [ "pdf_transform_unittest.cc" ] - } - if (is_win || is_mac) { sources += [ "printed_document_unittest.cc" ] }
diff --git a/remoting/ios/display/gl_display_handler.h b/remoting/ios/display/gl_display_handler.h index 530b1d4..a4b18ee2 100644 --- a/remoting/ios/display/gl_display_handler.h +++ b/remoting/ios/display/gl_display_handler.h
@@ -8,9 +8,9 @@ #import <CoreGraphics/CoreGraphics.h> #import <Foundation/Foundation.h> -#import "remoting/client/display/sys_opengl.h" +#import <memory> -#include "base/memory/ptr_util.h" +#import "remoting/client/display/sys_opengl.h" namespace remoting {
diff --git a/remoting/resources/remoting_strings_am.xtb b/remoting/resources/remoting_strings_am.xtb index 84a6d1c..c852e2a 100644 --- a/remoting/resources/remoting_strings_am.xtb +++ b/remoting/resources/remoting_strings_am.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">ከአውታረ መረቡ ጋር መገናኘት አልተቻለም። እባክዎ መሥሪያዎ መስመር ላይ መሆኑን ያረጋግጡ።</translation> <translation id="3596628256176442606">ይህ አገልግሎት ከChromoting ደንበኞች ገቢ ግንኙነቶችን ያነቃል።</translation> <translation id="3606997049964069799">ወደ Chromium በመለያ አልገቡም። እባክዎ ይግቡ እና እንደገና ይሞክሩ።</translation> -<translation id="3608841044971751032">ኮምፒውተርዎን ደህንነቱ በተጠበቀ ሁኔታ ይድረሱበት</translation> <translation id="3649256019230929621">መስኮትን ያሳንሱት</translation> <translation id="369442766917958684">ከመስመር ውጪ።</translation> <translation id="3695446226812920698">እንዴት እንደሆነ ይወቁ</translation>
diff --git a/remoting/resources/remoting_strings_ar.xtb b/remoting/resources/remoting_strings_ar.xtb index 24b68c0..954a26f7d 100644 --- a/remoting/resources/remoting_strings_ar.xtb +++ b/remoting/resources/remoting_strings_ar.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">تعذر الاتصال بالشبكة. يُرجى التحقق من اتصال الجهاز بالإنترنت.</translation> <translation id="3596628256176442606">تمكن هذه الخدمة الاتصالات الواردة من عملاء التوافق مع نظام التشغيل Chrome.</translation> <translation id="3606997049964069799">لم يتم تسجيل دخولك إلى Chromium، يُرجى تسجيل الدخول وإعادة المحاولة.</translation> -<translation id="3608841044971751032">الدخول إلى جهاز الكمبيوتر بأمان</translation> <translation id="3649256019230929621">تصغير النافذة</translation> <translation id="369442766917958684">بلا اتصال.</translation> <translation id="3695446226812920698">تعرَّف على كيفية إجراء ذلك</translation>
diff --git a/remoting/resources/remoting_strings_bg.xtb b/remoting/resources/remoting_strings_bg.xtb index 1f3806f3..033841e 100644 --- a/remoting/resources/remoting_strings_bg.xtb +++ b/remoting/resources/remoting_strings_bg.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Не можа да се установи връзка с мрежата. Моля, проверете дали устройството ви е онлайн.</translation> <translation id="3596628256176442606">Тази услуга активира входящите връзки от клиентски програми за Chromoting.</translation> <translation id="3606997049964069799">Не сте влезли в Chromium. Моля, направете го и опитайте отново.</translation> -<translation id="3608841044971751032">Осъществявайте достъп до компютъра си по сигурен начин</translation> <translation id="3649256019230929621">Намаляване на прозореца</translation> <translation id="369442766917958684">Офлайн.</translation> <translation id="3695446226812920698">Научете как</translation>
diff --git a/remoting/resources/remoting_strings_bn.xtb b/remoting/resources/remoting_strings_bn.xtb index 60167778..46620d25 100644 --- a/remoting/resources/remoting_strings_bn.xtb +++ b/remoting/resources/remoting_strings_bn.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">নেটওয়ার্কের সাথে সংযুক্ত করা যায়নি৷ দয়া করে আপনার ডিভাইসটি অন-লাইন আছে কিনা পরীক্ষা করুন৷</translation> <translation id="3596628256176442606">এই পরিষেবাটি Chromoting থেকে আগত সংযোগুলি সক্ষম করে৷</translation> <translation id="3606997049964069799">আপনি Chromium এ প্রবেশ করা অবস্থায় নেই৷ অনুগ্রহ করে প্রবেশ করুন এবং আবার চেষ্টা করুন৷</translation> -<translation id="3608841044971751032">আপনার কম্পিউটার নিরাপদে অ্যাক্সেস করুন</translation> <translation id="3649256019230929621">উইন্ডো সংক্ষিপ্তায়ন করুন</translation> <translation id="369442766917958684">অফলাইন।</translation> <translation id="3695446226812920698">কীভাবে করবেন তা জানুন</translation>
diff --git a/remoting/resources/remoting_strings_ca.xtb b/remoting/resources/remoting_strings_ca.xtb index dc7b682a..8d7bfec 100644 --- a/remoting/resources/remoting_strings_ca.xtb +++ b/remoting/resources/remoting_strings_ca.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">No s'ha pogut connectar a la xarxa. Comproveu que el dispositiu estigui connectat a Internet.</translation> <translation id="3596628256176442606">Aquest servei permet les connexions entrants dels clients de Chromoting.</translation> <translation id="3606997049964069799">No heu iniciat la sessió a Chromium. Inicieu-hi la sessió i torneu-ho a provar.</translation> -<translation id="3608841044971751032">Accedeix al teu ordinador de manera segura</translation> <translation id="3649256019230929621">Minimitza la finestra</translation> <translation id="369442766917958684">Sense connexió</translation> <translation id="3695446226812920698">Més informació</translation>
diff --git a/remoting/resources/remoting_strings_cs.xtb b/remoting/resources/remoting_strings_cs.xtb index bf0c1810..8e10555 100644 --- a/remoting/resources/remoting_strings_cs.xtb +++ b/remoting/resources/remoting_strings_cs.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nelze se připojit k síti. Zkontrolujte prosím, zda je zařízení online.</translation> <translation id="3596628256176442606">Tato služba umožňuje příchozí připojení od klientů funkce Chromoting.</translation> <translation id="3606997049964069799">Nejste do prohlížeče Chromium přihlášeni. Přihlaste se a zkuste to znovu.</translation> -<translation id="3608841044971751032">Zabezpečte přístup ke svému počítači</translation> <translation id="3649256019230929621">Minimalizovat okno</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Postup</translation>
diff --git a/remoting/resources/remoting_strings_da.xtb b/remoting/resources/remoting_strings_da.xtb index 534559a..37a5306f 100644 --- a/remoting/resources/remoting_strings_da.xtb +++ b/remoting/resources/remoting_strings_da.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Der kunne ikke oprettes forbindelse til netværket. Kontrollér, at din enhed er på nettet.</translation> <translation id="3596628256176442606">Denne tjeneste muliggør indgående forbindelser fra Chromoting-klienter.</translation> <translation id="3606997049964069799">Du er ikke logget ind på Chromium. Log ind, og prøv igen.</translation> -<translation id="3608841044971751032">Opret sikker adgang til din computer</translation> <translation id="3649256019230929621">Minimer vinduet</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Få flere oplysninger om, hvordan du gør</translation>
diff --git a/remoting/resources/remoting_strings_de.xtb b/remoting/resources/remoting_strings_de.xtb index 92889a47..717871bd 100644 --- a/remoting/resources/remoting_strings_de.xtb +++ b/remoting/resources/remoting_strings_de.xtb
@@ -12,7 +12,7 @@ <translation id="1297009705180977556">Fehler beim Herstellen der Verbindung mit <ph name="HOSTNAME" /></translation> <translation id="1300633907480909701">So greifen Sie sicher von Ihrem Android-Gerät auf Ihre Computer zu: -• Richten Sie mithilfe der Chrome Remote Desktop App aus dem Chrome Web Store auf jedem Ihrer Computer den Remote-Zugriff ein: https://chrome.google.com/remotedesktop. +• Richten Sie mithilfe der Chrome Remote Desktop App aus dem Chrome Web Store auf jedem Ihrer Computer den Remotezugriff ein: https://chrome.google.com/remotedesktop. • Öffnen Sie die App auf Ihrem Android-Gerät und tippen Sie auf einen der online befindlichen Computer, um eine Verbindung herzustellen. Auf Remote-Computern mit einem anderen Tastaturlayout als "Englisch (USA)" kann die Texteingabe Fehler enthalten. Wir fügen in Kürze Unterstützung für andere Tastaturlayouts hinzu! @@ -49,7 +49,7 @@ <translation id="2089514346391228378">Die Remote-Verbindungen für diesen Computer wurden aktiviert.</translation> <translation id="2118549242412205620">So greifen Sie sicher von Ihrem Android-Gerät auf Ihre Computer zu: -• Richten Sie mithilfe der Chrome Remote Desktop App aus dem Chrome Web Store auf jedem Ihrer Computer den Remote-Zugriff ein: https://chrome.google.com/remotedesktop. +• Richten Sie mithilfe der Chrome Remote Desktop App aus dem Chrome Web Store auf jedem Ihrer Computer den Remotezugriff ein: https://chrome.google.com/remotedesktop. • Öffnen Sie die App auf Ihrem Android-Gerät und tippen Sie auf einen der online befindlichen Computer, um eine Verbindung herzustellen. Informationen zum Datenschutz finden Sie in der Google-Datenschutzerklärung (http://goo.gl/SyrVzj) und der Chrome-Datenschutzerklärung (http://goo.gl/0uXE5d).</translation> @@ -87,7 +87,7 @@ <translation id="2888969873284818612">Ein Netzwerkfehler ist aufgetreten. Die App wird neu gestartet, wenn Ihr Gerät wieder online ist.</translation> <translation id="289405675947420287">Sicherer Zugriff auf Ihren Computer über Ihr iOS-Gerät. Schnell, einfach und kostenlos. -• Laden Sie die Chrome Remote Desktop App aus dem Chrome Web Store auf den Computer herunter, für den Sie den Remote-Zugriff einrichten möchten. +• Laden Sie die Chrome Remote Desktop App aus dem Chrome Web Store auf den Computer herunter, für den Sie den Remotezugriff einrichten möchten. • Installieren Sie die Chrome Remote Desktop-Software und folgen Sie der Anleitung, um die Einrichtung abzuschließen. • Öffnen Sie die App auf Ihrem iOS-Gerät und tippen Sie auf einen Ihrer Computer mit Onlinestatus, um eine Verbindung herzustellen.</translation> <translation id="2894654864775534701">Dieser Computer ist derzeit über ein anderes Konto freigegeben.</translation> @@ -121,7 +121,6 @@ <translation id="3581045510967524389">Es konnte keine Verbindung zum Netzwerk hergestellt werden. Überprüfen Sie, ob Ihr Gerät online ist.</translation> <translation id="3596628256176442606">Dieser Dienst ermöglicht eingehende Verbindungen von Chromoting-Clients.</translation> <translation id="3606997049964069799">Sie sind nicht in Chromium angemeldet. Melden Sie sich an und versuchen Sie es erneut.</translation> -<translation id="3608841044971751032">Für einen sicheren Zugriff auf Ihren Computer</translation> <translation id="3649256019230929621">Fenster minimieren</translation> <translation id="369442766917958684">Offline</translation> <translation id="3695446226812920698">Weitere Informationen</translation> @@ -189,7 +188,7 @@ <translation id="492843737083352574">Ich habe Probleme mit meiner Tastatur oder meiner Maus.</translation> <translation id="4973800994433240357">Indem Sie das Chromoting Host-Installationsprogramm herunterladen, erklären Sie sich mit den <ph name="LINK_BEGIN" />Nutzungsbedingungen von Google<ph name="LINK_END" /> einverstanden.</translation> <translation id="4974476491460646149">Verbindung zwischen Client und <ph name="HOSTNAME" /> getrennt</translation> -<translation id="4985296110227979402">Richten Sie zuerst Ihren Computer für den Remote-Zugriff ein</translation> +<translation id="4985296110227979402">Richten Sie zuerst Ihren Computer für den Remotezugriff ein</translation> <translation id="5064360042339518108"><ph name="HOSTNAME" /> (offline)</translation> <translation id="5070121137485264635">Der Remote-Host verlangt, dass Sie sich über eine Drittanbieter-Website authentifizieren. Um fortfahren zu können, geben Sie Chrome Remote Desktop zusätzliche Berechtigungen für den Zugriff auf die folgende Adresse:</translation> <translation id="507204348399810022">Möchten Sie die Remote-Verbindungen zu <ph name="HOSTNAME" /> wirklich deaktivieren?</translation> @@ -218,7 +217,7 @@ <translation id="5773590752998175013">Datum der Kopplung</translation> <translation id="579702532610384533">Erneut verbinden</translation> <translation id="5810269635982033450">Bildschirm funktioniert wie ein Touchpad</translation> -<translation id="5823658491130719298">Öffnen Sie Chrome auf dem Computer, für den Sie den Remote-Zugriff einrichten möchten, und rufen Sie <ph name="INSTALLATION_LINK" /> auf</translation> +<translation id="5823658491130719298">Öffnen Sie Chrome auf dem Computer, für den Sie den Remotezugriff einrichten möchten, und rufen Sie <ph name="INSTALLATION_LINK" /> auf</translation> <translation id="5841343754884244200">Anzeigeoptionen</translation> <translation id="5843054235973879827">Warum ist dieser Vorgang sicher?</translation> <translation id="5859141382851488196">Neues Fenster...</translation> @@ -311,7 +310,7 @@ <translation id="809687642899217504">Meine Computer</translation> <translation id="811307782653349804">Greifen Sie von überall aus auf Ihren Computer zu.</translation> <translation id="8116630183974937060">Ein Netzwerkfehler ist aufgetreten. Bitte überprüfen Sie, ob das Gerät online ist, und versuchen Sie es erneut.</translation> -<translation id="8178433417677596899">Die Bildschirmfreigabe für Nutzer eignet sich besonders für technischen Support per Remote-Zugriff.</translation> +<translation id="8178433417677596899">Die Bildschirmfreigabe für Nutzer eignet sich besonders für technischen Support per Remotezugriff.</translation> <translation id="8187079423890319756">Copyright 2013 Die Chromium-Autoren. Alle Rechte vorbehalten</translation> <translation id="8196755618196986400">Damit wir für weitere Informationen mit Ihnen Kontakt aufnehmen können, wird bei jedem von Ihnen gesendeten Feedback Ihre E-Mail-Adresse mitgesendet.</translation> <translation id="8244400547700556338">Weitere Informationen</translation>
diff --git a/remoting/resources/remoting_strings_el.xtb b/remoting/resources/remoting_strings_el.xtb index 75689fda..053ce98 100644 --- a/remoting/resources/remoting_strings_el.xtb +++ b/remoting/resources/remoting_strings_el.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Δεν ήταν δυνατή η σύνδεση στο δίκτυο. Βεβαιωθείτε ότι η συσκευή σας έχει συνδεθεί στο διαδίκτυο.</translation> <translation id="3596628256176442606">Αυτή η υπηρεσία ενεργοποιεί τις εισερχόμενες συνδέσεις από υπολογιστές-πελάτες Chromoting.</translation> <translation id="3606997049964069799">Δεν είστε συνδεδεμένοι στο Chromium. Συνδεθείτε και δοκιμάστε ξανά.</translation> -<translation id="3608841044971751032">Αποκτήστε πρόσβαση στον υπολογιστή σας με ασφάλεια</translation> <translation id="3649256019230929621">Ελαχιστοποίηση παραθύρου</translation> <translation id="369442766917958684">Εκτός σύνδεσης</translation> <translation id="3695446226812920698">Μάθετε πώς</translation>
diff --git a/remoting/resources/remoting_strings_en-GB.xtb b/remoting/resources/remoting_strings_en-GB.xtb index 55e48657..401c59c0 100644 --- a/remoting/resources/remoting_strings_en-GB.xtb +++ b/remoting/resources/remoting_strings_en-GB.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Could not connect to the network. Please check that your device is on-line.</translation> <translation id="3596628256176442606">This service enables incoming connections from Chromoting clients.</translation> <translation id="3606997049964069799">You are not signed in to Chromium. Please sign in and try again.</translation> -<translation id="3608841044971751032">Securely access your computer</translation> <translation id="3649256019230929621">Minimise window</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Find out how</translation>
diff --git a/remoting/resources/remoting_strings_es-419.xtb b/remoting/resources/remoting_strings_es-419.xtb index b848a99..05c48cb 100644 --- a/remoting/resources/remoting_strings_es-419.xtb +++ b/remoting/resources/remoting_strings_es-419.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">No se pudo conectar a la red. Comprueba que el dispositivo esté conectado a Internet.</translation> <translation id="3596628256176442606">Este servicio permite conexiones entrantes de los clientes de Chromoting.</translation> <translation id="3606997049964069799">No accediste a Chromium. Accede y vuelve a intentarlo.</translation> -<translation id="3608841044971751032">Accede a tu computadora de forma segura</translation> <translation id="3649256019230929621">Minimizar ventana</translation> <translation id="369442766917958684">Sin conexión</translation> <translation id="3695446226812920698">Más información</translation>
diff --git a/remoting/resources/remoting_strings_es.xtb b/remoting/resources/remoting_strings_es.xtb index 306b649..b69dd67 100644 --- a/remoting/resources/remoting_strings_es.xtb +++ b/remoting/resources/remoting_strings_es.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">No se ha podido establecer conexión con la red. Comprueba que el dispositivo esté conectado a Internet.</translation> <translation id="3596628256176442606">Este servicio permite las conexiones entrantes de los clientes de Chromoting.</translation> <translation id="3606997049964069799">No has iniciado sesión en Chromium. Inicia sesión y vuelve a intentarlo.</translation> -<translation id="3608841044971751032">Accede de forma segura a tu ordenador</translation> <translation id="3649256019230929621">Minimizar ventana</translation> <translation id="369442766917958684">No conectado</translation> <translation id="3695446226812920698">Descubre cómo hacerlo</translation>
diff --git a/remoting/resources/remoting_strings_et.xtb b/remoting/resources/remoting_strings_et.xtb index 380c995..4b182f9 100644 --- a/remoting/resources/remoting_strings_et.xtb +++ b/remoting/resources/remoting_strings_et.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Ei saanud võrguga ühendada. Veenduge, et teie seade on võrguga ühendatud.</translation> <translation id="3596628256176442606">See teenus lubab sissetulevad ühendused Chromootimise klientidelt.</translation> <translation id="3606997049964069799">Te ei ole Chromiumi sisse logitud. Logige sisse ja proovige uuesti.</translation> -<translation id="3608841044971751032">Turvaline juurdepääs arvutile</translation> <translation id="3649256019230929621">Minimeeri aken</translation> <translation id="369442766917958684">Võrguühenduseta.</translation> <translation id="3695446226812920698">Lisateave</translation>
diff --git a/remoting/resources/remoting_strings_fa.xtb b/remoting/resources/remoting_strings_fa.xtb index 803c1598..aa4cc52b 100644 --- a/remoting/resources/remoting_strings_fa.xtb +++ b/remoting/resources/remoting_strings_fa.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">اتصال به شبکه انجام نشد. لطفاً بررسی کنید که دستگاه شما به اینترنت وصل باشد.</translation> <translation id="3596628256176442606">این سرویس اتصالات ورودی از کلاینتهای کنترل دسکتاپ ازراهدور Chrome را فعال میکند.</translation> <translation id="3606997049964069799">وارد سیستم Chromium نشدید. لطفاً وارد سیستم شوید و دوباره امتحان کنید.</translation> -<translation id="3608841044971751032">دسترسی ایمن به رایانه</translation> <translation id="3649256019230929621">بازکردن پنجره در حداقل اندازه</translation> <translation id="369442766917958684">آفلاین.</translation> <translation id="3695446226812920698">با نحوه انجام کار آشنا شوید</translation>
diff --git a/remoting/resources/remoting_strings_fi.xtb b/remoting/resources/remoting_strings_fi.xtb index 0cac704..5dc6365 100644 --- a/remoting/resources/remoting_strings_fi.xtb +++ b/remoting/resources/remoting_strings_fi.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Verkkoon yhdistäminen ei onnistu. Varmista, että laitteesi on online-tilassa.</translation> <translation id="3596628256176442606">Tämä palvelu mahdollistaa Chromoting-asiakkaiden muodostamat yhteydet.</translation> <translation id="3606997049964069799">Et ole kirjautunut Chromiumiin. Kirjaudu sisään ja yritä uudelleen.</translation> -<translation id="3608841044971751032">Käytä tietokonettasi turvallisesti</translation> <translation id="3649256019230929621">Pienennä ikkuna</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Lisätietoja</translation>
diff --git a/remoting/resources/remoting_strings_fil.xtb b/remoting/resources/remoting_strings_fil.xtb index 53ea171..ad5be5a 100644 --- a/remoting/resources/remoting_strings_fil.xtb +++ b/remoting/resources/remoting_strings_fil.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Hindi makakonekta sa network. Pakitiyak na on-line ang iyong device.</translation> <translation id="3596628256176442606">Ini-enable ng serbisyong ito ang mga papasok na koneksyon mula sa mga client ng Chromoting.</translation> <translation id="3606997049964069799">Hindi ka naka-sign in sa Chromium. Mangyaring mag-sign in at subukang muli.</translation> -<translation id="3608841044971751032">I-access nang secure ang iyong computer</translation> <translation id="3649256019230929621">I-minimize ang window</translation> <translation id="369442766917958684">Naka-offline.</translation> <translation id="3695446226812920698">Alamin kung paano</translation>
diff --git a/remoting/resources/remoting_strings_fr.xtb b/remoting/resources/remoting_strings_fr.xtb index 6c3288ff..da2ad89 100644 --- a/remoting/resources/remoting_strings_fr.xtb +++ b/remoting/resources/remoting_strings_fr.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Impossible de se connecter au réseau. Veuillez vérifier que votre appareil est en ligne.</translation> <translation id="3596628256176442606">Ce service permet la réception de connexions provenant des clients de Chromoting.</translation> <translation id="3606997049964069799">Vous n'êtes pas connecté à Chromium. Veuillez vous connecter et réessayer.</translation> -<translation id="3608841044971751032">Accédez en toute sécurité à votre ordinateur</translation> <translation id="3649256019230929621">Réduire la fenêtre</translation> <translation id="369442766917958684">Hors connexion</translation> <translation id="3695446226812920698">Comment procéder</translation>
diff --git a/remoting/resources/remoting_strings_gu.xtb b/remoting/resources/remoting_strings_gu.xtb index a0d5f80..da524b62 100644 --- a/remoting/resources/remoting_strings_gu.xtb +++ b/remoting/resources/remoting_strings_gu.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">નેટવર્ક સાથે કનેક્ટ કરી શકાયું નથી. કૃપા કરીને તપાસો કે તમારું ઉપકરણ ઓન-લાઇન છે.</translation> <translation id="3596628256176442606">આ સેવા Chromoting ક્લાઇન્ટ્સ પાસેથી આવતા કનેક્શન્સ સક્ષમ કરે છે.</translation> <translation id="3606997049964069799">તમે Chromium માં સાઇન ઇન થયા નથી. કૃપા કરીને સાઇન ઇન કરી અને ફરી પ્રયાસ કરો.</translation> -<translation id="3608841044971751032">તમારા કમ્પ્યુટરને સુરક્ષિત રીતે ઍક્સેસ કરો</translation> <translation id="3649256019230929621">વિંડો નાની કરો</translation> <translation id="369442766917958684">ઑફલાઇન.</translation> <translation id="3695446226812920698">જાણો કેવી રીતે</translation>
diff --git a/remoting/resources/remoting_strings_hi.xtb b/remoting/resources/remoting_strings_hi.xtb index 20470e3..00458c5 100644 --- a/remoting/resources/remoting_strings_hi.xtb +++ b/remoting/resources/remoting_strings_hi.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">नेटवर्क से कनेक्ट नहीं किया जा सका. कृपया जाँचें कि आपका डिवाइस ऑन-लाइन है.</translation> <translation id="3596628256176442606">यह सेवा Chromoting क्लाइंट के इनकमिंग कनेक्शन सक्षम करती है.</translation> <translation id="3606997049964069799">आपने क्रोमियम में प्रवेश नहीं किया है. कृपया प्रवेश करें और पुन: प्रयास करें.</translation> -<translation id="3608841044971751032">अपना कंप्यूटर सुरक्षित रूप से एक्सेस करें</translation> <translation id="3649256019230929621">विंडो को छोटा करें</translation> <translation id="369442766917958684">ऑफ़लाइन.</translation> <translation id="3695446226812920698">तरीका जानें</translation>
diff --git a/remoting/resources/remoting_strings_hr.xtb b/remoting/resources/remoting_strings_hr.xtb index 3d5832f..eca9072 100644 --- a/remoting/resources/remoting_strings_hr.xtb +++ b/remoting/resources/remoting_strings_hr.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nije bilo moguće povezati se s mrežom. Provjerite je li uređaj na mreži.</translation> <translation id="3596628256176442606">Ta usluga omogućuje dolazne veze s klijenata usluge Chromoting.</translation> <translation id="3606997049964069799">Niste prijavljeni u Chromium. Prijavite se i pokušajte ponovo.</translation> -<translation id="3608841044971751032">Pristupajte svojem računalu na siguran način</translation> <translation id="3649256019230929621">Minimiziranje prozora</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Saznajte kako</translation>
diff --git a/remoting/resources/remoting_strings_hu.xtb b/remoting/resources/remoting_strings_hu.xtb index 80fdc16..d5cf95e 100644 --- a/remoting/resources/remoting_strings_hu.xtb +++ b/remoting/resources/remoting_strings_hu.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nem sikerült kapcsolódni a hálózathoz. Kérjük, ellenőrizze, hogy eszköze online állapotban van-e.</translation> <translation id="3596628256176442606">Ez a szolgáltatás engedélyezi a bejövő kapcsolatokat a Chromoting klienseitől.</translation> <translation id="3606997049964069799">Nincs bejelentkezve a Chromiumba. Jelentkezzen be, és próbálkozzon újra.</translation> -<translation id="3608841044971751032">Biztonságos hozzáférés számítógépéhez</translation> <translation id="3649256019230929621">Ablak kis méretre állítása</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Tudnivalók</translation>
diff --git a/remoting/resources/remoting_strings_id.xtb b/remoting/resources/remoting_strings_id.xtb index c96b394..a444279 100644 --- a/remoting/resources/remoting_strings_id.xtb +++ b/remoting/resources/remoting_strings_id.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Tidak dapat tersambung ke jaringan. Periksa bahwa perangkat Anda telah tersambung.</translation> <translation id="3596628256176442606">Layanan ini mengaktifkan sambungan masuk dari klien Chromoting.</translation> <translation id="3606997049964069799">Anda tidak masuk ke Chromium. Masuk dan coba lagi.</translation> -<translation id="3608841044971751032">Akses komputer Anda dengan aman</translation> <translation id="3649256019230929621">Meminimalkan jendela</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Pelajari caranya</translation>
diff --git a/remoting/resources/remoting_strings_it.xtb b/remoting/resources/remoting_strings_it.xtb index 4d9aa56..840ba4dc 100644 --- a/remoting/resources/remoting_strings_it.xtb +++ b/remoting/resources/remoting_strings_it.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Impossibile collegarsi alla rete. Controlla che il dispositivo sia online.</translation> <translation id="3596628256176442606">Questo servizio consente connessioni in entrata da client Chromoting.</translation> <translation id="3606997049964069799">Non hai eseguito l'accesso a Chromium. Accedi e riprova.</translation> -<translation id="3608841044971751032">Accedi in sicurezza al tuo computer</translation> <translation id="3649256019230929621">Riduci la finestra</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Scopri come</translation>
diff --git a/remoting/resources/remoting_strings_iw.xtb b/remoting/resources/remoting_strings_iw.xtb index d6e697b..6de9cf2 100644 --- a/remoting/resources/remoting_strings_iw.xtb +++ b/remoting/resources/remoting_strings_iw.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">לא ניתן היה להתחבר לרשת. בדוק שהמכשיר שלך מקוון.</translation> <translation id="3596628256176442606">שירות זה מאפשר חיבורים נכנסים מלקוחות Chromoting.</translation> <translation id="3606997049964069799">אתה לא מחובר ל-Chromium. היכנס ונסה שוב.</translation> -<translation id="3608841044971751032">גישה מאובטחת למחשב שלך</translation> <translation id="3649256019230929621">מזער את החלון</translation> <translation id="369442766917958684">פועל במצב לא מקוון.</translation> <translation id="3695446226812920698">איך עושים זאת</translation>
diff --git a/remoting/resources/remoting_strings_ja.xtb b/remoting/resources/remoting_strings_ja.xtb index 31d923a..76a9b47 100644 --- a/remoting/resources/remoting_strings_ja.xtb +++ b/remoting/resources/remoting_strings_ja.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">ネットワークに接続できませんでした。デバイスがインターネットに接続されているか確認してください。</translation> <translation id="3596628256176442606">このサービスにより、Chromoting クライアントからの着信接続が有効になります。</translation> <translation id="3606997049964069799">Chromium にログインしていません。ログインしてもう一度お試しください。</translation> -<translation id="3608841044971751032">パソコンに安全にアクセス</translation> <translation id="3649256019230929621">ウィンドウを最小化</translation> <translation id="369442766917958684">オフラインです。</translation> <translation id="3695446226812920698">詳細</translation>
diff --git a/remoting/resources/remoting_strings_kn.xtb b/remoting/resources/remoting_strings_kn.xtb index e609c95..4f50782c 100644 --- a/remoting/resources/remoting_strings_kn.xtb +++ b/remoting/resources/remoting_strings_kn.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಗೊಳ್ಳಲಾಗಲಿಲ್ಲ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಾಧನವು ಆನ್ಲೈನ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.</translation> <translation id="3596628256176442606">ಈ ಸೇವೆಯು ಕ್ರೊಮೋಟಿಂಗ್ ಕ್ಲೈಂಟ್ಗಳಿಂದ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.</translation> <translation id="3606997049964069799">ನೀವು Chromium ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿಲ್ಲ. ಸೈನ್ ಇನ್ ಮಾಡಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation> -<translation id="3608841044971751032">ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಪ್ರವೇಶಿಸಿ</translation> <translation id="3649256019230929621">ವಿಂಡೋ ಕಿರಿದಾಗಿಸಿ</translation> <translation id="369442766917958684">ಆಫ್ಲೈನ್.</translation> <translation id="3695446226812920698">ಹೇಗೆ ಎಂಬುದನ್ನು ತಿಳಿದುಕೊಳ್ಳಿ</translation>
diff --git a/remoting/resources/remoting_strings_ko.xtb b/remoting/resources/remoting_strings_ko.xtb index 82ca308..edc5b6ae 100644 --- a/remoting/resources/remoting_strings_ko.xtb +++ b/remoting/resources/remoting_strings_ko.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">네트워크에 연결할 수 없습니다. 기기가 온라인 상태인지 확인하시기 바랍니다.</translation> <translation id="3596628256176442606">이 서비스를 이용하면 Chromoting 클라이언트로부터의 연결을 수신할 수 있습니다.</translation> <translation id="3606997049964069799">Chromium에 로그인하지 않았습니다. 로그인 후 다시 시도하세요.</translation> -<translation id="3608841044971751032">컴퓨터에 안전하게 액세스하기</translation> <translation id="3649256019230929621">창 최소화</translation> <translation id="369442766917958684">오프라인.</translation> <translation id="3695446226812920698">자세히 알아보기</translation>
diff --git a/remoting/resources/remoting_strings_lt.xtb b/remoting/resources/remoting_strings_lt.xtb index 5aa9d50..a9217fd 100644 --- a/remoting/resources/remoting_strings_lt.xtb +++ b/remoting/resources/remoting_strings_lt.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nepavyko prisijungti prie tinklo. Patikrinkite, ar jūsų įrenginys prisijungęs.</translation> <translation id="3596628256176442606">Naudojant šią paslaugą įgalinami „Chrome“ nuotolinio ryšio klientų prisijungimai.</translation> <translation id="3606997049964069799">Nesate prisijungę prie „Chromium“. Prisijunkite ir bandykite dar kartą.</translation> -<translation id="3608841044971751032">Saugiai pasiekite kompiuterį</translation> <translation id="3649256019230929621">Sumažinti langą</translation> <translation id="369442766917958684">Neprisijungus.</translation> <translation id="3695446226812920698">Sužinokite kaip</translation>
diff --git a/remoting/resources/remoting_strings_lv.xtb b/remoting/resources/remoting_strings_lv.xtb index 369521e..a67d951f 100644 --- a/remoting/resources/remoting_strings_lv.xtb +++ b/remoting/resources/remoting_strings_lv.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nevarēja izveidot savienojumu ar tīklu. Lūdzu, pārbaudiet, vai ierīce darbojas tiešsaistes režīmā.</translation> <translation id="3596628256176442606">Izmantojot šo pakalpojumu, tiek iespējoti ienākošie savienojumi no Chrome saites klientiem.</translation> <translation id="3606997049964069799">Jūs neesat pierakstījies pārlūkā Chromium. Lūdzu, pierakstieties un mēģiniet vēlreiz.</translation> -<translation id="3608841044971751032">Droša piekļuve datoram</translation> <translation id="3649256019230929621">Minimizēt logu</translation> <translation id="369442766917958684">Bezsaistē.</translation> <translation id="3695446226812920698">Uzzināt vairāk</translation>
diff --git a/remoting/resources/remoting_strings_ml.xtb b/remoting/resources/remoting_strings_ml.xtb index 2ee10ab..b0899fd 100644 --- a/remoting/resources/remoting_strings_ml.xtb +++ b/remoting/resources/remoting_strings_ml.xtb
@@ -120,7 +120,6 @@ <translation id="3581045510967524389">നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല. നിങ്ങളുടെ ഉപകരണം കണക്റ്റുചെയ്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുക.</translation> <translation id="3596628256176442606">ക്രോമോട്ടിംഗ് ക്ലയന്റുകളിൽ നിന്നുള്ള ഇൻകമിംഗ് കണക്ഷനുകളെ ഈ സേവനം പ്രവർത്തനക്ഷമമാക്കുന്നു.</translation> <translation id="3606997049964069799">നിങ്ങൾ Chromium-ത്തിൽ സൈൻ ഇൻ ചെയ്തിട്ടില്ല. സൈൻ ഇൻ ചെയ്ത് വീണ്ടും ശ്രമിക്കുക.</translation> -<translation id="3608841044971751032">നിങ്ങളുടെ കമ്പ്യൂട്ടർ സുരക്ഷിതമായി ആക്സസ് ചെയ്യൂ</translation> <translation id="3649256019230929621">വിൻഡോ ചെറുതാക്കുക</translation> <translation id="369442766917958684">ഓഫ്ലൈൻ.</translation> <translation id="3695446226812920698">എങ്ങനെയെന്നറിയുക</translation>
diff --git a/remoting/resources/remoting_strings_mr.xtb b/remoting/resources/remoting_strings_mr.xtb index 522ea17..e736683e 100644 --- a/remoting/resources/remoting_strings_mr.xtb +++ b/remoting/resources/remoting_strings_mr.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">नेटवर्कला कनेक्ट करू शकलो नाही. कृपया आपले डिव्हाइस ऑन-लाइन असल्याचे तपासा.</translation> <translation id="3596628256176442606">ही सेवा Chromoting क्लायंटकडील येणारी कनेक्शन सक्षम करते.</translation> <translation id="3606997049964069799">आपण Chromium वर साइन इन केलेले नाही. कृपया साइन इन करा आणि पुन्हा प्रयत्न करा.</translation> -<translation id="3608841044971751032">तुमचा कॉंप्युटर सुरक्षितरीत्या अॅक्सेस करा</translation> <translation id="3649256019230929621">विंडो लहान करा</translation> <translation id="369442766917958684">ऑफलाइन.</translation> <translation id="3695446226812920698">कसे ते जाणून घ्या</translation>
diff --git a/remoting/resources/remoting_strings_ms.xtb b/remoting/resources/remoting_strings_ms.xtb index 3b6d697d..fb10c817 100644 --- a/remoting/resources/remoting_strings_ms.xtb +++ b/remoting/resources/remoting_strings_ms.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Tidak dapat menyambung ke rangkaian. Sila pastikan peranti anda berada dalam talian.</translation> <translation id="3596628256176442606">Perkhidmatan ini membolehkan sambungan masuk daripada klien Chromoting.</translation> <translation id="3606997049964069799">Anda tidak log masuk ke Chromium. Sila log masuk dan cuba lagi.</translation> -<translation id="3608841044971751032">Akses komputer anda dengan selamat</translation> <translation id="3649256019230929621">Minimumkan tetingkap</translation> <translation id="369442766917958684">Luar talian.</translation> <translation id="3695446226812920698">Ketahui caranya</translation>
diff --git a/remoting/resources/remoting_strings_nl.xtb b/remoting/resources/remoting_strings_nl.xtb index e7f885d..6a5dd09 100644 --- a/remoting/resources/remoting_strings_nl.xtb +++ b/remoting/resources/remoting_strings_nl.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Kan geen verbinding maken met het netwerk. Controleer of je apparaat online is.</translation> <translation id="3596628256176442606">Met deze service worden inkomende verbindingen van Chromoting-clients ingeschakeld.</translation> <translation id="3606997049964069799">Je bent niet ingelogd bij Chromium. Log in en probeer het opnieuw.</translation> -<translation id="3608841044971751032">Veilige toegang tot je computer</translation> <translation id="3649256019230929621">Venster minimaliseren</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Meer informatie</translation>
diff --git a/remoting/resources/remoting_strings_no.xtb b/remoting/resources/remoting_strings_no.xtb index 02f1eb07..de64c0a 100644 --- a/remoting/resources/remoting_strings_no.xtb +++ b/remoting/resources/remoting_strings_no.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Kunne ikke koble til nettverket. Ssjekk at enheten har nettilkobling.</translation> <translation id="3596628256176442606">Med denne tjenesten kan du motta innkommende tilkoblinger fra Chromoting-klienter.</translation> <translation id="3606997049964069799">Du er ikke logget på Chromium. Logg på, og prøv på nytt.</translation> -<translation id="3608841044971751032">Bruk datamaskinen din på en sikker måte</translation> <translation id="3649256019230929621">Minimerer vinduet</translation> <translation id="369442766917958684">Utenfor nettet.</translation> <translation id="3695446226812920698">Sånn gjør du det</translation>
diff --git a/remoting/resources/remoting_strings_pl.xtb b/remoting/resources/remoting_strings_pl.xtb index c1c7c3ee..9c7150a 100644 --- a/remoting/resources/remoting_strings_pl.xtb +++ b/remoting/resources/remoting_strings_pl.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nie można połączyć się z siecią. Sprawdź, czy urządzenie jest online.</translation> <translation id="3596628256176442606">Ta usługa umożliwia obsługę połączeń przychodzących z klientów funkcji Chromoting.</translation> <translation id="3606997049964069799">Nie jesteś zalogowany do Chromium. Zaloguj się i spróbuj ponownie.</translation> -<translation id="3608841044971751032">Bezpieczny dostęp do komputera</translation> <translation id="3649256019230929621">Minimalizuj okno</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Instrukcje</translation>
diff --git a/remoting/resources/remoting_strings_pt-BR.xtb b/remoting/resources/remoting_strings_pt-BR.xtb index e9fe38d0..6cac9d16 100644 --- a/remoting/resources/remoting_strings_pt-BR.xtb +++ b/remoting/resources/remoting_strings_pt-BR.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Não foi possível conectar à rede. Verifique se seu dispositivo está on-line.</translation> <translation id="3596628256176442606">Este serviço permite conexões de entrada a partir de clientes do Chromoting.</translation> <translation id="3606997049964069799">Você não está conectado ao Chromium. Faça login e tente novamente.</translation> -<translation id="3608841044971751032">Acessar seu computador com segurança</translation> <translation id="3649256019230929621">Minimizar janela</translation> <translation id="369442766917958684">Off-line.</translation> <translation id="3695446226812920698">Saiba como</translation>
diff --git a/remoting/resources/remoting_strings_pt-PT.xtb b/remoting/resources/remoting_strings_pt-PT.xtb index 364832f..c9591ca 100644 --- a/remoting/resources/remoting_strings_pt-PT.xtb +++ b/remoting/resources/remoting_strings_pt-PT.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Não foi possível estabelecer ligação à rede. Verifique se o dispositivo está online.</translation> <translation id="3596628256176442606">Este serviço permite receber ligações de clientes do Chromoting.</translation> <translation id="3606997049964069799">Não tem sessão iniciada no Chromium. Inicie sessão e tente novamente.</translation> -<translation id="3608841044971751032">Aceda ao seu computador em segurança</translation> <translation id="3649256019230929621">Minimizar janela</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Saiba como</translation>
diff --git a/remoting/resources/remoting_strings_ro.xtb b/remoting/resources/remoting_strings_ro.xtb index f92e46cc7..1f3ef536 100644 --- a/remoting/resources/remoting_strings_ro.xtb +++ b/remoting/resources/remoting_strings_ro.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nu s-a putut efectua conectarea la rețea. Verificați dacă dispozitivul este online.</translation> <translation id="3596628256176442606">Acest serviciu permite conexiuni primite de la clienți Chromoting.</translation> <translation id="3606997049964069799">Nu te-ai conectat la Chromium. Conectează-te și încearcă din nou.</translation> -<translation id="3608841044971751032">Accesează în siguranță computerul</translation> <translation id="3649256019230929621">Minimizați fereastra</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Află cum</translation>
diff --git a/remoting/resources/remoting_strings_ru.xtb b/remoting/resources/remoting_strings_ru.xtb index bd1adb75..1549813 100644 --- a/remoting/resources/remoting_strings_ru.xtb +++ b/remoting/resources/remoting_strings_ru.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Не удалось подключиться к сети. Проверьте наличие подключения на устройстве.</translation> <translation id="3596628256176442606">Данная служба обеспечивает входящие соединения от клиентов Пульта Chrome.</translation> <translation id="3606997049964069799">Ошибка. Войдите в Chromium и повторите попытку.</translation> -<translation id="3608841044971751032">Безопасный доступ к компьютеру</translation> <translation id="3649256019230929621">Свернуть окно</translation> <translation id="369442766917958684">Офлайн.</translation> <translation id="3695446226812920698">Подробнее</translation>
diff --git a/remoting/resources/remoting_strings_sk.xtb b/remoting/resources/remoting_strings_sk.xtb index ada9941..00920bb 100644 --- a/remoting/resources/remoting_strings_sk.xtb +++ b/remoting/resources/remoting_strings_sk.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Nepodarilo sa pripojiť k sieti. Skontrolujte, či je vaše zariadenie online.</translation> <translation id="3596628256176442606">Táto služba povoľuje prichádzajúce pripojenia od klientov funkcie Chromoting.</translation> <translation id="3606997049964069799">Nie ste prihlásený/-á do prehliadača Chromium. Prihláste sa a skúste to znova.</translation> -<translation id="3608841044971751032">Bezpečný prístup k počítaču</translation> <translation id="3649256019230929621">Minimalizovať okno</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Ako na to</translation>
diff --git a/remoting/resources/remoting_strings_sl.xtb b/remoting/resources/remoting_strings_sl.xtb index 402160d..b5b1674b 100644 --- a/remoting/resources/remoting_strings_sl.xtb +++ b/remoting/resources/remoting_strings_sl.xtb
@@ -119,7 +119,6 @@ <translation id="3581045510967524389">Povezana z omrežjem ni uspela. Preverite, ali je naprava povezana v omrežje.</translation> <translation id="3596628256176442606">Ta storitev omogoča dohodne povezave iz odjemalcev za Oddaljeno povezovanje s Chromom.</translation> <translation id="3606997049964069799">Niste prijavljeni v Chromium. Prijavite se in poskusite znova.</translation> -<translation id="3608841044971751032">Varno dostopajte do računalnika</translation> <translation id="3649256019230929621">Pomanjšanje olna</translation> <translation id="369442766917958684">Brez povezave.</translation> <translation id="3695446226812920698">Oglejte si navodila</translation>
diff --git a/remoting/resources/remoting_strings_sr.xtb b/remoting/resources/remoting_strings_sr.xtb index 9b4f4bd..7d93d99 100644 --- a/remoting/resources/remoting_strings_sr.xtb +++ b/remoting/resources/remoting_strings_sr.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Није могуће повезати се са мрежом. Проверите да ли је уређај онлајн.</translation> <translation id="3596628256176442606">Ова услуга омогућава долазне везе клијената Chromoting-а.</translation> <translation id="3606997049964069799">Нисте пријављени у Chromium. Пријавите се и покушајте поново.</translation> -<translation id="3608841044971751032">Безбедно приступајте рачунару</translation> <translation id="3649256019230929621">Смањивање прозора</translation> <translation id="369442766917958684">Офлајн је.</translation> <translation id="3695446226812920698">Сазнајте како</translation>
diff --git a/remoting/resources/remoting_strings_sv.xtb b/remoting/resources/remoting_strings_sv.xtb index d19a4ec..a238ec91 100644 --- a/remoting/resources/remoting_strings_sv.xtb +++ b/remoting/resources/remoting_strings_sv.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Det gick inte att ansluta till nätverket. Kontrollera att enheten är online.</translation> <translation id="3596628256176442606">Med den här tjänsten aktiveras inkommande anslutningar från Chromoting-klienter.</translation> <translation id="3606997049964069799">Du är inte inloggad i Chromium. Logga in och försök igen.</translation> -<translation id="3608841044971751032">Få säker åtkomst till datorn</translation> <translation id="3649256019230929621">Minimera fönstret</translation> <translation id="369442766917958684">Offline.</translation> <translation id="3695446226812920698">Läs mer</translation>
diff --git a/remoting/resources/remoting_strings_sw.xtb b/remoting/resources/remoting_strings_sw.xtb index 1d96444..81ec393 100644 --- a/remoting/resources/remoting_strings_sw.xtb +++ b/remoting/resources/remoting_strings_sw.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Haikuweza kuunganisha kwenye mtandao. Tafadhali angalia kuwa kifaa chako kipo mtandaoni.</translation> <translation id="3596628256176442606">Huduma hii inawasha miunganisho inayoingia kutoka kwenye viteja vya Chromoting.</translation> <translation id="3606997049964069799">Hujaingia kwenye Chromium. Tafadhali ingia na ujaribu tena.</translation> -<translation id="3608841044971751032">Fikia kompyuta yako kwa usalama</translation> <translation id="3649256019230929621">Punguza dirisha</translation> <translation id="369442766917958684">Nje ya mtandao.</translation> <translation id="3695446226812920698">Pata maelezo</translation>
diff --git a/remoting/resources/remoting_strings_ta.xtb b/remoting/resources/remoting_strings_ta.xtb index 7613a678..79c61c1 100644 --- a/remoting/resources/remoting_strings_ta.xtb +++ b/remoting/resources/remoting_strings_ta.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">பிணையத்துடன் இணைக்க முடியவில்லை. உங்கள் சாதனம் ஆன்லைனில் இருப்பதைச் சரிபார்க்கவும்.</translation> <translation id="3596628256176442606">இந்தச் சேவை குரோமோட்டிங் க்ளையன்ட்களிடமிருந்து வரும் இணைப்புகளை இயக்குகிறது.</translation> <translation id="3606997049964069799">Chromium இல் உள்நுழையவில்லை. உள்நுழைந்து, முயற்சிக்கவும்.</translation> -<translation id="3608841044971751032">உங்கள் கணினியைப் பாதுகாப்பாக அணுகுங்கள்</translation> <translation id="3649256019230929621">சாளரத்தை சிறிதாக்கு</translation> <translation id="369442766917958684">ஆஃப்லைன்.</translation> <translation id="3695446226812920698">எப்படி என அறிக</translation>
diff --git a/remoting/resources/remoting_strings_te.xtb b/remoting/resources/remoting_strings_te.xtb index 5044dbc..0a14640 100644 --- a/remoting/resources/remoting_strings_te.xtb +++ b/remoting/resources/remoting_strings_te.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">నెట్వర్క్కు కనెక్ట్ చేయడం సాధ్యపడలేదు. దయచేసి మీ పరికరం ఆన్లైన్లో ఉందని తనిఖీ చేయండి.</translation> <translation id="3596628256176442606">ఈ సేవ Chromoting క్లయింట్ల నుండి ఇన్కమింగ్ కనెక్షన్లను అనుమతిస్తుంది.</translation> <translation id="3606997049964069799">మీరు Chromiumకి సైన్ ఇన్ చేయలేదు. దయచేసి సైన్ ఇన్ చేసి, మళ్లీ ప్రయత్నించండి.</translation> -<translation id="3608841044971751032">మీ కంప్యూటర్ని సురక్షితంగా యాక్సెస్ చేయండి</translation> <translation id="3649256019230929621">విండోను కనిష్టీకరించు</translation> <translation id="369442766917958684">ఆఫ్లైన్లో ఉన్నారు.</translation> <translation id="3695446226812920698">ఎలాగో తెలుసుకోండి</translation>
diff --git a/remoting/resources/remoting_strings_th.xtb b/remoting/resources/remoting_strings_th.xtb index 7e09521..e73a3af 100644 --- a/remoting/resources/remoting_strings_th.xtb +++ b/remoting/resources/remoting_strings_th.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">ไม่สามารถเชื่อมต่อเครือข่าย โปรดตรวจสอบว่าอุปกรณ์ออนไลน์อยู่</translation> <translation id="3596628256176442606">บริการนี้จะช่วยให้สามารถใช้การเชื่อมต่อขาเข้าจากไคลเอ็นต์ Chromoting</translation> <translation id="3606997049964069799">คุณยังไม่ได้ลงชื่อเข้าใช้ Chromium โปรดลงชื่อเข้าใช้และลองอีกครั้ง</translation> -<translation id="3608841044971751032">เข้าถึงคอมพิวเตอร์ของคุณอย่างปลอดภัย</translation> <translation id="3649256019230929621">ย่อหน้าต่าง</translation> <translation id="369442766917958684">ออฟไลน์</translation> <translation id="3695446226812920698">เรียนรู้วิธี</translation>
diff --git a/remoting/resources/remoting_strings_tr.xtb b/remoting/resources/remoting_strings_tr.xtb index 9fced46..ff61763 100644 --- a/remoting/resources/remoting_strings_tr.xtb +++ b/remoting/resources/remoting_strings_tr.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Ağa bağlanılamıyor. Lütfen cihazınızın çevrimiçi olduğunu kontrol edin.</translation> <translation id="3596628256176442606">Bu hizmet Chromoting istemcilerinden gelen bağlantıları etkinleştirir.</translation> <translation id="3606997049964069799">Chromium'da oturum açmadınız. Lütfen oturum açın ve tekrar deneyin.</translation> -<translation id="3608841044971751032">Bilgisayarınıza güvenli bir şekilde erişin</translation> <translation id="3649256019230929621">Pencereyi simge durumuna küçült</translation> <translation id="369442766917958684">Çevrimdışı.</translation> <translation id="3695446226812920698">Nasıl yapacağınızı öğrenin</translation>
diff --git a/remoting/resources/remoting_strings_uk.xtb b/remoting/resources/remoting_strings_uk.xtb index 31acf3340..b719c2b 100644 --- a/remoting/resources/remoting_strings_uk.xtb +++ b/remoting/resources/remoting_strings_uk.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Не вдалось під’єднатися до мережі. Перевірте, чи ваш пристрій у режимі онлайн.</translation> <translation id="3596628256176442606">Ця служба дозволяє встановлювати вхідні з’єднання з клієнтів Віддаленого доступу ОС Chrome.</translation> <translation id="3606997049964069799">Ви не ввійшли в обліковий запис Chromium. Увійдіть і повторіть спробу.</translation> -<translation id="3608841044971751032">Отримуйте безпечний доступ до свого комп’ютера</translation> <translation id="3649256019230929621">Згорнути вікно</translation> <translation id="369442766917958684">Офлайн.</translation> <translation id="3695446226812920698">Докладніше</translation>
diff --git a/remoting/resources/remoting_strings_vi.xtb b/remoting/resources/remoting_strings_vi.xtb index 321ddd5..4082253 100644 --- a/remoting/resources/remoting_strings_vi.xtb +++ b/remoting/resources/remoting_strings_vi.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">Không thể kết nối với mạng. Vui lòng kiểm tra xem thiết bị của bạn đã được kết nối với mạng hay chưa.</translation> <translation id="3596628256176442606">Dịch vụ này kích hoạt các kết nối đến từ ứng dụng khách kết nối từ xa trên Chrome.</translation> <translation id="3606997049964069799">Bạn chưa đăng nhập vào Chromium. Vui lòng đăng nhập và thử lại.</translation> -<translation id="3608841044971751032">Truy cập an toàn vào máy tính của bạn</translation> <translation id="3649256019230929621">Thu nhỏ cửa sổ</translation> <translation id="369442766917958684">Ngoại tuyến.</translation> <translation id="3695446226812920698">Tìm hiểu cách thức</translation>
diff --git a/remoting/resources/remoting_strings_zh-CN.xtb b/remoting/resources/remoting_strings_zh-CN.xtb index 15884446..d58e19ba 100644 --- a/remoting/resources/remoting_strings_zh-CN.xtb +++ b/remoting/resources/remoting_strings_zh-CN.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">无法连接到网络。请检查您的设备是否已连接到网络。</translation> <translation id="3596628256176442606">此服务允许来自 Chrome 远程访问客户端的连接。</translation> <translation id="3606997049964069799">您尚未登录 Chromium。请登录,然后重试。</translation> -<translation id="3608841044971751032">安全地访问您的计算机</translation> <translation id="3649256019230929621">最小化窗口</translation> <translation id="369442766917958684">离线。</translation> <translation id="3695446226812920698">如何解决</translation>
diff --git a/remoting/resources/remoting_strings_zh-TW.xtb b/remoting/resources/remoting_strings_zh-TW.xtb index 1e9aec35..b1766d7e 100644 --- a/remoting/resources/remoting_strings_zh-TW.xtb +++ b/remoting/resources/remoting_strings_zh-TW.xtb
@@ -121,7 +121,6 @@ <translation id="3581045510967524389">無法連上網路,請確認裝置是否處於上線狀態。</translation> <translation id="3596628256176442606">這項服務允許來自 Chromoting 用戶端的連線。</translation> <translation id="3606997049964069799">您尚未登入 Chromium,請登入並再試一次。</translation> -<translation id="3608841044971751032">安全存取你的電腦</translation> <translation id="3649256019230929621">將視窗縮到最小</translation> <translation id="369442766917958684">離線。</translation> <translation id="3695446226812920698">操作說明</translation>
diff --git a/services/BUILD.gn b/services/BUILD.gn index 12306a7..c20af7c3 100644 --- a/services/BUILD.gn +++ b/services/BUILD.gn
@@ -20,6 +20,7 @@ # section below. If you are unsure, contact blundell@chromium.org. deps = [ "//services/identity:tests", + "//services/metrics/public/cpp:tests", "//services/network:tests", "//services/network/public/cpp:tests", ]
diff --git a/services/metrics/public/cpp/BUILD.gn b/services/metrics/public/cpp/BUILD.gn index bf4229f3..bea0d6d 100644 --- a/services/metrics/public/cpp/BUILD.gn +++ b/services/metrics/public/cpp/BUILD.gn
@@ -37,6 +37,20 @@ ] } +source_set("tests") { + testonly = true + + sources = [ + "metrics_utils_unittest.cc", + ] + + deps = [ + ":metrics_cpp", + "//base", + "//testing/gtest", + ] +} + action("gen_ukm_builders") { script = "//tools/metrics/ukm/gen_builders.py"
diff --git a/services/metrics/public/cpp/metrics_utils.cc b/services/metrics/public/cpp/metrics_utils.cc index e08843b..521c265a 100644 --- a/services/metrics/public/cpp/metrics_utils.cc +++ b/services/metrics/public/cpp/metrics_utils.cc
@@ -4,10 +4,11 @@ #include "services/metrics/public/cpp/metrics_utils.h" -#include <math.h> - #include <cmath> +#include "base/logging.h" +#include "base/numerics/safe_conversions.h" + namespace ukm { int64_t GetExponentialBucketMin(int64_t sample, double bucket_spacing) { @@ -21,4 +22,22 @@ bucket_spacing, std::floor(std::log(sample) / std::log(bucket_spacing)))); } +int64_t GetLinearBucketMin(int64_t sample, int32_t bucket_size) { + DCHECK(bucket_size > 0); + // Round down to the nearest multiple of |bucket_size| (for negative samples, + // this rounds away from zero). + int64_t remainder = sample % bucket_size; + if (remainder < 0) + return sample - (remainder + bucket_size); + return sample - remainder; +} + +int64_t GetLinearBucketMin(double sample, int32_t bucket_size) { + int64_t val = GetLinearBucketMin( + base::saturated_cast<int64_t>(std::floor(sample)), bucket_size); + // Ensure that |sample| can't get put into a bucket higher than itself. + DCHECK(val <= sample); + return val; +} + } // namespace ukm
diff --git a/services/metrics/public/cpp/metrics_utils.h b/services/metrics/public/cpp/metrics_utils.h index 1bffe01..f10cdde 100644 --- a/services/metrics/public/cpp/metrics_utils.h +++ b/services/metrics/public/cpp/metrics_utils.h
@@ -17,6 +17,14 @@ int64_t METRICS_EXPORT GetExponentialBucketMin(int64_t sample, double bucket_spacing); +// Calculates the linear bucket |sample| falls in and returns the lower +// threshold of that bucket (i.e., rounding down to the nearest multiple of +// |bucket_size|). Negative sample values will be rounded down as well (away +// from zero). |bucket_size| is the size of each bucket, and must be a non-zero +// positive integer. +int64_t METRICS_EXPORT GetLinearBucketMin(int64_t sample, int32_t bucket_size); +int64_t METRICS_EXPORT GetLinearBucketMin(double sample, int32_t bucket_size); + } // namespace ukm #endif // SERVICES_METRICS_PUBLIC_CPP_METRICS_UTILS_H_
diff --git a/services/metrics/public/cpp/metrics_utils_unittest.cc b/services/metrics/public/cpp/metrics_utils_unittest.cc new file mode 100644 index 0000000..27cdca32 --- /dev/null +++ b/services/metrics/public/cpp/metrics_utils_unittest.cc
@@ -0,0 +1,63 @@ +// Copyright 2018 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 "services/metrics/public/cpp/metrics_utils.h" + +#include "testing/gtest/include/gtest/gtest.h" + +TEST(MetricsUtilsTest, GetLinearBucketMin) { + struct { + int64_t expected_result; + int64_t sample; + int32_t bucket_size; + } int_test_cases[] = { + // Typical positive cases. + {35, 38, 5}, + {50, 51, 50}, + {50, 99, 50}, + {20, 25, 10}, + // Negative samples. + {-50, -45, 10}, + {-50, -48, 10}, + {-50, -41, 10}, + {-42, -41, 2}, + // Zero samples. + {0, 0, 1}, + {0, 0, 10}, + }; + + struct { + int64_t expected_result; + double sample; + int32_t bucket_size; + } double_test_cases[] = { + // Typical positive cases. + {35, 38.0, 5}, + {50, 50.5, 50}, + {50, 99.5, 50}, + {20, 25.0, 10}, + // Negative samples. + {-50, -45.0, 10}, + {-42, -41.2, 2}, + {-42, -40.8, 2}, + // Test that a double close to the next bucker never rounds up. + {5, 9.95, 5}, + }; + + // Test int64_t sample cases. + for (const auto& test : int_test_cases) { + EXPECT_EQ(test.expected_result, + ukm::GetLinearBucketMin(test.sample, test.bucket_size)) + << "For sample: " << test.sample + << " with bucket_size: " << test.bucket_size; + } + + // Test double sample cases. + for (const auto& test : double_test_cases) { + EXPECT_EQ(test.expected_result, + ukm::GetLinearBucketMin(test.sample, test.bucket_size)) + << "For sample: " << test.sample + << " with bucket_size: " << test.bucket_size; + } +}
diff --git a/services/preferences/tracked/pref_hash_filter.cc b/services/preferences/tracked/pref_hash_filter.cc index 0bdd4b6..0126649 100644 --- a/services/preferences/tracked/pref_hash_filter.cc +++ b/services/preferences/tracked/pref_hash_filter.cc
@@ -21,7 +21,6 @@ #include "components/prefs/pref_store.h" #include "services/preferences/public/cpp/tracked/pref_names.h" #include "services/preferences/tracked/dictionary_hash_store_contents.h" -#include "services/preferences/tracked/pref_hash_store.h" #include "services/preferences/tracked/pref_hash_store_transaction.h" #include "services/preferences/tracked/tracked_atomic_preference.h" #include "services/preferences/tracked/tracked_split_preference.h"
diff --git a/services/ui/public/interfaces/remote_event_dispatcher.mojom b/services/ui/public/interfaces/remote_event_dispatcher.mojom index db07ffa..345aa88 100644 --- a/services/ui/public/interfaces/remote_event_dispatcher.mojom +++ b/services/ui/public/interfaces/remote_event_dispatcher.mojom
@@ -12,8 +12,8 @@ // process, along with testing. interface RemoteEventDispatcher { // Takes an event and dispatches it as if it came from the native platform. - // Returns false on bad |display_id| or |event|; returns true if it reaches - // the event dispatch phase. + // Returns false on bad |display_id| or bad |event|; returns true once the + // target client has completed processing the event. DispatchEvent(int64 display_id, ui.mojom.Event event) => (bool result); };
diff --git a/services/ui/public/interfaces/window_tree.mojom b/services/ui/public/interfaces/window_tree.mojom index 69e161f..571e4bd 100644 --- a/services/ui/public/interfaces/window_tree.mojom +++ b/services/ui/public/interfaces/window_tree.mojom
@@ -387,9 +387,8 @@ // change. OnCaptureChanged(uint64 new_capture, uint64 old_capture); - // This is called on the owner of a window when it embeds a client in it, - // which includes the window manager creating a new window at the request of - // another client. + // This is called after the client calls Embed() with |window|. + // |frame_sink_id| gives the new FrameSinkId of |window|. OnFrameSinkIdAllocated(uint64 window, viz.mojom.FrameSinkId frame_sink_id); // Called in response to NewTopLevelWindow() successfully completing.
diff --git a/services/ui/ws/README.md b/services/ui/ws/README.md new file mode 100644 index 0000000..3f89b32 --- /dev/null +++ b/services/ui/ws/README.md
@@ -0,0 +1,78 @@ +This directory contains the Window Service implementation. + +## Ids + +Each client connected to the Window Service is assigned a unique id inside the +Window Service. This id is a monotonically increasing uint32_t. This is often +referred to as the client_id. + +The Window Service uses a client_id of 1 for itself; 0 is not a valid client_id +in the Window Service. + +As clients do not know their id, they always supply 0 as the client id in the +mojom related functions. Internally the Window Service maps 0 to the real client +id. + +Windows have a couple of different (related) ids. + +### ClientWindowId + +ClientWindowId is a uint64_t pairing of a client_id and a window_id. The +window_id is a uint32_t assigned by the client, and should be unique within that +client's scope. When communicating with the Window Service, clients may use 0 as +the client_id to refer to their own windows. The Window Service maps 0 to the +real client_id. In Window Service code the id from the client is typically +referred to as the transport_window_id. Mojom functions that receive the +transport_window_id map it to a ClientWindowId. ClientWindowId is a real class +that provides type safety. + +When a client is embedded in an existing window, the embedded client is given +visibility to a Window created by the embedder. In this case the Window Service +supplies the ClientWindowId to the embedded client and uses the ClientWindowId +at the time the Window was created (the ClientWindowId actually comes from the +FrameSinkId, see below for details on FrameSinkId). In other words, both the +embedder and embedded client use the same ClientWindowId for the Window. See +discussion on FrameSinkId for more details. + +ClientWindowId is globally unique, but a Window may have multiple +ClientWindowIds associated with it. + +TODO(sky): See http://crbug.com/817850 for making it so there is only one +ClientWindowId per Window. + +### FrameSinkId + +Each Window has a FrameSinkId that is needed for both hit-testing and +embedding. The FrameSinkId is initialized to the ClientWindowId of the client +creating the Window, but it changes during an embedding. In particular, when a +client calls Embed() the FrameSinkId of the Window changes such that the +client_id of the FrameSinkId matches the client_id of the client being +embedded and the sink_id is set to 0. The embedder is informed of this by way of +OnFrameSinkIdAllocated(). The embedded client is informed of the original +FrameSinkId (the client_id of the FrameSinkId matches the embedder's client_id). +In client code the embedded client ends up *always* using a client_id of 0 for +the FrameSinkId. This works because Viz knows the real client_id and handles +mapping 0 to the real client_id. + +The FrameSinkId of top-level windows is set to the ClientWindowId from the +client requesting the top-level (top-levels are created and owned by the Window +Manager). The Window Manager is told the updated FrameSinkId when it is asked +to create the top-level (WmCreateTopLevelWindow()). + +### LocalSurfaceId + +The LocalSurfaceId (which contains unguessable) is necessary if the client wants +to submit a compositor-frame for the Window (it wants to show something on +screen), and not needed if the client only wants to submit a hit-test region. +The LocalSurfaceId may be assigned when the bounds and/or device-scale-factor +changes. The LocalSurfaceId can change at other times as well (perhaps to +synchronize an effect with the embedded client). The LocalSurfaceId is intended +to allow for smooth resizes and ensures at embed points the CompositorFrame from +both clients match. Client code supplies a LocalSurfaceId for windows that have +another client embedded in them as well as windows with a LayerTreeFrameSink. +The LocalSurfaceId comes from the owner of the window. The embedded client is +told of changes to the LocalSurfaceId by way of OnWindowBoundsChanged(). This is +still very much a work in progress. + +FrameSinkId is derived from the embedded client, where as LocalSurfaceId +comes from the embedder.
diff --git a/services/ui/ws/display.cc b/services/ui/ws/display.cc index 8e6cecd..4294814 100644 --- a/services/ui/ws/display.cc +++ b/services/ui/ws/display.cc
@@ -292,6 +292,23 @@ return nullptr; } +void Display::ProcessEvent(ui::Event* event, + base::OnceClosure event_processed_callback) { + if (window_manager_display_root_) { + WindowManagerState* wm_state = + window_manager_display_root_->window_manager_state(); + wm_state->ProcessEvent(event, GetId()); + if (event_processed_callback) { + wm_state->ScheduleCallbackWhenDoneProcessingEvents( + std::move(event_processed_callback)); + } + } else if (event_processed_callback) { + std::move(event_processed_callback).Run(); + } + + window_server_->user_activity_monitor()->OnUserActivity(); +} + void Display::OnActivationChanged(ServerWindow* old_active_window, ServerWindow* new_active_window) { // Don't do anything here. We assume the window manager handles restacking. If @@ -371,13 +388,7 @@ } EventDispatchDetails Display::OnEventFromSource(Event* event) { - if (window_manager_display_root_) { - WindowManagerState* wm_state = - window_manager_display_root_->window_manager_state(); - wm_state->ProcessEvent(event, GetId()); - } - - window_server_->user_activity_monitor()->OnUserActivity(); + ProcessEvent(event); return EventDispatchDetails(); }
diff --git a/services/ui/ws/display.h b/services/ui/ws/display.h index 89145ff..228537ac 100644 --- a/services/ui/ws/display.h +++ b/services/ui/ws/display.h
@@ -11,6 +11,7 @@ #include <queue> #include <set> +#include "base/callback_forward.h" #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "components/viz/common/surfaces/parent_local_surface_id_allocator.h" @@ -144,6 +145,14 @@ // Returns the root window of the active user. ServerWindow* GetActiveRootWindow(); + // Processes an event. |event_processed_callback| is run once the appropriate + // client processes the event. + // TODO(sky): move event processing code into standalone classes. Display + // shouldn't have logic like this. + void ProcessEvent( + ui::Event* event, + base::OnceClosure event_processed_callback = base::OnceClosure()); + private: friend class test::DisplayTestApi;
diff --git a/services/ui/ws/event_dispatcher.cc b/services/ui/ws/event_dispatcher.cc index 6964110..9b51734b 100644 --- a/services/ui/ws/event_dispatcher.cc +++ b/services/ui/ws/event_dispatcher.cc
@@ -341,10 +341,6 @@ return delegate_->GetRootWindowForDisplay(display_id); } -void EventDispatcher::ProcessNextAvailableEvent() { - delegate_->ProcessNextAvailableEvent(); -} - viz::HitTestQuery* EventDispatcher::GetHitTestQueryForDisplay( int64_t display_id) { return delegate_->GetHitTestQueryForDisplay(display_id);
diff --git a/services/ui/ws/event_dispatcher.h b/services/ui/ws/event_dispatcher.h index 34e787c7..866a1c5 100644 --- a/services/ui/ws/event_dispatcher.h +++ b/services/ui/ws/event_dispatcher.h
@@ -170,7 +170,6 @@ // EventTargeterDelegate: ServerWindow* GetRootWindowForDisplay(int64_t display_id) override; - void ProcessNextAvailableEvent() override; viz::HitTestQuery* GetHitTestQueryForDisplay(int64_t display_id) override; ServerWindow* GetWindowFromFrameSinkId( const viz::FrameSinkId& frame_sink_id) override;
diff --git a/services/ui/ws/event_dispatcher_delegate.h b/services/ui/ws/event_dispatcher_delegate.h index c2657ff..2084a7e 100644 --- a/services/ui/ws/event_dispatcher_delegate.h +++ b/services/ui/ws/event_dispatcher_delegate.h
@@ -77,9 +77,6 @@ const ui::Event& event, Accelerator* accelerator) = 0; - // Starts processing the next event in the event queue. - virtual void ProcessNextAvailableEvent() = 0; - // Returns the id of the client to send events to. |in_nonclient_area| is // true if the event occurred in the non-client area of the window. virtual ClientSpecificId GetEventTargetClientId(const ServerWindow* window,
diff --git a/services/ui/ws/event_dispatcher_unittest.cc b/services/ui/ws/event_dispatcher_unittest.cc index e68eb6c4..784f83e 100644 --- a/services/ui/ws/event_dispatcher_unittest.cc +++ b/services/ui/ws/event_dispatcher_unittest.cc
@@ -174,7 +174,6 @@ details->accelerator = accelerator; dispatched_event_queue_.push(std::move(details)); } - void ProcessNextAvailableEvent() override {} ClientSpecificId GetEventTargetClientId(const ServerWindow* window, bool in_nonclient_area) override { return in_nonclient_area ? kNonclientAreaId : kClientAreaId;
diff --git a/services/ui/ws/event_targeter_delegate.h b/services/ui/ws/event_targeter_delegate.h index 6705f00..f37627f 100644 --- a/services/ui/ws/event_targeter_delegate.h +++ b/services/ui/ws/event_targeter_delegate.h
@@ -22,10 +22,6 @@ // event_dispatcher_delegate.h for details. virtual ServerWindow* GetRootWindowForDisplay(int64_t display_id) = 0; - // Calls EventDispatcherDelegate::ProcessNextAvailableEvent, see - // event_dispatcher_delegate.h for details. - virtual void ProcessNextAvailableEvent() = 0; - // Returns null if there's no display with |display_id|. virtual viz::HitTestQuery* GetHitTestQueryForDisplay(int64_t display_id) = 0;
diff --git a/services/ui/ws/ids.h b/services/ui/ws/ids.h index 7713711..87a0b10 100644 --- a/services/ui/ws/ids.h +++ b/services/ui/ws/ids.h
@@ -13,6 +13,8 @@ namespace ui { namespace ws { +// See comments in README.md (services/ui/ws/README.md) for details on ids. + // A client id used to indicate no client. That is, no WindowTree ever gets this // id. const ClientSpecificId kInvalidClientId = 0;
diff --git a/services/ui/ws/remote_event_dispatcher.cc b/services/ui/ws/remote_event_dispatcher.cc index 5e25b141..c3f8641 100644 --- a/services/ui/ws/remote_event_dispatcher.cc +++ b/services/ui/ws/remote_event_dispatcher.cc
@@ -46,10 +46,7 @@ if (event->IsMousePointerEvent()) display->platform_display()->MoveCursorTo(located_event->location()); } - ignore_result(static_cast<PlatformDisplayDelegate*>(display) - ->GetEventSink() - ->OnEventFromSource(event.get())); - cb.Run(true); + display->ProcessEvent(event.get(), base::BindRepeating(cb, true)); } } // namespace ws
diff --git a/services/ui/ws/test_change_tracker.h b/services/ui/ws/test_change_tracker.h index c1b8f34..479d5cac 100644 --- a/services/ui/ws/test_change_tracker.h +++ b/services/ui/ws/test_change_tracker.h
@@ -83,6 +83,7 @@ gfx::Rect bounds2; viz::FrameSinkId frame_sink_id; base::Optional<viz::LocalSurfaceId> local_surface_id; + // TODO(sky): rename, this is Event::event_type. int32_t event_action; bool matches_pointer_watcher; std::string embed_url;
diff --git a/services/ui/ws/test_utils.cc b/services/ui/ws/test_utils.cc index 9a3ee0e..0302189 100644 --- a/services/ui/ws/test_utils.cc +++ b/services/ui/ws/test_utils.cc
@@ -170,11 +170,6 @@ tree_->StopPointerWatcher(); } -// DisplayTestApi ------------------------------------------------------------ - -DisplayTestApi::DisplayTestApi(Display* display) : display_(display) {} -DisplayTestApi::~DisplayTestApi() {} - // EventDispatcherTestApi ---------------------------------------------------- bool EventDispatcherTestApi::IsWindowPointerTarget(
diff --git a/services/ui/ws/test_utils.h b/services/ui/ws/test_utils.h index 060bd61..3eadd639 100644 --- a/services/ui/ws/test_utils.h +++ b/services/ui/ws/test_utils.h
@@ -167,21 +167,6 @@ // ----------------------------------------------------------------------------- -class DisplayTestApi { - public: - explicit DisplayTestApi(Display* display); - ~DisplayTestApi(); - - void OnEvent(ui::Event* event) { display_->OnEventFromSource(event); } - - private: - Display* display_; - - DISALLOW_COPY_AND_ASSIGN(DisplayTestApi); -}; - -// ----------------------------------------------------------------------------- - class EventDispatcherTestApi { public: explicit EventDispatcherTestApi(EventDispatcher* ed) : ed_(ed) {} @@ -280,7 +265,7 @@ : nullptr; } - bool is_event_queue_empty() const { return wms_->event_queue_.empty(); } + bool is_event_tasks_empty() const { return wms_->event_tasks_.empty(); } const std::vector<std::unique_ptr<WindowManagerDisplayRoot>>& window_manager_display_roots() const {
diff --git a/services/ui/ws/window_manager_state.cc b/services/ui/ws/window_manager_state.cc index e0e5b0a..b550a14c 100644 --- a/services/ui/ws/window_manager_state.cc +++ b/services/ui/ws/window_manager_state.cc
@@ -117,10 +117,12 @@ class WindowManagerState::ProcessedEventTarget { public: - ProcessedEventTarget(ServerWindow* window, + ProcessedEventTarget(WindowServer* window_server, + ServerWindow* window, ClientSpecificId client_id, Accelerator* accelerator) - : client_id_(client_id) { + : window_server_(window_server), client_id_(client_id) { + DCHECK(window_server_); tracker_.Add(window); if (accelerator) accelerator_ = accelerator->GetWeakPtr(); @@ -130,11 +132,12 @@ // Return true if the event is still valid. The event becomes invalid if // the window is destroyed while waiting to dispatch. - bool IsValid() const { return !tracker_.windows().empty(); } + bool IsValid() { + return window() && window_server_->GetTreeWithId(client_id_); + } ServerWindow* window() { - DCHECK(IsValid()); - return tracker_.windows().front(); + return tracker_.windows().empty() ? nullptr : tracker_.windows().front(); } ClientSpecificId client_id() const { return client_id_; } @@ -142,6 +145,7 @@ base::WeakPtr<Accelerator> accelerator() { return accelerator_; } private: + WindowServer* window_server_; ServerWindowTracker tracker_; const ClientSpecificId client_id_; base::WeakPtr<Accelerator> accelerator_; @@ -156,13 +160,46 @@ !event.is_char(); } -struct WindowManagerState::QueuedEvent { - QueuedEvent() = default; - ~QueuedEvent() = default; +// Contains data used for event processing that needs to happen. See enum for +// details. +struct WindowManagerState::EventTask { + enum class Type { + // ProcessEvent() was called while waiting on a client or EventDispatcher + // to complete processing. |event| is non-null and |processed_target| is + // null. + kEvent, + + // In certain situations EventDispatcher::ProcessEvent() generates more than + // one event. When that happens, |kProcessedEvent| is used for all events + // after the first. For example, a move may result in an exit for one + // Window and and an enter for another Window. The event generated for the + // enter results in an EventTask of type |kProcessedEvent|. In this case + // both |event| and |processed_target| are valid. + kProcessedEvent, + + // ScheduleCallbackWhenDoneProcessingEvents() is called while waiting on + // a client or EventDispatcher. |event| and |processed_target| are null. + kClosure + }; + + EventTask() = default; + ~EventTask() = default; + + Type type() const { + if (done_closure) + return Type::kClosure; + if (processed_target) { + DCHECK(event); + return Type::kProcessedEvent; + } + DCHECK(event); + return Type::kEvent; + } std::unique_ptr<Event> event; std::unique_ptr<ProcessedEventTarget> processed_target; EventLocation event_location; + base::OnceClosure done_closure; }; WindowManagerState::WindowManagerState(WindowTree* window_tree) @@ -322,21 +359,41 @@ } // If this is still waiting for an ack from a previously sent event, then - // queue up the event to be dispatched once the ack is received. - if (event_dispatcher_.IsProcessingEvent() || - in_flight_event_dispatch_details_) { - if (!event_queue_.empty() && !event_queue_.back()->processed_target && - CanEventsBeCoalesced(*event_queue_.back()->event, *event)) { - event_queue_.back()->event = CoalesceEvents( - std::move(event_queue_.back()->event), ui::Event::Clone(*event)); - event_queue_.back()->event_location = event_location; + // queue the event so it's dispatched once the ack is received. + if (IsProcessingEvent()) { + if (!event_tasks_.empty() && + event_tasks_.back()->type() == EventTask::Type::kEvent && + CanEventsBeCoalesced(*event_tasks_.back()->event, *event)) { + event_tasks_.back()->event = CoalesceEvents( + std::move(event_tasks_.back()->event), ui::Event::Clone(*event)); + event_tasks_.back()->event_location = event_location; return; } QueueEvent(*event, nullptr, event_location); return; } - ProcessEventImpl(*event, event_location); + QueueEvent(*event, nullptr, event_location); + ProcessEventTasks(); +} + +bool WindowManagerState::IsProcessingEvent() const { + return in_flight_event_dispatch_details_ || + event_dispatcher_.IsProcessingEvent(); +} + +void WindowManagerState::ScheduleCallbackWhenDoneProcessingEvents( + base::OnceClosure closure) { + DCHECK(closure); + if (!IsProcessingEvent()) { + std::move(closure).Run(); + return; + } + + // TODO(sky): use make_unique (presubmit check fails on make_unique). + std::unique_ptr<EventTask> event_task(new EventTask()); + event_task->done_closure = std::move(closure); + event_tasks_.push(std::move(event_task)); } void WindowManagerState::OnAcceleratorAck( @@ -361,7 +418,7 @@ // We don't do this first to ensure we don't send an event twice to clients. window_server()->SendToPointerWatchers(*details->event, nullptr, nullptr, details->display_id); - ProcessNextAvailableEvent(); + ProcessEventTasks(); } } @@ -426,7 +483,7 @@ *details->event, AcceleratorPhase::POST); } - ProcessNextAvailableEvent(); + ProcessEventTasks(); } void WindowManagerState::OnEventAckTimeout(ClientSpecificId client_id) { @@ -456,11 +513,11 @@ const ui::Event& event, std::unique_ptr<ProcessedEventTarget> processed_event_target, const EventLocation& event_location) { - std::unique_ptr<QueuedEvent> queued_event(new QueuedEvent); + std::unique_ptr<EventTask> queued_event(new EventTask); queued_event->event = ui::Event::Clone(event); queued_event->processed_target = std::move(processed_event_target); queued_event->event_location = event_location; - event_queue_.push(std::move(queued_event)); + event_tasks_.push(std::move(queued_event)); } // TODO(riajiang): We might want to do event targeting for the next event while @@ -758,11 +815,10 @@ const EventLocation& event_location, const ui::Event& event, Accelerator* accelerator) { - // TODO(sky): this needs to see if another wms has capture and if so forward - // to it. if (in_flight_event_dispatch_details_) { - std::unique_ptr<ProcessedEventTarget> processed_event_target( - new ProcessedEventTarget(target, client_id, accelerator)); + std::unique_ptr<ProcessedEventTarget> processed_event_target = + std::make_unique<ProcessedEventTarget>(window_server(), target, + client_id, accelerator); QueueEvent(event, std::move(processed_event_target), event_location); return; } @@ -774,30 +830,28 @@ weak_accelerator); } -void WindowManagerState::ProcessNextAvailableEvent() { - // Loop through |event_queue_| stopping after dispatching the first valid +void WindowManagerState::ProcessEventTasks() { + // Loop through |event_tasks_| stopping after dispatching the first valid // event. - while (!event_queue_.empty()) { - if (in_flight_event_dispatch_details_) - return; + while (!event_tasks_.empty() && !IsProcessingEvent()) { + std::unique_ptr<EventTask> task = std::move(event_tasks_.front()); + event_tasks_.pop(); - if (!event_queue_.front()->processed_target && - event_dispatcher_.IsProcessingEvent()) - return; - - std::unique_ptr<QueuedEvent> queued_event = std::move(event_queue_.front()); - event_queue_.pop(); - if (!queued_event->processed_target) { - ProcessEventImpl(*queued_event->event, queued_event->event_location); - return; - } - if (queued_event->processed_target->IsValid()) { - DispatchInputEventToWindowImpl( - queued_event->processed_target->window(), - queued_event->processed_target->client_id(), - queued_event->event_location, *queued_event->event, - queued_event->processed_target->accelerator()); - return; + switch (task->type()) { + case EventTask::Type::kClosure: + std::move(task->done_closure).Run(); + break; + case EventTask::Type::kEvent: + ProcessEventImpl(*task->event, task->event_location); + break; + case EventTask::Type::kProcessedEvent: + if (task->processed_target->IsValid()) { + DispatchInputEventToWindowImpl(task->processed_target->window(), + task->processed_target->client_id(), + task->event_location, *task->event, + task->processed_target->accelerator()); + } + break; } } }
diff --git a/services/ui/ws/window_manager_state.h b/services/ui/ws/window_manager_state.h index fb01e1a..75ca802 100644 --- a/services/ui/ws/window_manager_state.h +++ b/services/ui/ws/window_manager_state.h
@@ -102,6 +102,14 @@ // |event|, but it may modify it. void ProcessEvent(ui::Event* event, int64_t display_id); + // Returns true if actively processing an event. This includes waiting for a + // client to ack an event. + bool IsProcessingEvent() const; + + // Notifies |closure| once done processing currently queued events. This + // notifies |closure| immediately if IsProcessingEvent() returns false. + void ScheduleCallbackWhenDoneProcessingEvents(base::OnceClosure closure); + private: class ProcessedEventTarget; friend class Display; @@ -135,15 +143,7 @@ TARGET, }; - // There are two types of events that may be queued, both occur only when - // waiting for an ack from a client. - // . We get an event from the PlatformDisplay. This results in |event| being - // set, but |processed_target| is null. - // . We get an event from the EventDispatcher. In this case both |event| and - // |processed_target| are valid. - // The second case happens if EventDispatcher generates more than one event - // at a time. - struct QueuedEvent; + struct EventTask; // Tracks state associated with an event being dispatched to a client. struct InFlightEventDispatchDetails { @@ -228,6 +228,10 @@ const Event& event, EventDispatchPhase phase); + // Processes queued event tasks until there are no more, or we're waiting on + // a client or the EventDisptacher to complete processing. + void ProcessEventTasks(); + // Helper function to convert |point| to be in screen coordinates. |point| as // the input should be in display-physical-pixel space, and the output is in // screen-dip space. Returns true if the |point| is successfully converted, @@ -261,10 +265,6 @@ const EventLocation& event_location, const Event& event, Accelerator* accelerator) override; - // Processes the next valid event in |event_queue_|. If the event has already - // been processed it is dispatched, otherwise the event is passed to the - // EventDispatcher for processing. - void ProcessNextAvailableEvent() override; ClientSpecificId GetEventTargetClientId(const ServerWindow* window, bool in_nonclient_area) override; ServerWindow* GetRootWindowForDisplay(int64_t display_id) override; @@ -292,9 +292,10 @@ bool got_frame_decoration_values_ = false; mojom::FrameDecorationValuesPtr frame_decoration_values_; - // Events can go into this queue if there's a hit-test in flight in - // EventDispatcher or if we are actively dispatching an event. - base::queue<std::unique_ptr<QueuedEvent>> event_queue_; + // Used for any event related tasks that need to be processed. Tasks are added + // to the queue anytime work comes in while waiting for a client to respond, + // or waiting for async hit-testing processing to complete. + base::queue<std::unique_ptr<EventTask>> event_tasks_; std::vector<DebugAccelerator> debug_accelerators_;
diff --git a/services/ui/ws/window_manager_state_unittest.cc b/services/ui/ws/window_manager_state_unittest.cc index 5f3def7..2bc7753f 100644 --- a/services/ui/ws/window_manager_state_unittest.cc +++ b/services/ui/ws/window_manager_state_unittest.cc
@@ -37,6 +37,11 @@ namespace ws { namespace test { +// Used in checking if an event was processed. See usage for examples. +void SetBoolToTrue(bool* value) { + *value = true; +} + class WindowManagerStateTest : public testing::Test { public: WindowManagerStateTest(); @@ -286,32 +291,46 @@ // Send and ensure only the pre accelerator is called. ui::KeyEvent key(ui::ET_KEY_PRESSED, ui::VKEY_W, ui::EF_CONTROL_DOWN); + bool was_event_processed = false; window_manager_state()->ProcessEvent(&key, 0); + window_manager_state()->ScheduleCallbackWhenDoneProcessingEvents( + base::BindOnce(&SetBoolToTrue, &was_event_processed)); EXPECT_TRUE(window_manager()->on_accelerator_called()); EXPECT_EQ(accelerator_id, window_manager()->on_accelerator_id()); EXPECT_TRUE(tracker->changes()->empty()); EXPECT_TRUE(tracker2->changes()->empty()); + EXPECT_FALSE(was_event_processed); // Ack the accelerator, saying we consumed it. WindowTreeTestApi(tree()).AckLastAccelerator(mojom::EventResult::HANDLED); + EXPECT_TRUE(was_event_processed); // Nothing should change. EXPECT_TRUE(tracker->changes()->empty()); EXPECT_TRUE(tracker2->changes()->empty()); + was_event_processed = false; window_manager()->ClearAcceleratorCalled(); // Repeat, but respond with UNHANDLED. window_manager_state()->ProcessEvent(&key, 0); + window_manager_state()->ScheduleCallbackWhenDoneProcessingEvents( + base::BindOnce(&SetBoolToTrue, &was_event_processed)); + EXPECT_FALSE(was_event_processed); EXPECT_TRUE(window_manager()->on_accelerator_called()); EXPECT_EQ(accelerator_id, window_manager()->on_accelerator_id()); EXPECT_TRUE(tracker->changes()->empty()); EXPECT_TRUE(tracker2->changes()->empty()); WindowTreeTestApi(tree()).AckLastAccelerator(mojom::EventResult::UNHANDLED); + // |was_event_processed| is false because the accelerator wasn't completely + // handled yet. + EXPECT_FALSE(was_event_processed); EXPECT_TRUE(tracker->changes()->empty()); // The focused window should get the event. EXPECT_EQ("InputEvent window=0,11 event_action=7", SingleChangeToDescription(*tracker2->changes())); + WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::HANDLED); + EXPECT_TRUE(was_event_processed); } TEST_F(WindowManagerStateTest, AckWithProperties) { @@ -877,18 +896,109 @@ ui::PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, 0), base::TimeTicks()); WindowManagerStateTestApi test_api(window_manager_state()); - EXPECT_TRUE(test_api.is_event_queue_empty()); + EXPECT_TRUE(test_api.is_event_tasks_empty()); window_manager_state()->ProcessEvent(&move, 0); EXPECT_FALSE(test_api.tree_awaiting_input_ack()); EXPECT_TRUE(window_manager_state()->event_dispatcher()->IsProcessingEvent()); - EXPECT_TRUE(test_api.is_event_queue_empty()); + EXPECT_TRUE(test_api.is_event_tasks_empty()); task_runner_->RunUntilIdle(); - EXPECT_TRUE(test_api.is_event_queue_empty()); + EXPECT_TRUE(test_api.is_event_tasks_empty()); // The event isn't over a valid target, which should trigger resetting the // cursor to POINTER. EXPECT_EQ(ui::CursorType::kPointer, cursor_type()); } +TEST_F(WindowManagerStateTest, DeleteTreeWithPendingEventAck) { + ASSERT_EQ(1u, window_server()->display_manager()->displays().size()); + Display* display = *(window_server()->display_manager()->displays().begin()); + + TestWindowTreeClient* embed_connection = nullptr; + WindowTree* target_tree = nullptr; + ServerWindow* target = nullptr; + CreateSecondaryTree(&embed_connection, &target_tree, &target); + target->set_event_targeting_policy( + mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); + + bool was_event_processed = false; + ui::PointerEvent move( + ui::ET_POINTER_MOVED, gfx::Point(25, 25), gfx::Point(25, 25), 0, 0, + ui::PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, 0), + base::TimeTicks()); + window_manager_state()->ProcessEvent(&move, display->GetId()); + window_manager_state()->ScheduleCallbackWhenDoneProcessingEvents( + base::BindOnce(&SetBoolToTrue, &was_event_processed)); + EXPECT_FALSE(was_event_processed); + EXPECT_TRUE(WindowTreeTestApi(target_tree).HasEventInFlight()); + window_server()->DestroyTree(target_tree); + // Destroying the tree triggers the event to be considered processed. + EXPECT_TRUE(was_event_processed); +} + +TEST_F(WindowManagerStateTest, EventProcessedCallbackNotRunForGeneratedEvents) { + ASSERT_EQ(1u, window_server()->display_manager()->displays().size()); + Display* display = *(window_server()->display_manager()->displays().begin()); + + // Create two children of the root. + ServerWindow* wm_root = FirstRoot(window_tree()); + wm_root->SetBounds(gfx::Rect(0, 0, 100, 100)); + wm_root->set_event_targeting_policy( + mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); + ServerWindow* child_window1 = NewWindowInTreeWithParent( + window_tree(), wm_root, nullptr, gfx::Rect(0, 0, 20, 20)); + child_window1->set_event_targeting_policy( + mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); + ServerWindow* child_window2 = NewWindowInTreeWithParent( + window_tree(), wm_root, nullptr, gfx::Rect(50, 0, 20, 20)); + child_window2->set_event_targeting_policy( + mojom::EventTargetingPolicy::TARGET_AND_DESCENDANTS); + + TestChangeTracker* tracker = window_tree_client()->tracker(); + tracker->changes()->clear(); + + bool was_event_processed = false; + ui::PointerEvent move1( + ui::ET_POINTER_MOVED, gfx::Point(15, 15), gfx::Point(15, 15), 0, 0, + ui::PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, 0), + base::TimeTicks()); + window_manager_state()->ProcessEvent(&move1, display->GetId()); + window_manager_state()->ScheduleCallbackWhenDoneProcessingEvents( + base::BindOnce(&SetBoolToTrue, &was_event_processed)); + EXPECT_FALSE(was_event_processed); + EXPECT_TRUE(WindowTreeTestApi(window_tree()).HasEventInFlight()); + ASSERT_EQ(1u, tracker->changes()->size()); + EXPECT_EQ(CHANGE_TYPE_INPUT_EVENT, (*tracker->changes())[0].type); + tracker->changes()->clear(); + WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::HANDLED); + EXPECT_TRUE(was_event_processed); + was_event_processed = false; + + ui::PointerEvent move2( + ui::ET_POINTER_MOVED, gfx::Point(65, 15), gfx::Point(65, 15), 0, 0, + ui::PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, 0), + base::TimeTicks()); + window_manager_state()->ProcessEvent(&move2, display->GetId()); + window_manager_state()->ScheduleCallbackWhenDoneProcessingEvents( + base::BindOnce(&SetBoolToTrue, &was_event_processed)); + EXPECT_FALSE(was_event_processed); + EXPECT_TRUE(WindowTreeTestApi(window_tree()).HasEventInFlight()); + ASSERT_EQ(1u, tracker->changes()->size()); + EXPECT_EQ(CHANGE_TYPE_INPUT_EVENT, (*tracker->changes())[0].type); + EXPECT_EQ(ET_POINTER_EXITED, (*tracker->changes())[0].event_action); + tracker->changes()->clear(); + + WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::HANDLED); + // |was_event_processed| is false, because the exit was synthesized and will + // be followed by a move. + EXPECT_FALSE(was_event_processed); + ASSERT_EQ(1u, tracker->changes()->size()); + EXPECT_EQ(CHANGE_TYPE_INPUT_EVENT, (*tracker->changes())[0].type); + EXPECT_EQ(ET_POINTER_MOVED, (*tracker->changes())[0].event_action); + tracker->changes()->clear(); + WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::HANDLED); + EXPECT_TRUE(was_event_processed); + EXPECT_TRUE(tracker->changes()->empty()); +} + } // namespace test } // namespace ws } // namespace ui
diff --git a/services/ui/ws/window_server.cc b/services/ui/ws/window_server.cc index 626b622..7125ab4 100644 --- a/services/ui/ws/window_server.cc +++ b/services/ui/ws/window_server.cc
@@ -206,6 +206,10 @@ mojom::WindowTreeClientPtr client, uint32_t flags, std::unique_ptr<AccessPolicy> access_policy) { + // TODO(sky): I suspect this code needs to reset the FrameSinkId to the + // ClientWindowId that was used at the time the window was created. As + // currently if there is a reembed the FrameSinkId from the last embedding + // is incorrectly used. const bool is_for_embedding = true; std::unique_ptr<WindowTree> tree_ptr = std::make_unique<WindowTree>( this, is_for_embedding, root, std::move(access_policy)); @@ -229,7 +233,7 @@ AddTree(std::move(tree_ptr), std::move(binding), std::move(window_tree_ptr)); OnTreeMessagedClient(tree->id()); - root->UpdateFrameSinkId(ClientWindowId(tree->id(), 0)); + root->UpdateFrameSinkId(viz::FrameSinkId(tree->id(), 0)); return tree; } @@ -279,7 +283,7 @@ // Notify remaining connections so that they can cleanup. for (auto& pair : tree_map_) - pair.second->OnWindowDestroyingTreeImpl(tree); + pair.second->OnWillDestroyTree(tree); if (window_manager_window_tree_factory_->window_tree() == tree) window_manager_window_tree_factory_->OnTreeDestroyed();
diff --git a/services/ui/ws/window_tree.cc b/services/ui/ws/window_tree.cc index a9d2709..9639db66 100644 --- a/services/ui/ws/window_tree.cc +++ b/services/ui/ws/window_tree.cc
@@ -269,7 +269,9 @@ root->parent()->IsDrawn(), root->current_local_surface_id()); } -void WindowTree::OnWindowDestroyingTreeImpl(WindowTree* tree) { +void WindowTree::OnWillDestroyTree(WindowTree* tree) { + DCHECK_NE(tree, this); // This function is not called for |this|. + if (event_source_wms_ && event_source_wms_->window_tree() == tree) event_source_wms_ = nullptr; @@ -279,6 +281,9 @@ if (owns_tree_root) client()->OnEmbeddedAppDisconnected(TransportIdForWindow(tree_root)); } + + if (window_manager_state_) + window_manager_state_->OnWillDestroyTree(tree); } void WindowTree::OnWmDisplayModified(const display::Display& display) {
diff --git a/services/ui/ws/window_tree.h b/services/ui/ws/window_tree.h index fb9cb611..733ca35 100644 --- a/services/ui/ws/window_tree.h +++ b/services/ui/ws/window_tree.h
@@ -168,7 +168,7 @@ void AddRootForWindowManager(const ServerWindow* root); // Invoked when a tree is about to be destroyed. - void OnWindowDestroyingTreeImpl(WindowTree* tree); + void OnWillDestroyTree(WindowTree* tree); // Sends updated display information. void OnWmDisplayModified(const display::Display& display);
diff --git a/services/ui/ws/window_tree_unittest.cc b/services/ui/ws/window_tree_unittest.cc index 28a492c..1b3b089 100644 --- a/services/ui/ws/window_tree_unittest.cc +++ b/services/ui/ws/window_tree_unittest.cc
@@ -167,9 +167,11 @@ : nullptr; } + // Simulates an event coming from the system. The event is not acked + // immediately, use AckPreviousEvent() to do that. void DispatchEventWithoutAck(const ui::Event& event) { std::unique_ptr<Event> tmp = ui::Event::Clone(event); - DisplayTestApi(display()).OnEvent(tmp.get()); + display()->ProcessEvent(tmp.get()); } void set_window_manager_internal(WindowTree* tree,
diff --git a/storage/browser/blob/blob_reader.cc b/storage/browser/blob/blob_reader.cc index 876fe176..536ea524 100644 --- a/storage/browser/blob/blob_reader.cc +++ b/storage/browser/blob/blob_reader.cc
@@ -15,6 +15,7 @@ #include "base/bind.h" #include "base/callback_helpers.h" #include "base/debug/stack_trace.h" +#include "base/memory/ptr_util.h" #include "base/task_scheduler/post_task.h" #include "base/time/time.h" #include "base/trace_event/trace_event.h"
diff --git a/storage/browser/quota/quota_settings.cc b/storage/browser/quota/quota_settings.cc index d6d469c4..a3310fc 100644 --- a/storage/browser/quota/quota_settings.cc +++ b/storage/browser/quota/quota_settings.cc
@@ -51,9 +51,8 @@ return settings; } - // The fraction of the device's storage the browser is willing to - // use for temporary storage, this is applied after adjusting the - // total to take os_accomodation into account. +// The fraction of the device's storage the browser is willing to +// use for temporary storage. #if defined(OS_CHROMEOS) // Chrome OS is given a larger fraction, as web content is the considered // the primary use of the platform. Chrome OS itself maintains free space by @@ -87,21 +86,6 @@ const double kSessionOnlyHostQuotaRatio = 0.1; // 10% const int64_t kMaxSessionOnlyHostQuota = 300 * kMBytes; - // os_accomodation is an estimate of how much storage is needed for - // the os and essential application code outside of the browser. - const int64_t kDefaultOSAccomodation = -#if defined(OS_ANDROID) - 1000 * kMBytes; -#elif defined(OS_CHROMEOS) - 1000 * kMBytes; -#elif defined(OS_FUCHSIA) - 1000 * kMBytes; -#elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) - 10000 * kMBytes; -#else -#error "Port: Need to define an OS accomodation value for unknown OS." -#endif - storage::QuotaSettings settings; int64_t total = base::SysInfo::AmountOfTotalDiskSpace(partition_path); @@ -110,15 +94,7 @@ return base::nullopt; } - // If our hardcoded OS accomodation is too large for the volume size, define - // the value as a fraction of the total volume size instead. - int64_t os_accomodation = - std::min(kDefaultOSAccomodation, static_cast<int64_t>(total * 0.8)); - UMA_HISTOGRAM_MBYTES("Quota.OSAccomodationDelta", - kDefaultOSAccomodation - os_accomodation); - - int64_t adjusted_total = total - os_accomodation; - int64_t pool_size = adjusted_total * kTemporaryPoolSizeRatio; + int64_t pool_size = total * kTemporaryPoolSizeRatio; settings.pool_size = pool_size; settings.should_remain_available = kShouldRemainAvailable;
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json index 590c0c89..24dfb52f 100644 --- a/testing/buildbot/chromium.android.json +++ b/testing/buildbot/chromium.android.json
@@ -2490,6 +2490,52 @@ }, { "args": [ + "--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk", + "--gs-results-bucket=chromium-result-details", + "--recover-devices", + "--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json" + ], + "experiement_percentage": 100, + "merge": { + "args": [ + "--bucket", + "chromium-result-details", + "--test-name", + "chrome_public_test_vr_apk" + ], + "script": "//build/android/pylib/results/presentation/test_results_presentation.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "cipd_packages": [ + { + "cipd_package": "infra/tools/luci/logdog/butler/${platform}", + "location": "bin", + "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" + } + ], + "dimension_sets": [ + { + "device_os": "KTU84P", + "device_type": "hammerhead" + } + ], + "hard_timeout": 1920, + "output_links": [ + { + "link": [ + "https://luci-logdog.appspot.com/v/?s", + "=android%2Fswarming%2Flogcats%2F", + "${TASK_ID}%2F%2B%2Funified_logcats" + ], + "name": "shard #${SHARD_INDEX} logcats" + } + ] + }, + "test": "chrome_public_test_vr_apk" + }, + { + "args": [ "--gs-results-bucket=chromium-result-details", "--recover-devices" ],
diff --git a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter index 62de146..11d34bd9c 100644 --- a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter +++ b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
@@ -7,13 +7,9 @@ -AppBackgroundPageNaClTest.BackgroundKeepaliveActive -BackgroundXhrTest.HttpAuth -BackgroundXhrTest.TlsClientAuth --BrowserTest.InterstitialCancelsGuestViewDialogs -BrowsingDataRemoverBrowserTest.CookieDeletion -ChromeSecurityExploitBrowserTest.CreateFilesystemURLInExtensionOrigin -ChromeSitePerProcessTest.LaunchExternalProtocolFromSubframe -# DeclarativeContentApiTest.EnabledForSplitIncognito is flaky. --DeclarativeContentApiTest.EnabledForSplitIncognito --DeclarativeContentApiTest.UninstallWhileActivePageAction -DevToolsSanityTest.TestRawHeadersWithRedirectAndHSTS -DisabledSignInIsolationBrowserTest.SyntheticTrial -DomainReliabilityBrowserTest.Upload @@ -68,15 +64,10 @@ -TaskManagerBrowserTest.SentDataObserved -TaskManagerBrowserTest.TotalSentDataObserved -TaskManagerUtilityProcessBrowserTest.UtilityJSHeapMemory -# This test is flaky. --WebRtcRtpBrowserTest.TrackAddedToSecondStream --WebRtcRtpBrowserTest.TrackSwitchingStream -WebSocketBrowserTest.WebSocketAppliesHSTS -WebSocketBrowserTest.WebSocketBasicAuthInHTTPSURL -WebSocketBrowserTest.WebSocketBasicAuthInHTTPURL -WebstoreInstallerBrowserTest.SimultaneousInstall --WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/0 --WebViewTests/WebViewPluginTest.TestLoadPluginInternalResource/1 -WebViewTests/WebViewTest.ClearData/0 -WebViewTests/WebViewTest.ClearData/1 -WebViewTests/WebViewTest.ClearDataCache/0 @@ -130,8 +121,6 @@ -DownloadExtensionTest.DownloadExtensionTest_Download_FileSystemURL -LoadImageBrowserTest.LoadImage -MimeHandlerViewTests/MimeHandlerViewTest.SingleRequest/0 -# Test flakes, don't renable without debugging. --SessionRestoreTest.RestoreForeignTab -PolicyTest.CertificateTransparencyEnforcementDisabledForUrls -PolicyTest.ExtensionInstallSources -PolicyTest.ForceGoogleSafeSearch @@ -178,7 +167,6 @@ # http://crbug.com/783990 # Add support for http auth. -DownloadExtensionTest.DownloadExtensionTest_Download_AuthBasic_Fail --LoginPromptBrowserTest.BlockCrossdomainPromptForSubresources -LoginPromptBrowserTest.CancelLoginInterstitialOnRedirect -LoginPromptBrowserTest.NoLoginPromptForFavicon -LoginPromptBrowserTest.NoLoginPromptForXHRWithBadCredentials @@ -218,39 +206,20 @@ # http://crbug.com/705114 # Remove streams concept from code and replace with data pipe passing. --ChromeAcceptHeaderTest.Check --ChromeSitePerProcessPDFTest.EmbeddedPDFInsideCrossOriginFrame --ExecuteScriptApiTest/DestructiveScriptTest.MacrotaskRemoval/0 --ExecuteScriptApiTest/DestructiveScriptTest.MicrotaskRemoval/0 --ExecuteScriptApiTest/DestructiveScriptTest.SynchronousRemoval/0 --ExtensionApiTest.TemporaryAddressSpoof -MimeHandlerViewTests/MimeHandlerViewTest.Abort/0 -MimeHandlerViewTests/MimeHandlerViewTest.Abort/1 -MimeHandlerViewTests/MimeHandlerViewTest.DataUrl/0 -MimeHandlerViewTests/MimeHandlerViewTest.DataUrl/1 --MimeHandlerViewTests/MimeHandlerViewTest.Embedded/0 --MimeHandlerViewTests/MimeHandlerViewTest.Embedded/1 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlEmbed/0 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlEmbed/1 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlLong/0 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlLong/1 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlObject/0 -MimeHandlerViewTests/MimeHandlerViewTest.EmbeddedDataUrlObject/1 --MimeHandlerViewTests/MimeHandlerViewTest.Iframe/0 --MimeHandlerViewTests/MimeHandlerViewTest.PostMessage/0 --MimeHandlerViewTests/MimeHandlerViewTest.PostMessage/1 --MimeHandlerViewTests/MimeHandlerViewTest.ResizeBeforeAttach/0 --MimeHandlerViewTests/MimeHandlerViewTest.ResizeBeforeAttach/1 -MimeHandlerViewTests/MimeHandlerViewTest.SingleRequest/0 -MimeHandlerViewTests/MimeHandlerViewTest.SingleRequest/1 --PDFExtensionTest.ContextMenuCoordinates --PDFExtensionTest.EnsureCrossOriginRepliesBlocked --PDFExtensionTest.PdfAccessibilityWordBoundaries --PDFExtensionTest.PostMessageForZeroSizedEmbed --PDFExtensionTest.TabTitleWithEmbeddedPdf -PrerenderBrowserTestWithExtensions.StreamsTest -SaveType/SavePageOriginalVsSavedComparisonTest.ObjectElementsViaFile/0 --SaveType/SavePageOriginalVsSavedComparisonTest.ObjectElementsViaHttp/0 -StreamsPrivateApiTest.Abort -StreamsPrivateApiTest.FileURL -StreamsPrivateApiTest.Headers @@ -404,29 +373,3 @@ # Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65817%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FRestartTest.CookiesClearedOnExit%2F0 -RestartTest.CookiesClearedOnExit - -# Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65814%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FDeclarativeContentApiTest.NotBookmarkedRulesEvaluatedOnBookmarkEvents%2F0 --DeclarativeContentApiTest.NotBookmarkedRulesEvaluatedOnBookmarkEvents - -# Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65815%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FDeclarativeContentApiTest.RulesAddedFromManifest%2F0 --DeclarativeContentApiTest.RulesAddedFromManifest - -#Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65829%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FDeclarativeContentApiTest.RulesPersistence%2F0 --DeclarativeContentApiTest.RulesPersistence - -# Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65817%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FDeclarativeContentApiTest.IsBookmarkedRulesEvaluatedOnBookmarkEvents%2F0 --DeclarativeContentApiTest.IsBookmarkedRulesEvaluatedOnBookmarkEvents - -# Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65816%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FNoStatePrefetchBrowserTest__x2f_NoStatePrefetchBrowserTest.ServiceWorkerIntercept__x2f_0%2F0 --NoStatePrefetchBrowserTest/NoStatePrefetchBrowserTest.ServiceWorkerIntercept/* - -# Flakes https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests%2F65816%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FDeclarativeContentApiTest.IsBookmarkedRulesEvaluatedOnBookmarkEvents%2F0 --DeclarativeContentApiTest.IsBookmarkedRulesEvaluatedOnBookmarkEvents - -# Flakes due to ExtensionBrowserTest::NavigateInRenderer(), crbug.com/798969 --DeclarativeContentApiTest.DisabledForSpanningIncognito --DeclarativeContentApiTest.DisabledForSplitIncognito --DeclarativeContentApiTest.EnabledForSpanningIncognito --DeclarativeContentApiTest.EnabledForSpanningIncognito --SetIconAPITest.Overview -
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl index 609c6b2a..91c80c6 100644 --- a/testing/buildbot/test_suite_exceptions.pyl +++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -701,7 +701,6 @@ 'remove_from': [ # chromium.android 'KitKat Phone Tester (dbg)', - 'KitKat Phone Tester (rel)', 'KitKat Tablet Tester', 'Lollipop Tablet Tester', 'Marshmallow Tablet Tester', @@ -722,6 +721,16 @@ 'Android CFI', ], 'modifications': { + 'KitKat Phone Tester (rel)': { + 'args': [ + '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json', + '--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk', + ], + 'experiement_percentage': 100, + 'swarming': { + 'hard_timeout': 1920, + }, + }, 'Lollipop Phone Tester': { 'args': [ '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG index 1e56ca0..0afc2348 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -66,7 +66,7 @@ crbug.com/714962 accessibility/bounds-calc.html [ Failure ] crbug.com/591099 accessibility/canvas-fallback-content-2.html [ Timeout ] crbug.com/591099 accessibility/computed-name.html [ Timeout ] -crbug.com/591099 accessibility/computed-role.html [ Pass Timeout ] +crbug.com/591099 accessibility/computed-role.html [ Timeout ] crbug.com/714962 accessibility/css-first-letter-children.html [ Failure ] crbug.com/591099 accessibility/css-generated-content.html [ Failure ] crbug.com/591099 accessibility/css-styles.html [ Failure ] @@ -187,7 +187,6 @@ crbug.com/591099 css2.1/t140201-c534-bgreps-05-c-ag.html [ Failure Pass ] crbug.com/591099 css3/blending/background-blend-mode-overlapping-accelerated-elements.html [ Failure ] crbug.com/591099 css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change.html [ Failure ] -crbug.com/591099 css3/filters/effect-blur-hw.html [ Pass Timeout ] crbug.com/591099 css3/filters/effect-reference-subregion-nested.html [ Pass ] crbug.com/714962 css3/filters/effect-reference-zoom-hw.html [ Failure ] crbug.com/591099 css3/filters/filtered-inline.html [ Failure ] @@ -245,7 +244,7 @@ crbug.com/591099 editing/execCommand/format-block-multiple-paragraphs.html [ Failure ] crbug.com/591099 editing/execCommand/insertImage.html [ Failure ] crbug.com/591099 editing/execCommand/query-command-state.html [ Timeout ] -crbug.com/591099 editing/execCommand/query-format-block.html [ Timeout ] +crbug.com/591099 editing/execCommand/query-format-block.html [ Pass Timeout ] crbug.com/591099 editing/execCommand/remove-list-from-range-selection.html [ Failure ] crbug.com/591099 editing/input/linux_rtl_composition_underline.html [ Failure ] crbug.com/591099 editing/inserting/4875189-1.html [ Failure ] @@ -408,12 +407,12 @@ crbug.com/591099 external/wpt/css/CSS2/text/text-decoration-applies-to-015.xht [ Failure ] crbug.com/714962 external/wpt/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-5.html [ Failure ] crbug.com/714962 external/wpt/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-5.html [ Failure ] -crbug.com/714962 external/wpt/css/css-backgrounds/background-image-003.html [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-backgrounds/background-image-003.html [ Failure ] crbug.com/714962 external/wpt/css/css-backgrounds/background-image-004.html [ Failure Pass ] crbug.com/714962 external/wpt/css/css-backgrounds/background-image-005.html [ Failure ] crbug.com/714962 external/wpt/css/css-backgrounds/background-image-006.html [ Failure Pass ] crbug.com/591099 external/wpt/css/css-backgrounds/box-shadow-syntax-001.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-backgrounds/scroll-positioned-multiple-background-images.html [ Failure ] +crbug.com/591099 external/wpt/css/css-backgrounds/scroll-positioned-multiple-background-images.html [ Failure Pass ] crbug.com/591099 external/wpt/css/css-display/display-contents-details.html [ Crash ] crbug.com/714962 external/wpt/css/css-display/display-contents-dynamic-before-after-001.html [ Failure ] crbug.com/714962 external/wpt/css/css-display/display-contents-dynamic-before-after-first-letter-001.html [ Failure ] @@ -730,8 +729,8 @@ crbug.com/591099 external/wpt/css/css-shapes/spec-examples/shape-outside-017.html [ Failure ] crbug.com/591099 external/wpt/css/css-shapes/spec-examples/shape-outside-018.html [ Failure ] crbug.com/591099 external/wpt/css/css-shapes/spec-examples/shape-outside-019.html [ Failure ] -crbug.com/591099 external/wpt/css/css-style-attr/style-attr-urls-001.xht [ Failure Pass ] -crbug.com/591099 external/wpt/css/css-style-attr/style-attr-urls-002.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-style-attr/style-attr-urls-001.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-style-attr/style-attr-urls-002.xht [ Failure ] crbug.com/591099 external/wpt/css/css-tables/fixup-dynamic-anonymous-inline-table-002.html [ Pass ] crbug.com/591099 external/wpt/css/css-tables/fixup-dynamic-anonymous-table-001.html [ Pass ] crbug.com/591099 external/wpt/css/css-tables/floats/floats-wrap-bfc-006c.xht [ Pass ] @@ -828,27 +827,27 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-019.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-021.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-023.xht [ Failure Pass ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-025.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-027.xht [ Failure Pass ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-029.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-025.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-027.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-029.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-031.xht [ Failure Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-033.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-033.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-035.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-037.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-039.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-041.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-041.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-043.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-045.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-047.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-049.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-051.xht [ Failure Pass ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-053.xht [ Failure Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-055.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-051.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-053.xht [ Failure ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-055.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-057.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-059.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-061.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-063.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-065.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-065.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-067.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-069.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-071.xht [ Failure Pass ] @@ -859,7 +858,7 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-081.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-083.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-085.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-087.xht [ Failure ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-087.xht [ Failure Pass ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-089.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-091.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-093.xht [ Failure ] @@ -867,7 +866,7 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-097.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-103.xht [ Failure Pass ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-105.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-107.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-107.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-109.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-111.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-113.xht [ Failure ] @@ -877,58 +876,58 @@ crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-121.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-123.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-125.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-127.xht [ Failure ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-127.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-129.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-131.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-133.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-135.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-135.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-137.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-139.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-139.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-141.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-143.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-145.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-147.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-149.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-151.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-153.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-153.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-155.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-157.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-159.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-161.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-163.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-165.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-167.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-167.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-169.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-171.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-173.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-173.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-175.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-177.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-179.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-181.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-183.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-183.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-185.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-187.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-189.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-191.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-193.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-195.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-197.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-195.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-197.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-199.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-201.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-203.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-205.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-207.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-209.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-211.xht [ Failure Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-213.xht [ Failure ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-209.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-211.xht [ Failure ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-213.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-215.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-217.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-219.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-221.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-223.xht [ Failure Pass ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-225.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-223.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-225.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-227.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-229.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vlr-229.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-002.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-004.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-006.xht [ Failure ] @@ -951,7 +950,7 @@ crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-040.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-042.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-044.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-046.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-046.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-048.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-050.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-052.xht [ Failure ] @@ -959,7 +958,7 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-056.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-058.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-060.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-062.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-062.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-064.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-066.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-068.xht [ Failure Pass ] @@ -978,7 +977,7 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-094.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-096.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-102.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-104.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-104.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-106.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-108.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-110.xht [ Failure ] @@ -1009,7 +1008,7 @@ crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-160.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-162.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-164.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-166.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-166.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-168.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-170.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-172.xht [ Failure ] @@ -1018,9 +1017,9 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-178.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-180.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-182.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-184.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-184.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-186.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-188.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-188.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-190.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-192.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-194.xht [ Failure ] @@ -1030,7 +1029,7 @@ crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-202.xht [ Failure ] crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-204.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-206.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-208.xht [ Failure ] +crbug.com/591099 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-208.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-210.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-212.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/abs-pos-non-replaced-vrl-214.xht [ Failure ] @@ -1151,21 +1150,21 @@ crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-003.xht [ Pass ] crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-004.xht [ Pass ] crbug.com/591099 external/wpt/css/css-writing-modes/table-column-order-005.xht [ Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-003.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-003.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-005.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-007.xht [ Failure Pass ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-009.xht [ Failure ] -crbug.com/591099 external/wpt/css/css-writing-modes/text-align-vlr-011.xht [ Failure ] -crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-013.xht [ Failure Pass ] +crbug.com/591099 external/wpt/css/css-writing-modes/text-align-vlr-011.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-013.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-015.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-017.xht [ Failure Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-019.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vlr-019.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-002.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-004.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-006.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-008.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-010.xht [ Failure Pass ] -crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-012.xht [ Failure Pass ] +crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-012.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-014.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-016.xht [ Failure ] crbug.com/714962 external/wpt/css/css-writing-modes/text-align-vrl-018.xht [ Failure Pass ] @@ -1395,7 +1394,6 @@ crbug.com/591099 external/wpt/encoding/textdecoder-fatal-single-byte.html [ Timeout ] crbug.com/591099 external/wpt/feature-policy/payment-allowed-by-feature-policy.https.sub.html [ Pass ] crbug.com/591099 external/wpt/feature-policy/payment-disabled-by-feature-policy.https.sub.html [ Pass ] -crbug.com/591099 external/wpt/fetch/api/request/request-cache-default-conditional.html [ Pass Timeout ] crbug.com/591099 external/wpt/geolocation-API/PositionOptions.https.html [ Failure Pass ] crbug.com/591099 external/wpt/html-media-capture/capture_audio_cancel-manual.html [ Failure ] crbug.com/591099 external/wpt/html-media-capture/capture_image_cancel-manual.html [ Failure ] @@ -1462,7 +1460,7 @@ crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html [ Timeout ] crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-button-test_touch-manual.html [ Timeout ] crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-keyboard-manual.html [ Timeout ] -crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-mouse-manual.html [ Timeout ] +crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-mouse-manual.html [ Pass Timeout ] crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-pan-left-css_touch-manual.html [ Pass ] crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-pan-right-css_touch-manual.html [ Failure ] crbug.com/714962 external/wpt/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html [ Timeout ] @@ -1644,8 +1642,6 @@ crbug.com/591099 fast/block/margin-collapse/webkit-margin-collapse-separate-position.html [ Failure ] crbug.com/591099 fast/block/margin-collapse/webkit-margin-collapse-siblings.html [ Failure ] crbug.com/591099 fast/block/over-constrained-auto-margin.html [ Failure ] -crbug.com/591099 fast/block/positioning/059.html [ Failure ] -crbug.com/591099 fast/block/positioning/abspos-auto-left-and-width-change-parent-margin-left.html [ Failure ] crbug.com/714962 fast/block/positioning/auto/vertical-rl/001.html [ Failure ] crbug.com/714962 fast/block/positioning/auto/vertical-rl/002.html [ Failure ] crbug.com/714962 fast/block/positioning/auto/vertical-rl/003.html [ Failure ] @@ -1658,7 +1654,6 @@ crbug.com/591099 fast/block/positioning/complex-positioned-movement-inline.html [ Crash ] crbug.com/591099 fast/block/positioning/fixed-in-abs-height-change.html [ Crash ] crbug.com/591099 fast/block/positioning/insert-positioned-in-anonymous-crash.html [ Crash ] -crbug.com/591099 fast/block/positioning/move-with-auto-width.html [ Failure ] crbug.com/714962 fast/block/positioning/offsetLeft-offsetTop-multicolumn.html [ Failure ] crbug.com/591099 fast/block/positioning/positioned-child-inside-relative-positioned-anonymous-block.html [ Crash ] crbug.com/591099 fast/block/positioning/rel-positioned-inline-changes-width.html [ Crash ] @@ -1721,7 +1716,7 @@ crbug.com/591099 fast/box-shadow/box-shadow.html [ Failure ] crbug.com/591099 fast/box-shadow/inset-subpixel.html [ Failure ] crbug.com/591099 fast/box-shadow/inset.html [ Failure ] -crbug.com/591099 fast/box-sizing/replaced.html [ Failure Pass ] +crbug.com/591099 fast/box-sizing/replaced.html [ Failure ] crbug.com/714962 fast/canvas/canvas-textMetrics-width.html [ Failure ] crbug.com/714962 fast/canvas/image-object-in-canvas.html [ Failure ] crbug.com/591099 fast/canvas/patternfill-repeat.html [ Failure ] @@ -1847,7 +1842,7 @@ crbug.com/591099 fast/css-grid-layout/minmax-min-content-column-resolution-rows.html [ Failure ] crbug.com/591099 fast/css-grid-layout/minmax-spanning-resolution-columns.html [ Failure ] crbug.com/591099 fast/css-grid-layout/minmax-spanning-resolution-rows.html [ Failure ] -crbug.com/591099 fast/css-grid-layout/named-grid-line-get-set.html [ Pass Timeout ] +crbug.com/591099 fast/css-grid-layout/named-grid-line-get-set.html [ Timeout ] crbug.com/591099 fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html [ Failure ] crbug.com/591099 fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html [ Failure ] crbug.com/591099 fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html [ Failure ] @@ -2052,7 +2047,6 @@ crbug.com/591099 fast/dom/Window/property-access-on-cached-window-after-frame-navigated.html [ Timeout ] crbug.com/591099 fast/dom/Window/window-lookup-precedence.html [ Timeout ] crbug.com/591099 fast/dom/Window/window-postmessage-clone-deep-array.html [ Failure ] -crbug.com/591099 fast/dom/Window/window-resize-contents.html [ Failure ] crbug.com/714962 fast/dom/anchor-without-content.html [ Failure ] crbug.com/591099 fast/dom/clone-node-dynamic-style.html [ Failure ] crbug.com/591099 fast/dom/domstring-attribute-reflection.html [ Timeout ] @@ -2101,7 +2095,7 @@ crbug.com/714962 fast/events/event-on-culled_inline.html [ Failure ] crbug.com/591099 fast/events/keyboardevent-getModifierState.html [ Timeout ] crbug.com/591099 fast/events/menu-key-context-menu-document-pinch-zoom.html [ Failure ] -crbug.com/714962 fast/events/middleClickAutoscroll-latching.html [ Pass Timeout ] +crbug.com/714962 fast/events/middleClickAutoscroll-latching.html [ Timeout ] crbug.com/714962 fast/events/mouse-down-on-pseudo-element-remove-crash.html [ Failure ] crbug.com/591099 fast/events/mouse-event-buttons-attribute.html [ Timeout ] crbug.com/591099 fast/events/mouse-relative-position.html [ Failure ] @@ -2120,7 +2114,6 @@ crbug.com/591099 fast/events/scale-and-scroll-iframe-window.html [ Pass ] crbug.com/591099 fast/events/select-element.html [ Timeout ] crbug.com/591099 fast/events/selectstart-by-double-triple-clicks.html [ Failure ] -crbug.com/591099 fast/events/selectstart-by-single-click-with-shift.html [ Failure Pass ] crbug.com/591099 fast/events/sequential-focus-navigation-starting-point.html [ Failure ] crbug.com/591099 fast/events/touch/compositor-touch-hit-rects-scroll.html [ Failure ] crbug.com/591099 fast/events/touch/compositor-touch-hit-rects.html [ Failure ] @@ -2179,7 +2172,6 @@ crbug.com/591099 fast/frames/content-opacity-1.html [ Failure Pass ] crbug.com/591099 fast/frames/content-opacity-2.html [ Failure Pass ] crbug.com/591099 fast/frames/frameset-style-recalc.html [ Failure ] -crbug.com/591099 fast/frames/iframe-scaling-with-scroll.html [ Failure Pass ] crbug.com/591099 fast/frames/iframe-with-frameborder.html [ Failure ] crbug.com/591099 fast/frames/onlyCommentInIFrame.html [ Failure ] crbug.com/591099 fast/gradients/generated-gradients.html [ Failure ] @@ -2203,7 +2195,7 @@ crbug.com/591099 fast/inline-block/contenteditable-baseline.html [ Failure ] crbug.com/714962 fast/inline-block/tricky-baseline.html [ Failure ] crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom-2.html [ Failure ] -crbug.com/591099 fast/inline/absolute-positioned-inline-in-centred-block.html [ Crash Failure ] +crbug.com/591099 fast/inline/absolute-positioned-inline-in-centred-block.html [ Crash ] crbug.com/591099 fast/inline/bpm-inline-ancestors.html [ Failure ] crbug.com/714962 fast/inline/continuation-outlines-with-layers-2.html [ Failure ] crbug.com/591099 fast/inline/continuation-outlines-with-layers.html [ Failure ] @@ -2256,7 +2248,7 @@ crbug.com/591099 fast/lists/list-marker-before-content-table.html [ Failure ] crbug.com/591099 fast/lists/marker-before-empty-inline.html [ Failure ] crbug.com/591099 fast/lists/markers-in-selection.html [ Failure ] -crbug.com/591099 fast/masking/clip-path-selection.html [ Failure Pass ] +crbug.com/591099 fast/masking/clip-path-selection.html [ Failure ] crbug.com/591099 fast/media/mq-display-mode-fullscreen.html [ Crash ] crbug.com/591099 fast/multicol/abspos-after-break-after.html [ Failure ] crbug.com/591099 fast/multicol/abspos-new-width-rebalance.html [ Failure ] @@ -3130,8 +3122,6 @@ crbug.com/591099 fast/text/whitespace/pre-wrap-spaces-after-newline.html [ Failure ] crbug.com/591099 fast/text/zero-width-characters-complex-script.html [ Failure ] crbug.com/591099 fast/text/zero-width-characters.html [ Failure ] -crbug.com/591099 fast/webgl/texImage-imageBitmap-from-image-resize.html [ Pass Timeout ] -crbug.com/591099 fast/webgl/webgl-composite-modes.html [ Pass Timeout ] crbug.com/591099 fast/writing-mode/Kusa-Makura-background-canvas.html [ Failure ] crbug.com/591099 fast/writing-mode/auto-sizing-orthogonal-flows.html [ Failure ] crbug.com/714962 fast/writing-mode/background-vertical-lr.html [ Failure ] @@ -3270,7 +3260,7 @@ crbug.com/591099 fullscreen/full-screen-element-stack.html [ Crash ] crbug.com/591099 fullscreen/full-screen-iframe-not-allowed.html [ Failure ] crbug.com/591099 fullscreen/full-screen-remove-ancestor-after.html [ Crash Pass ] -crbug.com/591099 fullscreen/full-screen-ruleset-crash.html [ Crash Pass ] +crbug.com/591099 fullscreen/full-screen-ruleset-crash.html [ Crash ] crbug.com/591099 fullscreen/full-screen-twice-newapi.html [ Crash ] crbug.com/591099 fullscreen/full-screen-with-css-reference-filter.html [ Crash ] crbug.com/591099 fullscreen/full-screen-with-flex-item.html [ Crash ] @@ -3331,7 +3321,6 @@ crbug.com/714962 http/tests/devtools/jump-to-previous-editing-location.js [ Failure ] crbug.com/591099 http/tests/devtools/network/network-datareceived.js [ Failure ] crbug.com/591099 http/tests/devtools/oopif/oopif-elements-navigate-in.js [ Failure ] -crbug.com/591099 http/tests/devtools/search/source-frame-replace-2.js [ Pass Timeout ] crbug.com/714962 http/tests/devtools/service-workers/service-workers-view.js [ Failure ] crbug.com/591099 http/tests/devtools/text-autosizing-override.js [ Failure ] crbug.com/591099 http/tests/devtools/tracing/scroll-invalidations.js [ Failure ] @@ -3353,7 +3342,6 @@ crbug.com/591099 http/tests/loading/preload-picture-sizes-2x.html [ Failure ] crbug.com/591099 http/tests/loading/preload-picture-sizes.html [ Failure ] crbug.com/591099 http/tests/loading/simple-subframe.html [ Failure ] -crbug.com/591099 http/tests/local/drag-over-remote-content.html [ Failure Pass ] crbug.com/591099 http/tests/local/file-url-sent-as-referer.html [ Failure ] crbug.com/591099 http/tests/local/fileapi/select-dragged-file-input.html [ Skip ] crbug.com/591099 http/tests/media/progress-events-generated-correctly.html [ Failure ] @@ -3515,7 +3503,6 @@ crbug.com/591099 paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint.html [ Failure ] crbug.com/591099 paint/invalidation/delete-into-nested-block.html [ Failure ] crbug.com/591099 paint/invalidation/details-open-repaint.html [ Failure ] -crbug.com/591099 paint/invalidation/filters/filter-repaint-accelerated-on-accelerated-filter.html [ Pass Timeout ] crbug.com/591099 paint/invalidation/flexbox/align-content-change-keeping-geometry.html [ Failure ] crbug.com/714962 paint/invalidation/flexbox/align-content-change-no-flex.html [ Failure ] crbug.com/591099 paint/invalidation/flexbox/align-content-change.html [ Failure ] @@ -3794,6 +3781,7 @@ crbug.com/591099 paint/invalidation/video-mute-repaint.html [ Failure ] crbug.com/591099 paint/invalidation/video-unmute-repaint.html [ Failure ] crbug.com/591099 paint/invalidation/window-resize/window-resize-centered-inline-under-fixed-pos.html [ Failure ] +crbug.com/591099 paint/invalidation/window-resize/window-resize-vertical-writing-mode.html [ Failure ] crbug.com/591099 paint/markers/active-suggestion-marker-basic.html [ Failure ] crbug.com/591099 paint/markers/active-suggestion-marker-split.html [ Failure ] crbug.com/591099 paint/markers/composition-marker-basic.html [ Failure ] @@ -3838,7 +3826,6 @@ crbug.com/591099 payments/payment-request-in-iframe.html [ Failure ] crbug.com/591099 plugins/embed-attributes-style.html [ Failure ] crbug.com/591099 plugins/mouse-click-plugin-clears-selection.html [ Failure ] -crbug.com/591099 plugins/plugin-document-back-forward.html [ Pass Timeout ] crbug.com/591099 plugins/webview-plugin-nested-iframe-scroll.html [ Failure ] crbug.com/591099 printing/absolute-position-headers-and-footers.html [ Failure ] crbug.com/591099 printing/absolute-positioned.html [ Failure ] @@ -4174,7 +4161,6 @@ crbug.com/591099 transforms/transform-positioned-ancestor.html [ Failure ] crbug.com/591099 transforms/transformed-caret.html [ Failure ] crbug.com/591099 transforms/transforms-with-zoom.html [ Failure ] -crbug.com/591099 transitions/opacity-transform-transitions-inside-iframe.html [ Failure Pass ] crbug.com/591099 virtual/android/ [ Skip ] crbug.com/591099 virtual/color_space/fast/canvas/color-space/canvas-createImageBitmap-linear-rgb.html [ Pass ] crbug.com/591099 virtual/color_space/fast/canvas/color-space/canvas-createImageBitmap-p3.html [ Pass ] @@ -4196,7 +4182,6 @@ crbug.com/591099 virtual/gpu-rasterization/images/color-profile-layer.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/color-profile-reflection.html [ Failure ] -crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-invalidation.html [ Failure Pass ] crbug.com/591099 virtual/gpu-rasterization/images/image-hover-display-alt.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/percent-height-image.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/png-suite/test.html [ Failure ] @@ -4208,7 +4193,6 @@ crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-block-flow-images.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images-empty-alt.html [ Failure ] crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images.html [ Failure ] -crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-video.html [ Timeout ] crbug.com/591099 virtual/gpu/fast/canvas/canvas-createImageBitmap-colorClamping.html [ Pass ] crbug.com/714962 virtual/gpu/fast/canvas/canvas-css-clip-path.html [ Failure ] crbug.com/591099 virtual/gpu/fast/canvas/canvas-drawImage-video-imageSmoothingEnabled.html [ Pass ] @@ -4251,7 +4235,6 @@ crbug.com/591099 virtual/incremental-shadow-dom/shadow-dom/slotted-pseudo-element-shared-style.html [ Pass ] crbug.com/591099 virtual/incremental-shadow-dom/shadow-dom/slotted-pseudo-element.html [ Pass ] crbug.com/591099 virtual/layout_ng/ [ Skip ] -crbug.com/591099 virtual/mouseevent_fractional/fast/events/autoscroll-in-textfield.html [ Failure Pass ] crbug.com/714962 virtual/mouseevent_fractional/fast/events/document-elementFromPoint.html [ Failure ] crbug.com/714962 virtual/mouseevent_fractional/fast/events/drag-in-frames.html [ Failure ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/drag-on-removed-slider-does-not-crash.html [ Pass ] @@ -4269,10 +4252,9 @@ crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/mouse-pointer-capture-transition-events.html [ Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/mouse-pointer-capture.html [ Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/mouse-pointer-preventdefault.html [ Timeout ] -crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/multi-pointer-preventdefault.html [ Pass Timeout ] +crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/multi-pointer-preventdefault.html [ Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/touch-capture-in-iframe.html [ Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/pointerevents/touch-capture.html [ Timeout ] -crbug.com/714962 virtual/mouseevent_fractional/fast/events/pointerevents/touch-pointer-events.html [ Pass Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/scale-and-scroll-iframe-window.html [ Pass ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/select-element.html [ Timeout ] crbug.com/591099 virtual/mouseevent_fractional/fast/events/selectstart-by-double-triple-clicks.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index b03e7b92..cbf701b 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -883,19 +883,6 @@ crbug.com/441840 external/wpt/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html [ Failure ] crbug.com/441840 [ Linux Win ] external/wpt/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-136.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-137.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-142.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-143.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-150.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-151.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-356.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-357.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-360.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-361.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-368.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-369.html [ Failure ] -crbug.com/817773 external/wpt/css/css-text/i18n/css3-text-line-break-jazh-371.html [ Failure ] crbug.com/817804 [ Linux ] external/wpt/css/css-text/i18n/css3-text-line-break-opclns-004.html [ Failure ] crbug.com/817781 external/wpt/css/css-text/i18n/css3-text-line-break-opclns-013.html [ Failure ] crbug.com/817781 external/wpt/css/css-text/i18n/css3-text-line-break-opclns-048.html [ Failure ] @@ -3382,8 +3369,6 @@ crbug.com/817167 http/tests/devtools/oopif/oopif-cookies-refresh.js [ Failure Timeout Pass ] # Sheriff 2018-03-01 -crbug.com/817668 compositing/scroll-with-inner-clip.html [ Failure Pass ] -crbug.com/817668 virtual/disable-spv175/compositing/scroll-with-inner-clip.html [ Failure Pass ] crbug.com/817678 [ Win ] http/tests/devtools/console/console-group-similar.js [ Failure Pass ] crbug.com/817705 [ Mac Win Linux ] http/tests/media/media-src-suspend-before-have-metadata.html [ Failure Timeout Pass ] @@ -3413,4 +3398,7 @@ crbug.com/806249 virtual/unified-autoplay/external/wpt/feature-policy/picture-in-picture-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html [ Skip ] crbug.com/806249 virtual/unified-autoplay/external/wpt/feature-policy/picture-in-picture-allowed-by-feature-policy-attribute.https.sub.html [ Skip ] crbug.com/806249 virtual/unified-autoplay/external/wpt/feature-policy/picture-in-picture-allowed-by-feature-policy.https.sub.html [ Skip ] -crbug.com/806249 virtual/unified-autoplay/external/wpt/feature-policy/picture-in-picture-default-feature-policy.https.sub.html [ Skip ] \ No newline at end of file +crbug.com/806249 virtual/unified-autoplay/external/wpt/feature-policy/picture-in-picture-default-feature-policy.https.sub.html [ Skip ] + +# Sheriff 2018-03-05 +crbug.com/818650 [ Linux ] fast/speech/scripted/speechrecognition-restart-onend.html [ Crash Pass ]
diff --git a/third_party/WebKit/LayoutTests/animations/composition/column-gap-composition.html b/third_party/WebKit/LayoutTests/animations/composition/column-gap-composition.html new file mode 100644 index 0000000..6c8512d --- /dev/null +++ b/third_party/WebKit/LayoutTests/animations/composition/column-gap-composition.html
@@ -0,0 +1,58 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<body> +<script src="../interpolation/resources/interpolation-test.js"></script> +<script> +assertComposition({ + property: 'column-gap', + underlying: '50px', + addFrom: '100px', + addTo: '200px', +}, [ + {at: -0.3, is: '120px'}, + {at: 0, is: '150px'}, + {at: 0.5, is: '200px'}, + {at: 1, is: '250px'}, + {at: 1.5, is: '300px'}, +]); + +assertComposition({ + property: 'column-gap', + underlying: '100px', + addFrom: '10px', + addTo: '2px', +}, [ + {at: -0.5, is: '114px'}, + {at: 0, is: '110px'}, + {at: 0.5, is: '106px'}, + {at: 1, is: '102px'}, + {at: 1.5, is: '98px'}, // Value clamping should happen after composition. +]); + +assertComposition({ + property: 'column-gap', + underlying: '50px', + addFrom: '100px', + replaceTo: '200px', +}, [ + {at: -0.3, is: '135px'}, + {at: 0, is: '150px'}, + {at: 0.5, is: '175px'}, + {at: 1, is: '200px'}, + {at: 1.5, is: '225px'}, +]); + +assertComposition({ + property: 'column-gap', + underlying: '100px', + addFrom: '100px', + addTo: 'normal', +}, [ + {at: -0.3, is: '200px'}, + {at: 0, is: '200px'}, + {at: 0.5, is: 'normal'}, + {at: 1, is: 'normal'}, + {at: 1.5, is: 'normal'}, +]); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/animations/composition/row-gap-composition.html b/third_party/WebKit/LayoutTests/animations/composition/row-gap-composition.html new file mode 100644 index 0000000..055d5cb --- /dev/null +++ b/third_party/WebKit/LayoutTests/animations/composition/row-gap-composition.html
@@ -0,0 +1,58 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<body> +<script src="../interpolation/resources/interpolation-test.js"></script> +<script> +assertComposition({ + property: 'row-gap', + underlying: '50px', + addFrom: '100px', + addTo: '200px', +}, [ + {at: -0.3, is: '120px'}, + {at: 0, is: '150px'}, + {at: 0.5, is: '200px'}, + {at: 1, is: '250px'}, + {at: 1.5, is: '300px'}, +]); + +assertComposition({ + property: 'row-gap', + underlying: '100px', + addFrom: '10px', + addTo: '2px', +}, [ + {at: -0.5, is: '114px'}, + {at: 0, is: '110px'}, + {at: 0.5, is: '106px'}, + {at: 1, is: '102px'}, + {at: 1.5, is: '98px'}, // Value clamping should happen after composition. +]); + +assertComposition({ + property: 'row-gap', + underlying: '50px', + addFrom: '100px', + replaceTo: '200px', +}, [ + {at: -0.3, is: '135px'}, + {at: 0, is: '150px'}, + {at: 0.5, is: '175px'}, + {at: 1, is: '200px'}, + {at: 1.5, is: '225px'}, +]); + +assertComposition({ + property: 'row-gap', + underlying: '100px', + addFrom: '100px', + addTo: 'normal', +}, [ + {at: -0.3, is: '200px'}, + {at: 0, is: '200px'}, + {at: 0.5, is: 'normal'}, + {at: 1, is: 'normal'}, + {at: 1.5, is: 'normal'}, +]); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/svg-x-interpolation.html b/third_party/WebKit/LayoutTests/animations/interpolation/svg-x-interpolation.html new file mode 100644 index 0000000..7f44148 --- /dev/null +++ b/third_party/WebKit/LayoutTests/animations/interpolation/svg-x-interpolation.html
@@ -0,0 +1,151 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<style> +.container { + margin-bottom: -4px; +} +.parent { + x: 30px; +} +.target { + fill: black; + x: 10px; +} +.expected { + fill: green; +} +</style> +<body> +<template id="target-template"> + <svg width="400" height="20"> + <rect y="0" width="400" height="20" class="target"/> + </svg> +</template> +<script src="resources/interpolation-test.js"></script> +<script> +assertInterpolation({ + property: 'x', + from: neutralKeyframe, + to: '20px', +}, [ + {at: -0.3, is: '7px'}, + {at: 0, is: '10px'}, + {at: 0.3, is: '13px'}, + {at: 0.6, is: '16px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '25px'}, +]); + +assertInterpolation({ + property: 'x', + from: 'initial', + to: '20px', +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); + +assertInterpolation({ + property: 'x', + from: 'unset', + to: '20px', +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); + +assertInterpolation({ + property: 'x', + from: 'inherit', + to: '20px', +}, [ + {at: -0.3, is: '33px'}, + {at: 0, is: '30px'}, + {at: 0.3, is: '27px'}, + {at: 0.6, is: '24px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '15px'}, +]); + +assertInterpolation({ + property: 'x', + from: '0px', + to: '20px' +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); +assertInterpolation({ + property: 'x', + from: '0px', + to: '10em' +}, [ + {at: -0.3, is: '-3em'}, + {at: 0, is: '0em'}, + {at: 0.3, is: '3em'}, + {at: 0.6, is: '6em'}, + {at: 1, is: '10em'}, + {at: 1.5, is: '15em'}, +]); +assertInterpolation({ + property: 'x', + from: '30px', + to: '10em' +}, [ + {at: -0.3, is: '-9px'}, + {at: 0, is: '30px'}, + {at: 0.3, is: '69px'}, + {at: 0.6, is: '108px'}, + {at: 1, is: '10em'}, + {at: 1.5, is: '225px'}, +]); +assertInterpolation({ + property: 'x', + from: '10em', + to: '0px' +}, [ + {at: -0.3, is: '13em'}, + {at: 0, is: '10em'}, + {at: 0.3, is: '7em'}, + {at: 0.6, is: '4em'}, + {at: 1, is: '0em'}, + {at: 1.5, is: '-5em'}, +]); +assertInterpolation({ + property: 'x', + from: '10em', + to: '30px' +}, [ + {at: -0.3, is: '199px'}, + {at: 0, is: '10em'}, + {at: 0.3, is: '121px'}, + {at: 0.6, is: '82px'}, + {at: 1, is: '30px'}, + {at: 1.5, is: '-35px'}, +]); +assertInterpolation({ + property: 'x', + from: '0', + to: '20' +}, [ + {at: -0.3, is: '-6'}, + {at: 0, is: '0'}, + {at: 0.3, is: '6'}, + {at: 0.6, is: '12'}, + {at: 1, is: '20'}, + {at: 1.5, is: '30'}, +]); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/animations/interpolation/svg-y-interpolation.html b/third_party/WebKit/LayoutTests/animations/interpolation/svg-y-interpolation.html new file mode 100644 index 0000000..7d9da00 --- /dev/null +++ b/third_party/WebKit/LayoutTests/animations/interpolation/svg-y-interpolation.html
@@ -0,0 +1,151 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<style> +.container { + margin-bottom: -4px; +} +.parent { + y: 30px; +} +.target { + fill: black; + y: 10px; +} +.expected { + fill: green; +} +</style> +<body> +<template id="target-template"> + <svg width="400" height="20"> + <rect x="0" width="400" height="20" class="target"/> + </svg> +</template> +<script src="resources/interpolation-test.js"></script> +<script> +assertInterpolation({ + property: 'y', + from: neutralKeyframe, + to: '20px', +}, [ + {at: -0.3, is: '7px'}, + {at: 0, is: '10px'}, + {at: 0.3, is: '13px'}, + {at: 0.6, is: '16px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '25px'}, +]); + +assertInterpolation({ + property: 'y', + from: 'initial', + to: '20px', +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); + +assertInterpolation({ + property: 'y', + from: 'unset', + to: '20px', +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); + +assertInterpolation({ + property: 'y', + from: 'inherit', + to: '20px', +}, [ + {at: -0.3, is: '33px'}, + {at: 0, is: '30px'}, + {at: 0.3, is: '27px'}, + {at: 0.6, is: '24px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '15px'}, +]); + +assertInterpolation({ + property: 'y', + from: '0px', + to: '20px' +}, [ + {at: -0.3, is: '-6px'}, + {at: 0, is: '0px'}, + {at: 0.3, is: '6px'}, + {at: 0.6, is: '12px'}, + {at: 1, is: '20px'}, + {at: 1.5, is: '30px'}, +]); +assertInterpolation({ + property: 'y', + from: '0px', + to: '10em' +}, [ + {at: -0.3, is: '-3em'}, + {at: 0, is: '0em'}, + {at: 0.3, is: '3em'}, + {at: 0.6, is: '6em'}, + {at: 1, is: '10em'}, + {at: 1.5, is: '15em'}, +]); +assertInterpolation({ + property: 'y', + from: '30px', + to: '10em' +}, [ + {at: -0.3, is: '-9px'}, + {at: 0, is: '30px'}, + {at: 0.3, is: '69px'}, + {at: 0.6, is: '108px'}, + {at: 1, is: '10em'}, + {at: 1.5, is: '225px'}, +]); +assertInterpolation({ + property: 'y', + from: '10em', + to: '0px' +}, [ + {at: -0.3, is: '13em'}, + {at: 0, is: '10em'}, + {at: 0.3, is: '7em'}, + {at: 0.6, is: '4em'}, + {at: 1, is: '0em'}, + {at: 1.5, is: '-5em'}, +]); +assertInterpolation({ + property: 'y', + from: '10em', + to: '30px' +}, [ + {at: -0.3, is: '199px'}, + {at: 0, is: '10em'}, + {at: 0.3, is: '121px'}, + {at: 0.6, is: '82px'}, + {at: 1, is: '30px'}, + {at: 1.5, is: '-35px'}, +]); +assertInterpolation({ + property: 'y', + from: '0', + to: '20' +}, [ + {at: -0.3, is: '-6'}, + {at: 0, is: '0'}, + {at: 0.3, is: '6'}, + {at: 0.6, is: '12'}, + {at: 1, is: '20'}, + {at: 1.5, is: '30'}, +]); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.html b/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.html new file mode 100644 index 0000000..f73e308 --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.html
@@ -0,0 +1,34 @@ +<!doctype HTML> + +<script> +if (window.internals) + internals.settings.setPreferCompositingToLCDTextEnabled(true); +</script> + +<style> +body { + background-color: pink; +} + +#container { + height: 500px; + width: 250px; + overflow: scroll; + border-radius: 30px 30px 30px 30px; + background-color: blue; + border: 10px solid black; +} +#container::-webkit-scrollbar { + display: none; +} +</style> + +<div id="container"> + <div style="width:200px; height:800px; background-color:lightgreen"></div> +</div> + +<script> +document.getElementById("container").scrollTop = 1; +</script> + +
diff --git a/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.png b/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.png deleted file mode 100644 index b67488e..0000000 --- a/third_party/WebKit/LayoutTests/compositing/scroll-with-inner-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild-expected.txt b/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild-expected.txt index 065ef5a..d53be79 100644 --- a/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild-expected.txt +++ b/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild-expected.txt
@@ -2,18 +2,18 @@ Rules from the stylesheet: -#a:nth-child(1n-1) { color: green; } -#b:nth-child(1n-10) { color: green; } -#g:nth-child(-1n-1) { color: green; } -#h:nth-child(-1n-10) { color: green; } -#n:nth-child(-1n-1) { color: green; } -#o:nth-child(-1n+13) { color: green; } +#a:nth-child(n-1) { color: green; } +#b:nth-child(n-10) { color: green; } +#g:nth-child(-n-1) { color: green; } +#h:nth-child(-n-10) { color: green; } +#n:nth-child(-n-1) { color: green; } +#o:nth-child(-n+13) { color: green; } Expected result: -#a:nth-child(1n-1) { color: green; } -#b:nth-child(1n-10) { color: green; } -#g:nth-child(-1n-1) { color: green; } -#h:nth-child(-1n-10) { color: green; } -#n:nth-child(-1n-1) { color: green; } -#o:nth-child(-1n+13) { color: green; } +#a:nth-child(n-1) { color: green; } +#b:nth-child(n-10) { color: green; } +#g:nth-child(-n-1) { color: green; } +#h:nth-child(-n-10) { color: green; } +#n:nth-child(-n-1) { color: green; } +#o:nth-child(-n+13) { color: green; }
diff --git a/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild.html b/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild.html index de6d104..3270092 100644 --- a/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild.html +++ b/third_party/WebKit/LayoutTests/css3/parsing-css3-nthchild.html
@@ -52,11 +52,11 @@ <p>Expected result:</p> -<pre id="expected">#a:nth-child(1n-1) { color: green; } -#b:nth-child(1n-10) { color: green; } -#g:nth-child(-1n-1) { color: green; } -#h:nth-child(-1n-10) { color: green; } -#n:nth-child(-1n-1) { color: green; } -#o:nth-child(-1n+13) { color: green; } +<pre id="expected">#a:nth-child(n-1) { color: green; } +#b:nth-child(n-10) { color: green; } +#g:nth-child(-n-1) { color: green; } +#h:nth-child(-n-10) { color: green; } +#n:nth-child(-n-1) { color: green; } +#o:nth-child(-n+13) { color: green; } </pre> </body>
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json index 4214f0258..ae78a8f 100644 --- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json +++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -50773,30 +50773,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-136.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-136.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-137.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-137.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-138.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-138.html", @@ -50845,30 +50821,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-142.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-142.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-143.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-143.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-144.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-144.html", @@ -50941,30 +50893,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-150.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-150.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-151.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-151.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-152.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-152.html", @@ -52153,30 +52081,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-356.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-356.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-357.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-357.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-358.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-358.html", @@ -52201,30 +52105,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-360.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-360.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-361.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-361.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-362.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-362.html", @@ -52297,30 +52177,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-368.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-368.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-jazh-369.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-369.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-370.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-370.html", @@ -52333,18 +52189,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-jazh-371.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-jazh-371.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/i18n/css3-text-line-break-jazh-372.html": [ [ "/css/css-text/i18n/css3-text-line-break-jazh-372.html", @@ -54709,246 +54553,6 @@ {} ] ], - "css/css-text/i18n/css3-text-line-break-opclns-250.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-250.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-250-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-251.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-251.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-251-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-252.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-252.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-252-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-253.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-253.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-253-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-254.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-254.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-254-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-255.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-255.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-255-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-256.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-256.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-256-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-257.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-257.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-257-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-258.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-258.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-258-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-259.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-259.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-259-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-260.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-260.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-260-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-261.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-261.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-261-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-262.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-262.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-262-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-263.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-263.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-263-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-264.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-264.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-264-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-265.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-265.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-265-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-266.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-266.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-266-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-267.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-267.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-267-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-268.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-268.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-268-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/i18n/css3-text-line-break-opclns-269.html": [ - [ - "/css/css-text/i18n/css3-text-line-break-opclns-269.html", - [ - [ - "/css/css-text/i18n/reference/css3-text-line-break-opclns-269-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/line-break/line-break-anywhere-001.html": [ [ "/css/css-text/line-break/line-break-anywhere-001.html", @@ -119926,16 +119530,6 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-138-ref.html": [ [ {} @@ -119956,16 +119550,6 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-144-ref.html": [ [ {} @@ -119996,16 +119580,6 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-152-ref.html": [ [ {} @@ -120501,16 +120075,6 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-358-ref.html": [ [ {} @@ -120521,16 +120085,6 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-362-ref.html": [ [ {} @@ -120561,26 +120115,11 @@ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html": [ - [ - {} - ] - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-370-ref.html": [ [ {} ] ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html": [ - [ - {} - ] - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-372-ref.html": [ [ {} @@ -129201,11 +128740,6 @@ {} ] ], - "css/cssom/selectorSerialize-expected.txt": [ - [ - {} - ] - ], "css/cssom/selectorText-modification-restyle-001-ref.html": [ [ {} @@ -135891,6 +135425,21 @@ {} ] ], + "fetch/api/basic/integrity-expected.txt": [ + [ + {} + ] + ], + "fetch/api/basic/integrity-sharedworker-expected.txt": [ + [ + {} + ] + ], + "fetch/api/basic/integrity-worker-expected.txt": [ + [ + {} + ] + ], "fetch/api/basic/integrity.js": [ [ {} @@ -158191,6 +157740,11 @@ {} ] ], + "service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt": [ + [ + {} + ] + ], "service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https-expected.txt": [ [ {} @@ -158211,6 +157765,11 @@ {} ] ], + "service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https-expected.txt": [ + [ + {} + ] + ], "service-workers/service-worker/worker-interception.https-expected.txt": [ [ {} @@ -225588,6 +225147,12 @@ {} ] ], + "service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html": [ + [ + "/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html", + {} + ] + ], "service-workers/service-worker/worker-interception.https.html": [ [ "/service-workers/service-worker/worker-interception.https.html", @@ -290778,7 +290343,7 @@ "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-059.html": [ - "441bba685c74200fbf3d7fc39fd07ae24935a4fe", + "61a24d7f198ef0d89dee80e3b02a6d2bf81ee935", "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-060.html": [ @@ -290925,14 +290490,6 @@ "e628966638c01b0056a81359819f23ca1b46db81", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-136.html": [ - "028b30812331c5f0f7942623107b7f7208b27d62", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-137.html": [ - "d0fd5bc2bfe13f73256589c1dfc505f4c97dbb79", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-138.html": [ "cc6c2159ad667f85c798ba97ba0f2d675f498153", "reftest" @@ -290949,14 +290506,6 @@ "fcb97f65dc888e9b2939362a887b86dfd5093d45", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-142.html": [ - "f0b6b0fc8732d390cfbac6519911b17305ddb9db", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-143.html": [ - "ec907f5ff567851bbd8af9cc9bb5290ba754e871", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-144.html": [ "8e33ac0d04665f126cb1e96d9d2cd7b0fe9350f2", "reftest" @@ -290981,14 +290530,6 @@ "085886eb38662fa7764bcbb282f6f1d38e3ad49c", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-150.html": [ - "9a1667a33fe473190dffed99dbea12cfd70e0dfc", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-151.html": [ - "9ee3337fb8249b9a67385aacd18bd3a07ed15f95", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-152.html": [ "7e18020c08b336734342e979413a24b1ffd61c06", "reftest" @@ -291014,7 +290555,7 @@ "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-159.html": [ - "b14ce259e7ba80d3072158040d99463d2c1cb6d3", + "be8d6127288ae3e2e17f47b3e5801113b9ba2498", "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-160.html": [ @@ -291250,7 +290791,7 @@ "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-259.html": [ - "d6988ac252f9f2fb937c92628e18e206b47adcab", + "1eaa17b6d3d882c7109c7eb4850b1d817c548a0a", "reftest" ], "css/css-text/i18n/css3-text-line-break-jazh-260.html": [ @@ -291385,14 +290926,6 @@ "876e776bf378ae802a3be9d9ab353177cecec8ec", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-356.html": [ - "8986cce3d5c27edc2281cb1516a9c23f471e8041", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-357.html": [ - "853f50ab85816eea0e3df32436d3feecd92ecc6d", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-358.html": [ "9e186fe239433777968e005e27f996025f7aef55", "reftest" @@ -291401,14 +290934,6 @@ "754e39219230782ab590eec7757a3a0ad8d2617f", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-360.html": [ - "c0f3ebd68775445883975c60099a2650f6a4959c", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-361.html": [ - "d7d7031ed3d1debe0022d0b841955673a51cc35b", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-362.html": [ "a671ef16766ff405c05ddc4a97896821ddfddcf3", "reftest" @@ -291433,22 +290958,10 @@ "4bd63c6253bcd863b3de5f4d676998346677fb61", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-368.html": [ - "d92acacb167134fb0581ca2f338c52f2f43af31f", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-jazh-369.html": [ - "bde908bc83a2663604bb36951973947b545ebc23", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-370.html": [ "050fbe1c84a2fda8fa1848c9bedf65bd3b1e62b9", "reftest" ], - "css/css-text/i18n/css3-text-line-break-jazh-371.html": [ - "0249a6cbb17990ce6fa8578915f5a205191d1f1a", - "reftest" - ], "css/css-text/i18n/css3-text-line-break-jazh-372.html": [ "0935fa360b977fb6488833143bd89cf69654a657", "reftest" @@ -292237,86 +291750,6 @@ "7002c8b61605fbfe6036ba34b037e5fd79cedd2d", "reftest" ], - "css/css-text/i18n/css3-text-line-break-opclns-250.html": [ - "0c257106be0046ddd2184d26a5910850a99c094d", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-251.html": [ - "0a9af1437a9e1d712d10938c52d26730b4faa588", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-252.html": [ - "3f4ac50824582cda56fad747b87b1eee2690594d", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-253.html": [ - "fe48d63a68b4210414d82e8a10d9e9d63c89a6af", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-254.html": [ - "9e053a8d4d052bd686692b22013c33c36e975c9d", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-255.html": [ - "74023538fe0051bbd22747eb211ecf3f70f617b0", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-256.html": [ - "acf836832779924290622baa072d1ebbadf6d7a3", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-257.html": [ - "a68665f8b976771dae9f8a0b102c2e921cf86ff3", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-258.html": [ - "350d8a418cc2049c0afbe80e031b88e0f85c6e5b", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-259.html": [ - "bbdbe1f364de2fea1cd78799e0c0d9cbc9d874ec", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-260.html": [ - "8e6e186b7ce3326b952cde247d8500181b6bbaad", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-261.html": [ - "1947b3753ea240dbd85b83ce83ba2440843f9b56", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-262.html": [ - "e20213d5f0ece19d5c3730bba9b0b6fbb4fbe5d6", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-263.html": [ - "48054000f849e4676723c272587271bbce9b622d", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-264.html": [ - "82eb0d3d8808430407e8d34b497c57bf18c89e76", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-265.html": [ - "cf773e48b96051cc6f2d53c0cd0f8fab96b04387", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-266.html": [ - "35241ea5c8a27343f49d26a59e9b16a6c9541184", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-267.html": [ - "7a58ac224f0ccc4a92460603606155c236e10746", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-268.html": [ - "949d7b4c723af83ad4eaa2465e1d740b5ba14b0a", - "reftest" - ], - "css/css-text/i18n/css3-text-line-break-opclns-269.html": [ - "7bc750e1f05e5f7f149bcb9502f7356172a9ad2d", - "reftest" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-001-ref.html": [ "dfca6f69babcadd02e98b4175d04be157e350f02", "support" @@ -292546,7 +291979,7 @@ "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-059-ref.html": [ - "e20fbb238e6e2f9a9c596f991261ceaeba3cc071", + "db5cf77f2fca3ba5a32f1699a1125b5f04c624a2", "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-060-ref.html": [ @@ -292693,14 +292126,6 @@ "f981ab3ed38ae3564c178ec711106073e60c864e", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html": [ - "a8928bd9c20ad80a704c0a9828c88b19d1583b7a", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html": [ - "0e56f824e0c01e3c9ea35a89daf9bf7ce865a9c0", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-138-ref.html": [ "eabbdf8ae823b4169970548e1924c00a243bfc88", "support" @@ -292717,14 +292142,6 @@ "a9952bc7f9c7c26316978424f1c82df2f9fa103e", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html": [ - "6ab31c44aa3e97245527ee9ae34e3f45791a41fd", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html": [ - "639b4fc683f042848cc44a26f12dd9d9613869f8", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-144-ref.html": [ "ea6a33d39008c3ada16372b72881422d6110f7af", "support" @@ -292749,14 +292166,6 @@ "cc2add18e259e1c758b0bda4f85999840d0bad34", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html": [ - "f719462e2a20a5a2ec49e738a995ce1f1f896909", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html": [ - "762a0ca831f94261d76a597a5a10e5316d6d69aa", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-152-ref.html": [ "144685c6bbf03b507766b61518af4b8d25e2aa32", "support" @@ -292782,7 +292191,7 @@ "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-159-ref.html": [ - "a212ff1de3ca8e0c5967b9e74b51ab4a6d18a650", + "00c9a299162f7f413b5d110961e6fa2897614f8c", "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-160-ref.html": [ @@ -293018,7 +292427,7 @@ "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-259-ref.html": [ - "dfd46a769e387a9f04e0d38ffd42a02d0493ced5", + "c6dcfbace2ef1277ecc512d7e05263f7852c9f74", "support" ], "css/css-text/i18n/reference/css3-text-line-break-jazh-260-ref.html": [ @@ -293153,14 +292562,6 @@ "2184ee89fc0e2c70b1ced5e875320624c271cbff", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html": [ - "79a91cf098a1fd3ee1c3ff4d0b1fcfcb05711332", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html": [ - "b60bbd23c5e94d9a9277a0bc73dc7354c8200643", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-358-ref.html": [ "ca08db956cd731e55c14c911a9b1957a3467ee0f", "support" @@ -293169,14 +292570,6 @@ "dc349b1cc59751ea1f1eb47b7319a204f77fbbed", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html": [ - "22d0d65299d0056806f294521e6d17329ebc53da", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html": [ - "e72b0545026f6e95df50483a974d92789f1ee33f", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-362-ref.html": [ "16b48b30e974e404649527e21dbc9290949af50c", "support" @@ -293201,22 +292594,10 @@ "9c977ac12309fe093285b5fa912515226e9bed7e", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html": [ - "52221442f7e78b8035368a0505f37fbc22e447e1", - "support" - ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html": [ - "411fbd29255bc92888a4dfc33d383bcdf858a1e9", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-370-ref.html": [ "69b5560b5a382e660254066d0dee43e1e50f4188", "support" ], - "css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html": [ - "52221442f7e78b8035368a0505f37fbc22e447e1", - "support" - ], "css/css-text/i18n/reference/css3-text-line-break-jazh-372-ref.html": [ "adcd3902d7d1d5f4dc68ff7bd1c497e937c87722", "support" @@ -312197,10 +311578,6 @@ "199039706289f577652b968706fc1251398acd1c", "testharness" ], - "css/cssom/selectorSerialize-expected.txt": [ - "ca6e0f11e1568187d5908da00e3abfb0f5b3d9f4", - "support" - ], "css/cssom/selectorSerialize.html": [ "002777c7c598eb1131ab625365ee3fe08650e830", "testharness" @@ -313350,7 +312727,7 @@ "testharness" ], "css/selectors/child-indexed-pseudo-class.html": [ - "cdf340dd83ea3a32d0d7edc31b5ded294585ef83", + "879a5f48d8a06514d457f29d245cd407321366ee", "testharness" ], "css/selectors/css3-modsel-1.xml": [ @@ -323041,10 +322418,22 @@ "54181cd222c7a5428f9468f4777c273ecc553f4f", "testharness" ], + "fetch/api/basic/integrity-expected.txt": [ + "bc5d7efddbf3a7093955d2d5b950cfb10a2843d2", + "support" + ], + "fetch/api/basic/integrity-sharedworker-expected.txt": [ + "bc5d7efddbf3a7093955d2d5b950cfb10a2843d2", + "support" + ], "fetch/api/basic/integrity-sharedworker.html": [ "00d7eae5a324653caae19ab83bef76dd3503fb3b", "testharness" ], + "fetch/api/basic/integrity-worker-expected.txt": [ + "bc5d7efddbf3a7093955d2d5b950cfb10a2843d2", + "support" + ], "fetch/api/basic/integrity-worker.html": [ "1a0a6abd1c6bf8c4665a242d64f50bbbff4982f8", "testharness" @@ -323054,7 +322443,7 @@ "testharness" ], "fetch/api/basic/integrity.js": [ - "c697c5f11dec146f814d19472a8b94b0f50b1ae5", + "59e8c5ebf0dfd2ab2432f28dcee5db82e9505cff", "support" ], "fetch/api/basic/keepalive.html": [ @@ -366130,7 +365519,7 @@ "support" ], "service-workers/service-worker/resources/sandboxed-iframe-fetch-event-iframe.py": [ - "885f52b5de4a6d5cd7042185715880a05c4f313d", + "00fe14c8735fc69ad9747f0765cd43b3b91c8413", "support" ], "service-workers/service-worker/resources/sandboxed-iframe-fetch-event-worker.js": [ @@ -366273,8 +365662,12 @@ "e2e9b5d70f141e71f3617a11a336affea66662db", "testharness" ], + "service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt": [ + "de02b2f0356fb33e12db250254888b7fd461071d", + "support" + ], "service-workers/service-worker/sandboxed-iframe-fetch-event.https.html": [ - "88551108e4b1d56ab41a3dee041a43f4646eb49d", + "1a3f683df9e20fcd783ee4632dfc62c3e9ea4033", "testharness" ], "service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https-expected.txt": [ @@ -366413,6 +365806,14 @@ "828d8d920459541a37e747ac01376fdcac51ffb3", "testharness" ], + "service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https-expected.txt": [ + "e575c201914619b30abae06b042e92771c759c5b", + "support" + ], + "service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html": [ + "c9cff3f5fb5c205020ad39df6d22ad19ce0cbb0a", + "testharness" + ], "service-workers/service-worker/worker-interception.https-expected.txt": [ "d880a66c3cea35ee82db031c353a81ed0278cb16", "support"
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_min-auto-size.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_min-auto-size.html new file mode 100644 index 0000000..ccfeb35 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_min-auto-size.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<title>CSS Flexible Box Test: computed style for auto minimum size</title> +<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org" /> +<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" /> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + .flex { display: flex } + .none { display: none } + .min-wh { + min-width: auto; + min-height: auto; + } + .contents { display: contents } +</style> +<div class="flex"> + <div class="min-wh"></div> +</div> +<div class="none"> + <div class="flex"> + <div class="min-wh"></div> + </div> +</div> +<div class="flex"> + <div class="contents"> + <div class="min-wh"></div> + </div> +</div> +<div class="flex"> + <div class="min-wh none"></div> +</div> +<script> + const tests = [ + { description: "Computed min-width/min-height of specified auto for flex item.", computed: "auto" }, + { description: "Computed min-width/min-height of specified auto inside display:none which would otherwise have been a flex item.", computed: "0px" }, + { description: "Computed min-width/min-height of specified auto for flex item inside display:contents.", computed: "auto" }, + { description: "Computed min-width/min-height of specified auto with display:none which would otherwise have been a flex item.", computed: "0px" } + ]; + + const testElements = document.querySelectorAll(".min-wh"); + let testNo = 0; + for (let testElement of testElements) { + test(() => { + assert_equals(getComputedStyle(testElement).minWidth, tests[testNo].computed); + assert_equals(getComputedStyle(testElement).minHeight, tests[testNo].computed); + }, tests[testNo].description); + testNo++; + } +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-items/grid-item-min-auto-size-001.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-items/grid-item-min-auto-size-001.html new file mode 100644 index 0000000..f50e9ef3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-grid/grid-items/grid-item-min-auto-size-001.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<title>CSS Grid Test: computed style for auto minimum size</title> +<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org" /> +<link rel="help" href="https://drafts.csswg.org/css-grid/#min-size-auto" /> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + .grid { display: grid } + .none { display: none } + .min-wh { + min-width: auto; + min-height: auto; + } + .contents { display: contents } +</style> +<div class="grid"> + <div class="min-wh"></div> +</div> +<div class="none"> + <div class="grid"> + <div class="min-wh"></div> + </div> +</div> +<div class="grid"> + <div class="contents"> + <div class="min-wh"></div> + </div> +</div> +<div class="grid"> + <div class="min-wh none"></div> +</div> +<script> + const tests = [ + { description: "Computed min-width/min-height of specified auto for grid item.", computed: "auto" }, + { description: "Computed min-width/min-height of specified auto inside display:none which would otherwise have been a grid item.", computed: "0px" }, + { description: "Computed min-width/min-height of specified auto for grid item inside display:contents.", computed: "auto" }, + { description: "Computed min-width/min-height of specified auto with display:none which would otherwise have been a grid item.", computed: "0px" } + ]; + + const testElements = document.querySelectorAll(".min-wh"); + let testNo = 0; + for (let testElement of testElements) { + test(() => { + assert_equals(getComputedStyle(testElement).minWidth, tests[testNo].computed); + assert_equals(getComputedStyle(testElement).minHeight, tests[testNo].computed); + }, tests[testNo].description); + testNo++; + } +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-059.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-059.html index 4122c0d..e92e226f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-059.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-059.html
@@ -29,7 +29,7 @@ -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div> <!--Notes:
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-136.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-136.html deleted file mode 100644 index efa0855..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-136.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003A COLON (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-136-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003A COLON at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中:文</div> - - - - - -<div class='ref'>中中中<br/>:文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-137.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-137.html deleted file mode 100644 index 9966ccb..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-137.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-137-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003B SEMICOLON at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中;文</div> - - - - - -<div class='ref'>中中中<br/>;文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-142.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-142.html deleted file mode 100644 index 44298c5..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-142.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-142-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 0021 EXCLAMATION MARK at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中!文</div> - - - - - -<div class='ref'>中中中<br/>!文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-143.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-143.html deleted file mode 100644 index d5eaf358..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-143.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-143-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003F QUESTION MARK at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中?文</div> - - - - - -<div class='ref'>中中中<br/>?文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-150.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-150.html deleted file mode 100644 index 56afc21..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-150.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-150-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中%文</div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-151.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-151.html deleted file mode 100644 index 4c575aa..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-151.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-151-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 00A2 CENT SIGN at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='ja'>中中中¢文</div> - - - - - -<div class='ref'>中中中<br/>¢文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-159.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-159.html index f880636..aa014e2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-159.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-159.html
@@ -29,7 +29,7 @@ -<div class='ref'>中中中<br/>¢文</div></div> +<div class='ref' lang='ja'>中中中<br/>¢文</div></div> <!--Notes:
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-259.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-259.html index 5f56412..4adb0bd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-259.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-259.html
@@ -29,7 +29,7 @@ -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div> <!--Notes:
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-356.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-356.html deleted file mode 100644 index 6f681e77..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-356.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003A COLON (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-356-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003A COLON at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中:文</div> - - - - - -<div class='ref'>中中中<br/>:文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-357.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-357.html deleted file mode 100644 index 11f9dd317..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-357.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-357-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003B SEMICOLON at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中;文</div> - - - - - -<div class='ref'>中中中<br/>;文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-360.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-360.html deleted file mode 100644 index adf4783f..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-360.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-360-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 0021 EXCLAMATION MARK at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中!文</div> - - - - - -<div class='ref'>中中中<br/>!文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-361.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-361.html deleted file mode 100644 index a052e31..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-361.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-361-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 003F QUESTION MARK at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中?文</div> - - - - - -<div class='ref'>中中中<br/>?文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-368.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-368.html deleted file mode 100644 index e950f8f..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-368.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-368-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中%文</div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-369.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-369.html deleted file mode 100644 index 6550c12..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-369.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-369-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 00A2 CENT SIGN at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中¢文</div> - - - - - -<div class='ref'>中中中<br/>¢文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-371.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-371.html deleted file mode 100644 index e5b54cc..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/css3-text-line-break-jazh-371.html +++ /dev/null
@@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break'> -<link rel="match" href="reference/css3-text-line-break-jazh-371-ref.html"> -<meta name='flags' content=''> -<meta name="assert" content="The browser will allow 0025 PERCENT SIGN at the beginning of a line."> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='test' lang='zh'>中中中%文</div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - -<!--Notes: -<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>. - - ---> - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-059-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-059-ref.html index a2c5c48..55ceb945 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-059-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-059-ref.html
@@ -20,13 +20,13 @@ <p class='instructions'>Test passes if the two orange boxes are identical.</p> -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div> -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html deleted file mode 100644 index 2f78be6..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-136-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003A COLON (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>:文</div></div> - - - - - -<div class='ref'>中中中<br/>:文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html deleted file mode 100644 index e09981f..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-137-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>;文</div></div> - - - - - -<div class='ref'>中中中<br/>;文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html deleted file mode 100644 index 68a07b4..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-142-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>!文</div></div> - - - - - -<div class='ref'>中中中<br/>!文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html deleted file mode 100644 index c515013..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-143-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>?文</div></div> - - - - - -<div class='ref'>中中中<br/>?文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html deleted file mode 100644 index 0019808..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-150-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>%文</div></div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html deleted file mode 100644 index e0a2f88..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-151-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,ja)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>¢文</div></div> - - - - - -<div class='ref'>中中中<br/>¢文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-159-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-159-ref.html index aeee9f5..a283411 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-159-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-159-ref.html
@@ -20,13 +20,13 @@ <p class='instructions'>Test passes if the two orange boxes are identical.</p> -<div class='ref'>中中中<br/>¢文</div></div> +<div class='ref' lang='ja'>中中中<br/>¢文</div></div> -<div class='ref'>中中中<br/>¢文</div></div> +<div class='ref' lang='ja'>中中中<br/>¢文</div></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-259-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-259-ref.html index 68245da..94e030a2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-259-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-259-ref.html
@@ -20,13 +20,13 @@ <p class='instructions'>Test passes if the two orange boxes are identical.</p> -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div> -<div class='ref'>中中<br/>中¢文</div></div> +<div class='ref' lang='ja'>中中<br/>中¢文</div></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html deleted file mode 100644 index 860ca69..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-356-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003A COLON (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>:文</div></div> - - - - - -<div class='ref'>中中中<br/>:文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html deleted file mode 100644 index 505af32..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-357-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003B SEMICOLON (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>;文</div></div> - - - - - -<div class='ref'>中中中<br/>;文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html deleted file mode 100644 index 248f4223..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-360-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0021 EXCLAMATION MARK (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>!文</div></div> - - - - - -<div class='ref'>中中中<br/>!文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html deleted file mode 100644 index c537143..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-361-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 003F QUESTION MARK (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>?文</div></div> - - - - - -<div class='ref'>中中中<br/>?文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html deleted file mode 100644 index 2a8cc27..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-368-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>%文</div></div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html deleted file mode 100644 index 03abdb5..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-369-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 00A2 CENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>¢文</div></div> - - - - - -<div class='ref'>中中中<br/>¢文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html deleted file mode 100644 index 2a8cc27..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/reference/css3-text-line-break-jazh-371-ref.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html lang="en" > -<head> -<meta charset="utf-8"/> -<title>CSS3 Text, linebreaks: 0025 PERCENT SIGN (loose,zh)</title> -<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> -<meta name='flags' content=''> -<style type='text/css'> -@font-face { - font-family: 'mplus-1p-regular'; - src: url('support/mplus-1p-regular.woff') format('woff'); - /* filesize: 803K */ - } -.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 93px; padding: 0; border: 1px solid orange; line-height: 1em; } -.name { font-size: 10px; } -.test { line-break: loose; } -</style> -</head> -<body> -<p class='instructions'>Test passes if the two orange boxes are identical.</p> - - -<div class='ref'>中中中<br/>%文</div></div> - - - - - -<div class='ref'>中中中<br/>%文</div></div> - - - - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html index 92b9625..3f94a89 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/append.tentative.html
@@ -17,6 +17,8 @@ { property: 'transition-duration', values: [CSS.px(10)], desc: 'an invalid CSSStyleValue' }, { property: 'transition-duration', values: ['10px'], desc: 'an invalid String value' }, { property: 'transition-duration', values: [CSS.s(1), '10px', CSS.px(10)], desc: 'a mix of valid and invalid values' }, + { property: 'transition-duration', values: [new CSSUnparsedValue([])], desc: 'a CSSUnparsedValue' }, + { property: 'transition-duration', values: ['var(--A)'], desc: 'a var ref' }, ]; for (const {property, values, desc} of gInvalidTestCases) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html index 232c7d3..6161f94 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html
@@ -35,6 +35,22 @@ test(t => { let styleMap = createDeclaredStyleMap(t, ''); + assert_throws(new TypeError(), () => { + styleMap.set('transition-duration', '1s', new CSSUnparsedValue([])); + }); +}, 'Setting a list-valued property with a CSSUnparsedValue and other ' + + 'values throws TypeError'); + +test(t => { + let styleMap = createDeclaredStyleMap(t, ''); + assert_throws(new TypeError(), () => { + styleMap.set('transition-duration', '1s', 'var(--A)'); + }); +}, 'Setting a list-valued property with a var ref() and other values ' + + 'throws TypeError'); + +test(t => { + let styleMap = createDeclaredStyleMap(t, ''); styleMap.set('width', CSS.px(10)); assert_style_value_array_equals(styleMap.get('width'), CSS.px(10));
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html index a7f6f5f2..36c14d7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/append.tentative.html
@@ -17,6 +17,8 @@ { property: 'transition-duration', values: [CSS.px(10)], desc: 'an invalid CSSStyleValue' }, { property: 'transition-duration', values: ['10px'], desc: 'an invalid String value' }, { property: 'transition-duration', values: [CSS.s(1), '10px', CSS.px(10)], desc: 'a mix of valid and invalid values' }, + { property: 'transition-duration', values: [new CSSUnparsedValue([])], desc: 'a CSSUnparsedValue' }, + { property: 'transition-duration', values: ['var(--A)'], desc: 'a var ref' }, ]; for (const {property, values, desc} of gInvalidTestCases) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html index 67d2426..411323a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html
@@ -35,6 +35,22 @@ test(t => { let styleMap = createInlineStyleMap(t, ''); + assert_throws(new TypeError(), () => { + styleMap.set('transition-duration', '1s', new CSSUnparsedValue([])); + }); +}, 'Setting a list-valued property with a CSSUnparsedValue and other ' + + 'values throws TypeError'); + +test(t => { + let styleMap = createInlineStyleMap(t, ''); + assert_throws(new TypeError(), () => { + styleMap.set('transition-duration', '1s', 'var(--A)'); + }); +}, 'Setting a list-valued property with a var ref() and other values ' + + 'throws TypeError'); + +test(t => { + let styleMap = createInlineStyleMap(t, ''); styleMap.set('width', CSS.px(10)); assert_style_value_array_equals(styleMap.get('width'), CSS.px(10));
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/selectorSerialize-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/selectorSerialize-expected.txt deleted file mode 100644 index 6c5d430..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/selectorSerialize-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -This is a testharness.js-based test. -FAIL :nth-child serialization produces canonical form assert_equals: expected ":nth-child(n)" but got ":nth-child(1n)" -PASS single universal selector shows '*' when serialized. -PASS single type (simple) selector in the sequence of simple selectors that is not a universal selector -PASS single class (simple) selector in the sequence of simple selectors that is not a universal selector -PASS single id (simple) selector in the sequence of simple selectors that is not a universal selector -PASS single pseudo (simple) selector which does not accept arguments in the sequence of simple selectors that is not a universal selector -PASS single pseudo (simple) selector "lang" which accepts arguments in the sequence of simple selectors that is not a universal selector -FAIL single pseudo (simple) selector "nth-child" which accepts arguments in the sequence of simple selectors that is not a universal selector assert_equals: expected ":nth-child(n+5)" but got ":nth-child(1n+5)" -FAIL single pseudo (simple) selector "nth-last-child" which accepts arguments in the sequence of simple selectors that is not a universal selector assert_equals: expected ":nth-last-child(n+5)" but got ":nth-last-child(1n+5)" -FAIL single pseudo (simple) selector "nth-of-child" which accepts arguments in the sequence of simple selectors that is not a universal selector assert_equals: expected ":nth-of-type(n+5)" but got ":nth-of-type(1n+5)" -FAIL single pseudo (simple) selector ":nth-last-of-type" which accepts arguments in the sequence of simple selectors that is not a universal selector assert_equals: expected ":nth-last-of-type(n+5)" but got ":nth-last-of-type(1n+5)" -PASS single pseudo (simple) selector ":not" which accepts arguments in the sequence of simple selectors that is not a universal selector -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/selectors/child-indexed-pseudo-class.html b/third_party/WebKit/LayoutTests/external/wpt/css/selectors/child-indexed-pseudo-class.html index 1c58a5e8..06c3094 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/css/selectors/child-indexed-pseudo-class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/css/selectors/child-indexed-pseudo-class.html
@@ -6,37 +6,36 @@ <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <script> -test(function() { - var check = function(element, selectors) { - for (var i = 0; i < selectors.length; ++i) { - var selector = selectors[i][0]; - var expected = selectors[i][1]; - assert_equals(expected, element.matches(selector), - "Expected " + element.tagName + " element to " + - (expected ? "match " : "not match ") + selector); - } +var check = function(element, selectors) { + for (var i = 0; i < selectors.length; ++i) { + var selector = selectors[i][0]; + var expected = selectors[i][1]; + test(function() { + assert_equals(expected, element.matches(selector)); + }, "Expected " + element.tagName + " element to " + + (expected ? "match " : "not match ") + selector); } +} - var rootOfSubtreeSelectors = [ - [ ":first-child", true ], - [ ":last-child", true ], - [ ":first-of-type", true ], - [ ":last-of-type", true ], - [ ":nth-child(1)", true ], - [ ":nth-child(n)", true ], - [ ":nth-last-child(1)", true ], - [ ":nth-last-child(n)", true ], - [ ":nth-of-type(1)", true ], - [ ":nth-of-type(n)", true ], - [ ":nth-last-of-type(1)", true ], - [ ":nth-last-of-type(n)", true ], - [ ":nth-child(2)", false ], - [ ":nth-last-child(2)", false], - [ ":nth-of-type(2)", false ], - [ ":nth-last-of-type(2)", false], - ]; +var rootOfSubtreeSelectors = [ + [ ":first-child", true ], + [ ":last-child", true ], + [ ":first-of-type", true ], + [ ":last-of-type", true ], + [ ":nth-child(1)", true ], + [ ":nth-child(n)", true ], + [ ":nth-last-child(1)", true ], + [ ":nth-last-child(n)", true ], + [ ":nth-of-type(1)", true ], + [ ":nth-of-type(n)", true ], + [ ":nth-last-of-type(1)", true ], + [ ":nth-last-of-type(n)", true ], + [ ":nth-child(2)", false ], + [ ":nth-last-child(2)", false], + [ ":nth-of-type(2)", false ], + [ ":nth-last-of-type(2)", false], +]; - check(document.documentElement, rootOfSubtreeSelectors); - check(document.createElement('div'), rootOfSubtreeSelectors); -}, "child-indexed pseudo-classes should match without a parent") +check(document.documentElement, rootOfSubtreeSelectors); +check(document.createElement('div'), rootOfSubtreeSelectors); </script>
diff --git a/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child-expected.txt b/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child-expected.txt index a350fb7..c01c212 100644 --- a/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child-expected.txt
@@ -4,36 +4,36 @@ Rules from the stylesheet: -#a:nth-child(1n) { color: green; } -#b:nth-child(1n) { color: green; } -#c:nth-child(1n) { color: green; } -#d:nth-child(-1n) { color: green; } -#e:nth-child(-1n) { color: green; } -#f:nth-child(1n) { color: green; } -#g:nth-child(1n) { color: green; } -#h:nth-child(1n) { color: green; } -#i:nth-child(-1n) { color: green; } -#j:nth-child(-1n) { color: green; } -#l:nth-child(-1n-123) { color: green; } -#m:nth-child(1n-123) { color: green; } +#a:nth-child(n) { color: green; } +#b:nth-child(n) { color: green; } +#c:nth-child(n) { color: green; } +#d:nth-child(-n) { color: green; } +#e:nth-child(-n) { color: green; } +#f:nth-child(n) { color: green; } +#g:nth-child(n) { color: green; } +#h:nth-child(n) { color: green; } +#i:nth-child(-n) { color: green; } +#j:nth-child(-n) { color: green; } +#l:nth-child(-n-123) { color: green; } +#m:nth-child(n-123) { color: green; } #o:nth-child(23n+123) { color: green; } -#t:nth-child(1n+3) { color: green; } -#u:nth-child(1n+7) { color: green; } +#t:nth-child(n+3) { color: green; } +#u:nth-child(n+7) { color: green; } Expected result: -#a:nth-child(1n) { color: green; } -#b:nth-child(1n) { color: green; } -#c:nth-child(1n) { color: green; } -#d:nth-child(-1n) { color: green; } -#e:nth-child(-1n) { color: green; } -#f:nth-child(1n) { color: green; } -#g:nth-child(1n) { color: green; } -#h:nth-child(1n) { color: green; } -#i:nth-child(-1n) { color: green; } -#j:nth-child(-1n) { color: green; } -#l:nth-child(-1n-123) { color: green; } -#m:nth-child(1n-123) { color: green; } +#a:nth-child(n) { color: green; } +#b:nth-child(n) { color: green; } +#c:nth-child(n) { color: green; } +#d:nth-child(-n) { color: green; } +#e:nth-child(-n) { color: green; } +#f:nth-child(n) { color: green; } +#g:nth-child(n) { color: green; } +#h:nth-child(n) { color: green; } +#i:nth-child(-n) { color: green; } +#j:nth-child(-n) { color: green; } +#l:nth-child(-n-123) { color: green; } +#m:nth-child(n-123) { color: green; } #o:nth-child(23n+123) { color: green; } -#t:nth-child(1n+3) { color: green; } -#u:nth-child(1n+7) { color: green; } +#t:nth-child(n+3) { color: green; } +#u:nth-child(n+7) { color: green; }
diff --git a/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child.html b/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child.html index 7ffbd72..75b58cd9 100644 --- a/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child.html +++ b/third_party/WebKit/LayoutTests/fast/css/parsing-css-nth-child.html
@@ -71,21 +71,21 @@ <p>Expected result:</p> -<pre id="expected">#a:nth-child(1n) { color: green; } -#b:nth-child(1n) { color: green; } -#c:nth-child(1n) { color: green; } -#d:nth-child(-1n) { color: green; } -#e:nth-child(-1n) { color: green; } -#f:nth-child(1n) { color: green; } -#g:nth-child(1n) { color: green; } -#h:nth-child(1n) { color: green; } -#i:nth-child(-1n) { color: green; } -#j:nth-child(-1n) { color: green; } -#l:nth-child(-1n-123) { color: green; } -#m:nth-child(1n-123) { color: green; } +<pre id="expected">#a:nth-child(n) { color: green; } +#b:nth-child(n) { color: green; } +#c:nth-child(n) { color: green; } +#d:nth-child(-n) { color: green; } +#e:nth-child(-n) { color: green; } +#f:nth-child(n) { color: green; } +#g:nth-child(n) { color: green; } +#h:nth-child(n) { color: green; } +#i:nth-child(-n) { color: green; } +#j:nth-child(-n) { color: green; } +#l:nth-child(-n-123) { color: green; } +#m:nth-child(n-123) { color: green; } #o:nth-child(23n+123) { color: green; } -#t:nth-child(1n+3) { color: green; } -#u:nth-child(1n+7) { color: green; } +#t:nth-child(n+3) { color: green; } +#u:nth-child(n+7) { color: green; } </pre> <script>
diff --git a/third_party/WebKit/LayoutTests/fast/dom/css-selectorText-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/css-selectorText-expected.txt index 5241c69..79ea5c1 100644 --- a/third_party/WebKit/LayoutTests/fast/dom/css-selectorText-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/dom/css-selectorText-expected.txt
@@ -34,22 +34,22 @@ :nth-child(2n) :nth-child(2n) :nth-child(2n+1) -:nth-child(-1n+6) +:nth-child(-n+6) :nth-last-child(2n+1) :nth-last-child(2n) :nth-last-child(2n) :nth-last-child(2n+1) -:nth-last-child(-1n+6) +:nth-last-child(-n+6) :nth-of-type(2n+1) :nth-of-type(2n) :nth-of-type(2n) :nth-of-type(2n+1) -:nth-of-type(-1n+6) +:nth-of-type(-n+6) :nth-last-of-type(2n+1) :nth-last-of-type(2n) :nth-last-of-type(2n) :nth-last-of-type(2n+1) -:nth-last-of-type(-1n+6) +:nth-last-of-type(-n+6) :first-child :last-child :first-of-type
diff --git a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/compositing/scroll-with-inner-clip-expected.png b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/compositing/scroll-with-inner-clip-expected.png deleted file mode 100644 index f0479cd..0000000 --- a/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/compositing/scroll-with-inner-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/audits/get-encoded-response-expected.txt b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/audits/get-encoded-response-expected.txt index a7ea64b..db07523 100644 --- a/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/audits/get-encoded-response-expected.txt +++ b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/audits/get-encoded-response-expected.txt
@@ -1,27 +1,27 @@ Tests encoding of a response body Results for /resources/square200.png encoding=jpeg q=undefined sizeOnly=undefined -body=string body.length~18800 -original=15506 encoded~14100 +body=string body.length~18100 +original=15506 encoded~13600 Results for /resources/square200.png encoding=webp q=0.8 sizeOnly=false -body=string body.length~2000 -original=15506 encoded~1500 +body=string body.length~1200 +original=15506 encoded~900 Results for /resources/square200.png encoding=jpeg q=1 sizeOnly=true body=undefined body.length~undefined -original=15506 encoded~14100 +original=15506 encoded~13600 Results for /resources/square200.png encoding=jpeg q=0.5 sizeOnly=true body=undefined body.length~undefined -original=15506 encoded~1800 +original=15506 encoded~1200 Results for /resources/square20.bmp encoding=jpeg q=0.8 sizeOnly=true body=undefined body.length~undefined -original=1322 encoded~800 +original=1322 encoded~300 Results for /resources/square20.bmp encoding=png q=undefined sizeOnly=undefined -body=string body.length~200 +body=string body.length~100 original=1322 encoded~100 Results for /resources/load-and-stall.php?name=dummy.html&mimeType=image%2Fpng encoding=png q=undefined sizeOnly=undefined
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.txt deleted file mode 100644 index 94d16404..0000000 --- a/third_party/WebKit/LayoutTests/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollY 3000.00 scrollHeight 4008 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 785x557 - LayoutBlockFlow {HTML} at (0,0) size 785x557 - LayoutBlockFlow {BODY} at (8,8) size 769x541 - LayoutImage {IMG} at (0,0) size 489x537 - LayoutText {#text} at (0,0) size 0x0 -layer at (8,8) size 100x4000 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutBlockFlow (positioned) {DIV} at (8,8) size 100x4000 -scrolled to 0,3000
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/outline-change-in-scrollers-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/scroll/outline-change-in-scrollers-expected.txt deleted file mode 100644 index 81ab9a11..0000000 --- a/third_party/WebKit/LayoutTests/paint/invalidation/scroll/outline-change-in-scrollers-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "contentsOpaque": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [286, 173, 75, 75], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [286, 18, 75, 75], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [172, 173, 75, 75], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [172, 18, 75, 75], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [53, 153, 75, 75], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "rect": [18, 18, 75, 75], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 9391247..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,35 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [800, 600], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [800, 600], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow INPUT", - "rect": [5, 7, 23, 22], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow INPUT", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index d29eafc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,35 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "drawsContent": false, - "backgroundColor": "#FFFFFF" - }, - { - "name": "Scrolling Layer", - "bounds": [800, 600], - "drawsContent": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [800, 600], - "contentsOpaque": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow INPUT", - "rect": [5, 6, 23, 23], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow INPUT", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/compositing/scroll-with-inner-clip-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/compositing/scroll-with-inner-clip-expected.png deleted file mode 100644 index 4540f28..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.12/compositing/scroll-with-inner-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index f8d1268..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/svg/mask-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/svg/mask-invalidation-expected.png deleted file mode 100644 index acf2818..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/svg/mask-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/scroll-with-inner-clip-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/scroll-with-inner-clip-expected.png deleted file mode 100644 index f5d7156b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/scroll-with-inner-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spv175/compositing/scroll-with-inner-clip-expected.png b/third_party/WebKit/LayoutTests/virtual/disable-spv175/compositing/scroll-with-inner-clip-expected.png deleted file mode 100644 index b67488e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spv175/compositing/scroll-with-inner-clip-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp index 78da3da9..1bd9a08 100644 --- a/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp
@@ -501,7 +501,6 @@ DeathAwareScriptWrappable::Create(); Base* base = Base::Create(base_wrapper, mixin_wrapper); Mixin* mixin = static_cast<Mixin*>(base); - HeapObjectHeader* base_header = HeapObjectHeader::FromPayload(base); EXPECT_FALSE(base_header->IsWrapperHeaderMarked()); @@ -516,7 +515,7 @@ TraceWrapperMember<Mixin> mixin_handle = mixin; EXPECT_TRUE(base_header->IsWrapperHeaderMarked()); EXPECT_FALSE(visitor->MarkingDeque()->IsEmpty()); - EXPECT_TRUE(visitor->MarkingDequeContains(mixin)); + EXPECT_TRUE(visitor->MarkingDequeContains(base)); visitor->AdvanceTracing( 0, v8::EmbedderHeapTracer::AdvanceTracingActions(
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp b/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp index ecf0a5a..dfd1eb7 100644 --- a/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp
@@ -64,7 +64,7 @@ const WrapperDescriptor& wrapper_descriptor) const { // Add an edge from the current parent to this object. // Also push the object to the worklist in order to process its members. - const void* traceable = wrapper_descriptor.traceable; + const void* traceable = wrapper_descriptor.base_object_payload; Graph::Node* graph_node = GraphNode(traceable, wrapper_descriptor.name_callback(traceable)); graph_->AddEdge(current_parent_, graph_node); @@ -113,7 +113,7 @@ V8EmbedderGraphBuilder::WorklistItem V8EmbedderGraphBuilder::ToWorklistItem( Graph::Node* node, const WrapperDescriptor& wrapper_descriptor) const { - return {node, wrapper_descriptor.traceable, + return {node, wrapper_descriptor.base_object_payload, wrapper_descriptor.trace_wrappers_callback}; } @@ -123,7 +123,7 @@ auto item = worklist_.back(); worklist_.pop_back(); ParentScope parent(this, item.node); - item.trace_wrappers_callback(this, item.traceable); + item.trace_wrappers_callback(this, const_cast<void*>(item.traceable)); } }
diff --git a/third_party/WebKit/Source/core/css/CSSSelector.cpp b/third_party/WebKit/Source/core/css/CSSSelector.cpp index a42fbc3..c04fe4376 100644 --- a/third_party/WebKit/Source/core/css/CSSSelector.cpp +++ b/third_party/WebKit/Source/core/css/CSSSelector.cpp
@@ -716,19 +716,24 @@ case kPseudoNthLastOfType: { builder.Append('('); - // http://dev.w3.org/csswg/css-syntax/#serializing-anb + // https://drafts.csswg.org/css-syntax/#serializing-anb int a = simple_selector->data_.rare_data_->NthAValue(); int b = simple_selector->data_.rare_data_->NthBValue(); - if (a == 0 && b == 0) - builder.Append('0'); - else if (a == 0) + if (a == 0) { builder.Append(String::Number(b)); - else if (b == 0) - builder.Append(String::Format("%dn", a)); - else if (b < 0) - builder.Append(String::Format("%dn%d", a, b)); - else - builder.Append(String::Format("%dn+%d", a, b)); + } else { + if (a == 1) + builder.Append('n'); + else if (a == -1) + builder.Append("-n"); + else + builder.Append(String::Format("%dn", a)); + + if (b < 0) + builder.Append(String::Number(b)); + else if (b > 0) + builder.Append(String::Format("+%d", b)); + } builder.Append(')'); break;
diff --git a/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp b/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp index 0276168..c9201c1 100644 --- a/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp +++ b/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp
@@ -213,12 +213,11 @@ const CSSValue* result = CoerceStyleValuesOrStrings(property, values, *execution_context); - if (!result) { + if (!result || !result->IsValueList()) { exception_state.ThrowTypeError("Invalid type for property"); return; } - DCHECK(result->IsValueList()); for (const auto& value : *ToCSSValueList(result)) { current_value->Append(*value); }
diff --git a/third_party/WebKit/Source/core/css/properties/ComputedStyleUtils.cpp b/third_party/WebKit/Source/core/css/properties/ComputedStyleUtils.cpp index 7b5b926..81fb971 100644 --- a/third_party/WebKit/Source/core/css/properties/ComputedStyleUtils.cpp +++ b/third_party/WebKit/Source/core/css/properties/ComputedStyleUtils.cpp
@@ -497,14 +497,13 @@ CSSValue* ComputedStyleUtils::MinWidthOrMinHeightAuto( Node* styled_node, const ComputedStyle& style) { - if (styled_node) { - Node* parent = styled_node->parentNode(); - const ComputedStyle* ensured_style = - parent ? parent->EnsureComputedStyle() : nullptr; - if (ensured_style && ensured_style->IsDisplayFlexibleOrGridBox()) - return CSSIdentifierValue::Create(CSSValueAuto); + LayoutObject* layout_object = + styled_node ? styled_node->GetLayoutObject() : nullptr; + if (layout_object && layout_object->IsBox() && + (ToLayoutBox(layout_object)->IsFlexItem() || + ToLayoutBox(layout_object)->IsGridItem())) { + return CSSIdentifierValue::Create(CSSValueAuto); } - return ZoomAdjustedPixelValue(0, style); }
diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h index e6c36d1..93b9fce 100644 --- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h +++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h
@@ -188,12 +188,7 @@ : document_lifecycle_(document_lifecycle) { document_lifecycle_.SetLifecyclePostponed(); } - ~PostponeTransitionScope() {} - - void SetLifecyclePostponed() { - document_lifecycle_.SetLifecyclePostponed(); - } - void ResetLifecyclePostponed() { + ~PostponeTransitionScope() { document_lifecycle_.ResetLifecyclePostponed(); }
diff --git a/third_party/WebKit/Source/core/exported/BUILD.gn b/third_party/WebKit/Source/core/exported/BUILD.gn index 2881e10..e24c4e4 100644 --- a/third_party/WebKit/Source/core/exported/BUILD.gn +++ b/third_party/WebKit/Source/core/exported/BUILD.gn
@@ -11,7 +11,6 @@ "SharedWorkerRepositoryClientImpl.h", "WebArrayBuffer.cpp", "WebArrayBufferConverter.cpp", - "WebArrayBufferView.cpp", "WebAssociatedURLLoaderImpl.cpp", "WebAssociatedURLLoaderImpl.h", "WebBlob.cpp",
diff --git a/third_party/WebKit/Source/core/exported/WebArrayBufferView.cpp b/third_party/WebKit/Source/core/exported/WebArrayBufferView.cpp deleted file mode 100644 index c7a017de..0000000 --- a/third_party/WebKit/Source/core/exported/WebArrayBufferView.cpp +++ /dev/null
@@ -1,75 +0,0 @@ -/* - * Copyright (C) 2011 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "public/web/WebArrayBufferView.h" - -#include "bindings/core/v8/V8ArrayBufferView.h" - -namespace blink { - -void WebArrayBufferView::Assign(const WebArrayBufferView& other) { - private_ = other.private_; -} - -void WebArrayBufferView::Reset() { - private_.Reset(); -} - -void* WebArrayBufferView::BaseAddress() const { - return private_->BaseAddress(); -} - -unsigned WebArrayBufferView::ByteOffset() const { - return private_->byteOffset(); -} - -unsigned WebArrayBufferView::ByteLength() const { - return private_->byteLength(); -} - -WebArrayBufferView* WebArrayBufferView::CreateFromV8Value( - v8::Local<v8::Value> value) { - if (!value->IsArrayBufferView()) - return nullptr; - DOMArrayBufferView* view = V8ArrayBufferView::ToImpl(value.As<v8::Object>()); - return new WebArrayBufferView(view); -} - -WebArrayBufferView::WebArrayBufferView(DOMArrayBufferView* value) - : private_(value) {} - -WebArrayBufferView& WebArrayBufferView::operator=(DOMArrayBufferView* value) { - private_ = value; - return *this; -} - -WebArrayBufferView::operator DOMArrayBufferView*() const { - return private_.Get(); -} - -} // namespace blink
diff --git a/third_party/WebKit/Source/core/inspector/InspectorAuditsAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorAuditsAgent.cpp index 1d6cbe1..9b9106e 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorAuditsAgent.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorAuditsAgent.cpp
@@ -49,8 +49,8 @@ if (!image || !image->readPixels(pixmap, 0, 0)) return false; - std::unique_ptr<ImageDataBuffer> image_to_encode = ImageDataBuffer::Create( - IntSize(bitmap.width(), bitmap.height()), pixel_storage.data()); + std::unique_ptr<ImageDataBuffer> image_to_encode = + ImageDataBuffer::Create(pixmap); if (!image_to_encode) return false;
diff --git a/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp index d63e8103..aae17bb 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
@@ -437,13 +437,10 @@ // If we hit a devtool break point in the middle of document lifecycle, for // example, https://crbug.com/788219, this will prevent crash when clicking // the "layer" panel. - if (inspected_frames_->Root()->View()->GetFrame().GetDocument() && - inspected_frames_->Root() - ->View() - ->GetFrame() - .GetDocument() - ->Lifecycle() - .LifecyclePostponed()) + if (inspected_frames_->Root()->GetDocument() && inspected_frames_->Root() + ->GetDocument() + ->Lifecycle() + .LifecyclePostponed()) return Response::Error("Layer does not draw content"); inspected_frames_->Root()->View()->UpdateAllLifecyclePhasesExceptPaint();
diff --git a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp index 96f7e9d..aa0811c 100644 --- a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp +++ b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
@@ -219,19 +219,6 @@ return static_cast<MainThreadDebugger*>(debugger); } -// In the test, we just assume that we hit a devtool's break point during the -// lifecycle. -void MainThreadDebugger::SetPostponeTransitionScopeForTesting( - Document& document) { - if (postponed_transition_scope_) { - postponed_transition_scope_->SetLifecyclePostponed(); - } else { - postponed_transition_scope_ = - std::make_unique<DocumentLifecycle::PostponeTransitionScope>( - document.Lifecycle()); - } -} - void MainThreadDebugger::runMessageLoopOnPause(int context_group_id) { LocalFrame* paused_frame = WeakIdentifierMap<LocalFrame>::Lookup(context_group_id); @@ -244,13 +231,9 @@ // browser window, or clicking at the element panel on devtool. if (paused_frame->GetDocument() && !paused_frame->GetDocument()->Lifecycle().StateAllowsTreeMutations()) { - if (postponed_transition_scope_) { - postponed_transition_scope_->SetLifecyclePostponed(); - } else { - postponed_transition_scope_ = - std::make_unique<DocumentLifecycle::PostponeTransitionScope>( - paused_frame->GetDocument()->Lifecycle()); - } + postponed_transition_scope_ = + std::make_unique<DocumentLifecycle::PostponeTransitionScope>( + paused_frame->GetDocument()->Lifecycle()); } DCHECK(paused_frame == paused_frame->LocalFrameRoot()); paused_ = true; @@ -262,15 +245,9 @@ client_message_loop_->Run(paused_frame); } -void MainThreadDebugger::ResetPostponeTransitionScopeForTesting() { - if (postponed_transition_scope_) - postponed_transition_scope_->ResetLifecyclePostponed(); -} - void MainThreadDebugger::quitMessageLoopOnPause() { paused_ = false; - if (postponed_transition_scope_) - postponed_transition_scope_->ResetLifecyclePostponed(); + postponed_transition_scope_.reset(); if (client_message_loop_) client_message_loop_->QuitNow(); }
diff --git a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.h b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.h index 65b746d5..bf54410 100644 --- a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.h +++ b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.h
@@ -78,9 +78,6 @@ void ContextWillBeDestroyed(ScriptState*); void ExceptionThrown(ExecutionContext*, ErrorEvent*); - void SetPostponeTransitionScopeForTesting(Document&); - void ResetPostponeTransitionScopeForTesting(); - private: void ReportConsoleMessage(ExecutionContext*, MessageSource,
diff --git a/third_party/WebKit/Source/core/inspector/MainThreadDebuggerTest.cpp b/third_party/WebKit/Source/core/inspector/MainThreadDebuggerTest.cpp index be38940..e45be9b 100644 --- a/third_party/WebKit/Source/core/inspector/MainThreadDebuggerTest.cpp +++ b/third_party/WebKit/Source/core/inspector/MainThreadDebuggerTest.cpp
@@ -10,18 +10,14 @@ namespace blink { class MainThreadDebuggerTest : public PageTestBase { - public: - MainThreadDebugger* GetMainThreadDebugger() { - return MainThreadDebugger::Instance(); - } - - private: }; TEST_F(MainThreadDebuggerTest, HitBreakPointDuringLifecycle) { - MainThreadDebugger* debugger = GetMainThreadDebugger(); Document& document = GetDocument(); - debugger->SetPostponeTransitionScopeForTesting(document); + std::unique_ptr<DocumentLifecycle::PostponeTransitionScope> + postponed_transition_scope = + std::make_unique<DocumentLifecycle::PostponeTransitionScope>( + document.Lifecycle()); EXPECT_TRUE(document.Lifecycle().LifecyclePostponed()); // The following steps would cause either style update or layout, it should @@ -31,7 +27,7 @@ document.UpdateStyleAndLayoutIgnorePendingStylesheets(); document.UpdateStyleAndLayoutTree(); - debugger->ResetPostponeTransitionScopeForTesting(); + postponed_transition_scope.reset(); EXPECT_FALSE(document.Lifecycle().LifecyclePostponed()); }
diff --git a/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.cc b/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.cc index 71f2685..df12e8f 100644 --- a/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.cc +++ b/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.cc
@@ -72,4 +72,24 @@ return container_size - offset.top; } +LayoutUnit NGStaticPosition::Left() const { + DCHECK(HasLeft()); + return offset.left; +} + +LayoutUnit NGStaticPosition::Right() const { + DCHECK(!HasLeft()); + return offset.left; +} + +LayoutUnit NGStaticPosition::Top() const { + DCHECK(HasTop()); + return offset.top; +} + +LayoutUnit NGStaticPosition::Bottom() const { + DCHECK(!HasTop()); + return offset.top; +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.h b/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.h index b7cab80..a7be2da 100644 --- a/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.h +++ b/third_party/WebKit/Source/core/layout/ng/geometry/ng_static_position.h
@@ -45,7 +45,11 @@ LayoutUnit margin_top, LayoutUnit margin_bottom) const; - private: + LayoutUnit Left() const; + LayoutUnit Right() const; + LayoutUnit Top() const; + LayoutUnit Bottom() const; + bool HasTop() const { return type == kTopLeft || type == kTopRight; } bool HasLeft() const { return type == kTopLeft || type == kBottomLeft; } };
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils.cc b/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils.cc index 69e915c..612a851 100644 --- a/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils.cc +++ b/third_party/WebKit/Source/core/layout/ng/ng_absolute_utils.cc
@@ -74,6 +74,55 @@ resolve_type); } +// Available size can is maximum length Element can have without overflowing +// container bounds. The position of Element's edges will determine +// how much space there is available. +LayoutUnit ComputeAvailableWidth(LayoutUnit container_width, + const Optional<LayoutUnit>& left, + const Optional<LayoutUnit>& right, + const Optional<LayoutUnit>& margin_left, + const Optional<LayoutUnit>& margin_right, + const NGStaticPosition& static_position) { + LayoutUnit available_width = container_width; + DCHECK(!left || !right); + if (!left && !right) { + if (static_position.HasLeft()) + available_width -= static_position.Left(); + else + available_width = static_position.Right(); + } else if (!right) { + available_width -= *left; + } else { // !left + available_width -= *right; + } + LayoutUnit margins = (margin_left ? margin_left.value() : LayoutUnit()) + + (margin_right ? margin_right.value() : LayoutUnit()); + return (available_width - margins).ClampNegativeToZero(); +} + +LayoutUnit ComputeAvailableHeight(LayoutUnit container_height, + const Optional<LayoutUnit>& top, + const Optional<LayoutUnit>& bottom, + const Optional<LayoutUnit>& margin_top, + const Optional<LayoutUnit>& margin_bottom, + const NGStaticPosition& static_position) { + LayoutUnit available_height = container_height; + DCHECK(!top || !bottom); + if (!top && !bottom) { + if (static_position.HasTop()) + available_height -= static_position.Top(); + else + available_height = static_position.Bottom(); + } else if (!bottom) { + available_height -= *top; + } else { // !top + available_height -= *bottom; + } + LayoutUnit margins = (margin_top ? margin_top.value() : LayoutUnit()) + + (margin_bottom ? margin_bottom.value() : LayoutUnit()); + return (available_height - margins).ClampNegativeToZero(); +} + LayoutUnit HorizontalBorderPadding(const NGConstraintSpace& space, const ComputedStyle& style) { NGLogicalSize percentage_logical = space.PercentageResolutionSize(); @@ -133,7 +182,10 @@ if (!margin_right) margin_right = LayoutUnit(); DCHECK(child_minmax.has_value()); - width = child_minmax->ShrinkToFit(container_size.width); + + width = child_minmax->ShrinkToFit( + ComputeAvailableWidth(container_size.width, left, right, margin_left, + margin_right, static_position)); if (IsLeftDominant(container_writing_mode, container_direction)) { left = static_position.LeftInset(container_size.width, *width, *margin_left, *margin_right); @@ -188,7 +240,9 @@ // Rule 1: left/width are unknown. DCHECK(right.has_value()); DCHECK(child_minmax.has_value()); - width = child_minmax->ShrinkToFit(container_size.width); + width = child_minmax->ShrinkToFit( + ComputeAvailableWidth(container_size.width, left, right, margin_left, + margin_right, static_position)); } else if (!left && !right) { // Rule 2. DCHECK(width.has_value()); @@ -201,7 +255,9 @@ } else if (!width && !right) { // Rule 3. DCHECK(child_minmax.has_value()); - width = child_minmax->ShrinkToFit(container_size.width); + width = child_minmax->ShrinkToFit( + ComputeAvailableWidth(container_size.width, left, right, margin_left, + margin_right, static_position)); } // Rules 4 through 6, 1 out of 3 are unknown. @@ -297,7 +353,9 @@ if (!margin_bottom) margin_bottom = LayoutUnit(); DCHECK(child_minmax.has_value()); - height = child_minmax->ShrinkToFit(container_size.height); + height = child_minmax->ShrinkToFit( + ComputeAvailableHeight(container_size.height, top, bottom, margin_top, + margin_bottom, static_position)); if (IsTopDominant(container_writing_mode, container_direction)) { top = static_position.TopInset(container_size.height, *height, *margin_top, *margin_bottom); @@ -350,7 +408,9 @@ // Rule 1. DCHECK(bottom.has_value()); DCHECK(child_minmax.has_value()); - height = child_minmax->ShrinkToFit(container_size.height); + height = child_minmax->ShrinkToFit( + ComputeAvailableHeight(container_size.height, top, bottom, margin_top, + margin_bottom, static_position)); } else if (!top && !bottom) { // Rule 2. DCHECK(height.has_value()); @@ -364,7 +424,9 @@ } else if (!height && !bottom) { // Rule 3. DCHECK(child_minmax.has_value()); - height = child_minmax->ShrinkToFit(container_size.height); + height = child_minmax->ShrinkToFit( + ComputeAvailableHeight(container_size.height, top, bottom, margin_top, + margin_bottom, static_position)); } // Rules 4 through 6, 1 out of 3 are unknown.
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp index 797018f0..d81d6fc5 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp
@@ -113,9 +113,9 @@ clip_content_path_.Clear(); cached_paint_record_.reset(); local_clip_bounds_ = FloatRect(); - MarkAllClientsForInvalidation(mark_for_invalidation - ? kLayoutAndBoundariesInvalidation - : kParentOnlyInvalidation); + MarkAllClientsForInvalidation( + mark_for_invalidation ? kLayoutInvalidation | kBoundariesInvalidation + : kParentOnlyInvalidation); } Optional<Path> LayoutSVGResourceClipper::AsPath() {
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp index 6c566a2..fe79a45 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp
@@ -43,7 +43,7 @@ LayoutSVGResourceContainer::LayoutSVGResourceContainer(SVGElement* node) : LayoutSVGHiddenContainer(node), is_in_layout_(false), - invalidation_mask_(0), + completed_invalidations_mask_(0), is_invalidating_(false) {} LayoutSVGResourceContainer::~LayoutSVGResourceContainer() = default; @@ -110,19 +110,22 @@ } void LayoutSVGResourceContainer::MarkAllClientsForInvalidation( - InvalidationMode mode) { + InvalidationModeMask invalidation_mask) { if (is_invalidating_) return; SVGElementProxySet* proxy_set = ElementProxySet(); if (clients_.IsEmpty() && (!proxy_set || proxy_set->IsEmpty())) return; - if (invalidation_mask_ & mode) + // Remove modes for which invalidations have already been + // performed. If no modes remain we are done. + invalidation_mask &= ~completed_invalidations_mask_; + if (invalidation_mask == 0) return; + completed_invalidations_mask_ |= invalidation_mask; - invalidation_mask_ |= mode; is_invalidating_ = true; - bool needs_layout = mode == kLayoutAndBoundariesInvalidation; - bool mark_for_invalidation = mode != kParentOnlyInvalidation; + bool needs_layout = invalidation_mask & kLayoutInvalidation; + bool mark_for_invalidation = invalidation_mask & ~kParentOnlyInvalidation; // Invalidate clients registered on the this object (via SVGResources). for (auto* client : clients_) { @@ -134,7 +137,7 @@ } if (mark_for_invalidation) - MarkClientForInvalidation(*client, mode); + MarkClientForInvalidation(*client, invalidation_mask); MarkForLayoutAndParentResourceInvalidation(*client, needs_layout); } @@ -147,7 +150,7 @@ void LayoutSVGResourceContainer::MarkClientForInvalidation( LayoutObject& client, - unsigned invalidation_mask) { + InvalidationModeMask invalidation_mask) { if (invalidation_mask & kPaintInvalidation) { // Since LayoutSVGInlineTexts don't have SVGResources (they use their // parent's), they will not be notified of changes to paint servers. So @@ -161,10 +164,7 @@ client.SetNeedsPaintPropertyUpdate(); } - // kLayoutAndBoundariesInvalidation and kBoundariesInvalidation are - // handled in the same way. - if (invalidation_mask & - (kBoundariesInvalidation | kLayoutAndBoundariesInvalidation)) + if (invalidation_mask & kBoundariesInvalidation) client.SetNeedsBoundariesUpdate(); } @@ -203,7 +203,7 @@ bool needs_layout) { if (SVGResources* resources = SVGResourcesCache::CachedResourcesForLayoutObject(object)) { - if (unsigned invalidation_mask = + if (InvalidationModeMask invalidation_mask = resources->RemoveClientFromCacheAffectingObjectBounds(object)) { LayoutSVGResourceContainer::MarkClientForInvalidation(object, invalidation_mask);
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h index 9d7e33c..9354e81 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.h
@@ -37,6 +37,8 @@ kClipperResourceType }; +typedef unsigned InvalidationModeMask; + class LayoutSVGResourceContainer : public LayoutSVGHiddenContainer { public: explicit LayoutSVGResourceContainer(SVGElement*); @@ -78,20 +80,18 @@ // When adding modes, make sure we don't overflow m_invalidationMask below. enum InvalidationMode { - kLayoutAndBoundariesInvalidation = 1 << 0, + kLayoutInvalidation = 1 << 0, kBoundariesInvalidation = 1 << 1, kPaintInvalidation = 1 << 2, kParentOnlyInvalidation = 1 << 3 }; - static void MarkClientForInvalidation(LayoutObject&, - unsigned invalidation_mask); + static void MarkClientForInvalidation(LayoutObject&, InvalidationModeMask); - void ClearInvalidationMask() { invalidation_mask_ = 0; } + void ClearInvalidationMask() { completed_invalidations_mask_ = 0; } protected: - // Used from the invalidateClient/invalidateClients methods from classes, - // inheriting from us. - void MarkAllClientsForInvalidation(InvalidationMode); + // Used from RemoveAllClientsFromCache methods. + void MarkAllClientsForInvalidation(InvalidationModeMask); void NotifyContentChanged(); SVGElementProxySet* ElementProxySet(); @@ -107,7 +107,7 @@ // Track global (markAllClientsForInvalidation) invalidations to avoid // redundant crawls. - unsigned invalidation_mask_ : 8; + unsigned completed_invalidations_mask_ : 8; unsigned is_invalidating_ : 1; // 23 padding bits available
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.cpp index 7f75a7fc..914743c 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceFilter.cpp
@@ -68,9 +68,9 @@ // all clients through markAllClientsForInvalidation so no explicit // display item invalidation is needed here. DisposeFilterMap(); - MarkAllClientsForInvalidation(mark_for_invalidation - ? kLayoutAndBoundariesInvalidation - : kParentOnlyInvalidation); + MarkAllClientsForInvalidation( + mark_for_invalidation ? kLayoutInvalidation | kBoundariesInvalidation + : kParentOnlyInvalidation); } bool LayoutSVGResourceFilter::RemoveClientFromCache(LayoutObject& client) {
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp index 32859b62..3fe4d40 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp
@@ -48,9 +48,9 @@ void LayoutSVGResourceMarker::RemoveAllClientsFromCache( bool mark_for_invalidation) { - MarkAllClientsForInvalidation(mark_for_invalidation - ? kLayoutAndBoundariesInvalidation - : kParentOnlyInvalidation); + MarkAllClientsForInvalidation( + mark_for_invalidation ? kLayoutInvalidation | kBoundariesInvalidation + : kParentOnlyInvalidation); } FloatRect LayoutSVGResourceMarker::MarkerBoundaries(
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp index db18678c..5e3aa6a 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp
@@ -38,9 +38,9 @@ bool mark_for_invalidation) { cached_paint_record_.reset(); mask_content_boundaries_ = FloatRect(); - MarkAllClientsForInvalidation(mark_for_invalidation - ? kLayoutAndBoundariesInvalidation - : kParentOnlyInvalidation); + MarkAllClientsForInvalidation( + mark_for_invalidation ? kLayoutInvalidation | kBoundariesInvalidation + : kParentOnlyInvalidation); } sk_sp<const PaintRecord> LayoutSVGResourceMasker::CreatePaintRecord(
diff --git a/third_party/WebKit/Source/core/layout/svg/SVGResources.cpp b/third_party/WebKit/Source/core/layout/svg/SVGResources.cpp index 9c6e5d9..ec7ca7d 100644 --- a/third_party/WebKit/Source/core/layout/svg/SVGResources.cpp +++ b/third_party/WebKit/Source/core/layout/svg/SVGResources.cpp
@@ -327,11 +327,11 @@ linked_resource_->LayoutIfNeeded(); } -unsigned SVGResources::RemoveClientFromCacheAffectingObjectBounds( +InvalidationModeMask SVGResources::RemoveClientFromCacheAffectingObjectBounds( LayoutObject& client) const { if (!clipper_filter_masker_data_) return 0; - unsigned invalidation_flags = 0; + InvalidationModeMask invalidation_flags = 0; if (LayoutSVGResourceClipper* clipper = clipper_filter_masker_data_->clipper) clipper->RemoveClientFromCache(client); if (LayoutSVGResourceFilter* filter = clipper_filter_masker_data_->filter) { @@ -344,26 +344,22 @@ LayoutSVGResourceContainer::kBoundariesInvalidation; } -void SVGResources::RemoveClientFromCache(LayoutObject& client, - bool mark_for_invalidation) const { +InvalidationModeMask SVGResources::RemoveClientFromCache( + LayoutObject& client) const { if (!HasResourceData()) - return; + return 0; if (linked_resource_) { DCHECK(!clipper_filter_masker_data_); DCHECK(!marker_data_); DCHECK(!fill_stroke_data_); linked_resource_->RemoveClientFromCache(client); - if (mark_for_invalidation) { - // The only linked resources are gradients and patterns, i.e - // always a paint server. - LayoutSVGResourceContainer::MarkClientForInvalidation( - client, LayoutSVGResourceContainer::kPaintInvalidation); - } - return; + // The only linked resources are gradients and patterns, i.e + // always a paint server. + return LayoutSVGResourceContainer::kPaintInvalidation; } - unsigned invalidation_flags = + InvalidationModeMask invalidation_flags = RemoveClientFromCacheAffectingObjectBounds(client); if (marker_data_) { @@ -384,10 +380,7 @@ invalidation_flags |= LayoutSVGResourceContainer::kPaintInvalidation; } - if (mark_for_invalidation) { - LayoutSVGResourceContainer::MarkClientForInvalidation(client, - invalidation_flags); - } + return invalidation_flags; } void SVGResources::ResourceDestroyed(LayoutSVGResourceContainer* resource) {
diff --git a/third_party/WebKit/Source/core/layout/svg/SVGResources.h b/third_party/WebKit/Source/core/layout/svg/SVGResources.h index 6d6789a5..7cb88a9 100644 --- a/third_party/WebKit/Source/core/layout/svg/SVGResources.h +++ b/third_party/WebKit/Source/core/layout/svg/SVGResources.h
@@ -22,6 +22,7 @@ #include <memory> #include "base/macros.h" +#include "core/layout/svg/LayoutSVGResourceContainer.h" #include "platform/wtf/Allocator.h" #include "platform/wtf/HashSet.h" #include "platform/wtf/PtrUtil.h" @@ -32,7 +33,6 @@ class Element; class LayoutObject; class LayoutSVGResourceClipper; -class LayoutSVGResourceContainer; class LayoutSVGResourceFilter; class LayoutSVGResourceMarker; class LayoutSVGResourceMasker; @@ -97,9 +97,9 @@ void BuildSetOfResources(HashSet<LayoutSVGResourceContainer*>&); // Methods operating on all cached resources - void RemoveClientFromCache(LayoutObject&, - bool mark_for_invalidation = true) const; - unsigned RemoveClientFromCacheAffectingObjectBounds(LayoutObject&) const; + InvalidationModeMask RemoveClientFromCache(LayoutObject&) const; + InvalidationModeMask RemoveClientFromCacheAffectingObjectBounds( + LayoutObject&) const; void ResourceDestroyed(LayoutSVGResourceContainer*); void ClearReferencesTo(LayoutSVGResourceContainer*);
diff --git a/third_party/WebKit/Source/core/layout/svg/SVGResourcesCache.cpp b/third_party/WebKit/Source/core/layout/svg/SVGResourcesCache.cpp index 836fcc3..5752142 100644 --- a/third_party/WebKit/Source/core/layout/svg/SVGResourcesCache.cpp +++ b/third_party/WebKit/Source/core/layout/svg/SVGResourcesCache.cpp
@@ -100,8 +100,13 @@ // Invalidate the resources if either the LayoutObject itself changed, // or we have filter resources, which could depend on the layout of children. - if (object.SelfNeedsLayout() || resources->Filter()) - resources->RemoveClientFromCache(object); + if (!object.SelfNeedsLayout() && !resources->Filter()) + return; + if (InvalidationModeMask invalidation_flags = + resources->RemoveClientFromCache(object)) { + LayoutSVGResourceContainer::MarkClientForInvalidation(object, + invalidation_flags); + } } static inline bool LayoutObjectCanHaveResources( @@ -205,8 +210,17 @@ void SVGResourcesCache::ClientDestroyed(LayoutObject& layout_object) { SVGResources* resources = CachedResourcesForLayoutObject(layout_object); - if (resources) - resources->RemoveClientFromCache(layout_object); + if (resources) { + if (InvalidationModeMask invalidation_flags = + resources->RemoveClientFromCache(layout_object)) { + // TODO(fs): This function (ClientDestroyed) is called in the + // various WillBeDestroyed overrides of LayoutSVG*, so + // |layout_object| is about to be destroyed. Why should we + // perform any (local) invalidation? + LayoutSVGResourceContainer::MarkClientForInvalidation(layout_object, + invalidation_flags); + } + } SVGResourcesCache& cache = ResourcesCache(layout_object.GetDocument()); cache.RemoveResourcesFromLayoutObject(layout_object); }
diff --git a/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp b/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp index 5392537..d2e43d6 100644 --- a/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp +++ b/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp
@@ -173,38 +173,38 @@ bool has_composited_descendants, bool has3d_transformed_descendants) { CompositingReasons subtree_reasons = CompositingReason::kNone; + if (!has_composited_descendants) + return subtree_reasons; // When a layer has composited descendants, some effects, like 2d transforms, // filters, masks etc must be implemented via compositing so that they also // apply to those composited descendants. - if (has_composited_descendants) { - subtree_reasons |= layer->PotentialCompositingReasonsFromStyle() & - CompositingReason::kComboCompositedDescendants; + subtree_reasons |= layer->PotentialCompositingReasonsFromStyle() & + CompositingReason::kComboCompositedDescendants; - if (layer->ShouldIsolateCompositedDescendants()) { - DCHECK(layer->StackingNode()->IsStackingContext()); - subtree_reasons |= CompositingReason::kIsolateCompositedDescendants; - } + if (layer->ShouldIsolateCompositedDescendants()) { + DCHECK(layer->StackingNode()->IsStackingContext()); + subtree_reasons |= CompositingReason::kIsolateCompositedDescendants; + } - // FIXME: This should move into - // CompositingReasonFinder::potentialCompositingReasonsFromStyle, but theres - // a poor interaction with LayoutTextControlSingleLine, which sets this - // hasOverflowClip directly. - if (layer->GetLayoutObject().HasClipRelatedProperty()) - subtree_reasons |= CompositingReason::kClipsCompositingDescendants; + // FIXME: This should move into + // CompositingReasonFinder::potentialCompositingReasonsFromStyle, but theres + // a poor interaction with LayoutTextControlSingleLine, which sets this + // hasOverflowClip directly. + if (layer->GetLayoutObject().HasClipRelatedProperty()) + subtree_reasons |= CompositingReason::kClipsCompositingDescendants; - // We ignore LCD text here because we are required to composite - // scroll-dependant fixed position elements with composited descendants for - // correctness - even if we lose LCD. - // - // TODO(smcgruer): Only composite fixed if needed (http://crbug.com/742213) - const bool ignore_lcd_text = true; - if (layer->GetLayoutObject().Style()->GetPosition() == EPosition::kFixed || - compositing_reason_finder.RequiresCompositingForScrollDependentPosition( - layer, ignore_lcd_text)) { - subtree_reasons |= - CompositingReason::kPositionFixedOrStickyWithCompositedDescendants; - } + // We ignore LCD text here because we are required to composite + // scroll-dependant fixed position elements with composited descendants for + // correctness - even if we lose LCD. + // + // TODO(smcgruer): Only composite fixed if needed (http://crbug.com/742213) + const bool ignore_lcd_text = true; + if (layer->GetLayoutObject().Style()->GetPosition() == EPosition::kFixed || + compositing_reason_finder.RequiresCompositingForScrollDependentPosition( + layer, ignore_lcd_text)) { + subtree_reasons |= + CompositingReason::kPositionFixedOrStickyWithCompositedDescendants; } // A layer with preserve-3d or perspective only needs to be composited if
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js b/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js index 00aabf6..3fa4592 100644 --- a/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js +++ b/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js
@@ -259,7 +259,7 @@ _moveBreakpoints(from, to) { const breakpoints = this._breakpointManager.breakpointsForUISourceCode(from); for (const breakpoint of breakpoints) { - breakpoint.remove(true /* keepInStorage */); + breakpoint.remove(false /* keepInStorage */); this._breakpointManager.setBreakpoint( to, breakpoint.lineNumber(), breakpoint.columnNumber(), breakpoint.condition(), breakpoint.enabled()); }
diff --git a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp index 7694a11..a168321 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp +++ b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
@@ -1010,9 +1010,7 @@ return String(); // Encode as a PNG and return as a data url. - std::unique_ptr<ImageDataBuffer> buffer = ImageDataBuffer::Create( - IntSize(width, height), - reinterpret_cast<const unsigned char*>(pixel_storage.data())); + std::unique_ptr<ImageDataBuffer> buffer = ImageDataBuffer::Create(pixmap); if (!buffer) return String();
diff --git a/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp b/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp index e27a426..df42b6c 100644 --- a/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp +++ b/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp
@@ -254,8 +254,8 @@ void ScriptWrappableMarkingVisitor::Visit( const WrapperDescriptor& wrapper_descriptor) const { - HeapObjectHeader* header = wrapper_descriptor.heap_object_header_callback( - wrapper_descriptor.traceable); + HeapObjectHeader* header = + HeapObjectHeader::FromPayload(wrapper_descriptor.base_object_payload); if (header->IsWrapperHeaderMarked()) return; MarkWrapperHeader(header);
diff --git a/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h b/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h index fe437fc6..5f5b2293 100644 --- a/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h +++ b/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h
@@ -66,7 +66,8 @@ return; // If the wrapper is already marked we can bail out here. - if (TraceTrait<T>::GetHeapObjectHeader(dst_object)->IsWrapperHeaderMarked()) + if (TraceTrait<T>::GetHeapObjectHeader(const_cast<T*>(dst_object)) + ->IsWrapperHeaderMarked()) return; CurrentVisitor(thread_state->GetIsolate()) @@ -109,19 +110,17 @@ class MarkingDequeItem { public: explicit MarkingDequeItem(const WrapperDescriptor& wrapper_descriptor) - : trace_wrappers_callback_(wrapper_descriptor.trace_wrappers_callback), - heap_object_header_callback_( - wrapper_descriptor.heap_object_header_callback), - raw_object_pointer_(wrapper_descriptor.traceable) { - DCHECK(trace_wrappers_callback_); - DCHECK(heap_object_header_callback_); + : raw_object_pointer_(wrapper_descriptor.base_object_payload), + trace_wrappers_callback_(wrapper_descriptor.trace_wrappers_callback) { DCHECK(raw_object_pointer_); + DCHECK(trace_wrappers_callback_); } // Traces wrappers if the underlying object has not yet been invalidated. inline void TraceWrappers(ScriptWrappableVisitor* visitor) const { if (raw_object_pointer_) { - trace_wrappers_callback_(visitor, raw_object_pointer_); + trace_wrappers_callback_(visitor, + const_cast<void*>(raw_object_pointer_)); } } @@ -139,13 +138,11 @@ private: inline const HeapObjectHeader* GetHeapObjectHeader() { - DCHECK(raw_object_pointer_); - return heap_object_header_callback_(raw_object_pointer_); + return HeapObjectHeader::FromPayload(raw_object_pointer_); } - TraceWrappersCallback trace_wrappers_callback_; - HeapObjectHeaderCallback heap_object_header_callback_; const void* raw_object_pointer_; + TraceWrappersCallback trace_wrappers_callback_; }; void MarkWrapperHeader(HeapObjectHeader*) const;
diff --git a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h index 6335b21..8a736a1 100644 --- a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h +++ b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h
@@ -17,7 +17,6 @@ template <typename T> class DOMWrapperMap; -class HeapObjectHeader; class ScriptWrappable; class ScriptWrappableVisitor; template <typename T> @@ -27,18 +26,17 @@ template <typename T> class TraceWrapperV8Reference; -using HeapObjectHeaderCallback = HeapObjectHeader* (*)(const void*); using MissedWriteBarrierCallback = void (*)(); -using TraceWrappersCallback = void (*)(const ScriptWrappableVisitor*, - const void* self); using NameCallback = const char* (*)(const void* self); -#define DEFINE_TRAIT_FOR_TRACE_WRAPPERS(ClassName) \ - template <> \ - inline void TraceTrait<ClassName>::TraceMarkedWrapper( \ - const ScriptWrappableVisitor* visitor, const void* t) { \ - const ClassName* traceable = ToWrapperTracingType(t); \ - traceable->TraceWrappers(visitor); \ +#define DEFINE_TRAIT_FOR_TRACE_WRAPPERS(ClassName) \ + template <> \ + inline void TraceTrait<ClassName>::TraceWrappers( \ + ScriptWrappableVisitor* visitor, void* t) { \ + static_assert(sizeof(ClassName), "type needs to be defined"); \ + static_assert(IsGarbageCollectedType<ClassName>::value, \ + "only objects deriving from GarbageCollected can be used"); \ + static_cast<ClassName*>(t)->TraceWrappers(visitor); \ } // WrapperDescriptor contains enough information to visit a @@ -46,9 +44,8 @@ // It is passed to ScriptWrappableVisitor::Visit method. struct WrapperDescriptor { STACK_ALLOCATED(); - const void* traceable; + const void* base_object_payload; TraceWrappersCallback trace_wrappers_callback; - HeapObjectHeaderCallback heap_object_header_callback; MissedWriteBarrierCallback missed_write_barrier_callback; NameCallback name_callback; }; @@ -125,8 +122,9 @@ template <typename T> static WrapperDescriptor WrapperDescriptorFor(const T* traceable) { - return {traceable, TraceTrait<T>::TraceMarkedWrapper, - TraceTrait<T>::GetHeapObjectHeader, + TraceWrapperDescriptor desc = + TraceTrait<T>::GetTraceWrapperDescriptor(const_cast<T*>(traceable)); + return {desc.base_object_payload, desc.callback, ScriptWrappableVisitor::MissedWriteBarrier<T>, ScriptWrappableVisitor::NameCallback<T>}; } @@ -148,6 +146,7 @@ template <typename T> static const char* NameCallback(const void* traceable) { + // Mixns never inherit from TraceWrapperBase. return NameInHeapSnapshot(static_cast<const T*>(traceable)); }
diff --git a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h index 5d198a41..05d926f 100644 --- a/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h +++ b/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h
@@ -16,9 +16,8 @@ protected: void Visit(const TraceWrapperV8Reference<v8::Value>&) const final {} void Visit(const WrapperDescriptor& wrapper_descriptor) const final { - HeapObjectHeader* header = wrapper_descriptor.heap_object_header_callback( - wrapper_descriptor.traceable); - if (!header->IsWrapperHeaderMarked()) { + if (!HeapObjectHeader::FromPayload(wrapper_descriptor.base_object_payload) + ->IsWrapperHeaderMarked()) { // If this branch is hit, it means that a white (not discovered by // traceWrappers) object was assigned as a member to a black object // (already processed by traceWrappers). Black object will not be
diff --git a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp index 2836416f..425edb8 100644 --- a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp +++ b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
@@ -487,6 +487,7 @@ DCHECK(g_registered_layer_set); CHECK(g_registered_layer_set->Contains(layer->Id())); g_registered_layer_set->erase(layer->Id()); + layer->SetLayerClient(nullptr); } void GraphicsLayer::SetContentsTo(WebLayer* layer) {
diff --git a/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.cpp b/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.cpp index c14a1fb..d0cc3d89 100644 --- a/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.cpp +++ b/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.cpp
@@ -64,24 +64,11 @@ if (!retained_image_->peekPixels(&pixmap_)) return; is_valid_ = true; - uses_pixmap_ = true; size_ = IntSize(image->width(), image->height()); } -ImageDataBuffer::ImageDataBuffer(const IntSize& size, - const unsigned char* data, - const CanvasColorParams& color_params) - : data_(data), - color_params_(color_params), - uses_pixmap_(false), - is_valid_(true), - size_(size) { - is_valid_ = data && !size_.IsEmpty(); -} - ImageDataBuffer::ImageDataBuffer(const SkPixmap& pixmap) : pixmap_(pixmap), - uses_pixmap_(true), size_(IntSize(pixmap.width(), pixmap.height())) { is_valid_ = pixmap_.addr() && !size_.IsEmpty(); } @@ -96,17 +83,6 @@ } std::unique_ptr<ImageDataBuffer> ImageDataBuffer::Create( - const IntSize& size, - const unsigned char* data, - const CanvasColorParams& color_params) { - std::unique_ptr<ImageDataBuffer> buffer = - WTF::WrapUnique(new ImageDataBuffer(size, data, color_params)); - if (!buffer->IsValid()) - return nullptr; - return buffer; -} - -std::unique_ptr<ImageDataBuffer> ImageDataBuffer::Create( const SkPixmap& pixmap) { std::unique_ptr<ImageDataBuffer> buffer = WTF::WrapUnique(new ImageDataBuffer(pixmap)); @@ -117,27 +93,13 @@ const unsigned char* ImageDataBuffer::Pixels() const { DCHECK(is_valid_); - if (uses_pixmap_) - return static_cast<const unsigned char*>(pixmap_.addr()); - return data_; + return static_cast<const unsigned char*>(pixmap_.addr()); } bool ImageDataBuffer::EncodeImage(const String& mime_type, const double& quality, Vector<unsigned char>* encoded_image) const { DCHECK(is_valid_); - SkPixmap src; - if (uses_pixmap_) { - src = pixmap_; - } else { - SkColorType color_type = kRGBA_8888_SkColorType; - if (color_params_.GetSkColorType() != kN32_SkColorType) - color_type = kRGBA_F16_SkColorType; - SkImageInfo info = SkImageInfo::Make(size_.Width(), size_.Height(), - color_type, kUnpremul_SkAlphaType, - color_params_.GetSkColorSpace()); - src.reset(info, data_, info.minRowBytes()); - } if (mime_type == "image/jpeg") { SkJpegEncoder::Options options; @@ -147,13 +109,13 @@ if (options.fQuality == 100) { options.fDownsample = SkJpegEncoder::Downsample::k444; } - return ImageEncoder::Encode(encoded_image, src, options); + return ImageEncoder::Encode(encoded_image, pixmap_, options); } if (mime_type == "image/webp") { SkWebpEncoder::Options options = ImageEncoder::ComputeWebpOptions( quality, SkTransferFunctionBehavior::kIgnore); - return ImageEncoder::Encode(encoded_image, src, options); + return ImageEncoder::Encode(encoded_image, pixmap_, options); } DCHECK_EQ(mime_type, "image/png"); @@ -161,7 +123,7 @@ options.fFilterFlags = SkPngEncoder::FilterFlag::kSub; options.fZLibLevel = 3; options.fUnpremulBehavior = SkTransferFunctionBehavior::kIgnore; - return ImageEncoder::Encode(encoded_image, src, options); + return ImageEncoder::Encode(encoded_image, pixmap_, options); } String ImageDataBuffer::ToDataURL(const String& mime_type,
diff --git a/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.h b/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.h index 560c71ea..ca4f19a 100644 --- a/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.h +++ b/third_party/WebKit/Source/platform/graphics/ImageDataBuffer.h
@@ -45,10 +45,6 @@ public: static std::unique_ptr<ImageDataBuffer> Create( scoped_refptr<StaticBitmapImage>); - static std::unique_ptr<ImageDataBuffer> Create( - const IntSize&, - const unsigned char*, - const CanvasColorParams& = CanvasColorParams()); static std::unique_ptr<ImageDataBuffer> Create(const SkPixmap&); String ToDataURL(const String& mime_type, const double& quality) const; @@ -69,11 +65,8 @@ bool IsValid() { return is_valid_; } // Only used by Create() - const unsigned char* data_; - const CanvasColorParams color_params_; sk_sp<SkImage> retained_image_; SkPixmap pixmap_; - bool uses_pixmap_ = false; bool is_valid_ = false; IntSize size_; };
diff --git a/third_party/WebKit/Source/platform/heap/BlinkGC.h b/third_party/WebKit/Source/platform/heap/BlinkGC.h index cee5c09b3..3034a01 100644 --- a/third_party/WebKit/Source/platform/heap/BlinkGC.h +++ b/third_party/WebKit/Source/platform/heap/BlinkGC.h
@@ -16,6 +16,7 @@ class MarkingVisitor; class Visitor; +class ScriptWrappableVisitor; using Address = uint8_t*; @@ -23,6 +24,7 @@ using VisitorCallback = void (*)(Visitor*, void*); using MarkingVisitorCallback = void (*)(MarkingVisitor*, void*); using TraceCallback = VisitorCallback; +using TraceWrappersCallback = void (*)(ScriptWrappableVisitor*, void*); using WeakCallback = VisitorCallback; using EphemeronCallback = VisitorCallback;
diff --git a/third_party/WebKit/Source/platform/heap/GarbageCollected.h b/third_party/WebKit/Source/platform/heap/GarbageCollected.h index 21fcf87..6dc9902 100644 --- a/third_party/WebKit/Source/platform/heap/GarbageCollected.h +++ b/third_party/WebKit/Source/platform/heap/GarbageCollected.h
@@ -16,7 +16,6 @@ template <typename T> class GarbageCollected; class HeapObjectHeader; -class ScriptWrappableVisitor; // GC_PLUGIN_IGNORE is used to make the plugin ignore a particular class or // field when checking for proper usage. When using GC_PLUGIN_IGNORE @@ -54,6 +53,11 @@ bool can_trace_eagerly; }; +struct TraceWrapperDescriptor { + void* base_object_payload; + TraceWrappersCallback callback; +}; + // The GarbageCollectedMixin interface and helper macro // USING_GARBAGE_COLLECTED_MIXIN can be used to automatically define // TraceTrait/ObjectAliveTrait on non-leftmost deriving classes @@ -71,43 +75,39 @@ // }; // // With the helper, as long as we are using Member<B>, TypeTrait<B> will -// dispatch adjustAndMark dynamically to find collect addr of the object header. +// dispatch dynamically to retrieve the necessary tracing and header methods. // Note that this is only enabled for Member<B>. For Member<A> which we can -// compute the object header addr statically, this dynamic dispatch is not used. -// +// compute the necessary methods and pointers statically and this dynamic +// dispatch is not used. class PLATFORM_EXPORT GarbageCollectedMixin { public: typedef int IsGarbageCollectedMixinMarker; virtual void Trace(Visitor*) {} - virtual TraceDescriptor GetTraceDescriptor() const = 0; virtual HeapObjectHeader* GetHeapObjectHeader() const = 0; - virtual void AdjustAndTraceMarkedWrapper( - const ScriptWrappableVisitor*) const = 0; + virtual TraceDescriptor GetTraceDescriptor() const = 0; + virtual TraceWrapperDescriptor GetTraceWrapperDescriptor() const = 0; }; -#define DEFINE_GARBAGE_COLLECTED_MIXIN_METHODS(TYPE) \ - public: \ - TraceDescriptor GetTraceDescriptor() const override { \ - typedef WTF::IsSubclassOfTemplate<typename std::remove_const<TYPE>::type, \ - blink::GarbageCollected> \ - IsSubclassOfGarbageCollected; \ - static_assert( \ - IsSubclassOfGarbageCollected::value, \ - "only garbage collected objects can have garbage collected mixins"); \ - return {const_cast<TYPE*>(static_cast<const TYPE*>(this)), \ - TraceTrait<TYPE>::Trace, TraceEagerlyTrait<TYPE>::value}; \ - } \ - \ - void AdjustAndTraceMarkedWrapper(const ScriptWrappableVisitor* visitor) \ - const override { \ - const TYPE* base = static_cast<const TYPE*>(this); \ - TraceTrait<TYPE>::TraceMarkedWrapper(visitor, base); \ - } \ - \ - HeapObjectHeader* GetHeapObjectHeader() const override { \ - return HeapObjectHeader::FromPayload(static_cast<const TYPE*>(this)); \ - } \ - \ +#define DEFINE_GARBAGE_COLLECTED_MIXIN_METHODS(TYPE) \ + public: \ + HeapObjectHeader* GetHeapObjectHeader() const override { \ + static_assert( \ + WTF::IsSubclassOfTemplate<typename std::remove_const<TYPE>::type, \ + blink::GarbageCollected>::value, \ + "only garbage collected objects can have garbage collected mixins"); \ + return HeapObjectHeader::FromPayload(static_cast<const TYPE*>(this)); \ + } \ + \ + TraceDescriptor GetTraceDescriptor() const override { \ + return {const_cast<TYPE*>(static_cast<const TYPE*>(this)), \ + TraceTrait<TYPE>::Trace, TraceEagerlyTrait<TYPE>::value}; \ + } \ + \ + TraceWrapperDescriptor GetTraceWrapperDescriptor() const override { \ + return {const_cast<TYPE*>(static_cast<const TYPE*>(this)), \ + TraceTrait<TYPE>::TraceWrappers}; \ + } \ + \ private: // A C++ object's vptr will be initialized to its leftmost base's vtable after @@ -212,14 +212,13 @@ // // ambiguous. USING_GARBAGE_COLLECTED_MIXIN(TYPE) overrides them later // // and provides the implementations. // }; -#define MERGE_GARBAGE_COLLECTED_MIXINS() \ - public: \ - TraceDescriptor GetTraceDescriptor() const override = 0; \ - HeapObjectHeader* GetHeapObjectHeader() const override = 0; \ - void AdjustAndTraceMarkedWrapper(const ScriptWrappableVisitor*) \ - const override = 0; \ - \ - private: \ +#define MERGE_GARBAGE_COLLECTED_MIXINS() \ + public: \ + HeapObjectHeader* GetHeapObjectHeader() const override = 0; \ + TraceDescriptor GetTraceDescriptor() const override = 0; \ + TraceWrapperDescriptor GetTraceWrapperDescriptor() const override = 0; \ + \ + private: \ using merge_garbage_collected_mixins_requires_semicolon = void // Base class for objects allocated in the Blink garbage-collected heap.
diff --git a/third_party/WebKit/Source/platform/heap/TraceTraits.h b/third_party/WebKit/Source/platform/heap/TraceTraits.h index 85590c9..10ab493 100644 --- a/third_party/WebKit/Source/platform/heap/TraceTraits.h +++ b/third_party/WebKit/Source/platform/heap/TraceTraits.h
@@ -54,20 +54,16 @@ return {self, TraceTrait<T>::Trace, TraceEagerlyTrait<T>::value}; } - static HeapObjectHeader* GetHeapObjectHeader(const T* self) { + static TraceWrapperDescriptor GetTraceWrapperDescriptor(void* self) { + return {self, TraceTrait<T>::TraceWrappers}; + } + + static HeapObjectHeader* GetHeapObjectHeader(void* self) { #if DCHECK_IS_ON() HeapObjectHeader::CheckFromPayload(self); #endif return HeapObjectHeader::FromPayload(self); } - - static void TraceMarkedWrapper(const ScriptWrappableVisitor* visitor, - const T* self) { - // The term *mark* is misleading here as we effectively trace through the - // API boundary, i.e., tell V8 that an object is alive. Actual marking - // will be done in V8. - visitor->DispatchTraceWrappers(self); - } }; template <typename T> @@ -75,18 +71,19 @@ STATIC_ONLY(AdjustAndMarkTrait); public: - static HeapObjectHeader* GetHeapObjectHeader(const T* self) { - return self->GetHeapObjectHeader(); - } - - static TraceDescriptor GetTraceDescriptor(T* self) { + static TraceDescriptor GetTraceDescriptor(const T* self) { DCHECK(self); return self->GetTraceDescriptor(); } - static void TraceMarkedWrapper(const ScriptWrappableVisitor* visitor, - const T* self) { - self->AdjustAndTraceMarkedWrapper(visitor); + static TraceWrapperDescriptor GetTraceWrapperDescriptor(const T* self) { + DCHECK(self); + return self->GetTraceWrapperDescriptor(); + } + + static HeapObjectHeader* GetHeapObjectHeader(const T* self) { + DCHECK(self); + return self->GetHeapObjectHeader(); } }; @@ -173,10 +170,11 @@ } }; -// The TraceTrait is used to specify how to mark an object pointer and -// how to trace all of the pointers in the object. +// The TraceTrait is used to specify how to trace and object for Oilpan and +// wrapper tracing. // -// By default, the 'trace' method implemented on an object itself is +// +// By default, the 'Trace' method implemented on an object itself is // used to trace the pointers to other heap objects inside the object. // // However, the TraceTrait can be specialized to use a different @@ -193,17 +191,17 @@ return AdjustAndMarkTrait<T>::GetTraceDescriptor(static_cast<T*>(self)); } - static void Trace(Visitor*, void* self); - static void TraceMarkedWrapper(const ScriptWrappableVisitor*, const void*); - static HeapObjectHeader* GetHeapObjectHeader(const void*); - - private: - static const T* ToWrapperTracingType(const void* t) { - static_assert(sizeof(T), "type needs to be defined"); - static_assert(IsGarbageCollectedType<T>::value, - "only objects deriving from GarbageCollected can be used"); - return reinterpret_cast<const T*>(t); + static TraceWrapperDescriptor GetTraceWrapperDescriptor(void* self) { + return AdjustAndMarkTrait<T>::GetTraceWrapperDescriptor( + static_cast<T*>(self)); } + + static HeapObjectHeader* GetHeapObjectHeader(void* self) { + return AdjustAndMarkTrait<T>::GetHeapObjectHeader(static_cast<T*>(self)); + } + + static void Trace(Visitor*, void* self); + static void TraceWrappers(ScriptWrappableVisitor*, void*); }; template <typename T> @@ -216,16 +214,13 @@ } template <typename T> -void TraceTrait<T>::TraceMarkedWrapper(const ScriptWrappableVisitor* visitor, - const void* t) { - const T* traceable = ToWrapperTracingType(t); - AdjustAndMarkTrait<T>::TraceMarkedWrapper(visitor, traceable); +void TraceTrait<T>::TraceWrappers(ScriptWrappableVisitor* visitor, void* self) { + static_assert(sizeof(T), "type needs to be defined"); + static_assert(IsGarbageCollectedType<T>::value, + "only objects deriving from GarbageCollected can be used"); + visitor->DispatchTraceWrappers(static_cast<T*>(self)); } -template <typename T> -HeapObjectHeader* TraceTrait<T>::GetHeapObjectHeader(const void* t) { - return AdjustAndMarkTrait<T>::GetHeapObjectHeader(ToWrapperTracingType(t)); -} template <typename T, typename Traits> struct TraceTrait<HeapVectorBacking<T, Traits>> {
diff --git a/third_party/WebKit/Source/platform/transforms/ScaleTransformOperation.h b/third_party/WebKit/Source/platform/transforms/ScaleTransformOperation.h index 13dde20..7113bae 100644 --- a/third_party/WebKit/Source/platform/transforms/ScaleTransformOperation.h +++ b/third_party/WebKit/Source/platform/transforms/ScaleTransformOperation.h
@@ -68,10 +68,10 @@ type == kScaleZ || type == kScale3D; } - private: OperationType GetType() const override { return type_; } OperationType PrimitiveType() const final { return kScale3D; } + private: bool operator==(const TransformOperation& o) const override { if (!IsSameType(o)) return false;
diff --git a/third_party/WebKit/Source/platform/transforms/TranslateTransformOperation.h b/third_party/WebKit/Source/platform/transforms/TranslateTransformOperation.h index 3e013ce..bc91874 100644 --- a/third_party/WebKit/Source/platform/transforms/TranslateTransformOperation.h +++ b/third_party/WebKit/Source/platform/transforms/TranslateTransformOperation.h
@@ -79,10 +79,10 @@ scoped_refptr<TranslateTransformOperation> ZoomTranslate(double factor); - private: OperationType GetType() const override { return type_; } OperationType PrimitiveType() const final { return kTranslate3D; } + private: bool operator==(const TransformOperation& o) const override { if (!IsSameType(o)) return false;
diff --git a/third_party/WebKit/public/BUILD.gn b/third_party/WebKit/public/BUILD.gn index 4de35c0..a88592f 100644 --- a/third_party/WebKit/public/BUILD.gn +++ b/third_party/WebKit/public/BUILD.gn
@@ -450,7 +450,6 @@ "web/WebApplyConstraintsRequest.h", "web/WebArrayBuffer.h", "web/WebArrayBufferConverter.h", - "web/WebArrayBufferView.h", "web/WebAssociatedURLLoader.h", "web/WebAssociatedURLLoaderClient.h", "web/WebAssociatedURLLoaderOptions.h", @@ -779,7 +778,6 @@ "web/devtools_agent.mojom", "web/devtools_frontend.mojom", "web/selection_menu_behavior.mojom", - "web/shared_worker_creation_context_type.mojom", "web/window_features.mojom", "web/worker_content_settings_proxy.mojom", ]
diff --git a/third_party/WebKit/public/mojom/BUILD.gn b/third_party/WebKit/public/mojom/BUILD.gn index e71253e8..7e79602 100644 --- a/third_party/WebKit/public/mojom/BUILD.gn +++ b/third_party/WebKit/public/mojom/BUILD.gn
@@ -34,6 +34,7 @@ "service_worker/service_worker_registration.mojom", "service_worker/service_worker_state.mojom", "service_worker/service_worker_stream_handle.mojom", + "shared_worker/shared_worker_creation_context_type.mojom", ] public_deps = [
diff --git a/third_party/WebKit/public/mojom/shared_worker/OWNERS b/third_party/WebKit/public/mojom/shared_worker/OWNERS new file mode 100644 index 0000000..a9e7183 --- /dev/null +++ b/third_party/WebKit/public/mojom/shared_worker/OWNERS
@@ -0,0 +1,7 @@ +file://content/browser/shared_worker/OWNERS + +per-file *.mojom=set noparent +per-file *.mojom=file://ipc/SECURITY_OWNERS + +# TEAM: worker-dev@chromium.org +# COMPONENT: Blink>Worker
diff --git a/third_party/WebKit/public/web/shared_worker_creation_context_type.mojom b/third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom similarity index 100% rename from third_party/WebKit/public/web/shared_worker_creation_context_type.mojom rename to third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom
diff --git a/third_party/WebKit/public/web/WebArrayBufferView.h b/third_party/WebKit/public/web/WebArrayBufferView.h deleted file mode 100644 index 161ff1fa..0000000 --- a/third_party/WebKit/public/web/WebArrayBufferView.h +++ /dev/null
@@ -1,74 +0,0 @@ -/* - * Copyright (C) 2011 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebArrayBufferView_h -#define WebArrayBufferView_h - -#include "public/platform/WebCommon.h" -#include "public/platform/WebPrivatePtr.h" - -namespace v8 { -class Value; -template <class T> -class Local; -} - -namespace blink { - -class DOMArrayBufferView; - -// Provides access to an ArrayBufferView. -class WebArrayBufferView { - public: - ~WebArrayBufferView() { Reset(); } - WebArrayBufferView() = default; - WebArrayBufferView(const WebArrayBufferView& v) { Assign(v); } - - BLINK_EXPORT void* BaseAddress() const; - BLINK_EXPORT unsigned ByteOffset() const; - BLINK_EXPORT unsigned ByteLength() const; - - BLINK_EXPORT void Assign(const WebArrayBufferView&); - BLINK_EXPORT void Reset(); - - BLINK_EXPORT static WebArrayBufferView* CreateFromV8Value( - v8::Local<v8::Value>); - -#if INSIDE_BLINK - WebArrayBufferView(DOMArrayBufferView*); - WebArrayBufferView& operator=(DOMArrayBufferView*); - operator DOMArrayBufferView*() const; -#endif - - private: - WebPrivatePtr<DOMArrayBufferView> private_; -}; - -} // namespace blink - -#endif // WebArrayBufferView_h
diff --git a/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h b/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h index 47ba1109..3c37c69 100644 --- a/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h +++ b/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h
@@ -31,8 +31,8 @@ #ifndef WebSharedWorkerConnectListener_h #define WebSharedWorkerConnectListener_h -#include "public/platform/web_feature.mojom-shared.h" -#include "public/web/shared_worker_creation_context_type.mojom-shared.h" +#include "third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom-shared.h" +#include "third_party/WebKit/public/platform/web_feature.mojom-shared.h" namespace blink {
diff --git a/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h b/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h index cfdcaa95..0ca0c50 100644 --- a/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h +++ b/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h
@@ -32,8 +32,8 @@ #define WebSharedWorkerRepositoryClient_h #include <memory> -#include "public/web/shared_worker_creation_context_type.mojom-shared.h" #include "third_party/WebKit/public/mojom/net/ip_address_space.mojom-shared.h" +#include "third_party/WebKit/public/mojom/shared_worker/shared_worker_creation_context_type.mojom-shared.h" namespace blink {
diff --git a/third_party/closure_compiler/externs/automation.js b/third_party/closure_compiler/externs/automation.js index d90a5992..d7cb866 100644 --- a/third_party/closure_compiler/externs/automation.js +++ b/third_party/closure_compiler/externs/automation.js
@@ -65,6 +65,7 @@ SELECTION_ADD: 'selectionAdd', SELECTION_REMOVE: 'selectionRemove', SHOW: 'show', + STATE_CHANGED: 'stateChanged', TEXT_CHANGED: 'textChanged', TEXT_SELECTION_CHANGED: 'textSelectionChanged', TREE_CHANGED: 'treeChanged',
diff --git a/third_party/crashpad/README.chromium b/third_party/crashpad/README.chromium index 3101da5..d37e2cb 100644 --- a/third_party/crashpad/README.chromium +++ b/third_party/crashpad/README.chromium
@@ -2,7 +2,7 @@ Short Name: crashpad URL: https://crashpad.chromium.org/ Version: unknown -Revision: a8ecdbc973d969a87aaa2efffb1668efb52b799d +Revision: 4375233ad2dad48f2332ecc20221df10f98b668a License: Apache 2.0 License File: crashpad/LICENSE Security Critical: yes
diff --git a/third_party/crashpad/crashpad/.gitignore b/third_party/crashpad/crashpad/.gitignore index e6daaab..d225542 100644 --- a/third_party/crashpad/crashpad/.gitignore +++ b/third_party/crashpad/crashpad/.gitignore
@@ -15,6 +15,9 @@ /third_party/fuchsia/qemu /third_party/fuchsia/sdk /third_party/gtest/gtest +/third_party/linux/.cipd +/third_party/linux/clang +/third_party/linux/sysroot /third_party/gyp/gyp /third_party/mini_chromium/mini_chromium /third_party/zlib/zlib
diff --git a/third_party/crashpad/crashpad/DEPS b/third_party/crashpad/crashpad/DEPS index 6936f9f..d118f600 100644 --- a/third_party/crashpad/crashpad/DEPS +++ b/third_party/crashpad/crashpad/DEPS
@@ -14,6 +14,7 @@ vars = { 'chromium_git': 'https://chromium.googlesource.com', + 'pull_linux_clang': False } deps = { @@ -28,7 +29,7 @@ '5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f', 'crashpad/third_party/mini_chromium/mini_chromium': Var('chromium_git') + '/chromium/mini_chromium@' + - '3b953302848580cdf23b50402befc0ae09d03ff9', + 'ef0df1119b40cfa2773d5960e239d4b960310869', 'crashpad/third_party/zlib/zlib': Var('chromium_git') + '/chromium/src/third_party/zlib@' + '13dc246a58e4b72104d35f9b1809af95221ebda7', @@ -115,8 +116,37 @@ }, { # This uses “cipd install” so that mac-amd64 and linux-amd64 can coexist - # peacefully. “cipd ensure” would remove the Linux package when running on a - # macOS build host and vice-versa. https://crbug.com/789364. + # peacefully. “cipd ensure” would remove the macOS package when running on a + # Linux build host and vice-versa. https://crbug.com/789364. This package is + # only updated when the solution in .gclient includes an entry like: + # "custom_vars": { "pull_linux_clang": True } + 'name': 'clang_linux', + 'pattern': '.', + 'condition': 'checkout_linux and pull_linux_clang', + 'action': [ + 'cipd', + 'install', + # sic, using Fuchsia team's generic build of clang for linux-amd64 to + # build for linux-amd64 target too. + 'fuchsia/clang/linux-amd64', + 'latest', + '-root', 'crashpad/third_party/linux/clang/linux-amd64', + '-log-level', 'info', + ], + }, + { + # If using a local clang ("pull_linux_clang" above), also pull down a + # sysroot. + 'name': 'clang_linux', + 'pattern': '.', + 'condition': 'checkout_linux and pull_linux_clang', + 'action': [ + 'crashpad/build/install_linux_sysroot.py', + ], + }, + { + # Same rationale for using "install" rather than "ensure" as for first clang + # package. https://crbug.com/789364. 'name': 'fuchsia_clang_mac', 'pattern': '.', 'condition': 'checkout_fuchsia and host_os == "mac"', @@ -130,9 +160,8 @@ ], }, { - # This uses “cipd install” so that mac-amd64 and linux-amd64 can coexist - # peacefully. “cipd ensure” would remove the macOS package when running on a - # Linux build host and vice-versa. https://crbug.com/789364. + # Same rationale for using "install" rather than "ensure" as for first clang + # package. https://crbug.com/789364. 'name': 'fuchsia_clang_linux', 'pattern': '.', 'condition': 'checkout_fuchsia and host_os == "linux"',
diff --git a/third_party/crashpad/crashpad/build/BUILDCONFIG.gn b/third_party/crashpad/crashpad/build/BUILDCONFIG.gn index 67d56ae..0e6da16 100644 --- a/third_party/crashpad/crashpad/build/BUILDCONFIG.gn +++ b/third_party/crashpad/crashpad/build/BUILDCONFIG.gn
@@ -35,7 +35,7 @@ if (current_os == "win") { set_default_toolchain( - "//third_party/mini_chromium/mini_chromium/build:msvc_toolchain") + "//third_party/mini_chromium/mini_chromium/build:msvc_toolchain_$current_cpu") } else { set_default_toolchain( "//third_party/mini_chromium/mini_chromium/build:gcc_like_toolchain") @@ -54,8 +54,10 @@ ] _default_executable_configs = - _default_configs + - [ "//third_party/mini_chromium/mini_chromium/build:executable" ] + _default_configs + [ + "//third_party/mini_chromium/mini_chromium/build:executable", + "//third_party/mini_chromium/mini_chromium/build:win_console", + ] set_defaults("source_set") { configs = _default_configs
diff --git a/third_party/crashpad/crashpad/build/install_linux_sysroot.py b/third_party/crashpad/crashpad/build/install_linux_sysroot.py new file mode 100755 index 0000000..afa8815 --- /dev/null +++ b/third_party/crashpad/crashpad/build/install_linux_sysroot.py
@@ -0,0 +1,74 @@ +#!/usr/bin/env python + +# Copyright 2018 The Crashpad Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Various code adapted from: +# https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/install-sysroot.py + +import os +import shutil +import subprocess +import sys +import urllib2 + + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Sysroot revision from: +# https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/sysroots.json +SERVER = 'https://commondatastorage.googleapis.com' +PATH = 'chrome-linux-sysroot/toolchain' +REVISION = '3c248ba4290a5ad07085b7af07e6785bf1ae5b66' +FILENAME = 'debian_stretch_amd64_sysroot.tar.xz' + +def main(): + url = '%s/%s/%s/%s' % (SERVER, PATH, REVISION, FILENAME) + + sysroot = os.path.join(SCRIPT_DIR, os.pardir, + 'third_party', 'linux', 'sysroot') + + stamp = os.path.join(sysroot, '.stamp') + if os.path.exists(stamp): + with open(stamp) as s: + if s.read() == url: + return + + print 'Installing Debian root image from %s' % url + + if os.path.isdir(sysroot): + shutil.rmtree(sysroot) + os.mkdir(sysroot) + tarball = os.path.join(sysroot, FILENAME) + print 'Downloading %s' % url + + for _ in range(3): + response = urllib2.urlopen(url) + with open(tarball, 'wb') as f: + f.write(response.read()) + break + else: + raise Exception('Failed to download %s' % url) + + subprocess.check_call(['tar', 'xf', tarball, '-C', sysroot]) + + os.remove(tarball) + + with open(stamp, 'w') as s: + s.write(url) + + +if __name__ == '__main__': + main() + sys.exit(0)
diff --git a/third_party/crashpad/crashpad/build/run_tests.py b/third_party/crashpad/crashpad/build/run_tests.py index 6c2dacf4..efd0aa4 100755 --- a/third_party/crashpad/crashpad/build/run_tests.py +++ b/third_party/crashpad/crashpad/build/run_tests.py
@@ -70,10 +70,11 @@ if gn_path: # Look for a GN “target_os”. - popen = subprocess.Popen( - [gn_path, 'args', binary_dir, '--list=target_os', '--short'], - shell=IS_WINDOWS_HOST, stdout=subprocess.PIPE, stderr=open(os.devnull), - cwd=CRASHPAD_DIR) + popen = subprocess.Popen([gn_path, '--root=' + CRASHPAD_DIR, + 'args', binary_dir, + '--list=target_os', '--short'], + shell=IS_WINDOWS_HOST, + stdout=subprocess.PIPE, stderr=open(os.devnull)) value = popen.communicate()[0] if popen.returncode == 0: match = re.match('target_os = "(.*)"$', value.decode('utf-8')) @@ -310,13 +311,18 @@ def _GenerateFuchsiaRuntimeDepsFiles(binary_dir, tests): """Ensures a <binary_dir>/<test>.runtime_deps file exists for each test.""" - targets_file = os.path.abspath(os.path.join(binary_dir, 'targets.txt')) + targets_file = os.path.join(binary_dir, 'targets.txt') with open(targets_file, 'wb') as f: f.write('//:' + '\n//:'.join(tests) + '\n') gn_path = _FindGNFromBinaryDir(binary_dir) subprocess.check_call( - [gn_path, 'gen', binary_dir, '--runtime-deps-list-file=' + targets_file], - cwd=CRASHPAD_DIR) + [gn_path, '--root=' + CRASHPAD_DIR, 'gen', binary_dir, + '--runtime-deps-list-file=' + targets_file]) + + # Run again so that --runtime-deps-list-file isn't in the regen rule. See + # https://crbug.com/814816. + subprocess.check_call( + [gn_path, '--root=' + CRASHPAD_DIR, 'gen', binary_dir]) def _HandleOutputFromFuchsiaLogListener(process, done_message): @@ -373,7 +379,8 @@ staging_root = test_root + '/pkg' # Make a staging directory tree on the target. - directories_to_create = [tmp_root, '%s/bin' % staging_root, + directories_to_create = [tmp_root, + '%s/bin' % staging_root, '%s/assets' % staging_root] netruncmd(['mkdir', '-p'] + directories_to_create) @@ -396,7 +403,8 @@ target_path = os.path.join( staging_root, 'bin', local_path[len(binary_dir)+1:]) else: - target_path = os.path.join(staging_root, 'assets', local_path) + relative_path = os.path.relpath(local_path, CRASHPAD_DIR) + target_path = os.path.join(staging_root, 'assets', relative_path) netcp_path = os.path.join(sdk_root, 'tools', 'netcp') subprocess.check_call([netcp_path, local_path, device_name + ':' + target_path],
diff --git a/third_party/crashpad/crashpad/client/BUILD.gn b/third_party/crashpad/crashpad/client/BUILD.gn index f054e7ca..cb4161f50 100644 --- a/third_party/crashpad/crashpad/client/BUILD.gn +++ b/third_party/crashpad/crashpad/client/BUILD.gn
@@ -36,8 +36,6 @@ if (crashpad_is_mac) { sources += [ - "capture_context_mac.S", - "capture_context_mac.h", "crash_report_database_mac.mm", "crashpad_client_mac.cc", "simulate_crash_mac.cc", @@ -46,7 +44,14 @@ } if (crashpad_is_linux || crashpad_is_android) { - sources += [ "crashpad_client_linux.cc" ] + sources += [ + "crashpad_client_linux.cc", + "simulate_crash_linux.h", + ] + } + + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ "crashpad_info_note.S" ] } if (crashpad_is_win) { @@ -59,11 +64,14 @@ if (crashpad_is_fuchsia) { sources += [ - "crash_report_database_fuchsia.cc", "crashpad_client_fuchsia.cc", ] } + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ "crash_report_database_generic.cc" ] + } + public_configs = [ "..:crashpad_config" ] deps = [ @@ -92,16 +100,17 @@ ] if (crashpad_is_mac) { - sources += [ - "capture_context_mac_test.cc", - "simulate_crash_mac_test.cc", - ] + sources += [ "simulate_crash_mac_test.cc" ] } if (crashpad_is_win) { sources += [ "crashpad_client_win_test.cc" ] } + if (crashpad_is_linux || crashpad_is_android) { + sources += [ "crashpad_client_linux_test.cc" ] + } + deps = [ ":client", "../compat",
diff --git a/third_party/crashpad/crashpad/client/capture_context_mac.h b/third_party/crashpad/crashpad/client/capture_context_mac.h deleted file mode 100644 index 74e440e..0000000 --- a/third_party/crashpad/crashpad/client/capture_context_mac.h +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2014 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CRASHPAD_CLIENT_CAPTURE_CONTEXT_MAC_H_ -#define CRASHPAD_CLIENT_CAPTURE_CONTEXT_MAC_H_ - -#include <mach/mach.h> - -#include "build/build_config.h" - -namespace crashpad { - -#if defined(ARCH_CPU_X86_FAMILY) -using NativeCPUContext = x86_thread_state; -#endif - -//! \brief Saves the CPU context. -//! -//! The CPU context will be captured as accurately and completely as possible, -//! containing an atomic snapshot at the point of this function’s return. This -//! function does not modify any registers. -//! -//! \param[out] cpu_context The structure to store the context in. -//! -//! \note On x86_64, the value for `%%rdi` will be populated with the address of -//! this function’s argument, as mandated by the ABI. If the value of -//! `%%rdi` prior to calling this function is needed, it must be obtained -//! separately prior to calling this function. For example: -//! \code -//! uint64_t rdi; -//! asm("movq %%rdi, %0" : "=m"(rdi)); -//! \endcode -void CaptureContext(NativeCPUContext* cpu_context); - -} // namespace crashpad - -#endif // CRASHPAD_CLIENT_CAPTURE_CONTEXT_MAC_H_
diff --git a/third_party/crashpad/crashpad/client/capture_context_mac_test.cc b/third_party/crashpad/crashpad/client/capture_context_mac_test.cc deleted file mode 100644 index 15640210..0000000 --- a/third_party/crashpad/crashpad/client/capture_context_mac_test.cc +++ /dev/null
@@ -1,158 +0,0 @@ -// Copyright 2014 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "client/capture_context_mac.h" - -#include <mach/mach.h> -#include <stdint.h> - -#include <algorithm> - -#include "build/build_config.h" -#include "gtest/gtest.h" -#include "util/misc/address_sanitizer.h" -#include "util/misc/implicit_cast.h" - -namespace crashpad { -namespace test { -namespace { - -// If the context structure has fields that tell whether it’s valid, such as -// magic numbers or size fields, sanity-checks those fields for validity with -// fatal gtest assertions. For other fields, where it’s possible to reason about -// their validity based solely on their contents, sanity-checks via nonfatal -// gtest assertions. -void SanityCheckContext(const NativeCPUContext& context) { -#if defined(ARCH_CPU_X86) - ASSERT_EQ(implicit_cast<thread_state_flavor_t>(context.tsh.flavor), - implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32)); - ASSERT_EQ(implicit_cast<uint32_t>(context.tsh.count), - implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT)); -#elif defined(ARCH_CPU_X86_64) - ASSERT_EQ(implicit_cast<thread_state_flavor_t>(context.tsh.flavor), - implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64)); - ASSERT_EQ(implicit_cast<uint32_t>(context.tsh.count), - implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT)); -#endif - -#if defined(ARCH_CPU_X86_FAMILY) - // The segment registers are only capable of storing 16-bit quantities, but - // the context structure provides native integer-width fields for them. Ensure - // that the high bits are all clear. - // - // Many bit positions in the flags register are reserved and will always read - // a known value. Most reserved bits are always 0, but bit 1 is always 1. - // Check that the reserved bits are all set to their expected values. Note - // that the set of reserved bits may be relaxed over time with newer CPUs, and - // that this test may need to be changed to reflect these developments. The - // current set of reserved bits are 1, 3, 5, 15, and 22 and higher. See Intel - // Software Developer’s Manual, Volume 1: Basic Architecture (253665-051), - // 3.4.3 “EFLAGS Register”, and AMD Architecture Programmer’s Manual, Volume - // 2: System Programming (24593-3.24), 3.1.6 “RFLAGS Register”. -#if defined(ARCH_CPU_X86) - EXPECT_EQ(context.uts.ts32.__cs & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__ds & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__es & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__fs & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__gs & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__ss & ~0xffff, 0u); - EXPECT_EQ(context.uts.ts32.__eflags & 0xffc0802a, 2u); -#elif defined(ARCH_CPU_X86_64) - EXPECT_EQ(context.uts.ts64.__cs & ~UINT64_C(0xffff), 0u); - EXPECT_EQ(context.uts.ts64.__fs & ~UINT64_C(0xffff), 0u); - EXPECT_EQ(context.uts.ts64.__gs & ~UINT64_C(0xffff), 0u); - EXPECT_EQ(context.uts.ts64.__rflags & UINT64_C(0xffffffffffc0802a), 2u); -#endif -#endif -} - -// A CPU-independent function to return the program counter. -uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) { -#if defined(ARCH_CPU_X86) - return context.uts.ts32.__eip; -#elif defined(ARCH_CPU_X86_64) - return context.uts.ts64.__rip; -#endif -} - -// A CPU-independent function to return the stack pointer. -uintptr_t StackPointerFromContext(const NativeCPUContext& context) { -#if defined(ARCH_CPU_X86) - return context.uts.ts32.__esp; -#elif defined(ARCH_CPU_X86_64) - return context.uts.ts64.__rsp; -#endif -} - -void TestCaptureContext() { - NativeCPUContext context_1; - CaptureContext(&context_1); - - { - SCOPED_TRACE("context_1"); - ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_1)); - } - - // The program counter reference value is this function’s address. The - // captured program counter should be slightly greater than or equal to the - // reference program counter. - uintptr_t pc = ProgramCounterFromContext(context_1); - -#if !defined(ADDRESS_SANITIZER) - // AddressSanitizer can cause enough code bloat that the “nearby” check would - // likely fail. - const uintptr_t kReferencePC = - reinterpret_cast<uintptr_t>(TestCaptureContext); - EXPECT_LT(pc - kReferencePC, 64u); -#endif // !defined(ADDRESS_SANITIZER) - - // Declare sp and context_2 here because all local variables need to be - // declared before computing the stack pointer reference value, so that the - // reference value can be the lowest value possible. - uintptr_t sp; - NativeCPUContext context_2; - - // The stack pointer reference value is the lowest address of a local variable - // in this function. The captured program counter will be slightly less than - // or equal to the reference stack pointer. - const uintptr_t kReferenceSP = - std::min(std::min(reinterpret_cast<uintptr_t>(&context_1), - reinterpret_cast<uintptr_t>(&context_2)), - std::min(reinterpret_cast<uintptr_t>(&pc), - reinterpret_cast<uintptr_t>(&sp))); - sp = StackPointerFromContext(context_1); - EXPECT_LT(kReferenceSP - sp, 512u); - - // Capture the context again, expecting that the stack pointer stays the same - // and the program counter increases. Strictly speaking, there’s no guarantee - // that these conditions will hold, although they do for known compilers even - // under typical optimization. - CaptureContext(&context_2); - - { - SCOPED_TRACE("context_2"); - ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_2)); - } - - EXPECT_EQ(StackPointerFromContext(context_2), sp); - EXPECT_GT(ProgramCounterFromContext(context_2), pc); -} - -TEST(CaptureContextMac, CaptureContext) { - ASSERT_NO_FATAL_FAILURE(TestCaptureContext()); -} - -} // namespace -} // namespace test -} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/client.gyp b/third_party/crashpad/crashpad/client/client.gyp index f75f9c4..e149a2c 100644 --- a/third_party/crashpad/crashpad/client/client.gyp +++ b/third_party/crashpad/crashpad/client/client.gyp
@@ -33,8 +33,6 @@ 'annotation.h', 'annotation_list.cc', 'annotation_list.h', - 'capture_context_mac.S', - 'capture_context_mac.h', 'crash_report_database.cc', 'crash_report_database.h', 'crash_report_database_mac.mm', @@ -52,6 +50,7 @@ 'simple_string_dictionary.h', 'simple_address_range_bag.h', 'simulate_crash.h', + 'simulate_crash_linux.h', 'simulate_crash_mac.cc', 'simulate_crash_mac.h', 'simulate_crash_win.h', @@ -64,9 +63,18 @@ ], }, }], - ['OS!="mac"', { - 'sources!': [ - 'capture_context_mac.S', + ['OS=="linux" or OS=="android"', { + 'sources': [ + 'crashpad_info_note.S', + 'crash_report_database_generic.cc', + ], + }], + ], + 'target_conditions': [ + ['OS=="android"', { + 'sources/': [ + ['include', '^crashpad_client_linux\\.cc$'], + ['include', '^simulate_crash_linux\\.h$'], ], }], ],
diff --git a/third_party/crashpad/crashpad/client/client_test.gyp b/third_party/crashpad/crashpad/client/client_test.gyp index 4ea4ef2..61a4a7e 100644 --- a/third_party/crashpad/crashpad/client/client_test.gyp +++ b/third_party/crashpad/crashpad/client/client_test.gyp
@@ -37,9 +37,9 @@ 'sources': [ 'annotation_test.cc', 'annotation_list_test.cc', - 'capture_context_mac_test.cc', 'crash_report_database_test.cc', 'crashpad_client_win_test.cc', + 'crashpad_client_linux_test.cc', 'prune_crash_reports_test.cc', 'settings_test.cc', 'simple_address_range_bag_test.cc', @@ -53,6 +53,13 @@ ], }], ], + 'target_conditions': [ + ['OS=="android"', { + 'sources/': [ + ['include', '^crashpad_client_linux_test\\.cc$'], + ], + }], + ], }, ], }
diff --git a/third_party/crashpad/crashpad/client/crash_report_database.cc b/third_party/crashpad/crashpad/client/crash_report_database.cc index 8451e469..afd751d 100644 --- a/third_party/crashpad/crashpad/client/crash_report_database.cc +++ b/third_party/crashpad/crashpad/client/crash_report_database.cc
@@ -14,6 +14,8 @@ #include "client/crash_report_database.h" +#include "build/build_config.h" + namespace crashpad { CrashReportDatabase::Report::Report() @@ -26,22 +28,55 @@ upload_attempts(0), upload_explicitly_requested(false) {} -CrashReportDatabase::CallErrorWritingCrashReport::CallErrorWritingCrashReport( - CrashReportDatabase* database, - NewReport* new_report) - : database_(database), - new_report_(new_report) { +CrashReportDatabase::NewReport::NewReport() + : writer_(std::make_unique<FileWriter>()), uuid_(), file_remover_() {} + +CrashReportDatabase::NewReport::~NewReport() = default; + +bool CrashReportDatabase::NewReport::Initialize( + const base::FilePath& directory, + const base::FilePath::StringType& extension) { + if (!uuid_.InitializeWithNew()) { + return false; + } + +#if defined(OS_WIN) + const std::wstring uuid_string = uuid_.ToString16(); +#else + const std::string uuid_string = uuid_.ToString(); +#endif + + const base::FilePath path = directory.Append(uuid_string + extension); + if (!writer_->Open( + path, FileWriteMode::kCreateOrFail, FilePermissions::kOwnerOnly)) { + return false; + } + file_remover_.reset(path); + return true; } -CrashReportDatabase::CallErrorWritingCrashReport:: - ~CallErrorWritingCrashReport() { - if (new_report_) { - database_->ErrorWritingCrashReport(new_report_); +CrashReportDatabase::UploadReport::UploadReport() + : Report(), reader_(std::make_unique<FileReader>()), database_(nullptr) {} + +CrashReportDatabase::UploadReport::~UploadReport() { + if (database_) { + database_->RecordUploadAttempt(this, false, std::string()); } } -void CrashReportDatabase::CallErrorWritingCrashReport::Disarm() { - new_report_ = nullptr; +bool CrashReportDatabase::UploadReport::Initialize(const base::FilePath path, + CrashReportDatabase* db) { + database_ = db; + return reader_->Open(path); +} + +CrashReportDatabase::OperationStatus CrashReportDatabase::RecordUploadComplete( + std::unique_ptr<const UploadReport> report_in, + const std::string& id) { + UploadReport* report = const_cast<UploadReport*>(report_in.get()); + + report->database_ = nullptr; + return RecordUploadAttempt(report, true, id); } } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crash_report_database.h b/third_party/crashpad/crashpad/client/crash_report_database.h index 6211789..efa7a770 100644 --- a/third_party/crashpad/crashpad/client/crash_report_database.h +++ b/third_party/crashpad/crashpad/client/crash_report_database.h
@@ -24,6 +24,9 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "util/file/file_io.h" +#include "util/file/file_reader.h" +#include "util/file/file_writer.h" +#include "util/file/scoped_remove_file.h" #include "util/misc/metrics.h" #include "util/misc/uuid.h" @@ -47,7 +50,7 @@ //! processed, or it was has been brought back from 'Completed' state by //! user request. //! 3. Completed: The report has been locally processed, either by uploading -//! it to a collection server and calling RecordUploadAttempt(), or by +//! it to a collection server and calling RecordUploadComplete(), or by //! calling SkipReportUpload(). class CrashReportDatabase { public: @@ -98,44 +101,57 @@ //! \brief A crash report that is in the process of being written. //! - //! An instance of this struct should be created via PrepareNewCrashReport() - //! and destroyed with FinishedWritingCrashReport(). - struct NewReport { - //! The file handle to which the report should be written. - FileHandle handle; + //! An instance of this class should be created via PrepareNewCrashReport(). + class NewReport { + public: + NewReport(); + ~NewReport(); + + //! An open FileWriter with which to write the report. + FileWriter* Writer() const { return writer_.get(); } //! A unique identifier by which this report will always be known to the //! database. - UUID uuid; - - //! The path to the crash report being written. - base::FilePath path; - }; - - //! \brief A scoper to cleanly handle the interface requirement imposed by - //! PrepareNewCrashReport(). - //! - //! Calls ErrorWritingCrashReport() upon destruction unless disarmed by - //! calling Disarm(). Armed upon construction. - class CallErrorWritingCrashReport { - public: - //! \brief Arms the object to call ErrorWritingCrashReport() on \a database - //! with an argument of \a new_report on destruction. - CallErrorWritingCrashReport(CrashReportDatabase* database, - NewReport* new_report); - - //! \brief Calls ErrorWritingCrashReport() if the object is armed. - ~CallErrorWritingCrashReport(); - - //! \brief Disarms the object so that CallErrorWritingCrashReport() will not - //! be called upon destruction. - void Disarm(); + const UUID& ReportID() { return uuid_; } private: - CrashReportDatabase* database_; // weak - NewReport* new_report_; // weak + friend class CrashReportDatabaseGeneric; + friend class CrashReportDatabaseMac; + friend class CrashReportDatabaseWin; - DISALLOW_COPY_AND_ASSIGN(CallErrorWritingCrashReport); + bool Initialize(const base::FilePath& directory, + const base::FilePath::StringType& extension); + + std::unique_ptr<FileWriter> writer_; + UUID uuid_; + ScopedRemoveFile file_remover_; + + DISALLOW_COPY_AND_ASSIGN(NewReport); + }; + + //! \brief A crash report that is in the process of being uploaded. + //! + //! An instance of this class should be created via GetReportForUploading(). + class UploadReport : public Report { + public: + UploadReport(); + virtual ~UploadReport(); + + // An open FileReader with which to read the report. + FileReader* Reader() const { return reader_.get(); } + + private: + friend class CrashReportDatabase; + friend class CrashReportDatabaseGeneric; + friend class CrashReportDatabaseMac; + friend class CrashReportDatabaseWin; + + bool Initialize(const base::FilePath path, CrashReportDatabase* database); + + std::unique_ptr<FileReader> reader_; + CrashReportDatabase* database_; + + DISALLOW_COPY_AND_ASSIGN(UploadReport); }; //! \brief The result code for operations performed on a database. @@ -217,49 +233,31 @@ //! \brief Creates a record of a new crash report. //! - //! Callers can then write the crash report using the file handle provided. - //! The caller does not own the new crash report record or its file handle, - //! both of which must be explicitly disposed of by calling - //! FinishedWritingCrashReport() or ErrorWritingCrashReport(). + //! Callers should write the crash report using the FileWriter provided. + //! Callers should then call FinishedWritingCrashReport() to complete report + //! creation. If an error is encountered while writing the crash report, no + //! special action needs to be taken. If FinishedWritingCrashReport() is not + //! called, the report will be removed from the database when \a report is + //! destroyed. //! - //! To arrange to call ErrorWritingCrashReport() during any early return, use - //! CallErrorWritingCrashReport. - //! - //! \param[out] report A NewReport object containing a file handle to which - //! the crash report data should be written. Only valid if this returns - //! #kNoError. The caller must not delete the NewReport object or close - //! the file handle within. + //! \param[out] report A NewReport object containing a FileWriter with which + //! to write the report data. Only valid if this returns #kNoError. //! //! \return The operation status code. - virtual OperationStatus PrepareNewCrashReport(NewReport** report) = 0; + virtual OperationStatus PrepareNewCrashReport( + std::unique_ptr<NewReport>* report) = 0; - //! \brief Informs the database that a crash report has been written. - //! - //! After calling this method, the database is permitted to move and rename - //! the file at NewReport::path. + //! \brief Informs the database that a crash report has been successfully + //! written. //! //! \param[in] report A NewReport obtained with PrepareNewCrashReport(). The - //! NewReport object and file handle within will be invalidated as part of - //! this call. + //! NewReport object will be invalidated as part of this call. //! \param[out] uuid The UUID of this crash report. //! //! \return The operation status code. - virtual OperationStatus FinishedWritingCrashReport(NewReport* report, - UUID* uuid) = 0; - - //! \brief Informs the database that an error occurred while attempting to - //! write a crash report, and that any resources associated with it should - //! be cleaned up. - //! - //! After calling this method, the database is permitted to remove the file at - //! NewReport::path. - //! - //! \param[in] report A NewReport obtained with PrepareNewCrashReport(). The - //! NewReport object and file handle within will be invalidated as part of - //! this call. - //! - //! \return The operation status code. - virtual OperationStatus ErrorWritingCrashReport(NewReport* report) = 0; + virtual OperationStatus FinishedWritingCrashReport( + std::unique_ptr<NewReport> report, + UUID* uuid) = 0; //! \brief Returns the crash report record for the unique identifier. //! @@ -288,42 +286,38 @@ //! \return The operation status code. virtual OperationStatus GetCompletedReports(std::vector<Report>* reports) = 0; - //! \brief Obtains a report object for uploading to a collection server. + //! \brief Obtains and locks a report object for uploading to a collection + //! server. //! - //! The file at Report::file_path should be uploaded by the caller, and then - //! the returned Report object must be disposed of via a call to - //! RecordUploadAttempt(). - //! - //! A subsequent call to this method with the same \a uuid is illegal until - //! RecordUploadAttempt() has been called. + //! Callers should upload the crash report using the FileReader provided. + //! Callers should then call RecordUploadComplete() to record a successful + //! upload. If RecordUploadComplete() is not called, the upload attempt will + //! be recorded as unsuccessful and the report lock released when \a report is + //! destroyed. //! //! \param[in] uuid The unique identifier for the crash report record. //! \param[out] report A crash report record for the report to be uploaded. - //! The caller does not own this object. Only valid if this returns - //! #kNoError. + //! Only valid if this returns #kNoError. //! //! \return The operation status code. - virtual OperationStatus GetReportForUploading(const UUID& uuid, - const Report** report) = 0; + virtual OperationStatus GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) = 0; - //! \brief Adjusts a crash report record’s metadata to account for an upload - //! attempt, and updates the last upload attempt time as returned by + //! \brief Records a successful upload for a report and updates the last + //! upload attempt time as returned by //! Settings::GetLastUploadAttemptTime(). //! - //! After calling this method, the database is permitted to move and rename - //! the file at Report::file_path. - //! - //! \param[in] report The report object obtained from - //! GetReportForUploading(). This object is invalidated after this call. - //! \param[in] successful Whether the upload attempt was successful. - //! \param[in] id The identifier assigned to this crash report by the - //! collection server. Must be empty if \a successful is `false`; may be - //! empty if it is `true`. + //! \param[in] report A UploadReport object obtained from + //! GetReportForUploading(). The UploadReport object will be invalidated + //! and the report unlocked as part of this call. + //! \param[in] id The possibly empty identifier assigned to this crash report + //! by the collection server. //! //! \return The operation status code. - virtual OperationStatus RecordUploadAttempt(const Report* report, - bool successful, - const std::string& id) = 0; + OperationStatus RecordUploadComplete( + std::unique_ptr<const UploadReport> report, + const std::string& id); //! \brief Moves a report from the pending state to the completed state, but //! without the report being uploaded. @@ -355,10 +349,37 @@ //! \return The operation status code. virtual OperationStatus RequestUpload(const UUID& uuid) = 0; + //! \brief Cleans the database of expired lockfiles, metadata without report + //! files, and report files without metadata. + //! + //! This method does nothing on the macOS and Windows implementations of the + //! database. + //! + //! \param[in] lockfile_ttl The number of seconds at which lockfiles or new + //! report files are considered expired. + //! \return The number of reports cleaned. + virtual int CleanDatabase(time_t lockfile_ttl) { return 0; } + protected: CrashReportDatabase() {} private: + //! \brief Adjusts a crash report record’s metadata to account for an upload + //! attempt, and updates the last upload attempt time as returned by + //! Settings::GetLastUploadAttemptTime(). + //! + //! \param[in] report The report object obtained from + //! GetReportForUploading(). + //! \param[in] successful Whether the upload attempt was successful. + //! \param[in] id The identifier assigned to this crash report by the + //! collection server. Must be empty if \a successful is `false`; may be + //! empty if it is `true`. + //! + //! \return The operation status code. + virtual OperationStatus RecordUploadAttempt(UploadReport* report, + bool successful, + const std::string& id) = 0; + DISALLOW_COPY_AND_ASSIGN(CrashReportDatabase); };
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_fuchsia.cc b/third_party/crashpad/crashpad/client/crash_report_database_fuchsia.cc deleted file mode 100644 index 0a7157c8..0000000 --- a/third_party/crashpad/crashpad/client/crash_report_database_fuchsia.cc +++ /dev/null
@@ -1,35 +0,0 @@ -// Copyright 2017 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "client/crash_report_database.h" - -#include "base/logging.h" - -namespace crashpad { - -// static -std::unique_ptr<CrashReportDatabase> CrashReportDatabase::Initialize( - const base::FilePath& path) { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 - return std::unique_ptr<CrashReportDatabase>(); -} - -// static -std::unique_ptr<CrashReportDatabase> -CrashReportDatabase::InitializeWithoutCreating(const base::FilePath& path) { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 - return std::unique_ptr<CrashReportDatabase>(); -} - -} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_generic.cc b/third_party/crashpad/crashpad/client/crash_report_database_generic.cc new file mode 100644 index 0000000..fc1d04e --- /dev/null +++ b/third_party/crashpad/crashpad/client/crash_report_database_generic.cc
@@ -0,0 +1,843 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "client/crash_report_database.h" + +#include <stdint.h> +#include <sys/types.h> + +#include <utility> + +#include "base/logging.h" +#include "build/build_config.h" +#include "client/settings.h" +#include "util/file/directory_reader.h" +#include "util/file/filesystem.h" +#include "util/misc/initialization_state_dcheck.h" + +namespace crashpad { + +namespace { + +// Reads from the current file position to EOF and returns as a string of bytes. +bool ReadRestOfFileAsString(FileHandle handle, std::string* contents) { + char buffer[4096]; + FileOperationResult rv; + std::string local_contents; + while ((rv = ReadFile(handle, buffer, sizeof(buffer))) > 0) { + local_contents.append(buffer, rv); + } + if (rv < 0) { + PLOG(ERROR) << "ReadFile"; + return false; + } + contents->swap(local_contents); + return true; +} + +base::FilePath ReplaceFinalExtension( + const base::FilePath& path, + const base::FilePath::StringType extension) { + return base::FilePath(path.RemoveFinalExtension().value() + extension); +} + +using OperationStatus = CrashReportDatabase::OperationStatus; + +constexpr base::FilePath::CharType kSettings[] = + FILE_PATH_LITERAL("settings.dat"); + +constexpr base::FilePath::CharType kCrashReportExtension[] = + FILE_PATH_LITERAL(".dmp"); +constexpr base::FilePath::CharType kMetadataExtension[] = + FILE_PATH_LITERAL(".meta"); +constexpr base::FilePath::CharType kLockExtension[] = + FILE_PATH_LITERAL(".lock"); + +constexpr base::FilePath::CharType kNewDirectory[] = FILE_PATH_LITERAL("new"); +constexpr base::FilePath::CharType kPendingDirectory[] = + FILE_PATH_LITERAL("pending"); +constexpr base::FilePath::CharType kCompletedDirectory[] = + FILE_PATH_LITERAL("completed"); + +constexpr const base::FilePath::CharType* kReportDirectories[] = { + kNewDirectory, + kPendingDirectory, + kCompletedDirectory, +}; + +enum { + //! \brief Corresponds to uploaded bit of the report state. + kAttributeUploaded = 1 << 0, + + //! \brief Corresponds to upload_explicity_requested bit of the report state. + kAttributeUploadExplicitlyRequested = 1 << 1, +}; + +struct ReportMetadata { + static constexpr int32_t kVersion = 1; + + int32_t version = kVersion; + int32_t upload_attempts = 0; + int64_t last_upload_attempt_time = 0; + time_t creation_time = 0; + uint8_t attributes = 0; +}; + +// A lock held while using database resources. +class ScopedLockFile { + public: + ScopedLockFile() = default; + ~ScopedLockFile() = default; + + ScopedLockFile& operator=(ScopedLockFile&& other) { + lock_file_.reset(other.lock_file_.release()); + return *this; + } + + // Attempt to acquire a lock for the report at report_path. + // Return `true` on success, otherwise `false`. + bool ResetAcquire(const base::FilePath& report_path) { + lock_file_.reset(); + + base::FilePath lock_path(report_path.RemoveFinalExtension().value() + + kLockExtension); + ScopedFileHandle lock_fd(LoggingOpenFileForWrite( + lock_path, FileWriteMode::kCreateOrFail, FilePermissions::kOwnerOnly)); + if (!lock_fd.is_valid()) { + return false; + } + lock_file_.reset(lock_path); + + time_t timestamp = time(nullptr); + if (!LoggingWriteFile(lock_fd.get(), ×tamp, sizeof(timestamp))) { + return false; + } + + return true; + } + + // Returns `true` if the lock is held. + bool is_valid() const { return lock_file_.is_valid(); } + + // Returns `true` if the lockfile at lock_path has expired. + static bool IsExpired(const base::FilePath& lock_path, time_t lockfile_ttl) { + time_t now = time(nullptr); + + timespec filetime; + if (FileModificationTime(lock_path, &filetime) && + filetime.tv_sec > now + lockfile_ttl) { + return false; + } + + ScopedFileHandle lock_fd(LoggingOpenFileForReadAndWrite( + lock_path, FileWriteMode::kReuseOrFail, FilePermissions::kOwnerOnly)); + if (!lock_fd.is_valid()) { + return false; + } + + time_t timestamp; + if (!LoggingReadFileExactly(lock_fd.get(), ×tamp, sizeof(timestamp))) { + return false; + } + + return now >= timestamp + lockfile_ttl; + } + + private: + ScopedRemoveFile lock_file_; + + DISALLOW_COPY_AND_ASSIGN(ScopedLockFile); +}; + +} // namespace + +class CrashReportDatabaseGeneric : public CrashReportDatabase { + public: + CrashReportDatabaseGeneric(); + ~CrashReportDatabaseGeneric() override; + + bool Initialize(const base::FilePath& path, bool may_create); + + // CrashReportDatabase: + Settings* GetSettings() override; + OperationStatus PrepareNewCrashReport( + std::unique_ptr<NewReport>* report) override; + OperationStatus FinishedWritingCrashReport(std::unique_ptr<NewReport> report, + UUID* uuid) override; + OperationStatus LookUpCrashReport(const UUID& uuid, Report* report) override; + OperationStatus GetPendingReports(std::vector<Report>* reports) override; + OperationStatus GetCompletedReports(std::vector<Report>* reports) override; + OperationStatus GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) override; + OperationStatus SkipReportUpload(const UUID& uuid, + Metrics::CrashSkippedReason reason) override; + OperationStatus DeleteReport(const UUID& uuid) override; + OperationStatus RequestUpload(const UUID& uuid) override; + int CleanDatabase(time_t lockfile_ttl) override; + + private: + struct LockfileUploadReport : public UploadReport { + ScopedLockFile lock_file; + }; + + enum ReportState : int32_t { + kUninitialized = -1, + + // Being created by a caller of PrepareNewCrashReport(). + kNew, + + // Created by FinishedWritingCrashReport(), but not yet uploaded. + kPending, + + // Upload completed or skipped. + kCompleted, + + // Specifies either kPending or kCompleted. + kSearchable, + }; + + // CrashReportDatabase: + OperationStatus RecordUploadAttempt(UploadReport* report, + bool successful, + const std::string& id) override; + + // Builds a filepath for the report with the specified uuid and state. + base::FilePath ReportPath(const UUID& uuid, ReportState state); + + // Locates the report with id uuid and returns its file path in path and a + // lock for the report in lock_file. This method succeeds as long as the + // report file exists and the lock can be acquired. No validation is done on + // the existence or content of the metadata file. + OperationStatus LocateAndLockReport(const UUID& uuid, + ReportState state, + base::FilePath* path, + ScopedLockFile* lock_file); + + // Locates, locks, and reads the metadata for the report with the specified + // uuid and state. This method will fail and may remove reports if invalid + // metadata is detected. state may be kPending, kCompleted, or kSearchable. + OperationStatus CheckoutReport(const UUID& uuid, + ReportState state, + base::FilePath* path, + ScopedLockFile* lock_file, + Report* report); + + // Reads metadata for all reports in state and returns it in reports. + OperationStatus ReportsInState(ReportState state, + std::vector<Report>* reports); + + // Cleans lone metadata, reports, or expired locks in a particular state. + int CleanReportsInState(ReportState state, time_t lockfile_ttl); + + // Reads the metadata for a report from path and returns it in report. + static bool ReadMetadata(const base::FilePath& path, Report* report); + + // Wraps ReadMetadata and removes the report from the database on failure. + static bool CleaningReadMetadata(const base::FilePath& path, Report* report); + + // Writes metadata for a new report to the filesystem at path. + static bool WriteNewMetadata(const base::FilePath& path); + + // Writes the metadata for report to the filesystem at path. + static bool WriteMetadata(const base::FilePath& path, const Report& report); + + base::FilePath base_dir_; + Settings settings_; + InitializationStateDcheck initialized_; + + DISALLOW_COPY_AND_ASSIGN(CrashReportDatabaseGeneric); +}; + +CrashReportDatabaseGeneric::CrashReportDatabaseGeneric() = default; + +CrashReportDatabaseGeneric::~CrashReportDatabaseGeneric() = default; + +bool CrashReportDatabaseGeneric::Initialize(const base::FilePath& path, + bool may_create) { + INITIALIZATION_STATE_SET_INITIALIZING(initialized_); + base_dir_ = path; + + if (!IsDirectory(base_dir_, true) && + !(may_create && + LoggingCreateDirectory(base_dir_, FilePermissions::kOwnerOnly, true))) { + return false; + } + + for (const base::FilePath::CharType* subdir : kReportDirectories) { + if (!LoggingCreateDirectory(base_dir_.Append(subdir), + FilePermissions::kOwnerOnly, + true)) { + return false; + } + } + + if (!settings_.Initialize(base_dir_.Append(kSettings))) { + return false; + } + + INITIALIZATION_STATE_SET_VALID(initialized_); + return true; +} + +// static +std::unique_ptr<CrashReportDatabase> CrashReportDatabase::Initialize( + const base::FilePath& path) { + auto database = std::make_unique<CrashReportDatabaseGeneric>(); + return database->Initialize(path, true) ? std::move(database) : nullptr; +} + +// static +std::unique_ptr<CrashReportDatabase> +CrashReportDatabase::InitializeWithoutCreating(const base::FilePath& path) { + auto database = std::make_unique<CrashReportDatabaseGeneric>(); + return database->Initialize(path, false) ? std::move(database) : nullptr; +} + +Settings* CrashReportDatabaseGeneric::GetSettings() { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return &settings_; +} + +OperationStatus CrashReportDatabaseGeneric::PrepareNewCrashReport( + std::unique_ptr<NewReport>* report) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + auto new_report = std::make_unique<NewReport>(); + if (!new_report->Initialize(base_dir_.Append(kNewDirectory), + kCrashReportExtension)) { + return kFileSystemError; + } + + report->reset(new_report.release()); + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::FinishedWritingCrashReport( + std::unique_ptr<NewReport> report, + UUID* uuid) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + base::FilePath path = ReportPath(report->ReportID(), kPending); + ScopedLockFile lock_file; + if (!lock_file.ResetAcquire(path)) { + return kBusyError; + } + + if (!WriteNewMetadata(ReplaceFinalExtension(path, kMetadataExtension))) { + return kDatabaseError; + } + + FileOffset size = report->Writer()->Seek(0, SEEK_END); + + report->Writer()->Close(); + if (!MoveFileOrDirectory(report->file_remover_.get(), path)) { + return kFileSystemError; + } + // We've moved the report to pending, so it no longer needs to be removed. + ignore_result(report->file_remover_.release()); + + *uuid = report->ReportID(); + + Metrics::CrashReportPending(Metrics::PendingReportReason::kNewlyCreated); + Metrics::CrashReportSize(size); + + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::LookUpCrashReport(const UUID& uuid, + Report* report) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + ScopedLockFile lock_file; + base::FilePath path; + return CheckoutReport(uuid, kSearchable, &path, &lock_file, report); +} + +OperationStatus CrashReportDatabaseGeneric::GetPendingReports( + std::vector<Report>* reports) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return ReportsInState(kPending, reports); +} + +OperationStatus CrashReportDatabaseGeneric::GetCompletedReports( + std::vector<Report>* reports) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return ReportsInState(kCompleted, reports); +} + +OperationStatus CrashReportDatabaseGeneric::GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + auto upload_report = std::make_unique<LockfileUploadReport>(); + + base::FilePath path; + OperationStatus os = CheckoutReport( + uuid, kPending, &path, &upload_report->lock_file, upload_report.get()); + if (os != kNoError) { + return os; + } + + if (!upload_report->Initialize(path, this)) { + return kFileSystemError; + } + + report->reset(upload_report.release()); + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::SkipReportUpload( + const UUID& uuid, + Metrics::CrashSkippedReason reason) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + Metrics::CrashUploadSkipped(reason); + + base::FilePath path; + ScopedLockFile lock_file; + Report report; + OperationStatus os = + CheckoutReport(uuid, kPending, &path, &lock_file, &report); + if (os != kNoError) { + return os; + } + + base::FilePath completed_path(ReportPath(uuid, kCompleted)); + ScopedLockFile completed_lock_file; + if (!completed_lock_file.ResetAcquire(completed_path)) { + return kBusyError; + } + + report.upload_explicitly_requested = false; + if (!WriteMetadata(completed_path, report)) { + return kDatabaseError; + } + + if (!MoveFileOrDirectory(path, completed_path)) { + return kFileSystemError; + } + + if (!LoggingRemoveFile(ReplaceFinalExtension(path, kMetadataExtension))) { + return kDatabaseError; + } + + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::DeleteReport(const UUID& uuid) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + base::FilePath path; + ScopedLockFile lock_file; + OperationStatus os = + LocateAndLockReport(uuid, kSearchable, &path, &lock_file); + if (os != kNoError) { + return os; + } + + if (!LoggingRemoveFile(path)) { + return kFileSystemError; + } + + if (!LoggingRemoveFile(ReplaceFinalExtension(path, kMetadataExtension))) { + return kDatabaseError; + } + + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::RequestUpload(const UUID& uuid) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + base::FilePath path; + ScopedLockFile lock_file; + Report report; + OperationStatus os = + CheckoutReport(uuid, kSearchable, &path, &lock_file, &report); + if (os != kNoError) { + return os; + } + + if (report.uploaded) { + return kCannotRequestUpload; + } + + report.upload_explicitly_requested = true; + base::FilePath pending_path = ReportPath(uuid, kPending); + if (!MoveFileOrDirectory(path, pending_path)) { + return kFileSystemError; + } + + if (!WriteMetadata(pending_path, report)) { + return kDatabaseError; + } + + if (pending_path != path) { + if (!LoggingRemoveFile(ReplaceFinalExtension(path, kMetadataExtension))) { + return kDatabaseError; + } + } + + Metrics::CrashReportPending(Metrics::PendingReportReason::kUserInitiated); + return kNoError; +} + +int CrashReportDatabaseGeneric::CleanDatabase(time_t lockfile_ttl) { + int removed = 0; + time_t now = time(nullptr); + + DirectoryReader reader; + const base::FilePath new_dir(base_dir_.Append(kNewDirectory)); + if (reader.Open(new_dir)) { + base::FilePath filename; + DirectoryReader::Result result; + while ((result = reader.NextFile(&filename)) == + DirectoryReader::Result::kSuccess) { + const base::FilePath filepath(new_dir.Append(filename)); + timespec filetime; + if (!FileModificationTime(filepath, &filetime)) { + continue; + } + if (filetime.tv_sec <= now - lockfile_ttl) { + if (LoggingRemoveFile(filepath)) { + ++removed; + } + } + } + } + + removed += CleanReportsInState(kPending, lockfile_ttl); + removed += CleanReportsInState(kCompleted, lockfile_ttl); + return removed; +} + +OperationStatus CrashReportDatabaseGeneric::RecordUploadAttempt( + UploadReport* report, + bool successful, + const std::string& id) { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + Metrics::CrashUploadAttempted(successful); + time_t now = time(nullptr); + + report->id = id; + report->uploaded = successful; + report->last_upload_attempt_time = now; + ++report->upload_attempts; + + base::FilePath report_path(report->file_path); + + ScopedLockFile lock_file; + if (successful) { + report->upload_explicitly_requested = false; + + base::FilePath completed_report_path = ReportPath(report->uuid, kCompleted); + + if (!lock_file.ResetAcquire(completed_report_path)) { + return kBusyError; + } + + report->Reader()->Close(); + if (!MoveFileOrDirectory(report_path, completed_report_path)) { + return kFileSystemError; + } + + LoggingRemoveFile(ReplaceFinalExtension(report_path, kMetadataExtension)); + report_path = completed_report_path; + } + + if (!WriteMetadata(report_path, *report)) { + return kDatabaseError; + } + + if (!settings_.SetLastUploadAttemptTime(now)) { + return kDatabaseError; + } + + return kNoError; +} + +base::FilePath CrashReportDatabaseGeneric::ReportPath(const UUID& uuid, + ReportState state) { + DCHECK_NE(state, kUninitialized); + DCHECK_NE(state, kSearchable); + +#if defined(OS_WIN) + const std::wstring uuid_string = uuid.ToString16(); +#else + const std::string uuid_string = uuid.ToString(); +#endif + + return base_dir_.Append(kReportDirectories[state]) + .Append(uuid_string + kCrashReportExtension); +} + +OperationStatus CrashReportDatabaseGeneric::LocateAndLockReport( + const UUID& uuid, + ReportState desired_state, + base::FilePath* path, + ScopedLockFile* lock_file) { + std::vector<ReportState> searchable_states; + if (desired_state == kSearchable) { + searchable_states.push_back(kPending); + searchable_states.push_back(kCompleted); + } else { + DCHECK(desired_state == kPending || desired_state == kCompleted); + searchable_states.push_back(desired_state); + } + + for (const ReportState state : searchable_states) { + base::FilePath local_path(ReportPath(uuid, state)); + ScopedLockFile local_lock; + if (!local_lock.ResetAcquire(local_path)) { + return kBusyError; + } + + if (!IsRegularFile(local_path)) { + continue; + } + + *path = local_path; + *lock_file = std::move(local_lock); + return kNoError; + } + + return kReportNotFound; +} + +OperationStatus CrashReportDatabaseGeneric::CheckoutReport( + const UUID& uuid, + ReportState state, + base::FilePath* path, + ScopedLockFile* lock_file, + Report* report) { + ScopedLockFile local_lock; + base::FilePath local_path; + OperationStatus os = + LocateAndLockReport(uuid, state, &local_path, &local_lock); + if (os != kNoError) { + return os; + } + + if (!CleaningReadMetadata(local_path, report)) { + return kDatabaseError; + } + + *path = local_path; + *lock_file = std::move(local_lock); + return kNoError; +} + +OperationStatus CrashReportDatabaseGeneric::ReportsInState( + ReportState state, + std::vector<Report>* reports) { + DCHECK(reports->empty()); + DCHECK_NE(state, kUninitialized); + DCHECK_NE(state, kSearchable); + DCHECK_NE(state, kNew); + + const base::FilePath dir_path(base_dir_.Append(kReportDirectories[state])); + DirectoryReader reader; + if (!reader.Open(dir_path)) { + return kDatabaseError; + } + + base::FilePath filename; + DirectoryReader::Result result; + while ((result = reader.NextFile(&filename)) == + DirectoryReader::Result::kSuccess) { + const base::FilePath::StringType extension(filename.FinalExtension()); + if (extension.compare(kCrashReportExtension) != 0) { + continue; + } + + const base::FilePath filepath(dir_path.Append(filename)); + ScopedLockFile lock_file; + if (!lock_file.ResetAcquire(filepath)) { + continue; + } + + Report report; + if (!CleaningReadMetadata(filepath, &report)) { + continue; + } + reports->push_back(report); + reports->back().file_path = filepath; + } + return kNoError; +} + +int CrashReportDatabaseGeneric::CleanReportsInState(ReportState state, + time_t lockfile_ttl) { + const base::FilePath dir_path(base_dir_.Append(kReportDirectories[state])); + DirectoryReader reader; + if (!reader.Open(dir_path)) { + return 0; + } + + int removed = 0; + base::FilePath filename; + DirectoryReader::Result result; + while ((result = reader.NextFile(&filename)) == + DirectoryReader::Result::kSuccess) { + const base::FilePath::StringType extension(filename.FinalExtension()); + const base::FilePath filepath(dir_path.Append(filename)); + + // Remove any report files without metadata. + if (extension.compare(kCrashReportExtension) == 0) { + const base::FilePath metadata_path( + ReplaceFinalExtension(filepath, kMetadataExtension)); + ScopedLockFile report_lock; + if (report_lock.ResetAcquire(filepath) && !IsRegularFile(metadata_path) && + LoggingRemoveFile(filepath)) { + ++removed; + } + continue; + } + + // Remove any metadata files without report files. + if (extension.compare(kMetadataExtension) == 0) { + const base::FilePath report_path( + ReplaceFinalExtension(filepath, kCrashReportExtension)); + ScopedLockFile report_lock; + if (report_lock.ResetAcquire(report_path) && + !IsRegularFile(report_path) && LoggingRemoveFile(filepath)) { + ++removed; + } + continue; + } + + // Remove any expired locks only if we can remove the report and metadata. + if (extension.compare(kLockExtension) == 0 && + ScopedLockFile::IsExpired(filepath, lockfile_ttl)) { + const base::FilePath no_ext(filepath.RemoveFinalExtension()); + const base::FilePath report_path(no_ext.value() + kCrashReportExtension); + const base::FilePath metadata_path(no_ext.value() + kMetadataExtension); + if ((IsRegularFile(report_path) && !LoggingRemoveFile(report_path)) || + (IsRegularFile(metadata_path) && !LoggingRemoveFile(metadata_path))) { + continue; + } + + if (LoggingRemoveFile(filepath)) { + ++removed; + } + continue; + } + } + + return removed; +} + +// static +bool CrashReportDatabaseGeneric::ReadMetadata(const base::FilePath& path, + Report* report) { + const base::FilePath metadata_path( + ReplaceFinalExtension(path, kMetadataExtension)); + + ScopedFileHandle handle(LoggingOpenFileForRead(metadata_path)); + if (!handle.is_valid()) { + return false; + } + + if (!report->uuid.InitializeFromString( + path.BaseName().RemoveFinalExtension().value())) { + LOG(ERROR) << "Couldn't interpret report uuid"; + return false; + } + + ReportMetadata metadata; + if (!LoggingReadFileExactly(handle.get(), &metadata, sizeof(metadata))) { + return false; + } + + if (metadata.version != ReportMetadata::kVersion) { + LOG(ERROR) << "metadata version mismatch"; + return false; + } + + if (!ReadRestOfFileAsString(handle.get(), &report->id)) { + return false; + } + + report->upload_attempts = metadata.upload_attempts; + report->last_upload_attempt_time = metadata.last_upload_attempt_time; + report->creation_time = metadata.creation_time; + report->uploaded = (metadata.attributes & kAttributeUploaded) != 0; + report->upload_explicitly_requested = + (metadata.attributes & kAttributeUploadExplicitlyRequested) != 0; + report->file_path = path; + return true; +} + +// static +bool CrashReportDatabaseGeneric::CleaningReadMetadata( + const base::FilePath& path, + Report* report) { + if (ReadMetadata(path, report)) { + return true; + } + + LoggingRemoveFile(path); + LoggingRemoveFile(ReplaceFinalExtension(path, kMetadataExtension)); + return false; +} + +// static +bool CrashReportDatabaseGeneric::WriteNewMetadata(const base::FilePath& path) { + const base::FilePath metadata_path( + ReplaceFinalExtension(path, kMetadataExtension)); + + ScopedFileHandle handle(LoggingOpenFileForWrite(metadata_path, + FileWriteMode::kCreateOrFail, + FilePermissions::kOwnerOnly)); + if (!handle.is_valid()) { + return false; + } + + ReportMetadata metadata; + metadata.creation_time = time(nullptr); + + return LoggingWriteFile(handle.get(), &metadata, sizeof(metadata)); +} + +// static +bool CrashReportDatabaseGeneric::WriteMetadata(const base::FilePath& path, + const Report& report) { + const base::FilePath metadata_path( + ReplaceFinalExtension(path, kMetadataExtension)); + + ScopedFileHandle handle( + LoggingOpenFileForWrite(metadata_path, + FileWriteMode::kTruncateOrCreate, + FilePermissions::kOwnerOnly)); + if (!handle.is_valid()) { + return false; + } + + ReportMetadata metadata; + metadata.creation_time = report.creation_time; + metadata.last_upload_attempt_time = report.last_upload_attempt_time; + metadata.upload_attempts = report.upload_attempts; + metadata.attributes = + (report.uploaded ? kAttributeUploaded : 0) | + (report.upload_explicitly_requested ? kAttributeUploadExplicitlyRequested + : 0); + + return LoggingWriteFile(handle.get(), &metadata, sizeof(metadata)) && + LoggingWriteFile(handle.get(), report.id.c_str(), report.id.size()); +} + +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_mac.mm b/third_party/crashpad/crashpad/client/crash_report_database_mac.mm index 7a9154b..d0197fc 100644 --- a/third_party/crashpad/crashpad/client/crash_report_database_mac.mm +++ b/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
@@ -107,6 +107,8 @@ name.data()); } +} // namespace + //! \brief A CrashReportDatabase that uses HFS+ extended attributes to store //! report metadata. //! @@ -130,24 +132,27 @@ // CrashReportDatabase: Settings* GetSettings() override; - OperationStatus PrepareNewCrashReport(NewReport** report) override; - OperationStatus FinishedWritingCrashReport(NewReport* report, + OperationStatus PrepareNewCrashReport( + std::unique_ptr<NewReport>* report) override; + OperationStatus FinishedWritingCrashReport(std::unique_ptr<NewReport> report, UUID* uuid) override; - OperationStatus ErrorWritingCrashReport(NewReport* report) override; OperationStatus LookUpCrashReport(const UUID& uuid, Report* report) override; OperationStatus GetPendingReports(std::vector<Report>* reports) override; OperationStatus GetCompletedReports(std::vector<Report>* reports) override; - OperationStatus GetReportForUploading(const UUID& uuid, - const Report** report) override; - OperationStatus RecordUploadAttempt(const Report* report, - bool successful, - const std::string& id) override; + OperationStatus GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) override; OperationStatus SkipReportUpload(const UUID& uuid, Metrics::CrashSkippedReason reason) override; OperationStatus DeleteReport(const UUID& uuid) override; OperationStatus RequestUpload(const UUID& uuid) override; private: + // CrashReportDatabase: + OperationStatus RecordUploadAttempt(UploadReport* report, + bool successful, + const std::string& id) override; + //! \brief Report states for use with LocateCrashReport(). //! //! ReportState may be considered to be a bitfield. @@ -161,10 +166,10 @@ //! \brief A private extension of the Report class that maintains bookkeeping //! information of the database. - struct UploadReport : public Report { + struct UploadReportMac : public UploadReport { //! \brief Stores the flock of the file for the duration of //! GetReportForUploading() and RecordUploadAttempt(). - int lock_fd; + base::ScopedFD lock_fd; }; //! \brief Locates a crash report in the database by UUID. @@ -243,7 +248,7 @@ CrashReportDatabaseMac::CrashReportDatabaseMac(const base::FilePath& path) : CrashReportDatabase(), base_dir_(path), - settings_(base_dir_.Append(kSettings)), + settings_(), xattr_new_names_(false), initialized_() { } @@ -268,7 +273,7 @@ return false; } - if (!settings_.Initialize()) + if (!settings_.Initialize(base_dir_.Append(kSettings))) return false; // Do an xattr operation as the last step, to ensure the filesystem has @@ -301,103 +306,67 @@ } CrashReportDatabase::OperationStatus -CrashReportDatabaseMac::PrepareNewCrashReport(NewReport** out_report) { +CrashReportDatabaseMac::PrepareNewCrashReport( + std::unique_ptr<NewReport>* out_report) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); std::unique_ptr<NewReport> report(new NewReport()); - - uuid_t uuid_gen; - uuid_generate(uuid_gen); - report->uuid.InitializeFromBytes(uuid_gen); - - report->path = - base_dir_.Append(kWriteDirectory) - .Append(report->uuid.ToString() + "." + kCrashReportFileExtension); - - report->handle = HANDLE_EINTR( - open(report->path.value().c_str(), - O_WRONLY | O_EXLOCK | O_CREAT | O_EXCL | O_NOCTTY | O_CLOEXEC, - 0600)); - if (report->handle < 0) { - PLOG(ERROR) << "open " << report->path.value(); + if (!report->Initialize(base_dir_.Append(kWriteDirectory), + std::string(".") + kCrashReportFileExtension)) { return kFileSystemError; } // TODO(rsesek): Potentially use an fsetxattr() here instead. - if (!WriteXattr( - report->path, XattrName(kXattrUUID), report->uuid.ToString())) { - PLOG_IF(ERROR, IGNORE_EINTR(close(report->handle)) != 0) << "close"; + if (!WriteXattr(report->file_remover_.get(), + XattrName(kXattrUUID), + report->ReportID().ToString())) { return kDatabaseError; } - *out_report = report.release(); - + out_report->reset(report.release()); return kNoError; } CrashReportDatabase::OperationStatus -CrashReportDatabaseMac::FinishedWritingCrashReport(NewReport* report, - UUID* uuid) { +CrashReportDatabaseMac::FinishedWritingCrashReport( + std::unique_ptr<NewReport> report, + UUID* uuid) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); - // Takes ownership of the |handle| and the O_EXLOCK. - base::ScopedFD lock(report->handle); - - // Take ownership of the report. - std::unique_ptr<NewReport> scoped_report(report); + const base::FilePath& path = report->file_remover_.get(); // Get the report's UUID to return. std::string uuid_string; - if (ReadXattr(report->path, XattrName(kXattrUUID), - &uuid_string) != XattrStatus::kOK || + if (ReadXattr(path, XattrName(kXattrUUID), &uuid_string) != + XattrStatus::kOK || !uuid->InitializeFromString(uuid_string)) { - LOG(ERROR) << "Failed to read UUID for crash report " - << report->path.value(); + LOG(ERROR) << "Failed to read UUID for crash report " << path.value(); return kDatabaseError; } - if (*uuid != report->uuid) { - LOG(ERROR) << "UUID mismatch for crash report " << report->path.value(); + if (*uuid != report->ReportID()) { + LOG(ERROR) << "UUID mismatch for crash report " << path.value(); return kDatabaseError; } // Record the creation time of this report. - if (!WriteXattrTimeT(report->path, XattrName(kXattrCreationTime), - time(nullptr))) { + if (!WriteXattrTimeT(path, XattrName(kXattrCreationTime), time(nullptr))) { return kDatabaseError; } + FileOffset size = report->Writer()->Seek(0, SEEK_END); + // Move the report to its new location for uploading. base::FilePath new_path = - base_dir_.Append(kUploadPendingDirectory).Append(report->path.BaseName()); - if (rename(report->path.value().c_str(), new_path.value().c_str()) != 0) { - PLOG(ERROR) << "rename " << report->path.value() << " to " - << new_path.value(); + base_dir_.Append(kUploadPendingDirectory).Append(path.BaseName()); + if (rename(path.value().c_str(), new_path.value().c_str()) != 0) { + PLOG(ERROR) << "rename " << path.value() << " to " << new_path.value(); return kFileSystemError; } + ignore_result(report->file_remover_.release()); Metrics::CrashReportPending(Metrics::PendingReportReason::kNewlyCreated); - Metrics::CrashReportSize(report->handle); - - return kNoError; -} - -CrashReportDatabase::OperationStatus -CrashReportDatabaseMac::ErrorWritingCrashReport(NewReport* report) { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - - // Takes ownership of the |handle| and the O_EXLOCK. - base::ScopedFD lock(report->handle); - - // Take ownership of the report. - std::unique_ptr<NewReport> scoped_report(report); - - // Remove the file that the report would have been written to had no error - // occurred. - if (unlink(report->path.value().c_str()) != 0) { - PLOG(ERROR) << "unlink " << report->path.value(); - return kFileSystemError; - } + Metrics::CrashReportSize(size); return kNoError; } @@ -440,31 +409,36 @@ } CrashReportDatabase::OperationStatus -CrashReportDatabaseMac::GetReportForUploading(const UUID& uuid, - const Report** report) { +CrashReportDatabaseMac::GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); - base::FilePath report_path = LocateCrashReport(uuid, kReportStatePending); - if (report_path.empty()) + auto upload_report = std::make_unique<UploadReportMac>(); + + upload_report->file_path = LocateCrashReport(uuid, kReportStatePending); + if (upload_report->file_path.empty()) return kReportNotFound; - std::unique_ptr<UploadReport> upload_report(new UploadReport()); - upload_report->file_path = report_path; - - base::ScopedFD lock(ObtainReportLock(report_path)); + base::ScopedFD lock(ObtainReportLock(upload_report->file_path)); if (!lock.is_valid()) return kBusyError; - if (!ReadReportMetadataLocked(report_path, upload_report.get())) + if (!ReadReportMetadataLocked(upload_report->file_path, upload_report.get())) return kDatabaseError; - upload_report->lock_fd = lock.release(); - *report = upload_report.release(); + if (!upload_report->reader_->Open(upload_report->file_path)) { + return kFileSystemError; + } + + upload_report->database_ = this; + upload_report->lock_fd.reset(lock.release()); + report->reset(upload_report.release()); return kNoError; } CrashReportDatabase::OperationStatus -CrashReportDatabaseMac::RecordUploadAttempt(const Report* report, +CrashReportDatabaseMac::RecordUploadAttempt(UploadReport* report, bool successful, const std::string& id) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); @@ -479,13 +453,6 @@ if (report_path.empty()) return kReportNotFound; - std::unique_ptr<const UploadReport> upload_report( - static_cast<const UploadReport*>(report)); - - base::ScopedFD lock(upload_report->lock_fd); - if (!lock.is_valid()) - return kBusyError; - if (successful) { CrashReportDatabase::OperationStatus os = MarkReportCompletedLocked(report_path, &report_path); @@ -774,8 +741,6 @@ return std::unique_ptr<CrashReportDatabase>(database_mac.release()); } -} // namespace - // static std::unique_ptr<CrashReportDatabase> CrashReportDatabase::Initialize( const base::FilePath& path) {
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_test.cc b/third_party/crashpad/crashpad/client/crash_report_database_test.cc index c426696..55bcf3c 100644 --- a/third_party/crashpad/crashpad/client/crash_report_database_test.cc +++ b/third_party/crashpad/crashpad/client/crash_report_database_test.cc
@@ -19,8 +19,10 @@ #include "gtest/gtest.h" #include "test/errors.h" #include "test/file.h" +#include "test/filesystem.h" #include "test/scoped_temp_dir.h" #include "util/file/file_io.h" +#include "util/file/filesystem.h" namespace crashpad { namespace test { @@ -48,20 +50,19 @@ } void CreateCrashReport(CrashReportDatabase::Report* report) { - CrashReportDatabase::NewReport* new_report = nullptr; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; ASSERT_EQ(db_->PrepareNewCrashReport(&new_report), CrashReportDatabase::kNoError); static constexpr char kTest[] = "test"; - ASSERT_TRUE(LoggingWriteFile(new_report->handle, kTest, sizeof(kTest))); + ASSERT_TRUE(new_report->Writer()->Write(kTest, sizeof(kTest))); UUID uuid; - EXPECT_EQ(db_->FinishedWritingCrashReport(new_report, &uuid), + EXPECT_EQ(db_->FinishedWritingCrashReport(std::move(new_report), &uuid), CrashReportDatabase::kNoError); EXPECT_EQ(db_->LookUpCrashReport(uuid, report), CrashReportDatabase::kNoError); ExpectPreparedCrashReport(*report); - ASSERT_TRUE(FileExists(report->file_path)); } void UploadReport(const UUID& uuid, bool successful, const std::string& id) { @@ -70,15 +71,19 @@ time_t times[2]; ASSERT_TRUE(settings->GetLastUploadAttemptTime(×[0])); - const CrashReportDatabase::Report* report = nullptr; + std::unique_ptr<const CrashReportDatabase::UploadReport> report; ASSERT_EQ(db_->GetReportForUploading(uuid, &report), CrashReportDatabase::kNoError); EXPECT_NE(report->uuid, UUID()); EXPECT_FALSE(report->file_path.empty()); EXPECT_TRUE(FileExists(report->file_path)) << report->file_path.value(); EXPECT_GT(report->creation_time, 0); - EXPECT_EQ(db_->RecordUploadAttempt(report, successful, id), - CrashReportDatabase::kNoError); + if (successful) { + EXPECT_EQ(db_->RecordUploadComplete(std::move(report), id), + CrashReportDatabase::kNoError); + } else { + report.reset(); + } ASSERT_TRUE(settings->GetLastUploadAttemptTime(×[1])); EXPECT_NE(times[1], 0); @@ -176,13 +181,12 @@ } TEST_F(CrashReportDatabaseTest, NewCrashReport) { - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; EXPECT_EQ(db()->PrepareNewCrashReport(&new_report), CrashReportDatabase::kNoError); - UUID expect_uuid = new_report->uuid; - EXPECT_TRUE(FileExists(new_report->path)) << new_report->path.value(); + UUID expect_uuid = new_report->ReportID(); UUID uuid; - EXPECT_EQ(db()->FinishedWritingCrashReport(new_report, &uuid), + EXPECT_EQ(db()->FinishedWritingCrashReport(std::move(new_report), &uuid), CrashReportDatabase::kNoError); EXPECT_EQ(uuid, expect_uuid); @@ -201,17 +205,6 @@ EXPECT_TRUE(reports.empty()); } -TEST_F(CrashReportDatabaseTest, ErrorWritingCrashReport) { - CrashReportDatabase::NewReport* new_report = nullptr; - ASSERT_EQ(db()->PrepareNewCrashReport(&new_report), - CrashReportDatabase::kNoError); - base::FilePath new_report_path = new_report->path; - EXPECT_TRUE(FileExists(new_report_path)) << new_report_path.value(); - EXPECT_EQ(db()->ErrorWritingCrashReport(new_report), - CrashReportDatabase::kNoError); - EXPECT_FALSE(FileExists(new_report_path)) << new_report_path.value(); -} - TEST_F(CrashReportDatabaseTest, LookUpCrashReport) { UUID uuid; @@ -465,16 +458,16 @@ CrashReportDatabase::Report report; CreateCrashReport(&report); - const CrashReportDatabase::Report* upload_report; + std::unique_ptr<const CrashReportDatabase::UploadReport> upload_report; EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report), CrashReportDatabase::kNoError); - const CrashReportDatabase::Report* upload_report_2 = nullptr; + std::unique_ptr<const CrashReportDatabase::UploadReport> upload_report_2; EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report_2), CrashReportDatabase::kBusyError); EXPECT_FALSE(upload_report_2); - EXPECT_EQ(db()->RecordUploadAttempt(upload_report, true, std::string()), + EXPECT_EQ(db()->RecordUploadComplete(std::move(upload_report), std::string()), CrashReportDatabase::kNoError); } @@ -482,25 +475,24 @@ CrashReportDatabase::Report report; CreateCrashReport(&report); - const CrashReportDatabase::Report* upload_report; + std::unique_ptr<const CrashReportDatabase::UploadReport> upload_report; EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report), CrashReportDatabase::kNoError); - EXPECT_EQ(db()->RecordUploadAttempt(upload_report, true, std::string()), + EXPECT_EQ(db()->RecordUploadComplete(std::move(upload_report), std::string()), CrashReportDatabase::kNoError); - const CrashReportDatabase::Report* upload_report_2 = nullptr; + std::unique_ptr<const CrashReportDatabase::UploadReport> upload_report_2; EXPECT_EQ(db()->GetReportForUploading(report.uuid, &upload_report_2), CrashReportDatabase::kReportNotFound); - EXPECT_FALSE(upload_report_2); + EXPECT_FALSE(upload_report_2.get()); } TEST_F(CrashReportDatabaseTest, MoveDatabase) { - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; EXPECT_EQ(db()->PrepareNewCrashReport(&new_report), CrashReportDatabase::kNoError); - EXPECT_TRUE(FileExists(new_report->path)) << new_report->path.value(); UUID uuid; - EXPECT_EQ(db()->FinishedWritingCrashReport(new_report, &uuid), + EXPECT_EQ(db()->FinishedWritingCrashReport(std::move(new_report), &uuid), CrashReportDatabase::kNoError); RelocateDatabase(); @@ -509,28 +501,22 @@ EXPECT_EQ(db()->LookUpCrashReport(uuid, &report), CrashReportDatabase::kNoError); ExpectPreparedCrashReport(report); - EXPECT_TRUE(FileExists(report.file_path)) << report.file_path.value(); } TEST_F(CrashReportDatabaseTest, ReportRemoved) { - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; EXPECT_EQ(db()->PrepareNewCrashReport(&new_report), CrashReportDatabase::kNoError); - EXPECT_TRUE(FileExists(new_report->path)) << new_report->path.value(); + UUID uuid; - EXPECT_EQ(db()->FinishedWritingCrashReport(new_report, &uuid), + EXPECT_EQ(db()->FinishedWritingCrashReport(std::move(new_report), &uuid), CrashReportDatabase::kNoError); CrashReportDatabase::Report report; EXPECT_EQ(db()->LookUpCrashReport(uuid, &report), CrashReportDatabase::kNoError); -#if defined(OS_WIN) - EXPECT_EQ(_wunlink(report.file_path.value().c_str()), 0); -#else - EXPECT_EQ(unlink(report.file_path.value().c_str()), 0) - << ErrnoMessage("unlink"); -#endif + EXPECT_TRUE(LoggingRemoveFile(report.file_path)); EXPECT_EQ(db()->LookUpCrashReport(uuid, &report), CrashReportDatabase::kReportNotFound); @@ -642,21 +628,21 @@ ASSERT_EQ(pending_reports.size(), 2u); // Check individual reports. - const CrashReportDatabase::Report* expicitly_requested_report; + const CrashReportDatabase::Report* explicitly_requested_report; const CrashReportDatabase::Report* pending_report; if (pending_reports[0].uuid == report_0_uuid) { pending_report = &pending_reports[0]; - expicitly_requested_report = &pending_reports[1]; + explicitly_requested_report = &pending_reports[1]; } else { pending_report = &pending_reports[1]; - expicitly_requested_report = &pending_reports[0]; + explicitly_requested_report = &pending_reports[0]; } EXPECT_EQ(pending_report->uuid, report_0_uuid); EXPECT_FALSE(pending_report->upload_explicitly_requested); - EXPECT_EQ(expicitly_requested_report->uuid, report_1_uuid); - EXPECT_TRUE(expicitly_requested_report->upload_explicitly_requested); + EXPECT_EQ(explicitly_requested_report->uuid, report_1_uuid); + EXPECT_TRUE(explicitly_requested_report->upload_explicitly_requested); // Explicitly requested reports will not have upload_explicitly_requested bit // after getting skipped. @@ -683,6 +669,76 @@ CrashReportDatabase::kCannotRequestUpload); } +// This test uses knowledge of the database format to break it, so it only +// applies to the unfified database implementation. +#if !defined(OS_MACOSX) && !defined(OS_WIN) +TEST_F(CrashReportDatabaseTest, CleanBrokenDatabase) { + // Remove report files if metadata goes missing. + CrashReportDatabase::Report report; + ASSERT_NO_FATAL_FAILURE(CreateCrashReport(&report)); + + const base::FilePath metadata( + report.file_path.RemoveFinalExtension().value() + + FILE_PATH_LITERAL(".meta")); + ASSERT_TRUE(PathExists(report.file_path)); + ASSERT_TRUE(PathExists(metadata)); + + ASSERT_TRUE(LoggingRemoveFile(metadata)); + EXPECT_EQ(db()->CleanDatabase(0), 1); + + EXPECT_FALSE(PathExists(report.file_path)); + EXPECT_FALSE(PathExists(metadata)); + + // Remove metadata files if reports go missing. + ASSERT_NO_FATAL_FAILURE(CreateCrashReport(&report)); + const base::FilePath metadata2( + report.file_path.RemoveFinalExtension().value() + + FILE_PATH_LITERAL(".meta")); + ASSERT_TRUE(PathExists(report.file_path)); + ASSERT_TRUE(PathExists(metadata2)); + + ASSERT_TRUE(LoggingRemoveFile(report.file_path)); + EXPECT_EQ(db()->CleanDatabase(0), 1); + + EXPECT_FALSE(PathExists(report.file_path)); + EXPECT_FALSE(PathExists(metadata2)); + + // Remove stale new files. + std::unique_ptr<CrashReportDatabase::NewReport> new_report; + EXPECT_EQ(db()->PrepareNewCrashReport(&new_report), + CrashReportDatabase::kNoError); + new_report->Writer()->Close(); + EXPECT_EQ(db()->CleanDatabase(0), 1); + + // Remove stale lock files and their associated reports. + ASSERT_NO_FATAL_FAILURE(CreateCrashReport(&report)); + const base::FilePath metadata3( + report.file_path.RemoveFinalExtension().value() + + FILE_PATH_LITERAL(".meta")); + ASSERT_TRUE(PathExists(report.file_path)); + ASSERT_TRUE(PathExists(metadata3)); + + const base::FilePath lockpath( + report.file_path.RemoveFinalExtension().value() + + FILE_PATH_LITERAL(".lock")); + ScopedFileHandle handle(LoggingOpenFileForWrite( + lockpath, FileWriteMode::kCreateOrFail, FilePermissions::kOwnerOnly)); + ASSERT_TRUE(handle.is_valid()); + + time_t expired_timestamp = time(nullptr) - 60 * 60 * 24 * 3; + + ASSERT_TRUE(LoggingWriteFile( + handle.get(), &expired_timestamp, sizeof(expired_timestamp))); + ASSERT_TRUE(LoggingCloseFile(handle.get())); + ignore_result(handle.release()); + + EXPECT_EQ(db()->CleanDatabase(0), 1); + + EXPECT_FALSE(PathExists(report.file_path)); + EXPECT_FALSE(PathExists(metadata3)); +} +#endif // !OS_MACOSX && !OS_WIN + } // namespace } // namespace test } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crash_report_database_win.cc b/third_party/crashpad/crashpad/client/crash_report_database_win.cc index 538eff5f..fb3cd8f 100644 --- a/third_party/crashpad/crashpad/client/crash_report_database_win.cc +++ b/third_party/crashpad/crashpad/client/crash_report_database_win.cc
@@ -29,6 +29,7 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "client/settings.h" +#include "util/misc/implicit_cast.h" #include "util/misc/initialization_state_dcheck.h" #include "util/misc/metrics.h" @@ -571,6 +572,8 @@ return EnsureDirectory(path); } +} // namespace + // CrashReportDatabaseWin ------------------------------------------------------ class CrashReportDatabaseWin : public CrashReportDatabase { @@ -582,24 +585,27 @@ // CrashReportDatabase: Settings* GetSettings() override; - OperationStatus PrepareNewCrashReport(NewReport** report) override; - OperationStatus FinishedWritingCrashReport(NewReport* report, + OperationStatus PrepareNewCrashReport( + std::unique_ptr<NewReport>* report) override; + OperationStatus FinishedWritingCrashReport(std::unique_ptr<NewReport> report, UUID* uuid) override; - OperationStatus ErrorWritingCrashReport(NewReport* report) override; OperationStatus LookUpCrashReport(const UUID& uuid, Report* report) override; OperationStatus GetPendingReports(std::vector<Report>* reports) override; OperationStatus GetCompletedReports(std::vector<Report>* reports) override; - OperationStatus GetReportForUploading(const UUID& uuid, - const Report** report) override; - OperationStatus RecordUploadAttempt(const Report* report, - bool successful, - const std::string& id) override; + OperationStatus GetReportForUploading( + const UUID& uuid, + std::unique_ptr<const UploadReport>* report) override; OperationStatus SkipReportUpload(const UUID& uuid, Metrics::CrashSkippedReason reason) override; OperationStatus DeleteReport(const UUID& uuid) override; OperationStatus RequestUpload(const UUID& uuid) override; private: + // CrashReportDatabase: + OperationStatus RecordUploadAttempt(UploadReport* report, + bool successful, + const std::string& id) override; + std::unique_ptr<Metadata> AcquireMetadata(); base::FilePath base_dir_; @@ -610,11 +616,7 @@ }; CrashReportDatabaseWin::CrashReportDatabaseWin(const base::FilePath& path) - : CrashReportDatabase(), - base_dir_(path), - settings_(base_dir_.Append(kSettings)), - initialized_() { -} + : CrashReportDatabase(), base_dir_(path), settings_(), initialized_() {} CrashReportDatabaseWin::~CrashReportDatabaseWin() { } @@ -634,7 +636,7 @@ if (!CreateDirectoryIfNecessary(base_dir_.Append(kReportsDirectory))) return false; - if (!settings_.Initialize()) + if (!settings_.Initialize(base_dir_.Append(kSettings))) return false; INITIALIZATION_STATE_SET_VALID(initialized_); @@ -647,67 +649,38 @@ } OperationStatus CrashReportDatabaseWin::PrepareNewCrashReport( - NewReport** report) { + std::unique_ptr<NewReport>* report) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); std::unique_ptr<NewReport> new_report(new NewReport()); - if (!new_report->uuid.InitializeWithNew()) + if (!new_report->Initialize(base_dir_.Append(kReportsDirectory), + std::wstring(L".") + kCrashReportFileExtension)) { return kFileSystemError; - new_report->path = base_dir_.Append(kReportsDirectory) - .Append(new_report->uuid.ToString16() + L"." + - kCrashReportFileExtension); - new_report->handle = LoggingOpenFileForWrite(new_report->path, - FileWriteMode::kCreateOrFail, - FilePermissions::kOwnerOnly); - if (new_report->handle == INVALID_HANDLE_VALUE) - return kFileSystemError; + } - *report = new_report.release(); + report->reset(new_report.release()); return kNoError; } OperationStatus CrashReportDatabaseWin::FinishedWritingCrashReport( - NewReport* report, + std::unique_ptr<NewReport> report, UUID* uuid) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); - // Take ownership of the report. - std::unique_ptr<NewReport> scoped_report(report); - // Take ownership of the file handle. - ScopedFileHandle handle(report->handle); - std::unique_ptr<Metadata> metadata(AcquireMetadata()); if (!metadata) return kDatabaseError; - metadata->AddNewRecord(ReportDisk(scoped_report->uuid, - scoped_report->path, + metadata->AddNewRecord(ReportDisk(report->ReportID(), + report->file_remover_.get(), time(nullptr), ReportState::kPending)); - *uuid = scoped_report->uuid; + + ignore_result(report->file_remover_.release()); + + *uuid = report->ReportID(); Metrics::CrashReportPending(Metrics::PendingReportReason::kNewlyCreated); - Metrics::CrashReportSize(handle.get()); - - return kNoError; -} - -OperationStatus CrashReportDatabaseWin::ErrorWritingCrashReport( - NewReport* report) { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - - // Take ownership of the report. - std::unique_ptr<NewReport> scoped_report(report); - - // Close the outstanding handle. - LoggingCloseFile(report->handle); - - // We failed to write, so remove the dump file. There's no entry in the - // metadata table yet. - if (!DeleteFile(scoped_report->path.value().c_str())) { - PLOG(ERROR) << "DeleteFile " - << base::UTF16ToUTF8(scoped_report->path.value()); - return kFileSystemError; - } + Metrics::CrashReportSize(report->Writer()->Seek(0, SEEK_END)); return kNoError; } @@ -747,44 +720,38 @@ OperationStatus CrashReportDatabaseWin::GetReportForUploading( const UUID& uuid, - const Report** report) { + std::unique_ptr<const UploadReport>* report) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); std::unique_ptr<Metadata> metadata(AcquireMetadata()); if (!metadata) return kDatabaseError; - // TODO(scottmg): After returning this report to the client, there is no way - // to reap this report if the uploader fails to call RecordUploadAttempt() or - // SkipReportUpload() (if it crashed or was otherwise buggy). To resolve this, - // one possibility would be to change the interface to be FileHandle based, so - // that instead of giving the file_path back to the client and changing state - // to kUploading, we return an exclusive access handle, and use that as the - // signal that the upload is pending, rather than an update to state in the - // metadata. Alternatively, there could be a "garbage collection" at startup - // where any reports that are orphaned in the kUploading state are either - // reset to kPending to retry, or discarded. + ReportDisk* report_disk; OperationStatus os = metadata->FindSingleReportAndMarkDirty( uuid, ReportState::kPending, &report_disk); if (os == kNoError) { report_disk->state = ReportState::kUploading; - // Create a copy for passing back to client. This will be freed in - // RecordUploadAttempt. - *report = new Report(*report_disk); + auto upload_report = std::make_unique<UploadReport>(); + *implicit_cast<Report*>(upload_report.get()) = *report_disk; + + if (!upload_report->Initialize(upload_report->file_path, this)) { + return kFileSystemError; + } + + report->reset(upload_report.release()); } return os; } OperationStatus CrashReportDatabaseWin::RecordUploadAttempt( - const Report* report, + UploadReport* report, bool successful, const std::string& id) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); Metrics::CrashUploadAttempted(successful); - // Take ownership, allocated in GetReportForUploading. - std::unique_ptr<const Report> upload_report(report); std::unique_ptr<Metadata> metadata(AcquireMetadata()); if (!metadata) return kDatabaseError; @@ -903,8 +870,6 @@ return kNoError; } -} // namespace - // static std::unique_ptr<CrashReportDatabase> CrashReportDatabase::Initialize( const base::FilePath& path) {
diff --git a/third_party/crashpad/crashpad/client/crashpad_client.h b/third_party/crashpad/crashpad/client/crashpad_client.h index 7cf2eb8..3cd806a1 100644 --- a/third_party/crashpad/crashpad/client/crashpad_client.h +++ b/third_party/crashpad/crashpad/client/crashpad_client.h
@@ -24,12 +24,16 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "build/build_config.h" +#include "util/misc/capture_context.h" #if defined(OS_MACOSX) #include "base/mac/scoped_mach_port.h" #elif defined(OS_WIN) #include <windows.h> #include "util/win/scoped_handle.h" +#elif defined(OS_LINUX) || defined(OS_ANDROID) +#include <signal.h> +#include <ucontext.h> #endif namespace crashpad { @@ -168,6 +172,40 @@ const std::map<std::string, std::string>& annotations, const std::vector<std::string>& arguments, int socket); + + //! \brief Requests that the handler capture a dump even though there hasn't + //! been a crash. + //! + //! A handler must have already been installed before calling this method. + //! + //! TODO(jperaza): Floating point information in the context is zeroed out + //! until CaptureContext() supports collecting that information. + //! + //! \param[in] context A NativeCPUContext, generally captured by + //! CaptureContext() or similar. + static void DumpWithoutCrash(NativeCPUContext* context); + + //! \brief The type for custom handlers installed by clients. + using FirstChanceHandler = bool (*)(int, siginfo_t*, ucontext_t*); + + //! \brief Installs a custom crash signal handler which runs before the + //! currently installed Crashpad handler. + //! + //! Handling signals appropriately can be tricky and use of this method + //! should be avoided, if possible. + //! + //! A handler must have already been installed before calling this method. + //! + //! The custom handler runs in a signal handler context and must be safe for + //! that purpose. + //! + //! If the custom handler returns `true`, the signal is considered handled and + //! the signal handler returns. Otherwise, the currently installed Crashpad + //! signal handler is run. + //! + //! \param[in] handler The custom crash signal handler to install. + static void SetFirstChanceExceptionHandler(FirstChanceHandler handler); + #endif // OS_LINUX || OS_ANDROID || DOXYGEN #if defined(OS_MACOSX) || DOXYGEN
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc index a36d922..ca13c29 100644 --- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc +++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
@@ -27,6 +27,7 @@ #include "util/file/file_io.h" #include "util/linux/exception_handler_client.h" #include "util/linux/exception_information.h" +#include "util/linux/scoped_pr_set_ptracer.h" #include "util/misc/from_pointer_cast.h" #include "util/posix/double_fork_and_exec.h" #include "util/posix/signals.h" @@ -82,7 +83,7 @@ } } -void ConvertArgvStrings(const std::vector<std::string> argv_strings, +void ConvertArgvStrings(const std::vector<std::string>& argv_strings, std::vector<const char*>* argv) { argv->clear(); argv->reserve(argv_strings.size() + 1); @@ -92,8 +93,28 @@ argv->push_back(nullptr); } +class SignalHandler { + public: + virtual void HandleCrashFatal(int signo, + siginfo_t* siginfo, + void* context) = 0; + virtual bool HandleCrashNonFatal(int signo, + siginfo_t* siginfo, + void* context) = 0; + + void SetFirstChanceHandler(CrashpadClient::FirstChanceHandler handler) { + first_chance_handler_ = handler; + } + + protected: + SignalHandler() = default; + ~SignalHandler() = default; + + CrashpadClient::FirstChanceHandler first_chance_handler_ = nullptr; +}; + // Launches a single use handler to snapshot this process. -class LaunchAtCrashHandler { +class LaunchAtCrashHandler : public SignalHandler { public: static LaunchAtCrashHandler* Get() { static LaunchAtCrashHandler* instance = new LaunchAtCrashHandler(); @@ -110,6 +131,46 @@ return Signals::InstallCrashHandlers(HandleCrash, 0, nullptr); } + bool HandleCrashNonFatal(int signo, + siginfo_t* siginfo, + void* context) override { + if (first_chance_handler_ && + first_chance_handler_( + signo, siginfo, static_cast<ucontext_t*>(context))) { + return true; + } + + exception_information_.siginfo_address = + FromPointerCast<decltype(exception_information_.siginfo_address)>( + siginfo); + exception_information_.context_address = + FromPointerCast<decltype(exception_information_.context_address)>( + context); + exception_information_.thread_id = syscall(SYS_gettid); + + ScopedPrSetPtracer set_ptracer(getpid(), /* may_log= */ false); + + pid_t pid = fork(); + if (pid < 0) { + return false; + } + if (pid == 0) { + execv(argv_[0], const_cast<char* const*>(argv_.data())); + _exit(EXIT_FAILURE); + } + + int status; + waitpid(pid, &status, 0); + return false; + } + + void HandleCrashFatal(int signo, siginfo_t* siginfo, void* context) override { + if (HandleCrashNonFatal(signo, siginfo, context)) { + return; + } + Signals::RestoreHandlerAndReraiseSignalOnReturn(siginfo, nullptr); + } + private: LaunchAtCrashHandler() = default; @@ -117,27 +178,7 @@ static void HandleCrash(int signo, siginfo_t* siginfo, void* context) { auto state = Get(); - auto exception_information = &state->exception_information_; - - exception_information->siginfo_address = - FromPointerCast<decltype(exception_information->siginfo_address)>( - siginfo); - exception_information->context_address = - FromPointerCast<decltype(exception_information->context_address)>( - context); - exception_information->thread_id = syscall(SYS_gettid); - - pid_t pid = fork(); - if (pid < 0) { - return; - } - if (pid == 0) { - execv(state->argv_[0], const_cast<char* const*>(state->argv_.data())); - return; - } - - int status; - waitpid(pid, &status, 0); + state->HandleCrashFatal(signo, siginfo, context); } std::vector<std::string> argv_strings_; @@ -147,6 +188,11 @@ DISALLOW_COPY_AND_ASSIGN(LaunchAtCrashHandler); }; +// A pointer to the currently installed crash signal handler. This allows +// the static method CrashpadClient::DumpWithoutCrashing to simulate a crash +// using the currently configured crash handling strategy. +static SignalHandler* g_crash_handler; + } // namespace CrashpadClient::CrashpadClient() {} @@ -181,7 +227,12 @@ handler, database, metrics_dir, url, annotations, arguments, &argv); auto signal_handler = LaunchAtCrashHandler::Get(); - return signal_handler->Initialize(&argv); + if (signal_handler->Initialize(&argv)) { + DCHECK(!g_crash_handler); + g_crash_handler = signal_handler; + return true; + } + return false; } bool CrashpadClient::StartHandlerForClient( @@ -201,4 +252,38 @@ return DoubleForkAndExec(argv, socket, true, nullptr); } +// static +void CrashpadClient::DumpWithoutCrash(NativeCPUContext* context) { + DCHECK(g_crash_handler); + +#if defined(ARCH_CPU_X86) + memset(&context->__fpregs_mem, 0, sizeof(context->__fpregs_mem)); + context->__fpregs_mem.status = 0xffff0000; +#elif defined(ARCH_CPU_X86_64) + memset(&context->__fpregs_mem, 0, sizeof(context->__fpregs_mem)); +#elif defined(ARCH_CPU_ARMEL) + memset(context->uc_regspace, 0, sizeof(context->uc_regspace)); +#elif defined(ARCH_CPU_ARM64) + memset(context->uc_mcontext.__reserved, + 0, + sizeof(context->uc_mcontext.__reserved)); +#else +#error Port. +#endif + + siginfo_t siginfo; + siginfo.si_signo = Signals::kSimulatedSigno; + siginfo.si_errno = 0; + siginfo.si_code = 0; + g_crash_handler->HandleCrashNonFatal( + siginfo.si_signo, &siginfo, reinterpret_cast<void*>(context)); +} + +// static +void CrashpadClient::SetFirstChanceExceptionHandler( + FirstChanceHandler handler) { + DCHECK(g_crash_handler); + g_crash_handler->SetFirstChanceHandler(handler); +} + } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_linux_test.cc b/third_party/crashpad/crashpad/client/crashpad_client_linux_test.cc new file mode 100644 index 0000000..9610cdd --- /dev/null +++ b/third_party/crashpad/crashpad/client/crashpad_client_linux_test.cc
@@ -0,0 +1,327 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "client/crashpad_client.h" + +#include <stdlib.h> +#include <sys/socket.h> +#include <sys/syscall.h> +#include <sys/types.h> +#include <unistd.h> + +#include "base/logging.h" +#include "client/crash_report_database.h" +#include "client/simulate_crash.h" +#include "gtest/gtest.h" +#include "test/multiprocess_exec.h" +#include "test/multiprocess.h" +#include "test/scoped_temp_dir.h" +#include "test/test_paths.h" +#include "util/file/file_io.h" +#include "util/linux/exception_handler_client.h" +#include "util/linux/exception_information.h" +#include "util/misc/address_types.h" +#include "util/misc/from_pointer_cast.h" +#include "util/posix/signals.h" + +namespace crashpad { +namespace test { +namespace { + +bool HandleCrashSuccessfully(int, siginfo_t*, ucontext_t*) { + return true; +} + +TEST(CrashpadClient, SimulateCrash) { + ScopedTempDir temp_dir; + + base::FilePath handler_path = TestPaths::Executable().DirName().Append( + FILE_PATH_LITERAL("crashpad_handler")); + + crashpad::CrashpadClient client; + ASSERT_TRUE(client.StartHandlerAtCrash(handler_path, + base::FilePath(temp_dir.path()), + base::FilePath(), + "", + std::map<std::string, std::string>(), + std::vector<std::string>())); + + auto database = + CrashReportDatabase::InitializeWithoutCreating(temp_dir.path()); + ASSERT_TRUE(database); + + { + CrashpadClient::SetFirstChanceExceptionHandler(HandleCrashSuccessfully); + + CRASHPAD_SIMULATE_CRASH(); + + std::vector<CrashReportDatabase::Report> reports; + ASSERT_EQ(database->GetPendingReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 0u); + + reports.clear(); + ASSERT_EQ(database->GetCompletedReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 0u); + } + + { + CrashpadClient::SetFirstChanceExceptionHandler(nullptr); + + CRASHPAD_SIMULATE_CRASH(); + + std::vector<CrashReportDatabase::Report> reports; + ASSERT_EQ(database->GetPendingReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 0u); + + reports.clear(); + ASSERT_EQ(database->GetCompletedReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 1u); + } +} + +CRASHPAD_CHILD_TEST_MAIN(StartHandlerAtCrashChild) { + FileHandle in = StdioFileHandle(StdioStream::kStandardInput); + + VMSize temp_dir_length; + CheckedReadFileExactly(in, &temp_dir_length, sizeof(temp_dir_length)); + + std::string temp_dir(temp_dir_length, '\0'); + CheckedReadFileExactly(in, &temp_dir[0], temp_dir_length); + + base::FilePath handler_path = TestPaths::Executable().DirName().Append( + FILE_PATH_LITERAL("crashpad_handler")); + + crashpad::CrashpadClient client; + if (!client.StartHandlerAtCrash(handler_path, + base::FilePath(temp_dir), + base::FilePath(), + "", + std::map<std::string, std::string>(), + std::vector<std::string>())) { + return EXIT_FAILURE; + } + + __builtin_trap(); + + NOTREACHED(); + return EXIT_SUCCESS; +} + +class StartHandlerAtCrashTest : public MultiprocessExec { + public: + StartHandlerAtCrashTest() : MultiprocessExec() { + SetChildTestMainFunction("StartHandlerAtCrashChild"); + SetExpectedChildTerminationBuiltinTrap(); + } + + private: + void MultiprocessParent() override { + ScopedTempDir temp_dir; + VMSize temp_dir_length = temp_dir.path().value().size(); + ASSERT_TRUE(LoggingWriteFile( + WritePipeHandle(), &temp_dir_length, sizeof(temp_dir_length))); + ASSERT_TRUE(LoggingWriteFile( + WritePipeHandle(), temp_dir.path().value().data(), temp_dir_length)); + + // Wait for child to finish. + CheckedReadFileAtEOF(ReadPipeHandle()); + + auto database = CrashReportDatabase::Initialize(temp_dir.path()); + ASSERT_TRUE(database); + + std::vector<CrashReportDatabase::Report> reports; + ASSERT_EQ(database->GetPendingReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 0u); + + ASSERT_EQ(database->GetCompletedReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 1u); + } + + DISALLOW_COPY_AND_ASSIGN(StartHandlerAtCrashTest); +}; + +TEST(CrashpadClient, StartHandlerAtCrash) { + StartHandlerAtCrashTest test; + test.Run(); +} + +// Test state for starting the handler for another process. +class StartHandlerForClientTest { + public: + StartHandlerForClientTest() = default; + ~StartHandlerForClientTest() = default; + + bool Initialize() { + int socks[2]; + if (socketpair(AF_UNIX, SOCK_STREAM, 0, socks) != 0) { + PLOG(ERROR) << "socketpair"; + return false; + } + client_sock_.reset(socks[0]); + server_sock_.reset(socks[1]); + + return true; + } + + bool StartHandlerOnDemand() { + char c; + if (!LoggingReadFileExactly(server_sock_.get(), &c, sizeof(c))) { + ADD_FAILURE(); + return false; + } + + base::FilePath handler_path = TestPaths::Executable().DirName().Append( + FILE_PATH_LITERAL("crashpad_handler")); + + CrashpadClient client; + if (!client.StartHandlerForClient(handler_path, + temp_dir_.path(), + base::FilePath(), + "", + std::map<std::string, std::string>(), + std::vector<std::string>(), + server_sock_.get())) { + ADD_FAILURE(); + return false; + } + + return true; + } + + void ExpectReport() { + auto database = + CrashReportDatabase::InitializeWithoutCreating(temp_dir_.path()); + ASSERT_TRUE(database); + + std::vector<CrashReportDatabase::Report> reports; + ASSERT_EQ(database->GetPendingReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 0u); + + ASSERT_EQ(database->GetCompletedReports(&reports), + CrashReportDatabase::kNoError); + EXPECT_EQ(reports.size(), 1u); + } + + bool InstallHandler() { + auto signal_handler = SandboxedHandler::Get(); + return signal_handler->Initialize(client_sock_.get()); + } + + private: + // A signal handler that defers handler process startup to another, presumably + // more privileged, process. + class SandboxedHandler { + public: + static SandboxedHandler* Get() { + static SandboxedHandler* instance = new SandboxedHandler(); + return instance; + } + + bool Initialize(FileHandle client_sock) { + client_sock_ = client_sock; + return Signals::InstallCrashHandlers(HandleCrash, 0, nullptr); + } + + private: + SandboxedHandler() = default; + ~SandboxedHandler() = delete; + + static void HandleCrash(int signo, siginfo_t* siginfo, void* context) { + auto state = Get(); + + char c; + CHECK(LoggingWriteFile(state->client_sock_, &c, sizeof(c))); + + ExceptionInformation exception_information; + exception_information.siginfo_address = + FromPointerCast<decltype(exception_information.siginfo_address)>( + siginfo); + exception_information.context_address = + FromPointerCast<decltype(exception_information.context_address)>( + context); + exception_information.thread_id = syscall(SYS_gettid); + + ClientInformation info = {}; + info.exception_information_address = + FromPointerCast<decltype(info.exception_information_address)>( + &exception_information); + + ExceptionHandlerClient handler_client(state->client_sock_); + CHECK_EQ(handler_client.RequestCrashDump(info), 0); + + Signals::RestoreHandlerAndReraiseSignalOnReturn(siginfo, nullptr); + } + + FileHandle client_sock_; + + DISALLOW_COPY_AND_ASSIGN(SandboxedHandler); + }; + + ScopedTempDir temp_dir_; + ScopedFileHandle client_sock_; + ScopedFileHandle server_sock_; + + DISALLOW_COPY_AND_ASSIGN(StartHandlerForClientTest); +}; + +// Tests starting the handler for a child process. +class StartHandlerForChildTest : public Multiprocess { + public: + StartHandlerForChildTest() = default; + ~StartHandlerForChildTest() = default; + + bool Initialize() { + SetExpectedChildTerminationBuiltinTrap(); + return test_state_.Initialize(); + } + + private: + void MultiprocessParent() { + ASSERT_TRUE(test_state_.StartHandlerOnDemand()); + + // Wait for chlid to finish. + CheckedReadFileAtEOF(ReadPipeHandle()); + + test_state_.ExpectReport(); + } + + void MultiprocessChild() { + CHECK(test_state_.InstallHandler()); + + __builtin_trap(); + + NOTREACHED(); + } + + StartHandlerForClientTest test_state_; + + DISALLOW_COPY_AND_ASSIGN(StartHandlerForChildTest); +}; + +TEST(CrashpadClient, StartHandlerForChild) { + StartHandlerForChildTest test; + ASSERT_TRUE(test.Initialize()); + test.Run(); +} + +} // namespace +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_win.cc b/third_party/crashpad/crashpad/client/crashpad_client_win.cc index dd25c9e..8ceded3 100644 --- a/third_party/crashpad/crashpad/client/crashpad_client_win.cc +++ b/third_party/crashpad/crashpad/client/crashpad_client_win.cc
@@ -30,10 +30,10 @@ #include "base/strings/utf_string_conversions.h" #include "base/synchronization/lock.h" #include "util/file/file_io.h" +#include "util/misc/capture_context.h" #include "util/misc/from_pointer_cast.h" #include "util/misc/random_string.h" #include "util/win/address_types.h" -#include "util/win/capture_context.h" #include "util/win/command_line.h" #include "util/win/critical_section_with_debug_info.h" #include "util/win/get_function.h"
diff --git a/third_party/crashpad/crashpad/client/crashpad_info.cc b/third_party/crashpad/crashpad/client/crashpad_info.cc index b545a3c..7c1316e 100644 --- a/third_party/crashpad/crashpad/client/crashpad_info.cc +++ b/third_party/crashpad/crashpad/client/crashpad_info.cc
@@ -52,12 +52,6 @@ // because it’s POD, no code should need to run to initialize this under // release-mode optimization. -// Platforms that use ELF objects need to locate this structure via the dynamic -// symbol table, so avoid name mangling. -#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) -extern "C" { -#endif - #if defined(OS_POSIX) __attribute__(( @@ -65,10 +59,6 @@ // Put the structure in a well-known section name where it can be easily // found without having to consult the symbol table. section(SEG_DATA ",crashpad_info"), - - // There's no need to expose this as a public symbol from the symbol table. - // All accesses from the outside can locate the well-known section name. - visibility("hidden"), #endif #if defined(ADDRESS_SANITIZER) @@ -80,6 +70,10 @@ aligned(64), #endif // defined(ADDRESS_SANITIZER) + // There's no need to expose this as a public symbol from the symbol table. + // All accesses from the outside can locate the well-known section name. + visibility("hidden"), + // The “used” attribute prevents the structure from being dead-stripped. used)) @@ -96,12 +90,19 @@ CrashpadInfo g_crashpad_info; -#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) -} // extern "C" -#endif +extern "C" int* CRASHPAD_NOTE_REFERENCE; // static CrashpadInfo* CrashpadInfo::GetCrashpadInfo() { +#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) + // This otherwise-unused reference is used so that any module that + // references GetCrashpadInfo() will also include the note in the + // .note.crashpad.info section. That note in turn contains the address of + // g_crashpad_info. This allows the module reader to find the CrashpadInfo + // structure without requiring the use of the dynamic symbol table. + static volatile int* pointer_to_note_section = CRASHPAD_NOTE_REFERENCE; + (void)pointer_to_note_section; +#endif return &g_crashpad_info; }
diff --git a/third_party/crashpad/crashpad/client/crashpad_info_note.S b/third_party/crashpad/crashpad/client/crashpad_info_note.S new file mode 100644 index 0000000..8084db9 --- /dev/null +++ b/third_party/crashpad/crashpad/client/crashpad_info_note.S
@@ -0,0 +1,60 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This note section is used on ELF platforms to give ElfImageReader a method +// of finding the instance of CrashpadInfo g_crashpad_info without requiring +// that symbol to be in the dynamic symbol table. + +#include "build/build_config.h" +#include "util/misc/elf_note_types.h" + +// namespace crashpad { +// CrashpadInfo g_crashpad_info; +// } // namespace crashpad +#define CRASHPAD_INFO_SYMBOL _ZN8crashpad15g_crashpad_infoE + +#define NOTE_ALIGN 4 + + // This section must be "a"llocated so that it appears in the final binary at + // runtime, and "w"ritable so that the relocation to CRASHPAD_INFO_SYMBOL can + // be performed. + .section .note.crashpad.info,"aw",%note + .balign NOTE_ALIGN + # .globl indicates that it's available to link against other .o files. .hidden + # indicates that it will not appear in the executable's symbol table. + .globl CRASHPAD_NOTE_REFERENCE + .hidden CRASHPAD_NOTE_REFERENCE + .type CRASHPAD_NOTE_REFERENCE, %object +CRASHPAD_NOTE_REFERENCE: + .long name_end - name // namesz + .long desc_end - desc // descsz + .long CRASHPAD_ELF_NOTE_TYPE_CRASHPAD_INFO // type +name: + .asciz CRASHPAD_ELF_NOTE_NAME +name_end: + .balign NOTE_ALIGN +desc: +#if defined(ARCH_CPU_64_BITS) + .quad CRASHPAD_INFO_SYMBOL +#else +#if defined(ARCH_CPU_LITTLE_ENDIAN) + .long CRASHPAD_INFO_SYMBOL + .long 0 +#else + .long 0 + .long CRASHPAD_INFO_SYMBOL +#endif // ARCH_CPU_LITTLE_ENDIAN +#endif // ARCH_CPU_64_BITS +desc_end: + .size CRASHPAD_NOTE_REFERENCE, .-CRASHPAD_NOTE_REFERENCE
diff --git a/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc b/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc index 54d6941e..2648dee 100644 --- a/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc +++ b/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc
@@ -36,20 +36,27 @@ public: // CrashReportDatabase: MOCK_METHOD0(GetSettings, Settings*()); - MOCK_METHOD1(PrepareNewCrashReport, OperationStatus(NewReport**)); - MOCK_METHOD2(FinishedWritingCrashReport, OperationStatus(NewReport*, UUID*)); - MOCK_METHOD1(ErrorWritingCrashReport, OperationStatus(NewReport*)); + MOCK_METHOD1(PrepareNewCrashReport, + OperationStatus(std::unique_ptr<NewReport>*)); MOCK_METHOD2(LookUpCrashReport, OperationStatus(const UUID&, Report*)); MOCK_METHOD1(GetPendingReports, OperationStatus(std::vector<Report>*)); MOCK_METHOD1(GetCompletedReports, OperationStatus(std::vector<Report>*)); MOCK_METHOD2(GetReportForUploading, - OperationStatus(const UUID&, const Report**)); + OperationStatus(const UUID&, + std::unique_ptr<const UploadReport>*)); MOCK_METHOD3(RecordUploadAttempt, - OperationStatus(const Report*, bool, const std::string&)); + OperationStatus(UploadReport*, bool, const std::string&)); MOCK_METHOD2(SkipReportUpload, OperationStatus(const UUID&, Metrics::CrashSkippedReason)); MOCK_METHOD1(DeleteReport, OperationStatus(const UUID&)); MOCK_METHOD1(RequestUpload, OperationStatus(const UUID&)); + + // gmock doesn't support mocking methods with non-copyable types such as + // unique_ptr. + OperationStatus FinishedWritingCrashReport(std::unique_ptr<NewReport> report, + UUID* uuid) override { + return kNoError; + } }; time_t NDaysAgo(int num_days) {
diff --git a/third_party/crashpad/crashpad/client/settings.cc b/third_party/crashpad/crashpad/client/settings.cc index 15d16f2..20bd258 100644 --- a/third_party/crashpad/crashpad/client/settings.cc +++ b/third_party/crashpad/crashpad/client/settings.cc
@@ -20,10 +20,55 @@ #include "base/logging.h" #include "base/posix/eintr_wrapper.h" +#include "util/file/filesystem.h" #include "util/numeric/in_range_cast.h" namespace crashpad { +#if defined(OS_FUCHSIA) + +Settings::ScopedLockedFileHandle::ScopedLockedFileHandle() + : handle_(kInvalidFileHandle), lockfile_path_() { + } + +Settings::ScopedLockedFileHandle::ScopedLockedFileHandle( + FileHandle handle, + const base::FilePath& lockfile_path) + : handle_(handle), lockfile_path_(lockfile_path) { +} + +Settings::ScopedLockedFileHandle::ScopedLockedFileHandle( + ScopedLockedFileHandle&& other) + : handle_(other.handle_), lockfile_path_(other.lockfile_path_) { + other.handle_ = kInvalidFileHandle; + other.lockfile_path_ = base::FilePath(); +} + +Settings::ScopedLockedFileHandle& Settings::ScopedLockedFileHandle::operator=( + ScopedLockedFileHandle&& other) { + handle_ = other.handle_; + lockfile_path_ = other.lockfile_path_; + + other.handle_ = kInvalidFileHandle; + other.lockfile_path_ = base::FilePath(); + return *this; +} + +Settings::ScopedLockedFileHandle::~ScopedLockedFileHandle() { + Destroy(); +} + +void Settings::ScopedLockedFileHandle::Destroy() { + if (handle_ != kInvalidFileHandle) { + CheckedCloseFile(handle_); + } + if (!lockfile_path_.empty()) { + DCHECK(LoggingRemoveFile(lockfile_path_)); + } +} + +#else // OS_FUCHSIA + namespace internal { // static @@ -36,6 +81,8 @@ } // namespace internal +#endif // OS_FUCHSIA + struct Settings::Data { static const uint32_t kSettingsMagic = 'CPds'; static const uint32_t kSettingsVersion = 1; @@ -59,16 +106,14 @@ UUID client_id; }; -Settings::Settings(const base::FilePath& file_path) - : file_path_(file_path), - initialized_() { -} +Settings::Settings() = default; -Settings::~Settings() { -} +Settings::~Settings() = default; -bool Settings::Initialize() { +bool Settings::Initialize(const base::FilePath& file_path) { + DCHECK(initialized_.is_uninitialized()); initialized_.set_invalid(); + file_path_ = file_path; Data settings; if (!OpenForWritingAndReadSettings(&settings).is_valid()) @@ -144,18 +189,33 @@ // static Settings::ScopedLockedFileHandle Settings::MakeScopedLockedFileHandle( FileHandle file, - FileLocking locking) { + FileLocking locking, + const base::FilePath& file_path) { ScopedFileHandle scoped(file); +#if defined(OS_FUCHSIA) + base::FilePath lockfile_path(file_path.value() + ".__lock__"); + if (scoped.is_valid()) { + ScopedFileHandle lockfile_scoped( + LoggingOpenFileForWrite(lockfile_path, + FileWriteMode::kCreateOrFail, + FilePermissions::kWorldReadable)); + // This is a lightweight attempt to try to catch racy behavior. + DCHECK(lockfile_scoped.is_valid()); + return ScopedLockedFileHandle(scoped.release(), lockfile_path); + } + return ScopedLockedFileHandle(scoped.release(), base::FilePath()); +#else if (scoped.is_valid()) { if (!LoggingLockFile(scoped.get(), locking)) scoped.reset(); } return ScopedLockedFileHandle(scoped.release()); +#endif } Settings::ScopedLockedFileHandle Settings::OpenForReading() { - return MakeScopedLockedFileHandle(LoggingOpenFileForRead(file_path()), - FileLocking::kShared); + return MakeScopedLockedFileHandle( + LoggingOpenFileForRead(file_path()), FileLocking::kShared, file_path()); } Settings::ScopedLockedFileHandle Settings::OpenForReadingAndWriting( @@ -171,7 +231,8 @@ file_path(), mode, FilePermissions::kWorldReadable); } - return MakeScopedLockedFileHandle(handle, FileLocking::kExclusive); + return MakeScopedLockedFileHandle( + handle, FileLocking::kExclusive, file_path()); } bool Settings::OpenAndReadSettings(Data* out_data) {
diff --git a/third_party/crashpad/crashpad/client/settings.h b/third_party/crashpad/crashpad/client/settings.h index b64f74fb..a2b0c74 100644 --- a/third_party/crashpad/crashpad/client/settings.h +++ b/third_party/crashpad/crashpad/client/settings.h
@@ -22,6 +22,7 @@ #include "base/files/file_path.h" #include "base/macros.h" #include "base/scoped_generic.h" +#include "build/build_config.h" #include "util/file/file_io.h" #include "util/misc/initialization_state.h" #include "util/misc/uuid.h" @@ -44,10 +45,18 @@ //! should be retrieved via CrashReportDatabase::GetSettings(). class Settings { public: - explicit Settings(const base::FilePath& file_path); + Settings(); ~Settings(); - bool Initialize(); + //! \brief Initializes the settings data store. + //! + //! This method must be called only once, and must be successfully called + //! before any other method in this class may be called. + //! + //! \param[in] path The location to store the settings data. + //! \return `true` if the data store was initialized successfully, otherwise + //! `false` with an error logged. + bool Initialize(const base::FilePath& path); //! \brief Retrieves the immutable identifier for this client, which is used //! on a server to locate all crash reports from a specific Crashpad @@ -106,11 +115,45 @@ struct Data; // This must be constructed with MakeScopedLockedFileHandle(). It both unlocks - // and closes the file on destruction. + // and closes the file on destruction. Note that on Fuchsia, this handle DOES + // NOT offer correct operation, only an attempt to DCHECK if racy behavior is + // detected. +#if defined(OS_FUCHSIA) + struct ScopedLockedFileHandle { + public: + ScopedLockedFileHandle(); + ScopedLockedFileHandle(FileHandle handle, + const base::FilePath& lockfile_path); + ScopedLockedFileHandle(ScopedLockedFileHandle&& other); + ScopedLockedFileHandle& operator=(ScopedLockedFileHandle&& other); + ~ScopedLockedFileHandle(); + + // These mirror the non-Fuchsia ScopedLockedFileHandle via ScopedGeneric so + // that calling code can pretend this implementation is the same. + bool is_valid() const { return handle_ != kInvalidFileHandle; } + FileHandle get() { return handle_; } + void reset() { + Destroy(); + handle_ = kInvalidFileHandle; + lockfile_path_ = base::FilePath(); + } + + private: + void Destroy(); + + FileHandle handle_; + base::FilePath lockfile_path_; + + DISALLOW_COPY_AND_ASSIGN(ScopedLockedFileHandle); + }; +#else // OS_FUCHSIA using ScopedLockedFileHandle = base::ScopedGeneric<FileHandle, internal::ScopedLockedFileHandleTraits>; - static ScopedLockedFileHandle MakeScopedLockedFileHandle(FileHandle file, - FileLocking locking); +#endif // OS_FUCHSIA + static ScopedLockedFileHandle MakeScopedLockedFileHandle( + FileHandle file, + FileLocking locking, + const base::FilePath& file_path); // Opens the settings file for reading. On error, logs a message and returns // the invalid handle.
diff --git a/third_party/crashpad/crashpad/client/settings_test.cc b/third_party/crashpad/crashpad/client/settings_test.cc index ca961a23..3a5730b 100644 --- a/third_party/crashpad/crashpad/client/settings_test.cc +++ b/third_party/crashpad/crashpad/client/settings_test.cc
@@ -26,7 +26,7 @@ class SettingsTest : public testing::Test { public: - SettingsTest() : settings_(settings_path()) {} + SettingsTest() = default; base::FilePath settings_path() { return temp_dir_.path().Append(FILE_PATH_LITERAL("settings")); @@ -49,7 +49,7 @@ protected: // testing::Test: void SetUp() override { - ASSERT_TRUE(settings()->Initialize()); + ASSERT_TRUE(settings()->Initialize(settings_path())); } private: @@ -64,8 +64,8 @@ EXPECT_TRUE(settings()->GetClientID(&client_id)); EXPECT_NE(client_id, UUID()); - Settings local_settings(settings_path()); - EXPECT_TRUE(local_settings.Initialize()); + Settings local_settings; + EXPECT_TRUE(local_settings.Initialize(settings_path())); UUID actual; EXPECT_TRUE(local_settings.GetClientID(&actual)); EXPECT_EQ(actual, client_id); @@ -81,8 +81,8 @@ EXPECT_TRUE(settings()->GetUploadsEnabled(&enabled)); EXPECT_TRUE(enabled); - Settings local_settings(settings_path()); - EXPECT_TRUE(local_settings.Initialize()); + Settings local_settings; + EXPECT_TRUE(local_settings.Initialize(settings_path())); enabled = false; EXPECT_TRUE(local_settings.GetUploadsEnabled(&enabled)); EXPECT_TRUE(enabled); @@ -107,8 +107,8 @@ EXPECT_TRUE(settings()->GetLastUploadAttemptTime(&actual)); EXPECT_EQ(actual, expected); - Settings local_settings(settings_path()); - EXPECT_TRUE(local_settings.Initialize()); + Settings local_settings; + EXPECT_TRUE(local_settings.Initialize(settings_path())); actual = -1; EXPECT_TRUE(local_settings.GetLastUploadAttemptTime(&actual)); EXPECT_EQ(actual, expected); @@ -120,8 +120,8 @@ TEST_F(SettingsTest, BadFileOnInitialize) { InitializeBadFile(); - Settings settings(settings_path()); - EXPECT_TRUE(settings.Initialize()); + Settings settings; + EXPECT_TRUE(settings.Initialize(settings_path())); } TEST_F(SettingsTest, BadFileOnGet) { @@ -131,8 +131,8 @@ EXPECT_TRUE(settings()->GetClientID(&client_id)); EXPECT_NE(client_id, UUID()); - Settings local_settings(settings_path()); - EXPECT_TRUE(local_settings.Initialize()); + Settings local_settings; + EXPECT_TRUE(local_settings.Initialize(settings_path())); UUID actual; EXPECT_TRUE(local_settings.GetClientID(&actual)); EXPECT_EQ(actual, client_id); @@ -161,8 +161,8 @@ << ErrnoMessage("unlink"); #endif - Settings local_settings(settings_path()); - EXPECT_TRUE(local_settings.Initialize()); + Settings local_settings; + EXPECT_TRUE(local_settings.Initialize(settings_path())); UUID new_client_id; EXPECT_TRUE(local_settings.GetClientID(&new_client_id)); EXPECT_NE(new_client_id, client_id);
diff --git a/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc b/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc index 6f85e85..5fdeb5b 100644 --- a/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc +++ b/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc
@@ -253,21 +253,30 @@ #if DCHECK_IS_ON() -TEST(SimpleStringDictionaryDeathTest, NullKey) { +TEST(SimpleStringDictionaryDeathTest, SetKeyValueWithNullKey) { TSimpleStringDictionary<4, 6, 6> map; ASSERT_DEATH_CHECK(map.SetKeyValue(nullptr, "hello"), "key"); +} +TEST(SimpleStringDictionaryDeathTest, GetValueForKeyWithNullKey) { + TSimpleStringDictionary<4, 6, 6> map; map.SetKeyValue("hi", "there"); ASSERT_DEATH_CHECK(map.GetValueForKey(nullptr), "key"); EXPECT_STREQ("there", map.GetValueForKey("hi")); - - ASSERT_DEATH_CHECK(map.GetValueForKey(nullptr), "key"); - map.RemoveKey("hi"); - EXPECT_EQ(map.GetCount(), 0u); } #endif +// The tests above, without DEATH_CHECK assertions. +TEST(SimpleStringDictionaryDeathTest, GetValueForKeyWithoutNullKey) { + TSimpleStringDictionary<4, 6, 6> map; + + map.SetKeyValue("hi", "there"); + EXPECT_STREQ("there", map.GetValueForKey("hi")); + map.RemoveKey("hi"); + EXPECT_EQ(map.GetCount(), 0u); +} + } // namespace } // namespace test } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/client/simulate_crash.h b/third_party/crashpad/crashpad/client/simulate_crash.h index 299fe97..63e09a1 100644 --- a/third_party/crashpad/crashpad/client/simulate_crash.h +++ b/third_party/crashpad/crashpad/client/simulate_crash.h
@@ -21,6 +21,8 @@ #include "client/simulate_crash_mac.h" #elif defined(OS_WIN) #include "client/simulate_crash_win.h" +#elif defined(OS_LINUX) || defined(OS_ANDROID) +#include "client/simulate_crash_linux.h" #endif #endif // CRASHPAD_CLIENT_SIMULATE_CRASH_H_
diff --git a/third_party/crashpad/crashpad/client/simulate_crash_linux.h b/third_party/crashpad/crashpad/client/simulate_crash_linux.h new file mode 100644 index 0000000..e6c3e487 --- /dev/null +++ b/third_party/crashpad/crashpad/client/simulate_crash_linux.h
@@ -0,0 +1,31 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_CLIENT_SIMULATE_CRASH_LINUX_H_ +#define CRASHPAD_CLIENT_SIMULATE_CRASH_LINUX_H_ + +#include "client/crashpad_client.h" +#include "util/misc/capture_context.h" + +//! \file + +//! \brief Captures the CPU context and simulates an exception without crashing. +#define CRASHPAD_SIMULATE_CRASH() \ + do { \ + crashpad::NativeCPUContext simulate_crash_cpu_context; \ + crashpad::CaptureContext(&simulate_crash_cpu_context); \ + crashpad::CrashpadClient::DumpWithoutCrash(&simulate_crash_cpu_context); \ + } while (false) + +#endif // CRASHPAD_CLIENT_SIMULATE_CRASH_LINUX_H_
diff --git a/third_party/crashpad/crashpad/client/simulate_crash_mac.h b/third_party/crashpad/crashpad/client/simulate_crash_mac.h index e14db3c..dcbcaae 100644 --- a/third_party/crashpad/crashpad/client/simulate_crash_mac.h +++ b/third_party/crashpad/crashpad/client/simulate_crash_mac.h
@@ -17,7 +17,7 @@ #include <mach/mach.h> -#include "client/capture_context_mac.h" +#include "util/misc/capture_context.h" //! \file
diff --git a/third_party/crashpad/crashpad/client/simulate_crash_win.h b/third_party/crashpad/crashpad/client/simulate_crash_win.h index a20f3da..140424f 100644 --- a/third_party/crashpad/crashpad/client/simulate_crash_win.h +++ b/third_party/crashpad/crashpad/client/simulate_crash_win.h
@@ -18,16 +18,17 @@ #include <windows.h> #include "client/crashpad_client.h" -#include "util/win/capture_context.h" +#include "util/misc/capture_context.h" //! \file //! \brief Captures the CPU context and captures a dump without an exception. -#define CRASHPAD_SIMULATE_CRASH() \ - do { \ - CONTEXT context; \ - crashpad::CaptureContext(&context); \ - crashpad::CrashpadClient::DumpWithoutCrash(context); \ +#define CRASHPAD_SIMULATE_CRASH() \ + do { \ + /* Not "context" to avoid variable shadowing warnings. */ \ + CONTEXT simulate_crash_cpu_context; \ + crashpad::CaptureContext(&simulate_crash_cpu_context); \ + crashpad::CrashpadClient::DumpWithoutCrash(simulate_crash_cpu_context); \ } while (false) #endif // CRASHPAD_CLIENT_SIMULATE_CRASH_WIN_H_
diff --git a/third_party/crashpad/crashpad/handler/BUILD.gn b/third_party/crashpad/crashpad/handler/BUILD.gn index 9c337697..b3370fc 100644 --- a/third_party/crashpad/crashpad/handler/BUILD.gn +++ b/third_party/crashpad/crashpad/handler/BUILD.gn
@@ -18,6 +18,8 @@ sources = [ "crash_report_upload_thread.cc", "crash_report_upload_thread.h", + "handler_main.cc", + "handler_main.h", "minidump_to_upload_parameters.cc", "minidump_to_upload_parameters.h", "prune_crash_reports_thread.cc", @@ -39,14 +41,11 @@ if (crashpad_is_linux || crashpad_is_android) { sources += [ + "linux/crash_report_exception_handler.cc", + "linux/crash_report_exception_handler.h", "linux/exception_handler_server.cc", "linux/exception_handler_server.h", ] - } else { - sources += [ - "handler_main.cc", - "handler_main.h", - ] } if (crashpad_is_win) { @@ -147,8 +146,15 @@ } if (crashpad_is_win) { - configs -= [ "//build/config/win:console" ] - configs += [ "//build/config/win:windowed" ] + if (crashpad_is_in_chromium) { + configs -= [ "//build/config/win:console" ] + configs += [ "//build/config/win:windowed" ] + } else { + configs -= + [ "//third_party/mini_chromium/mini_chromium/build:win_console" ] + configs += + [ "//third_party/mini_chromium/mini_chromium/build:win_windowed" ] + } } } @@ -199,4 +205,108 @@ "$root_out_dir/crashpad_handler.com", ] } + + executable("crash_other_program") { + testonly = true + + sources = [ + "win/crash_other_program.cc", + ] + + deps = [ + "../client", + "../test", + "../third_party/gtest:gtest", + "../third_party/mini_chromium:base", + ] + } + + executable("crashy_program") { + testonly = true + + sources = [ + "win/crashy_test_program.cc", + ] + + deps = [ + "../client", + "../third_party/mini_chromium:base", + ] + } + + executable("crashy_signal") { + testonly = true + + sources = [ + "win/crashy_signal.cc", + ] + + cflags = [ "/wd4702" ] # Unreachable code. + + deps = [ + "../client", + "../third_party/mini_chromium:base", + ] + } + + executable("fake_handler_that_crashes_at_startup") { + testonly = true + + sources = [ + "win/fake_handler_that_crashes_at_startup.cc", + ] + } + + executable("hanging_program") { + testonly = true + + sources = [ + "win/hanging_program.cc", + ] + + deps = [ + "../client", + "../third_party/mini_chromium:base", + ] + } + + loadable_module("loader_lock_dll") { + testonly = true + + sources = [ + "win/loader_lock_dll.cc", + ] + } + + executable("self_destroying_program") { + testonly = true + + sources = [ + "win/self_destroying_test_program.cc", + ] + + deps = [ + "../client", + "../compat", + "../snapshot", + "../third_party/mini_chromium:base", + ] + } + + if (current_cpu == "x86") { + # Cannot create an x64 DLL with embedded debug info. + executable("crashy_z7_loader") { + testonly = true + + sources = [ + "win/crashy_test_z7_loader.cc", + ] + + deps = [ + "../client", + "../test", + "../third_party/mini_chromium:base", + ] + } + } }
diff --git a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc index 7505524..715c533 100644 --- a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc +++ b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
@@ -45,44 +45,6 @@ namespace crashpad { -namespace { - -// Calls CrashReportDatabase::RecordUploadAttempt() with |successful| set to -// false upon destruction unless disarmed by calling Fire() or Disarm(). Fire() -// triggers an immediate call. Armed upon construction. -class CallRecordUploadAttempt { - public: - CallRecordUploadAttempt(CrashReportDatabase* database, - const CrashReportDatabase::Report* report) - : database_(database), - report_(report) { - } - - ~CallRecordUploadAttempt() { - Fire(); - } - - void Fire() { - if (report_) { - database_->RecordUploadAttempt(report_, false, std::string()); - } - - Disarm(); - } - - void Disarm() { - report_ = nullptr; - } - - private: - CrashReportDatabase* database_; // weak - const CrashReportDatabase::Report* report_; // weak - - DISALLOW_COPY_AND_ASSIGN(CallRecordUploadAttempt); -}; - -} // namespace - CrashReportUploadThread::CrashReportUploadThread(CrashReportDatabase* database, const std::string& url, const Options& options) @@ -96,11 +58,18 @@ : WorkerThread::kIndefiniteWait, this), known_pending_report_uuids_(), - database_(database) {} + database_(database) { + DCHECK(!url_.empty()); +} CrashReportUploadThread::~CrashReportUploadThread() { } +void CrashReportUploadThread::ReportPending(const UUID& report_uuid) { + known_pending_report_uuids_.PushBack(report_uuid); + thread_.DoWorkNow(); +} + void CrashReportUploadThread::Start() { thread_.Start( options_.watch_pending_reports ? 0.0 : WorkerThread::kIndefiniteWait); @@ -110,11 +79,6 @@ thread_.Stop(); } -void CrashReportUploadThread::ReportPending(const UUID& report_uuid) { - known_pending_report_uuids_.PushBack(report_uuid); - thread_.DoWorkNow(); -} - void CrashReportUploadThread::ProcessPendingReports() { std::vector<UUID> known_report_uuids = known_pending_report_uuids_.Drain(); for (const UUID& report_uuid : known_report_uuids) { @@ -178,9 +142,8 @@ Settings* const settings = database_->GetSettings(); bool uploads_enabled; - if (url_.empty() || - (!report.upload_explicitly_requested && - (!settings->GetUploadsEnabled(&uploads_enabled) || !uploads_enabled))) { + if (!report.upload_explicitly_requested && + (!settings->GetUploadsEnabled(&uploads_enabled) || !uploads_enabled)) { // Don’t attempt an upload if there’s no URL to upload to. Allow upload if // it has been explicitly requested by the user, otherwise, respect the // upload-enabled state stored in the database’s settings. @@ -229,7 +192,7 @@ } } - const CrashReportDatabase::Report* upload_report; + std::unique_ptr<const CrashReportDatabase::UploadReport> upload_report; CrashReportDatabase::OperationStatus status = database_->GetReportForUploading(report.uuid, &upload_report); switch (status) { @@ -256,18 +219,16 @@ return; } - CallRecordUploadAttempt call_record_upload_attempt(database_, upload_report); - std::string response_body; - UploadResult upload_result = UploadReport(upload_report, &response_body); + UploadResult upload_result = + UploadReport(upload_report.get(), &response_body); switch (upload_result) { case UploadResult::kSuccess: - call_record_upload_attempt.Disarm(); - database_->RecordUploadAttempt(upload_report, true, response_body); + database_->RecordUploadComplete(std::move(upload_report), response_body); break; case UploadResult::kPermanentFailure: case UploadResult::kRetry: - call_record_upload_attempt.Fire(); + upload_report.reset(); // TODO(mark): Deal with retries properly: don’t call SkipReportUplaod() // if the result was kRetry and the report hasn’t already been retried @@ -279,17 +240,18 @@ } CrashReportUploadThread::UploadResult CrashReportUploadThread::UploadReport( - const CrashReportDatabase::Report* report, + const CrashReportDatabase::UploadReport* report, std::string* response_body) { +#if defined(OS_ANDROID) + // TODO(jperaza): This method can be enabled on Android after HTTPTransport is + // implemented and Crashpad takes over upload responsibilty on Android. + NOTREACHED(); + return UploadResult::kPermanentFailure; +#else std::map<std::string, std::string> parameters; - FileReader minidump_file_reader; - if (!minidump_file_reader.Open(report->file_path)) { - // If the minidump file can’t be opened, all hope is lost. - return UploadResult::kPermanentFailure; - } - - FileOffset start_offset = minidump_file_reader.SeekGet(); + FileReader* reader = report->Reader(); + FileOffset start_offset = reader->SeekGet(); if (start_offset < 0) { return UploadResult::kPermanentFailure; } @@ -299,12 +261,12 @@ // parameters, but as long as there’s a dump file, the server can decide what // to do with it. ProcessSnapshotMinidump minidump_process_snapshot; - if (minidump_process_snapshot.Initialize(&minidump_file_reader)) { + if (minidump_process_snapshot.Initialize(reader)) { parameters = BreakpadHTTPFormParametersFromMinidump(&minidump_process_snapshot); } - if (!minidump_file_reader.SeekSet(start_offset)) { + if (!reader->SeekSet(start_offset)) { return UploadResult::kPermanentFailure; } @@ -322,15 +284,10 @@ } } - http_multipart_builder.SetFileAttachment( - kMinidumpKey, -#if defined(OS_WIN) - base::UTF16ToUTF8(report->file_path.BaseName().value()), -#else - report->file_path.BaseName().value(), -#endif - &minidump_file_reader, - "application/octet-stream"); + http_multipart_builder.SetFileAttachment(kMinidumpKey, + report->uuid.ToString() + ".dmp", + reader, + "application/octet-stream"); std::unique_ptr<HTTPTransport> http_transport(HTTPTransport::Create()); HTTPHeaders content_headers; @@ -372,6 +329,7 @@ } return UploadResult::kSuccess; +#endif // OS_ANDROID } void CrashReportUploadThread::DoWork(const WorkerThread* thread) {
diff --git a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h index cdd1502..2ec1147d 100644 --- a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h +++ b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
@@ -22,6 +22,7 @@ #include "client/crash_report_database.h" #include "util/misc/uuid.h" #include "util/stdlib/thread_safe_vector.h" +#include "util/thread/stoppable.h" #include "util/thread/worker_thread.h" namespace crashpad { @@ -39,7 +40,8 @@ //! It also catches reports that are added without a ReportPending() signal //! being caught. This may happen if crash reports are added to the database by //! other processes. -class CrashReportUploadThread : public WorkerThread::Delegate { +class CrashReportUploadThread : public WorkerThread::Delegate, + public Stoppable { public: //! \brief Options to be passed to the CrashReportUploadThread constructor. struct Options { @@ -70,11 +72,22 @@ const Options& options); ~CrashReportUploadThread(); + //! \brief Informs the upload thread that a new pending report has been added + //! to the database. + //! + //! \param[in] report_uuid The unique identifier of the newly added pending + //! report. + //! + //! This method may be called from any thread. + void ReportPending(const UUID& report_uuid); + + // Stoppable: + //! \brief Starts a dedicated upload thread, which executes ThreadMain(). //! //! This method may only be be called on a newly-constructed object or after //! a call to Stop(). - void Start(); + void Start() override; //! \brief Stops the upload thread. //! @@ -88,16 +101,7 @@ //! //! This method may be called from any thread other than the upload thread. //! It is expected to only be called from the same thread that called Start(). - void Stop(); - - //! \brief Informs the upload thread that a new pending report has been added - //! to the database. - //! - //! \param[in] report_uuid The unique identifier of the newly added pending - //! report. - //! - //! This method may be called from any thread. - void ReportPending(const UUID& report_uuid); + void Stop() override; private: //! \brief The result code from UploadReport(). @@ -148,14 +152,14 @@ //! \param[in] report The report to upload. The caller is responsible for //! calling CrashReportDatabase::GetReportForUploading() before calling //! this method, and for calling - //! CrashReportDatabase::RecordUploadAttempt() after calling this method. + //! CrashReportDatabase::RecordUploadComplete() after calling this method. //! \param[out] response_body If the upload attempt is successful, this will //! be set to the response body sent by the server. Breakpad-type servers //! provide the crash ID assigned by the server in the response body. //! //! \return A member of UploadResult indicating the result of the upload //! attempt. - UploadResult UploadReport(const CrashReportDatabase::Report* report, + UploadResult UploadReport(const CrashReportDatabase::UploadReport* report, std::string* response_body); // WorkerThread::Delegate:
diff --git a/third_party/crashpad/crashpad/handler/crashpad_handler.md b/third_party/crashpad/crashpad/handler/crashpad_handler.md index 5eff39a..003ee2e 100644 --- a/third_party/crashpad/crashpad/handler/crashpad_handler.md +++ b/third_party/crashpad/crashpad/handler/crashpad_handler.md
@@ -73,6 +73,13 @@ stdio will be hooked up as expected to the parent console so that logging output will be visible. +On Linux/Android, the handler may create a crash dump for its parent process +using **--trace-parent-with-exception**. In this mode, the handler process +creates a crash dump for its parent and exits. Alternatively, the handler may +be launched with **--initial-client-fd** which will start the server connected +to an initial client. The server will exit when all connected client sockets are +closed. + It is not normally appropriate to invoke this program directly. Usually, it will be invoked by a Crashpad client using the Crashpad client library, or started by another system service. On macOS, arbitrary programs may be run with a Crashpad @@ -238,6 +245,18 @@ parent process. This option is only valid on macOS. Use of this option is discouraged. It should not be used absent extraordinary circumstances. + * **--trace-parent-with-exception**=_EXCEPTION-INFORMATION-ADDRESS_ + + Causes the handler process to trace its parent process and exit. The parent + process should have an ExceptionInformation struct at + _EXCEPTION-INFORMATION-ADDRESS_. + + * **--initial-client-fd**=_FD_ + + Starts the excetion handler server with an initial ExceptionHandlerClient + connected on the socket _FD_. The server will exit when all connected client + sockets have been closed. + * **--url**=_URL_ If uploads are enabled, sends crash reports to the Breakpad-type crash report
diff --git a/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc b/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc index 65fed90f..79076b8 100644 --- a/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc +++ b/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc
@@ -28,7 +28,7 @@ #include "test/test_paths.h" #include "test/win/win_multiprocess_with_temp_dir.h" #include "util/file/file_reader.h" -#include "util/win/capture_context.h" +#include "util/misc/capture_context.h" namespace crashpad { namespace test {
diff --git a/third_party/crashpad/crashpad/handler/handler.gyp b/third_party/crashpad/crashpad/handler/handler.gyp index 8263dfd..60a6f251 100644 --- a/third_party/crashpad/crashpad/handler/handler.gyp +++ b/third_party/crashpad/crashpad/handler/handler.gyp
@@ -39,6 +39,8 @@ 'crash_report_upload_thread.h', 'handler_main.cc', 'handler_main.h', + 'linux/crash_report_exception_handler.cc', + 'linux/crash_report_exception_handler.h', 'linux/exception_handler_server.cc', 'linux/exception_handler_server.h', 'mac/crash_report_exception_handler.cc', @@ -56,13 +58,6 @@ 'win/crash_report_exception_handler.cc', 'win/crash_report_exception_handler.h', ], - 'conditions': [ - ['OS=="linux" or OS=="android"', { - 'sources!': [ - 'handler_main.cc', - ], - }], - ], 'target_conditions': [ ['OS=="android"', { 'sources/': [
diff --git a/third_party/crashpad/crashpad/handler/handler_main.cc b/third_party/crashpad/crashpad/handler/handler_main.cc index f175fddf..dd7adf6 100644 --- a/third_party/crashpad/crashpad/handler/handler_main.cc +++ b/third_party/crashpad/crashpad/handler/handler_main.cc
@@ -34,6 +34,7 @@ #include "base/logging.h" #include "base/metrics/persistent_histogram_allocator.h" #include "base/scoped_generic.h" +#include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" @@ -46,6 +47,7 @@ #include "handler/prune_crash_reports_thread.h" #include "tools/tool_support.h" #include "util/file/file_io.h" +#include "util/misc/address_types.h" #include "util/misc/metrics.h" #include "util/misc/paths.h" #include "util/numeric/in_range_cast.h" @@ -54,7 +56,13 @@ #include "util/string/split_string.h" #include "util/synchronization/semaphore.h" -#if defined(OS_MACOSX) +#if defined(OS_LINUX) || defined(OS_ANDROID) +#include <unistd.h> + +#include "handler/linux/crash_report_exception_handler.h" +#include "handler/linux/exception_handler_server.h" +#include "util/posix/signals.h" +#elif defined(OS_MACOSX) #include <libgen.h> #include <signal.h> @@ -77,6 +85,9 @@ #elif defined(OS_FUCHSIA) #include "handler/fuchsia/crash_report_exception_handler.h" #include "handler/fuchsia/exception_handler_server.h" +#elif defined(OS_LINUX) +#include "handler/linux/crash_report_exception_handler.h" +#include "handler/linux/exception_handler_server.h" #endif // OS_MACOSX namespace crashpad { @@ -126,6 +137,11 @@ " --reset-own-crash-exception-port-to-system-default\n" " reset the server's exception handler to default\n" #endif // OS_MACOSX +#if defined(OS_LINUX) || defined(OS_ANDROID) +" --trace-parent-with-exception=EXCEPTION_INFORMATION_ADDRESS\n" +" request a dump for the handler's parent process\n" +" --initial-client-fd=FD a socket connected to a client.\n" +#endif // OS_LINUX || OS_ANDROID " --url=URL send crash reports to this Breakpad server URL,\n" " only if uploads are enabled for the database\n" " --help display this help and exit\n" @@ -145,6 +161,9 @@ std::string mach_service; int handshake_fd; bool reset_own_crash_exception_port_to_system_default; +#elif defined(OS_LINUX) || defined(OS_ANDROID) + VMAddress exception_information_address; + int initial_client_fd; #elif defined(OS_WIN) std::string pipe_name; InitialClientData initial_client_data; @@ -211,7 +230,9 @@ DISALLOW_COPY_AND_ASSIGN(CallMetricsRecordNormalExit); }; -#if defined(OS_MACOSX) +#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_ANDROID) + +Signals::OldActions g_old_crash_signal_handlers; void HandleCrashSignal(int sig, siginfo_t* siginfo, void* context) { MetricsRecordExit(Metrics::LifetimeMilestone::kCrashed); @@ -247,7 +268,9 @@ } Metrics::HandlerCrashed(metrics_code); - Signals::RestoreHandlerAndReraiseSignalOnReturn(siginfo, nullptr); + struct sigaction* old_action = + g_old_crash_signal_handlers.ActionForSignal(sig); + Signals::RestoreHandlerAndReraiseSignalOnReturn(siginfo, old_action); } void HandleTerminateSignal(int sig, siginfo_t* siginfo, void* context) { @@ -255,6 +278,8 @@ Signals::RestoreHandlerAndReraiseSignalOnReturn(siginfo, nullptr); } +#if defined(OS_MACOSX) + void ReinstallCrashHandler() { // This is used to re-enable the metrics-recording crash handler after // MonitorSelf() sets up a Crashpad exception handler. On macOS, the @@ -293,6 +318,23 @@ g_exception_handler_server->Stop(); } +#else + +void ReinstallCrashHandler() { + // This is used to re-enable the metrics-recording crash handler after + // MonitorSelf() sets up a Crashpad signal handler. + Signals::InstallCrashHandlers( + HandleCrashSignal, 0, &g_old_crash_signal_handlers); +} + +void InstallCrashHandler() { + ReinstallCrashHandler(); + + Signals::InstallTerminateHandlers(HandleTerminateSignal, 0, nullptr); +} + +#endif // OS_MACOSX + #elif defined(OS_WIN) LONG(WINAPI* g_original_exception_filter)(EXCEPTION_POINTERS*) = nullptr; @@ -348,14 +390,18 @@ ALLOW_UNUSED_LOCAL(terminate_handler); } -#elif defined(OS_FUCHSIA) +#elif defined(OS_FUCHSIA) || defined(OS_LINUX) void InstallCrashHandler() { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 + // TODO(scottmg): Fuchsia: https://crashpad.chromium.org/bug/196 + // TODO(jperaza): Linux: https://crashpad.chromium.org/bug/30 + NOTREACHED(); } void ReinstallCrashHandler() { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 + // TODO(scottmg): Fuchsia: https://crashpad.chromium.org/bug/196 + // TODO(jperaza): Linux: https://crashpad.chromium.org/bug/30 + NOTREACHED(); } #endif // OS_MACOSX @@ -394,6 +440,16 @@ // instance of crashpad_handler to be writing metrics at a time, and it should // be the primary instance. CrashpadClient crashpad_client; +#if defined(OS_LINUX) || defined(OS_ANDROID) + if (!crashpad_client.StartHandlerAtCrash(executable_path, + options.database, + base::FilePath(), + options.url, + options.annotations, + extra_arguments)) { + return; + } +#else if (!crashpad_client.StartHandler(executable_path, options.database, base::FilePath(), @@ -404,12 +460,33 @@ false)) { return; } +#endif // Make sure that appropriate metrics will be recorded on crash before this // process is terminated. ReinstallCrashHandler(); } +class ScopedStoppable { + public: + ScopedStoppable() = default; + + ~ScopedStoppable() { + if (stoppable_) { + stoppable_->Stop(); + } + } + + void Reset(Stoppable* stoppable) { stoppable_.reset(stoppable); } + + Stoppable* Get() { return stoppable_.get(); } + + private: + std::unique_ptr<Stoppable> stoppable_; + + DISALLOW_COPY_AND_ASSIGN(ScopedStoppable); +}; + } // namespace int HandlerMain(int argc, @@ -450,6 +527,10 @@ #if defined(OS_MACOSX) kOptionResetOwnCrashExceptionPortToSystemDefault, #endif // OS_MACOSX +#if defined(OS_LINUX) || defined(OS_ANDROID) + kOptionTraceParentWithException, + kOptionInitialClientFD, +#endif kOptionURL, // Standard options. @@ -498,6 +579,13 @@ nullptr, kOptionResetOwnCrashExceptionPortToSystemDefault}, #endif // OS_MACOSX +#if defined(OS_LINUX) || defined(OS_ANDROID) + {"trace-parent-with-exception", + required_argument, + nullptr, + kOptionTraceParentWithException}, + {"initial-client-fd", required_argument, nullptr, kOptionInitialClientFD}, +#endif // OS_LINUX || OS_ANDROID {"url", required_argument, nullptr, kOptionURL}, {"help", no_argument, nullptr, kOptionHelp}, {"version", no_argument, nullptr, kOptionVersion}, @@ -512,6 +600,10 @@ options.periodic_tasks = true; options.rate_limit = true; options.upload_gzip = true; +#if defined(OS_LINUX) || defined(OS_ANDROID) + options.exception_information_address = 0; + options.initial_client_fd = kInvalidFileHandle; +#endif int opt; while ((opt = getopt_long(argc, argv, "", long_options, nullptr)) != -1) { @@ -601,6 +693,23 @@ break; } #endif // OS_MACOSX +#if defined(OS_LINUX) || defined(OS_ANDROID) + case kOptionTraceParentWithException: { + if (!StringToNumber(optarg, &options.exception_information_address)) { + ToolSupport::UsageHint( + me, "failed to parse --trace-parent-with-exception"); + return ExitFailure(); + } + break; + } + case kOptionInitialClientFD: { + if (!base::StringToInt(optarg, &options.initial_client_fd)) { + ToolSupport::UsageHint(me, "failed to parse --initial-client-fd"); + return ExitFailure(); + } + break; + } +#endif // OS_LINUX || OS_ANDROID case kOptionURL: { options.url = optarg; break; @@ -645,6 +754,14 @@ me, "--initial-client-data and --pipe-name are incompatible"); return ExitFailure(); } +#elif defined(OS_LINUX) || defined(OS_ANDROID) + if (!options.exception_information_address && + options.initial_client_fd == kInvalidFileHandle) { + ToolSupport::UsageHint( + me, + "--exception_information_address or --initial_client_fd is required"); + return ExitFailure(); + } #endif // OS_MACOSX if (options.database.empty()) { @@ -687,6 +804,50 @@ } } + std::unique_ptr<CrashReportDatabase> database( + CrashReportDatabase::Initialize(options.database)); + if (!database) { + return ExitFailure(); + } + + ScopedStoppable upload_thread; + if (!options.url.empty()) { + // TODO(scottmg): options.rate_limit should be removed when we have a + // configurable database setting to control upload limiting. + // See https://crashpad.chromium.org/bug/23. + CrashReportUploadThread::Options upload_thread_options; + upload_thread_options.identify_client_via_url = + options.identify_client_via_url; + upload_thread_options.rate_limit = options.rate_limit; + upload_thread_options.upload_gzip = options.upload_gzip; + upload_thread_options.watch_pending_reports = options.periodic_tasks; + + upload_thread.Reset(new CrashReportUploadThread( + database.get(), options.url, upload_thread_options)); + upload_thread.Get()->Start(); + } + + CrashReportExceptionHandler exception_handler( + database.get(), + static_cast<CrashReportUploadThread*>(upload_thread.Get()), + &options.annotations, + user_stream_sources); + + #if defined(OS_LINUX) || defined(OS_ANDROID) + if (options.exception_information_address) { + return exception_handler.HandleException(getppid(), + options.exception_information_address) ? + EXIT_SUCCESS : ExitFailure(); + } +#endif // OS_LINUX || OS_ANDROID + + ScopedStoppable prune_thread; + if (options.periodic_tasks) { + prune_thread.Reset(new PruneCrashReportThread( + database.get(), PruneCondition::GetDefault())); + prune_thread.Get()->Start(); + } + #if defined(OS_MACOSX) if (options.mach_service.empty()) { // Don’t do this when being run by launchd. See launchd.plist(5). @@ -740,7 +901,7 @@ if (!options.pipe_name.empty()) { exception_handler_server.SetPipeName(base::UTF8ToUTF16(options.pipe_name)); } -#elif defined(OS_FUCHSIA) +#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ExceptionHandlerServer exception_handler_server; #endif // OS_MACOSX @@ -757,52 +918,21 @@ Metrics::HandlerLifetimeMilestone(Metrics::LifetimeMilestone::kStarted); - std::unique_ptr<CrashReportDatabase> database( - CrashReportDatabase::Initialize(options.database)); - if (!database) { - return ExitFailure(); - } - - // TODO(scottmg): options.rate_limit should be removed when we have a - // configurable database setting to control upload limiting. - // See https://crashpad.chromium.org/bug/23. - CrashReportUploadThread::Options upload_thread_options; - upload_thread_options.identify_client_via_url = - options.identify_client_via_url; - upload_thread_options.rate_limit = options.rate_limit; - upload_thread_options.upload_gzip = options.upload_gzip; - upload_thread_options.watch_pending_reports = options.periodic_tasks; - CrashReportUploadThread upload_thread(database.get(), - options.url, - upload_thread_options); - upload_thread.Start(); - - std::unique_ptr<PruneCrashReportThread> prune_thread; - if (options.periodic_tasks) { - prune_thread.reset(new PruneCrashReportThread( - database.get(), PruneCondition::GetDefault())); - prune_thread->Start(); - } - - CrashReportExceptionHandler exception_handler(database.get(), - &upload_thread, - &options.annotations, - user_stream_sources); - #if defined(OS_WIN) if (options.initial_client_data.IsValid()) { exception_handler_server.InitializeWithInheritedDataForInitialClient( options.initial_client_data, &exception_handler); } +#elif defined(OS_LINUX) || defined(OS_ANDROID) + if (options.initial_client_fd == kInvalidFileHandle || + !exception_handler_server.InitializeWithClient( + ScopedFileHandle(options.initial_client_fd))) { + return ExitFailure(); + } #endif // OS_WIN exception_handler_server.Run(&exception_handler); - upload_thread.Stop(); - if (prune_thread) { - prune_thread->Stop(); - } - return EXIT_SUCCESS; }
diff --git a/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.cc b/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.cc new file mode 100644 index 0000000..3aa46981 --- /dev/null +++ b/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.cc
@@ -0,0 +1,153 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "handler/linux/crash_report_exception_handler.h" + +#include <vector> + +#include "base/logging.h" +#include "client/settings.h" +#include "minidump/minidump_file_writer.h" +#include "snapshot/crashpad_info_client_options.h" +#include "snapshot/linux/process_snapshot_linux.h" +#include "util/linux/direct_ptrace_connection.h" +#include "util/linux/ptrace_client.h" +#include "util/misc/metrics.h" +#include "util/misc/tri_state.h" +#include "util/misc/uuid.h" + +namespace crashpad { + +CrashReportExceptionHandler::CrashReportExceptionHandler( + CrashReportDatabase* database, + CrashReportUploadThread* upload_thread, + const std::map<std::string, std::string>* process_annotations, + const UserStreamDataSources* user_stream_data_sources) + : database_(database), + upload_thread_(upload_thread), + process_annotations_(process_annotations), + user_stream_data_sources_(user_stream_data_sources) {} + +CrashReportExceptionHandler::~CrashReportExceptionHandler() = default; + +bool CrashReportExceptionHandler::HandleException( + pid_t client_process_id, + VMAddress exception_info_address) { + Metrics::ExceptionEncountered(); + + DirectPtraceConnection connection; + if (!connection.Initialize(client_process_id)) { + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kDirectPtraceFailed); + return false; + } + + return HandleExceptionWithConnection(&connection, exception_info_address); +} + +bool CrashReportExceptionHandler::HandleExceptionWithBroker( + pid_t client_process_id, + VMAddress exception_info_address, + int broker_sock) { + Metrics::ExceptionEncountered(); + + PtraceClient client; + if (client.Initialize(broker_sock, client_process_id)) { + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kBrokeredPtraceFailed); + return false; + } + + return HandleExceptionWithConnection(&client, exception_info_address); +} + +bool CrashReportExceptionHandler::HandleExceptionWithConnection( + PtraceConnection* connection, + VMAddress exception_info_address) { + ProcessSnapshotLinux process_snapshot; + if (!process_snapshot.Initialize(connection)) { + Metrics::ExceptionCaptureResult(Metrics::CaptureResult::kSnapshotFailed); + return false; + } + + if (!process_snapshot.InitializeException(exception_info_address)) { + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kExceptionInitializationFailed); + return false; + } + + Metrics::ExceptionCode(process_snapshot.Exception()->Exception()); + + CrashpadInfoClientOptions client_options; + process_snapshot.GetCrashpadOptions(&client_options); + if (client_options.crashpad_handler_behavior != TriState::kDisabled) { + UUID client_id; + Settings* const settings = database_->GetSettings(); + if (settings) { + // If GetSettings() or GetClientID() fails, something else will log a + // message and client_id will be left at its default value, all zeroes, + // which is appropriate. + settings->GetClientID(&client_id); + } + + process_snapshot.SetClientID(client_id); + process_snapshot.SetAnnotationsSimpleMap(*process_annotations_); + + std::unique_ptr<CrashReportDatabase::NewReport> new_report; + CrashReportDatabase::OperationStatus database_status = + database_->PrepareNewCrashReport(&new_report); + if (database_status != CrashReportDatabase::kNoError) { + LOG(ERROR) << "PrepareNewCrashReport failed"; + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kPrepareNewCrashReportFailed); + return false; + } + + process_snapshot.SetReportID(new_report->ReportID()); + + MinidumpFileWriter minidump; + minidump.InitializeFromSnapshot(&process_snapshot); + AddUserExtensionStreams( + user_stream_data_sources_, &process_snapshot, &minidump); + + if (!minidump.WriteEverything(new_report->Writer())) { + LOG(ERROR) << "WriteEverything failed"; + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kMinidumpWriteFailed); + return false; + } + + UUID uuid; + database_status = + database_->FinishedWritingCrashReport(std::move(new_report), &uuid); + if (database_status != CrashReportDatabase::kNoError) { + LOG(ERROR) << "FinishedWritingCrashReport failed"; + Metrics::ExceptionCaptureResult( + Metrics::CaptureResult::kFinishedWritingCrashReportFailed); + return false; + } + + if (upload_thread_) { + upload_thread_->ReportPending(uuid); + } else { + database_->SkipReportUpload( + uuid, Metrics::CrashSkippedReason::kUploadsDisabled); + } + } + + Metrics::ExceptionCaptureResult(Metrics::CaptureResult::kSuccess); + return true; +} + +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.h b/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.h new file mode 100644 index 0000000..ca14f81 --- /dev/null +++ b/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.h
@@ -0,0 +1,86 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_HANDLER_LINUX_CRASH_REPORT_EXCEPTION_HANDLER_H_ +#define CRASHPAD_HANDLER_LINUX_CRASH_REPORT_EXCEPTION_HANDLER_H_ + +#include <map> +#include <string> + +#include "base/macros.h" +#include "client/crash_report_database.h" +#include "handler/crash_report_upload_thread.h" +#include "handler/linux/exception_handler_server.h" +#include "handler/user_stream_data_source.h" +#include "util/linux/ptrace_connection.h" +#include "util/misc/address_types.h" + +namespace crashpad { + +//! \brief An exception handler that writes crash reports for exceptions +//! to a CrashReportDatabase. +class CrashReportExceptionHandler : public ExceptionHandlerServer::Delegate { + public: + //! \brief Creates a new object that will store crash reports in \a database. + //! + //! \param[in] database The database to store crash reports in. Weak. + //! \param[in] upload_thread The upload thread to notify when a new crash + //! report is written into \a database. Report upload is skipped if this + //! value is `nullptr`. + //! \param[in] process_annotations A map of annotations to insert as + //! process-level annotations into each crash report that is written. Do + //! not confuse this with module-level annotations, which are under the + //! control of the crashing process, and are used to implement Chrome’s + //! “crash keys.” Process-level annotations are those that are beyond the + //! control of the crashing process, which must reliably be set even if + //! the process crashes before it’s able to establish its own annotations. + //! To interoperate with Breakpad servers, the recommended practice is to + //! specify values for the `"prod"` and `"ver"` keys as process + //! annotations. + //! \param[in] user_stream_data_sources Data sources to be used to extend + //! crash reports. For each crash report that is written, the data sources + //! are called in turn. These data sources may contribute additional + //! minidump streams. `nullptr` if not required. + CrashReportExceptionHandler( + CrashReportDatabase* database, + CrashReportUploadThread* upload_thread, + const std::map<std::string, std::string>* process_annotations, + const UserStreamDataSources* user_stream_data_sources); + + ~CrashReportExceptionHandler(); + + // ExceptionHandlerServer::Delegate: + + bool HandleException(pid_t client_process_id, + VMAddress exception_info_address) override; + + bool HandleExceptionWithBroker(pid_t client_process_id, + VMAddress exception_info_address, + int broker_sock) override; + + private: + bool HandleExceptionWithConnection(PtraceConnection* connection, + VMAddress exception_info_address); + + CrashReportDatabase* database_; // weak + CrashReportUploadThread* upload_thread_; // weak + const std::map<std::string, std::string>* process_annotations_; // weak + const UserStreamDataSources* user_stream_data_sources_; // weak + + DISALLOW_COPY_AND_ASSIGN(CrashReportExceptionHandler); +}; + +} // namespace crashpad + +#endif // CRASHPAD_HANDLER_LINUX_CRASH_REPORT_EXCEPTION_HANDLER_H_
diff --git a/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc b/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc index fb6c21a9..5b0c8ce 100644 --- a/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc +++ b/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc
@@ -20,11 +20,11 @@ #include "base/logging.h" #include "gtest/gtest.h" #include "test/errors.h" -#include "test/linux/scoped_pr_set_ptracer.h" #include "test/multiprocess.h" #include "util/linux/direct_ptrace_connection.h" #include "util/linux/exception_handler_client.h" #include "util/linux/ptrace_client.h" +#include "util/linux/scoped_pr_set_ptracer.h" #include "util/synchronization/semaphore.h" #include "util/thread/thread.h" @@ -205,7 +205,7 @@ // If the current ptrace_scope is restricted, the broker needs to be set // as the ptracer for this process. Setting this process as its own // ptracer allows the broker to inherit this condition. - ScopedPrSetPtracer set_ptracer(getpid()); + ScopedPrSetPtracer set_ptracer(getpid(), /* may_log= */ true); ExceptionHandlerClient client(server_test_->SockToHandler()); ASSERT_EQ(client.RequestCrashDump(info), 0);
diff --git a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc index 6f9cdbe..edebf87 100644 --- a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc +++ b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
@@ -14,6 +14,7 @@ #include "handler/mac/crash_report_exception_handler.h" +#include <utility> #include <vector> #include "base/logging.h" @@ -155,7 +156,7 @@ process_snapshot.SetClientID(client_id); process_snapshot.SetAnnotationsSimpleMap(*process_annotations_); - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; CrashReportDatabase::OperationStatus database_status = database_->PrepareNewCrashReport(&new_report); if (database_status != CrashReportDatabase::kNoError) { @@ -164,35 +165,34 @@ return KERN_FAILURE; } - process_snapshot.SetReportID(new_report->uuid); - - CrashReportDatabase::CallErrorWritingCrashReport - call_error_writing_crash_report(database_, new_report); - - WeakFileHandleFileWriter file_writer(new_report->handle); + process_snapshot.SetReportID(new_report->ReportID()); MinidumpFileWriter minidump; minidump.InitializeFromSnapshot(&process_snapshot); AddUserExtensionStreams( user_stream_data_sources_, &process_snapshot, &minidump); - if (!minidump.WriteEverything(&file_writer)) { + if (!minidump.WriteEverything(new_report->Writer())) { Metrics::ExceptionCaptureResult( Metrics::CaptureResult::kMinidumpWriteFailed); return KERN_FAILURE; } - call_error_writing_crash_report.Disarm(); - UUID uuid; - database_status = database_->FinishedWritingCrashReport(new_report, &uuid); + database_status = + database_->FinishedWritingCrashReport(std::move(new_report), &uuid); if (database_status != CrashReportDatabase::kNoError) { Metrics::ExceptionCaptureResult( Metrics::CaptureResult::kFinishedWritingCrashReportFailed); return KERN_FAILURE; } - upload_thread_->ReportPending(uuid); + if (upload_thread_) { + upload_thread_->ReportPending(uuid); + } else { + database_->SkipReportUpload( + uuid, Metrics::CrashSkippedReason::kUploadsDisabled); + } } if (client_options.system_crash_reporter_forwarding != TriState::kDisabled &&
diff --git a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h index cc314f1..0b44de6 100644 --- a/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h +++ b/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
@@ -36,7 +36,8 @@ //! //! \param[in] database The database to store crash reports in. Weak. //! \param[in] upload_thread The upload thread to notify when a new crash - //! report is written into \a database. + //! report is written into \a database. Report upload is skipped if this + //! value is `nullptr`. //! \param[in] process_annotations A map of annotations to insert as //! process-level annotations into each crash report that is written. Do //! not confuse this with module-level annotations, which are under the
diff --git a/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc b/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc index 722275f5..7876c2fe 100644 --- a/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc +++ b/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc
@@ -38,6 +38,7 @@ } void PruneCrashReportThread::DoWork(const WorkerThread* thread) { + database_->CleanDatabase(60 * 60 * 24 * 3); PruneCrashReportDatabase(database_, condition_.get()); }
diff --git a/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h b/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h index 72b69fc..0fd365b0 100644 --- a/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h +++ b/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h
@@ -18,6 +18,7 @@ #include <memory> #include "base/macros.h" +#include "util/thread/stoppable.h" #include "util/thread/worker_thread.h" namespace crashpad { @@ -31,7 +32,7 @@ //! After the thread is started, the database is pruned using the condition //! every 24 hours. Upon calling Start(), the thread waits 10 minutes before //! performing the initial prune operation. -class PruneCrashReportThread : public WorkerThread::Delegate { +class PruneCrashReportThread : public WorkerThread::Delegate, public Stoppable { public: //! \brief Constructs a new object. //! @@ -42,6 +43,8 @@ std::unique_ptr<PruneCondition> condition); ~PruneCrashReportThread(); + // Stoppable: + //! \brief Starts a dedicated pruning thread. //! //! The thread waits before running the initial prune, so as to not interfere @@ -49,7 +52,7 @@ //! //! This method may only be be called on a newly-constructed object or after //! a call to Stop(). - void Start(); + void Start() override; //! \brief Stops the pruning thread. //! @@ -58,7 +61,7 @@ //! //! This method may be called from any thread other than the pruning thread. //! It is expected to only be called from the same thread that called Start(). - void Stop(); + void Stop() override; private: // WorkerThread::Delegate:
diff --git a/third_party/crashpad/crashpad/handler/win/crash_other_program.cc b/third_party/crashpad/crashpad/handler/win/crash_other_program.cc index 55c0699..bbd25af 100644 --- a/third_party/crashpad/crashpad/handler/win/crash_other_program.cc +++ b/third_party/crashpad/crashpad/handler/win/crash_other_program.cc
@@ -122,7 +122,7 @@ DWORD exit_code = child.WaitForExit(); if (exit_code != expect_exit_code) { LOG(ERROR) << base::StringPrintf( - "incorrect exit code, expected 0x%x, observed 0x%x", + "incorrect exit code, expected 0x%lx, observed 0x%lx", expect_exit_code, exit_code); return EXIT_FAILURE;
diff --git a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc index 0ab206c1..6d53d81 100644 --- a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc +++ b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
@@ -15,6 +15,7 @@ #include "handler/win/crash_report_exception_handler.h" #include <type_traits> +#include <utility> #include "client/crash_report_database.h" #include "client/settings.h" @@ -59,7 +60,6 @@ ProcessSuspensionState::kSuspended, exception_information_address, debug_critical_section_address)) { - LOG(WARNING) << "ProcessSnapshotWin::Initialize failed"; Metrics::ExceptionCaptureResult(Metrics::CaptureResult::kSnapshotFailed); return kTerminationCodeSnapshotFailed; } @@ -90,7 +90,7 @@ process_snapshot.SetClientID(client_id); process_snapshot.SetAnnotationsSimpleMap(*process_annotations_); - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; CrashReportDatabase::OperationStatus database_status = database_->PrepareNewCrashReport(&new_report); if (database_status != CrashReportDatabase::kNoError) { @@ -100,29 +100,23 @@ return termination_code; } - process_snapshot.SetReportID(new_report->uuid); - - CrashReportDatabase::CallErrorWritingCrashReport - call_error_writing_crash_report(database_, new_report); - - WeakFileHandleFileWriter file_writer(new_report->handle); + process_snapshot.SetReportID(new_report->ReportID()); MinidumpFileWriter minidump; minidump.InitializeFromSnapshot(&process_snapshot); AddUserExtensionStreams( user_stream_data_sources_, &process_snapshot, &minidump); - if (!minidump.WriteEverything(&file_writer)) { + if (!minidump.WriteEverything(new_report->Writer())) { LOG(ERROR) << "WriteEverything failed"; Metrics::ExceptionCaptureResult( Metrics::CaptureResult::kMinidumpWriteFailed); return termination_code; } - call_error_writing_crash_report.Disarm(); - UUID uuid; - database_status = database_->FinishedWritingCrashReport(new_report, &uuid); + database_status = + database_->FinishedWritingCrashReport(std::move(new_report), &uuid); if (database_status != CrashReportDatabase::kNoError) { LOG(ERROR) << "FinishedWritingCrashReport failed"; Metrics::ExceptionCaptureResult( @@ -130,7 +124,12 @@ return termination_code; } - upload_thread_->ReportPending(uuid); + if (upload_thread_) { + upload_thread_->ReportPending(uuid); + } else { + database_->SkipReportUpload( + uuid, Metrics::CrashSkippedReason::kUploadsDisabled); + } } Metrics::ExceptionCaptureResult(Metrics::CaptureResult::kSuccess);
diff --git a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h index e1fb725d..c2781de3 100644 --- a/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h +++ b/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
@@ -37,7 +37,8 @@ //! //! \param[in] database The database to store crash reports in. Weak. //! \param[in] upload_thread The upload thread to notify when a new crash - //! report is written into \a database. + //! report is written into \a database. Report upload is skipped if this + //! value is `nullptr`. //! \param[in] process_annotations A map of annotations to insert as //! process-level annotations into each crash report that is written. Do //! not confuse this with module-level annotations, which are under the
diff --git a/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc b/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc index a5532da8..bed19b3 100644 --- a/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc +++ b/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc
@@ -39,8 +39,8 @@ namespace crashpad { -int* g_extra_memory_pointer; -int* g_extra_memory_not_saved; +size_t* g_extra_memory_pointer; +size_t* g_extra_memory_not_saved; namespace { @@ -142,29 +142,29 @@ void AllocateExtraMemoryToBeSaved( crashpad::SimpleAddressRangeBag* extra_ranges) { - constexpr size_t kNumInts = 2000; - int* extra_memory = new int[kNumInts]; + constexpr size_t kNumVals = 2000; + size_t* extra_memory = new size_t[kNumVals]; g_extra_memory_pointer = extra_memory; - for (int i = 0; i < kNumInts; ++i) + for (size_t i = 0; i < kNumVals; ++i) extra_memory[i] = i * 13 + 2; - extra_ranges->Insert(extra_memory, sizeof(extra_memory[0]) * kNumInts); + extra_ranges->Insert(extra_memory, sizeof(extra_memory[0]) * kNumVals); extra_ranges->Insert(&g_extra_memory_pointer, sizeof(g_extra_memory_pointer)); } void AllocateExtraUnsavedMemory(crashpad::SimpleAddressRangeBag* extra_ranges) { // Allocate some extra memory, and then Insert() but also Remove() it so we // can confirm it doesn't get saved. - constexpr size_t kNumInts = 2000; - int* extra_memory = new int[kNumInts]; + constexpr size_t kNumVals = 2000; + size_t* extra_memory = new size_t[kNumVals]; g_extra_memory_not_saved = extra_memory; - for (int i = 0; i < kNumInts; ++i) + for (size_t i = 0; i < kNumVals; ++i) extra_memory[i] = i * 17 + 7; - extra_ranges->Insert(extra_memory, sizeof(extra_memory[0]) * kNumInts); + extra_ranges->Insert(extra_memory, sizeof(extra_memory[0]) * kNumVals); extra_ranges->Insert(&g_extra_memory_not_saved, sizeof(g_extra_memory_not_saved)); // We keep the pointer's memory, but remove the pointed-to memory. - extra_ranges->Remove(extra_memory, sizeof(extra_memory[0]) * kNumInts); + extra_ranges->Remove(extra_memory, sizeof(extra_memory[0]) * kNumVals); } int CrashyMain(int argc, wchar_t* argv[]) {
diff --git a/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc b/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc index cfa098b2..63c145cf 100644 --- a/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc +++ b/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc
@@ -55,7 +55,7 @@ va_end(va); if (get_last_error) { - fprintf(stderr, ": error %u", last_error); + fprintf(stderr, ": error %lu", last_error); } fputs("\n", stderr);
diff --git a/third_party/crashpad/crashpad/infra/config/cq.cfg b/third_party/crashpad/crashpad/infra/config/cq.cfg index d00ef14..64213fc3 100644 --- a/third_party/crashpad/crashpad/infra/config/cq.cfg +++ b/third_party/crashpad/crashpad/infra/config/cq.cfg
@@ -35,14 +35,18 @@ name: "master.client.crashpad" builders { name: "crashpad_try_mac_dbg" } builders { name: "crashpad_try_mac_rel" } - builders { name: "crashpad_try_win_x64_dbg" } - builders { name: "crashpad_try_win_x64_rel" } + builders { name: "crashpad_try_win_dbg" } + builders { name: "crashpad_try_win_rel" } + builders { name: "crashpad_try_linux_dbg" } + builders { name: "crashpad_try_linux_rel" } + # https://bugs.chromium.org/p/crashpad/issues/detail?id=219 QEMU runs are + # flaking; remove from CQ while being investigated. + #builders { name: "crashpad_try_fuchsia_x64_dbg" } + #builders { name: "crashpad_try_fuchsia_x64_rel" } # https://crbug.com/743139 - disabled until we can move these to swarming, # at which point we can just remove them. #builders { name: "crashpad_try_win_x86_dbg" } #builders { name: "crashpad_try_win_x86_rel" } - builders { name: "crashpad_try_win_x86_wow64_dbg" } - builders { name: "crashpad_try_win_x86_wow64_rel" } } } }
diff --git a/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc b/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc index 9c665f4f..4a22b43 100644 --- a/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc +++ b/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
@@ -123,6 +123,12 @@ case kCPUArchitectureX86_64: cpu_architecture = kMinidumpCPUArchitectureAMD64; break; + case kCPUArchitectureARM: + cpu_architecture = kMinidumpCPUArchitectureARM; + break; + case kCPUArchitectureARM64: + cpu_architecture = kMinidumpCPUArchitectureARM64; + break; default: NOTREACHED(); cpu_architecture = kMinidumpCPUArchitectureUnknown; @@ -160,6 +166,12 @@ case SystemSnapshot::kOperatingSystemWindows: operating_system = kMinidumpOSWin32NT; break; + case SystemSnapshot::kOperatingSystemLinux: + operating_system = kMinidumpOSLinux; + break; + case SystemSnapshot::kOperatingSystemAndroid: + operating_system = kMinidumpOSAndroid; + break; default: NOTREACHED(); operating_system = kMinidumpOSUnknown;
diff --git a/third_party/crashpad/crashpad/snapshot/BUILD.gn b/third_party/crashpad/crashpad/snapshot/BUILD.gn index e1d24002..5ccc735e 100644 --- a/third_party/crashpad/crashpad/snapshot/BUILD.gn +++ b/third_party/crashpad/crashpad/snapshot/BUILD.gn
@@ -34,6 +34,7 @@ "handle_snapshot.h", "memory_snapshot.cc", "memory_snapshot.h", + "memory_snapshot_generic.h", "minidump/minidump_annotation_reader.cc", "minidump/minidump_annotation_reader.h", "minidump/minidump_simple_string_dictionary_reader.cc", @@ -47,8 +48,6 @@ "minidump/process_snapshot_minidump.cc", "minidump/process_snapshot_minidump.h", "module_snapshot.h", - "posix/timezone.cc", - "posix/timezone.h", "process_snapshot.h", "snapshot_constants.h", "system_snapshot.h", @@ -57,6 +56,13 @@ "unloaded_module_snapshot.h", ] + if (crashpad_is_posix) { + sources += [ + "posix/timezone.cc", + "posix/timezone.h", + ] + } + if (crashpad_is_mac) { sources += [ "mac/cpu_context_mac.cc", @@ -71,12 +77,10 @@ "mac/mach_o_image_segment_reader.h", "mac/mach_o_image_symbol_table_reader.cc", "mac/mach_o_image_symbol_table_reader.h", - "mac/memory_snapshot_mac.cc", - "mac/memory_snapshot_mac.h", "mac/module_snapshot_mac.cc", "mac/module_snapshot_mac.h", - "mac/process_reader.cc", - "mac/process_reader.h", + "mac/process_reader_mac.cc", + "mac/process_reader_mac.h", "mac/process_snapshot_mac.cc", "mac/process_snapshot_mac.h", "mac/process_types.cc", @@ -101,20 +105,14 @@ if (crashpad_is_linux || crashpad_is_android) { sources += [ - "crashpad_types/image_annotation_reader.cc", - "crashpad_types/image_annotation_reader.h", "linux/cpu_context_linux.cc", "linux/cpu_context_linux.h", "linux/debug_rendezvous.cc", "linux/debug_rendezvous.h", "linux/exception_snapshot_linux.cc", "linux/exception_snapshot_linux.h", - "linux/memory_snapshot_linux.cc", - "linux/memory_snapshot_linux.h", - "linux/module_snapshot_linux.cc", - "linux/module_snapshot_linux.h", - "linux/process_reader.cc", - "linux/process_reader.h", + "linux/process_reader_linux.cc", + "linux/process_reader_linux.h", "linux/process_snapshot_linux.cc", "linux/process_snapshot_linux.h", "linux/signal_context.h", @@ -129,12 +127,16 @@ sources += [ "crashpad_types/crashpad_info_reader.cc", "crashpad_types/crashpad_info_reader.h", + "crashpad_types/image_annotation_reader.cc", + "crashpad_types/image_annotation_reader.h", "elf/elf_dynamic_array_reader.cc", "elf/elf_dynamic_array_reader.h", "elf/elf_image_reader.cc", "elf/elf_image_reader.h", "elf/elf_symbol_table_reader.cc", "elf/elf_symbol_table_reader.h", + "elf/module_snapshot_elf.cc", + "elf/module_snapshot_elf.h", ] } @@ -173,8 +175,12 @@ if (crashpad_is_fuchsia) { sources += [ + "fuchsia/process_reader_fuchsia.cc", + "fuchsia/process_reader_fuchsia.h", "fuchsia/process_snapshot_fuchsia.cc", "fuchsia/process_snapshot_fuchsia.h", + "fuchsia/thread_snapshot_fuchsia.cc", + "fuchsia/thread_snapshot_fuchsia.h", ] } @@ -290,7 +296,7 @@ "mac/mach_o_image_annotations_reader_test.cc", "mac/mach_o_image_reader_test.cc", "mac/mach_o_image_segment_reader_test.cc", - "mac/process_reader_test.cc", + "mac/process_reader_mac_test.cc", "mac/process_types_test.cc", "mac/system_snapshot_mac_test.cc", ] @@ -298,10 +304,9 @@ if (crashpad_is_linux || crashpad_is_android) { sources += [ - "crashpad_types/image_annotation_reader_test.cc", "linux/debug_rendezvous_test.cc", "linux/exception_snapshot_linux_test.cc", - "linux/process_reader_test.cc", + "linux/process_reader_linux_test.cc", "linux/system_snapshot_linux_test.cc", ] } else { @@ -311,6 +316,7 @@ if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { sources += [ "crashpad_types/crashpad_info_reader_test.cc", + "crashpad_types/image_annotation_reader_test.cc", "elf/elf_image_reader_test.cc", "elf/elf_image_reader_test_note.S", "elf/test_exported_symbols.sym", @@ -329,10 +335,18 @@ "win/process_snapshot_win_test.cc", "win/system_snapshot_win_test.cc", ] - } else { + } else if (!crashpad_is_fuchsia) { + # Timezones are currently non-functional on Fuchsia: + # https://fuchsia.googlesource.com/zircon/+/master/third_party/ulib/musl/src/time/__tz.c#9 + # https://crashpad.chromium.org/bug/196. Relevant upstream bugs are ZX-337 + # and ZX-1731. sources += [ "posix/timezone_test.cc" ] } + if (crashpad_is_fuchsia) { + sources += [ "fuchsia/process_reader_fuchsia_test.cc" ] + } + # public_configs isn’t quite right. snapshot_test_link sets ldflags, and # what’s really needed is a way to push ldflags to dependent targets that # produce linker output. Luckily in this case, all dependents do produce @@ -403,10 +417,15 @@ sources = [ "crashpad_info_size_test_module.cc", ] + + deps = [] + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ "crashpad_info_size_test_note.S" ] + deps += [ "../util" ] + } + defines = [ "CRASHPAD_INFO_SIZE_TEST_MODULE_LARGE" ] - deps = [ - "../third_party/mini_chromium:base", - ] + deps += [ "../third_party/mini_chromium:base" ] } loadable_module("crashpad_snapshot_test_module_small") { @@ -414,10 +433,15 @@ sources = [ "crashpad_info_size_test_module.cc", ] + + deps = [] + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ "crashpad_info_size_test_note.S" ] + deps += [ "../util" ] + } + defines = [ "CRASHPAD_INFO_SIZE_TEST_MODULE_SMALL" ] - deps = [ - "../third_party/mini_chromium:base", - ] + deps += [ "../third_party/mini_chromium:base" ] } if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
diff --git a/third_party/crashpad/crashpad/snapshot/capture_memory.cc b/third_party/crashpad/crashpad/snapshot/capture_memory.cc index c860285..4327fbda9 100644 --- a/third_party/crashpad/crashpad/snapshot/capture_memory.cc +++ b/third_party/crashpad/crashpad/snapshot/capture_memory.cc
@@ -94,8 +94,20 @@ MaybeCaptureMemoryAround(delegate, context.x86->ebp); MaybeCaptureMemoryAround(delegate, context.x86->eip); } +#elif defined(ARCH_CPU_ARM_FAMILY) + if (context.architecture == kCPUArchitectureARM64) { + MaybeCaptureMemoryAround(delegate, context.arm64->pc); + for (size_t i = 0; i < arraysize(context.arm64->regs); ++i) { + MaybeCaptureMemoryAround(delegate, context.arm64->regs[i]); + } + } else { + MaybeCaptureMemoryAround(delegate, context.arm->pc); + for (size_t i = 0; i < arraysize(context.arm->regs); ++i) { + MaybeCaptureMemoryAround(delegate, context.arm->regs[i]); + } + } #else -#error non-x86 +#error Port. #endif }
diff --git a/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc b/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc index d39fada..53f4a3f 100644 --- a/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc +++ b/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc
@@ -23,7 +23,6 @@ #endif // OS_MACOSX namespace crashpad { -namespace { #if defined(CRASHPAD_INFO_SIZE_TEST_MODULE_SMALL) == \ defined(CRASHPAD_INFO_SIZE_TEST_MODULE_LARGE) @@ -70,16 +69,12 @@ __attribute__(( #if defined(OS_MACOSX) section(SEG_DATA ",crashpad_info"), -#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) - section("crashpad_info"), -#else -#error Port #endif #if defined(ADDRESS_SANITIZER) aligned(64), #endif // defined(ADDRESS_SANITIZER) - used, - visibility("hidden"))) + visibility("hidden"), + used)) #elif defined(OS_WIN) #pragma section("CPADinfo", read, write) __declspec(allocate("CPADinfo")) @@ -106,7 +101,6 @@ #endif // CRASHPAD_INFO_SIZE_TEST_MODULE_LARGE }; -} // namespace } // namespace crashpad extern "C" { @@ -119,6 +113,9 @@ #error Port #endif // OS_POSIX crashpad::TestCrashpadInfo* TestModule_GetCrashpadInfo() { + // Note that there's no need to do the back-reference here to the note on + // POSIX like CrashpadInfo::GetCrashpadInfo() because the note .S file is + // directly included into this test binary. return &crashpad::g_test_crashpad_info; }
diff --git a/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_note.S b/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_note.S new file mode 100644 index 0000000..a355a83 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_note.S
@@ -0,0 +1,56 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This note section is used on ELF platforms to give ElfImageReader a method +// of finding the instance of CrashpadInfo g_crashpad_info without requiring +// that symbol to be in the dynamic symbol table. + +#include "build/build_config.h" +#include "util/misc/elf_note_types.h" + +// namespace crashpad { +// CrashpadInfo g_test_crashpad_info; +// } // namespace crashpad +#define TEST_CRASHPAD_INFO_SYMBOL _ZN8crashpad20g_test_crashpad_infoE + +#define NOTE_ALIGN 4 + + // This section must be "a"llocated so that it appears in the final binary at + // runtime, and "w"ritable so that the relocation to TEST_CRASHPAD_INFO_SYMBOL + // can be performed. + .section .note.crashpad.info,"aw",%note + .balign NOTE_ALIGN + .type info_size_test_note, %object +info_size_test_note: + .long name_end - name // namesz + .long desc_end - desc // descsz + .long CRASHPAD_ELF_NOTE_TYPE_CRASHPAD_INFO // type +name: + .asciz CRASHPAD_ELF_NOTE_NAME +name_end: + .balign NOTE_ALIGN +desc: +#if defined(ARCH_CPU_64_BITS) + .quad TEST_CRASHPAD_INFO_SYMBOL +#else +#if defined(ARCH_CPU_LITTLE_ENDIAN) + .long TEST_CRASHPAD_INFO_SYMBOL + .long 0 +#else + .long 0 + .long TEST_CRASHPAD_INFO_SYMBOL +#endif // ARCH_CPU_LITTLE_ENDIAN +#endif // ARCH_CPU_64_BITS +desc_end: + .size info_size_test_note, .-info_size_test_note
diff --git a/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc b/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc index ade9931..dfc438f 100644 --- a/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc
@@ -81,7 +81,11 @@ return false; } - memset(reinterpret_cast<char*>(&info), 0, sizeof(info) - info.size); + if (sizeof(info) > info.size) { + memset(reinterpret_cast<char*>(&info) + info.size, + 0, + sizeof(info) - info.size); + } UnsetIfNotValidTriState(&info.crashpad_handler_behavior); UnsetIfNotValidTriState(&info.system_crash_reporter_forwarding);
diff --git a/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc b/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc index 73564177..87bafc6 100644 --- a/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc
@@ -17,6 +17,8 @@ #include <sys/types.h> #include <unistd.h> +#include <memory> + #include "build/build_config.h" #include "client/annotation_list.h" #include "client/crashpad_info.h" @@ -43,10 +45,32 @@ constexpr uint32_t kIndirectlyReferencedMemoryCap = 42; +class ScopedUnsetCrashpadInfo { + public: + explicit ScopedUnsetCrashpadInfo(CrashpadInfo* crashpad_info) + : crashpad_info_(crashpad_info) {} + + ~ScopedUnsetCrashpadInfo() { + crashpad_info_->set_crashpad_handler_behavior(TriState::kUnset); + crashpad_info_->set_system_crash_reporter_forwarding(TriState::kUnset); + crashpad_info_->set_gather_indirectly_referenced_memory(TriState::kUnset, + 0); + crashpad_info_->set_extra_memory_ranges(nullptr); + crashpad_info_->set_simple_annotations(nullptr); + crashpad_info_->set_annotations_list(nullptr); + } + + private: + CrashpadInfo* crashpad_info_; + + DISALLOW_COPY_AND_ASSIGN(ScopedUnsetCrashpadInfo); +}; + class CrashpadInfoTestDataSetup { public: CrashpadInfoTestDataSetup() { CrashpadInfo* info = CrashpadInfo::GetCrashpadInfo(); + unset_.reset(new ScopedUnsetCrashpadInfo(info)); info->set_extra_memory_ranges(&extra_memory_); info->set_simple_annotations(&simple_annotations_); @@ -69,6 +93,7 @@ } private: + std::unique_ptr<ScopedUnsetCrashpadInfo> unset_; SimpleAddressRangeBag extra_memory_; SimpleStringDictionary simple_annotations_; AnnotationList annotation_list_;
diff --git a/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc b/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc index b0e635ff..63cfcfcc 100644 --- a/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc
@@ -26,11 +26,12 @@ #include "client/annotation_list.h" #include "client/simple_string_dictionary.h" #include "gtest/gtest.h" -#include "test/multiprocess.h" +#include "test/multiprocess_exec.h" +#include "test/process_type.h" #include "util/file/file_io.h" #include "util/misc/as_underlying_type.h" #include "util/misc/from_pointer_cast.h" -#include "util/process/process_memory_linux.h" +#include "util/process/process_memory_native.h" namespace crashpad { namespace test { @@ -60,67 +61,64 @@ } } -class AnnotationTest { - public: - AnnotationTest() - : expected_simple_map_(), - test_annotations_(), - expected_annotation_list_() { - expected_simple_map_.SetKeyValue("key", "value"); - expected_simple_map_.SetKeyValue("key2", "value2"); +void BuildTestStructures( + std::vector<std::unique_ptr<Annotation>>* annotations_storage, + SimpleStringDictionary* into_map, + AnnotationList* into_annotation_list) { + into_map->SetKeyValue("key", "value"); + into_map->SetKeyValue("key2", "value2"); - static constexpr char kAnnotationName[] = "test annotation"; - static constexpr char kAnnotationValue[] = "test annotation value"; - test_annotations_.push_back(std::make_unique<Annotation>( - Annotation::Type::kString, - kAnnotationName, - reinterpret_cast<void*>(const_cast<char*>(kAnnotationValue)))); - test_annotations_.back()->SetSize(sizeof(kAnnotationValue)); - expected_annotation_list_.Add(test_annotations_.back().get()); + static constexpr char kAnnotationName[] = "test annotation"; + static constexpr char kAnnotationValue[] = "test annotation value"; + annotations_storage->push_back(std::make_unique<Annotation>( + Annotation::Type::kString, + kAnnotationName, + reinterpret_cast<void*>(const_cast<char*>(kAnnotationValue)))); + annotations_storage->back()->SetSize(sizeof(kAnnotationValue)); + into_annotation_list->Add(annotations_storage->back().get()); - static constexpr char kAnnotationName2[] = "test annotation2"; - static constexpr char kAnnotationValue2[] = "test annotation value2"; - test_annotations_.push_back(std::make_unique<Annotation>( - Annotation::Type::kString, - kAnnotationName2, - reinterpret_cast<void*>(const_cast<char*>(kAnnotationValue2)))); - test_annotations_.back()->SetSize(sizeof(kAnnotationValue2)); - expected_annotation_list_.Add(test_annotations_.back().get()); - } + static constexpr char kAnnotationName2[] = "test annotation2"; + static constexpr char kAnnotationValue2[] = "test annotation value2"; + annotations_storage->push_back(std::make_unique<Annotation>( + Annotation::Type::kString, + kAnnotationName2, + reinterpret_cast<void*>(const_cast<char*>(kAnnotationValue2)))); + annotations_storage->back()->SetSize(sizeof(kAnnotationValue2)); + into_annotation_list->Add(annotations_storage->back().get()); +} - ~AnnotationTest() = default; +void ExpectAnnotations(ProcessType process, + bool is_64_bit, + VMAddress simple_map_address, + VMAddress annotation_list_address) { + ProcessMemoryNative memory; + ASSERT_TRUE(memory.Initialize(process)); - void ExpectAnnotations(pid_t pid, bool is_64_bit) { - ProcessMemoryLinux memory; - ASSERT_TRUE(memory.Initialize(pid)); + ProcessMemoryRange range; + ASSERT_TRUE(range.Initialize(&memory, is_64_bit)); - ProcessMemoryRange range; - ASSERT_TRUE(range.Initialize(&memory, is_64_bit)); + SimpleStringDictionary expected_simple_map; + std::vector<std::unique_ptr<Annotation>> storage; + AnnotationList expected_annotations; + BuildTestStructures(&storage, &expected_simple_map, &expected_annotations); - ImageAnnotationReader reader(&range); + ImageAnnotationReader reader(&range); - std::map<std::string, std::string> simple_map; - ASSERT_TRUE(reader.SimpleMap( - FromPointerCast<VMAddress>(&expected_simple_map_), &simple_map)); - ExpectSimpleMap(simple_map, expected_simple_map_); + std::map<std::string, std::string> simple_map; + ASSERT_TRUE(reader.SimpleMap(simple_map_address, &simple_map)); + ExpectSimpleMap(simple_map, expected_simple_map); - std::vector<AnnotationSnapshot> annotation_list; - ASSERT_TRUE(reader.AnnotationsList( - FromPointerCast<VMAddress>(&expected_annotation_list_), - &annotation_list)); - ExpectAnnotationList(annotation_list, expected_annotation_list_); - } - - private: - SimpleStringDictionary expected_simple_map_; - std::vector<std::unique_ptr<Annotation>> test_annotations_; - AnnotationList expected_annotation_list_; - - DISALLOW_COPY_AND_ASSIGN(AnnotationTest); -}; + std::vector<AnnotationSnapshot> annotation_list; + ASSERT_TRUE( + reader.AnnotationsList(annotation_list_address, &annotation_list)); + ExpectAnnotationList(annotation_list, expected_annotations); +} TEST(ImageAnnotationReader, ReadFromSelf) { - AnnotationTest test; + SimpleStringDictionary map; + std::vector<std::unique_ptr<Annotation>> storage; + AnnotationList annotations; + BuildTestStructures(&storage, &map, &annotations); #if defined(ARCH_CPU_64_BITS) constexpr bool am_64_bit = true; @@ -128,14 +126,35 @@ constexpr bool am_64_bit = false; #endif - test.ExpectAnnotations(getpid(), am_64_bit); + ExpectAnnotations(GetSelfProcess(), + am_64_bit, + FromPointerCast<VMAddress>(&map), + FromPointerCast<VMAddress>(&annotations)); } -class ReadFromChildTest : public Multiprocess { - public: - ReadFromChildTest() : Multiprocess(), annotation_test_() {} +CRASHPAD_CHILD_TEST_MAIN(ReadAnnotationsFromChildTestMain) { + SimpleStringDictionary map; + std::vector<std::unique_ptr<Annotation>> storage; + AnnotationList annotations; + BuildTestStructures(&storage, &map, &annotations); - ~ReadFromChildTest() {} + VMAddress simple_map_address = FromPointerCast<VMAddress>(&map); + VMAddress annotations_address = FromPointerCast<VMAddress>(&annotations); + FileHandle out = StdioFileHandle(StdioStream::kStandardOutput); + CheckedWriteFile(out, &simple_map_address, sizeof(simple_map_address)); + CheckedWriteFile(out, &annotations_address, sizeof(annotations_address)); + + CheckedReadFileAtEOF(StdioFileHandle(StdioStream::kStandardInput)); + return 0; +} + +class ReadFromChildTest : public MultiprocessExec { + public: + ReadFromChildTest() : MultiprocessExec() { + SetChildTestMainFunction("ReadAnnotationsFromChildTestMain"); + } + + ~ReadFromChildTest() = default; private: void MultiprocessParent() { @@ -144,13 +163,17 @@ #else constexpr bool am_64_bit = false; #endif - annotation_test_.ExpectAnnotations(ChildPID(), am_64_bit); + + VMAddress simple_map_address; + VMAddress annotations_address; + ASSERT_TRUE(ReadFileExactly( + ReadPipeHandle(), &simple_map_address, sizeof(simple_map_address))); + ASSERT_TRUE(ReadFileExactly( + ReadPipeHandle(), &annotations_address, sizeof(annotations_address))); + ExpectAnnotations( + ChildProcess(), am_64_bit, simple_map_address, annotations_address); } - void MultiprocessChild() { CheckedReadFileAtEOF(ReadPipeHandle()); } - - AnnotationTest annotation_test_; - DISALLOW_COPY_AND_ASSIGN(ReadFromChildTest); };
diff --git a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc index 2fc9608..c681660 100644 --- a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc
@@ -164,7 +164,7 @@ VMSize* size) const override { INITIALIZATION_STATE_DCHECK_VALID(initialized_); for (size_t index = *start_index; index < table_.size(); ++index) { - if (table_[index].p_type == PT_NOTE) { + if (table_[index].p_type == PT_NOTE && table_[index].p_vaddr != 0) { *start_index = index + 1; *address = table_[index].p_vaddr; *size = table_[index].p_memsz;
diff --git a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc index dc13ad6f..91cce068 100644 --- a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc
@@ -27,6 +27,7 @@ #include "test/test_paths.h" #include "util/file/file_io.h" #include "util/misc/address_types.h" +#include "util/misc/elf_note_types.h" #include "util/misc/from_pointer_cast.h" #include "util/process/process_memory_native.h" @@ -163,14 +164,14 @@ ElfImageReader::NoteReader::Result::kNoMoreNotes); // Find the note defined in elf_image_reader_test_note.S. - constexpr char kCrashpadNoteName[] = "Crashpad"; - constexpr ElfImageReader::NoteReader::NoteType kCrashpadNoteType = 1; constexpr uint32_t kCrashpadNoteDesc = 42; - notes = reader.NotesWithNameAndType(kCrashpadNoteName, kCrashpadNoteType, -1); + notes = reader.NotesWithNameAndType( + CRASHPAD_ELF_NOTE_NAME, CRASHPAD_ELF_NOTE_TYPE_SNAPSHOT_TEST, -1); ASSERT_EQ(notes->NextNote(¬e_name, ¬e_type, ¬e_desc), ElfImageReader::NoteReader::Result::kSuccess); - EXPECT_EQ(note_name, kCrashpadNoteName); - EXPECT_EQ(note_type, kCrashpadNoteType); + EXPECT_EQ(note_name, CRASHPAD_ELF_NOTE_NAME); + EXPECT_EQ(note_type, + implicit_cast<unsigned int>(CRASHPAD_ELF_NOTE_TYPE_SNAPSHOT_TEST)); EXPECT_EQ(note_desc.size(), sizeof(kCrashpadNoteDesc)); EXPECT_EQ(*reinterpret_cast<decltype(kCrashpadNoteDesc)*>(¬e_desc[0]), kCrashpadNoteDesc);
diff --git a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S index e41a520..9ab0338 100644 --- a/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S +++ b/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S
@@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "util/misc/elf_note_types.h" + #define NOTE_ALIGN 4 .section .note.crashpad.test,"a",%note .balign NOTE_ALIGN @@ -19,9 +21,9 @@ testnote: .long name_end - name // namesz .long desc_end - desc // descsz - .long 1 // type + .long CRASHPAD_ELF_NOTE_TYPE_SNAPSHOT_TEST // type name: - .ascii "Crashpad\0" + .asciz CRASHPAD_ELF_NOTE_NAME name_end: .balign NOTE_ALIGN desc:
diff --git a/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.cc similarity index 64% rename from third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.cc rename to third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.cc index 0ddbebf..5c5039ee1 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.cc +++ b/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.cc
@@ -12,46 +12,52 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "snapshot/linux/module_snapshot_linux.h" +#include "snapshot/elf/module_snapshot_elf.h" #include <algorithm> #include "base/files/file_path.h" #include "snapshot/crashpad_types/image_annotation_reader.h" +#include "util/misc/elf_note_types.h" namespace crashpad { namespace internal { -ModuleSnapshotLinux::ModuleSnapshotLinux() +ModuleSnapshotElf::ModuleSnapshotElf(const std::string& name, + ElfImageReader* elf_reader, + ModuleSnapshot::ModuleType type) : ModuleSnapshot(), - name_(), - elf_reader_(nullptr), + name_(name), + elf_reader_(elf_reader), crashpad_info_(), - type_(kModuleTypeUnknown), + type_(type), initialized_() {} -ModuleSnapshotLinux::~ModuleSnapshotLinux() = default; +ModuleSnapshotElf::~ModuleSnapshotElf() = default; -bool ModuleSnapshotLinux::Initialize( - const ProcessReader::Module& process_reader_module) { +bool ModuleSnapshotElf::Initialize() { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); - if (!process_reader_module.elf_reader) { + if (!elf_reader_) { LOG(ERROR) << "no elf reader"; return false; } - name_ = process_reader_module.name; - elf_reader_ = process_reader_module.elf_reader; - type_ = process_reader_module.type; - + // The data payload is only sizeof(VMAddress) in the note, but add a bit to + // account for the name, header, and padding. + constexpr ssize_t kMaxNoteSize = 256; + std::unique_ptr<ElfImageReader::NoteReader> notes = + elf_reader_->NotesWithNameAndType(CRASHPAD_ELF_NOTE_NAME, + CRASHPAD_ELF_NOTE_TYPE_CRASHPAD_INFO, + kMaxNoteSize); + std::string desc; VMAddress info_address; - VMSize info_size; - if (elf_reader_->GetDynamicSymbol( - "g_crashpad_info", &info_address, &info_size)) { + if (notes->NextNote(nullptr, nullptr, &desc) == + ElfImageReader::NoteReader::Result::kSuccess) { + info_address = *reinterpret_cast<VMAddress*>(&desc[0]); + ProcessMemoryRange range; - if (range.Initialize(*elf_reader_->Memory()) && - range.RestrictRange(info_address, info_size)) { + if (range.Initialize(*elf_reader_->Memory())) { auto info = std::make_unique<CrashpadInfoReader>(); if (info->Initialize(&range, info_address)) { crashpad_info_ = std::move(info); @@ -63,8 +69,7 @@ return true; } -bool ModuleSnapshotLinux::GetCrashpadOptions( - CrashpadInfoClientOptions* options) { +bool ModuleSnapshotElf::GetCrashpadOptions(CrashpadInfoClientOptions* options) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); if (!crashpad_info_) { @@ -82,27 +87,38 @@ return true; } -std::string ModuleSnapshotLinux::Name() const { +std::string ModuleSnapshotElf::Name() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return name_; } -uint64_t ModuleSnapshotLinux::Address() const { +uint64_t ModuleSnapshotElf::Address() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return elf_reader_->Address(); } -uint64_t ModuleSnapshotLinux::Size() const { +uint64_t ModuleSnapshotElf::Size() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return elf_reader_->Size(); } -time_t ModuleSnapshotLinux::Timestamp() const { +time_t ModuleSnapshotElf::Timestamp() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return 0; } -void ModuleSnapshotLinux::FileVersion(uint16_t* version_0, +void ModuleSnapshotElf::FileVersion(uint16_t* version_0, + uint16_t* version_1, + uint16_t* version_2, + uint16_t* version_3) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + *version_0 = 0; + *version_1 = 0; + *version_2 = 0; + *version_3 = 0; +} + +void ModuleSnapshotElf::SourceVersion(uint16_t* version_0, uint16_t* version_1, uint16_t* version_2, uint16_t* version_3) const { @@ -113,24 +129,12 @@ *version_3 = 0; } -void ModuleSnapshotLinux::SourceVersion(uint16_t* version_0, - uint16_t* version_1, - uint16_t* version_2, - uint16_t* version_3) const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - *version_0 = 0; - *version_1 = 0; - *version_2 = 0; - *version_3 = 0; -} - -ModuleSnapshot::ModuleType ModuleSnapshotLinux::GetModuleType() const { +ModuleSnapshot::ModuleType ModuleSnapshotElf::GetModuleType() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return type_; } -void ModuleSnapshotLinux::UUIDAndAge(crashpad::UUID* uuid, - uint32_t* age) const { +void ModuleSnapshotElf::UUIDAndAge(crashpad::UUID* uuid, uint32_t* age) const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); *age = 0; @@ -142,17 +146,17 @@ uuid->InitializeFromBytes(reinterpret_cast<const uint8_t*>(&desc[0])); } -std::string ModuleSnapshotLinux::DebugFileName() const { +std::string ModuleSnapshotElf::DebugFileName() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return base::FilePath(Name()).BaseName().value(); } -std::vector<std::string> ModuleSnapshotLinux::AnnotationsVector() const { +std::vector<std::string> ModuleSnapshotElf::AnnotationsVector() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return std::vector<std::string>(); } -std::map<std::string, std::string> ModuleSnapshotLinux::AnnotationsSimpleMap() +std::map<std::string, std::string> ModuleSnapshotElf::AnnotationsSimpleMap() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); std::map<std::string, std::string> annotations; @@ -163,7 +167,7 @@ return annotations; } -std::vector<AnnotationSnapshot> ModuleSnapshotLinux::AnnotationObjects() const { +std::vector<AnnotationSnapshot> ModuleSnapshotElf::AnnotationObjects() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); std::vector<AnnotationSnapshot> annotations; if (crashpad_info_ && crashpad_info_->AnnotationsList()) { @@ -173,14 +177,13 @@ return annotations; } -std::set<CheckedRange<uint64_t>> ModuleSnapshotLinux::ExtraMemoryRanges() - const { +std::set<CheckedRange<uint64_t>> ModuleSnapshotElf::ExtraMemoryRanges() const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return std::set<CheckedRange<uint64_t>>(); } std::vector<const UserMinidumpStream*> -ModuleSnapshotLinux::CustomMinidumpStreams() const { +ModuleSnapshotElf::CustomMinidumpStreams() const { return std::vector<const UserMinidumpStream*>(); }
diff --git a/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.h similarity index 79% rename from third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.h rename to third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.h index b277ff7..1f7cf65 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.h +++ b/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.h
@@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef CRASHPAD_SNAPSHOT_LINUX_MODULE_SNAPSHOT_LINUX_H_ -#define CRASHPAD_SNAPSHOT_LINUX_MODULE_SNAPSHOT_LINUX_H_ +#ifndef CRASHPAD_SNAPSHOT_ELF_MODULE_SNAPSHOT_ELF_H_ +#define CRASHPAD_SNAPSHOT_ELF_MODULE_SNAPSHOT_ELF_H_ #include <stdint.h> #include <sys/types.h> @@ -27,7 +27,6 @@ #include "snapshot/crashpad_info_client_options.h" #include "snapshot/crashpad_types/crashpad_info_reader.h" #include "snapshot/elf/elf_image_reader.h" -#include "snapshot/linux/process_reader.h" #include "snapshot/module_snapshot.h" #include "util/misc/initialization_state_dcheck.h" @@ -36,20 +35,22 @@ namespace internal { //! \brief A ModuleSnapshot of a code module (binary image) loaded into a -//! running (or crashed) process on a Linux system. -class ModuleSnapshotLinux final : public ModuleSnapshot { +//! running (or crashed) process on a system that uses ELF modules. +class ModuleSnapshotElf final : public ModuleSnapshot { public: - ModuleSnapshotLinux(); - ~ModuleSnapshotLinux() override; + //! \param[in] name The pathname used to load the module from disk. + //! \param[in] elf_reader An image reader for the module. + //! \param[in] type The module's type. + ModuleSnapshotElf(const std::string& name, + ElfImageReader* elf_reader, + ModuleSnapshot::ModuleType type); + ~ModuleSnapshotElf() override; //! \brief Initializes the object. //! - //! \param[in] process_reader_module The module within the ProcessReader for - //! which the snapshot should be created. - //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged. - bool Initialize(const ProcessReader::Module& process_reader_module); + bool Initialize(); //! \brief Returns options from the module’s CrashpadInfo structure. //! @@ -87,10 +88,10 @@ ModuleType type_; InitializationStateDcheck initialized_; - DISALLOW_COPY_AND_ASSIGN(ModuleSnapshotLinux); + DISALLOW_COPY_AND_ASSIGN(ModuleSnapshotElf); }; } // namespace internal } // namespace crashpad -#endif // CRASHPAD_SNAPSHOT_LINUX_MODULE_SNAPSHOT_LINUX_H_ +#endif // CRASHPAD_SNAPSHOT_ELF_MODULE_SNAPSHOT_ELF_H_
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.cc b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.cc new file mode 100644 index 0000000..1ace0d13 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.cc
@@ -0,0 +1,266 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "snapshot/fuchsia/process_reader_fuchsia.h" + +#include <link.h> +#include <zircon/syscalls.h> + +#include "base/fuchsia/fuchsia_logging.h" +#include "base/fuchsia/scoped_zx_handle.h" +#include "base/logging.h" + +namespace crashpad { + +ProcessReaderFuchsia::Module::Module() = default; + +ProcessReaderFuchsia::Module::~Module() = default; + +ProcessReaderFuchsia::Thread::Thread() = default; + +ProcessReaderFuchsia::Thread::~Thread() = default; + +ProcessReaderFuchsia::ProcessReaderFuchsia() = default; + +ProcessReaderFuchsia::~ProcessReaderFuchsia() = default; + +bool ProcessReaderFuchsia::Initialize(zx_handle_t process) { + INITIALIZATION_STATE_SET_INITIALIZING(initialized_); + + process_ = process; + + process_memory_.reset(new ProcessMemoryFuchsia()); + process_memory_->Initialize(process_); + + INITIALIZATION_STATE_SET_VALID(initialized_); + return true; +} + +const std::vector<ProcessReaderFuchsia::Module>& +ProcessReaderFuchsia::Modules() { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + if (!initialized_modules_) { + InitializeModules(); + } + + return modules_; +} + +const std::vector<ProcessReaderFuchsia::Thread>& +ProcessReaderFuchsia::Threads() { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + if (!initialized_threads_) { + InitializeThreads(); + } + + return threads_; +} + +void ProcessReaderFuchsia::InitializeModules() { + DCHECK(!initialized_modules_); + DCHECK(modules_.empty()); + + initialized_modules_ = true; + + // TODO(scottmg): <inspector/inspector.h> does some of this, but doesn't + // expose any of the data that's necessary to fill out a Module after it + // retrieves (some of) the data into internal structures. It may be worth + // trying to refactor/upstream some of this into Fuchsia. + + std::string app_name("app:"); + { + char name[ZX_MAX_NAME_LEN]; + zx_status_t status = + zx_object_get_property(process_, ZX_PROP_NAME, name, sizeof(name)); + if (status != ZX_OK) { + LOG(ERROR) << "zx_object_get_property ZX_PROP_NAME"; + return; + } + + app_name += name; + } + + // Starting from the ld.so's _dl_debug_addr, read the link_map structure and + // walk the list to fill out modules_. + + uintptr_t debug_address; + zx_status_t status = zx_object_get_property(process_, + ZX_PROP_PROCESS_DEBUG_ADDR, + &debug_address, + sizeof(debug_address)); + if (status != ZX_OK || debug_address == 0) { + LOG(ERROR) << "zx_object_get_property ZX_PROP_PROCESS_DEBUG_ADDR"; + return; + } + + constexpr auto k_r_debug_map_offset = offsetof(r_debug, r_map); + uintptr_t map; + if (!process_memory_->Read( + debug_address + k_r_debug_map_offset, sizeof(map), &map)) { + LOG(ERROR) << "read link_map"; + return; + } + + int i = 0; + constexpr int kMaxDso = 1000; // Stop after an unreasonably large number. + while (map != 0) { + if (++i >= kMaxDso) { + LOG(ERROR) << "possibly circular dso list, terminating"; + return; + } + + constexpr auto k_link_map_addr_offset = offsetof(link_map, l_addr); + zx_vaddr_t base; + if (!process_memory_->Read( + map + k_link_map_addr_offset, sizeof(base), &base)) { + LOG(ERROR) << "Read base"; + // Could theoretically continue here, but realistically if any part of + // link_map fails to read, things are looking bad, so just abort. + break; + } + + constexpr auto k_link_map_next_offset = offsetof(link_map, l_next); + zx_vaddr_t next; + if (!process_memory_->Read( + map + k_link_map_next_offset, sizeof(next), &next)) { + LOG(ERROR) << "Read next"; + break; + } + + constexpr auto k_link_map_name_offset = offsetof(link_map, l_name); + zx_vaddr_t name_address; + if (!process_memory_->Read(map + k_link_map_name_offset, + sizeof(name_address), + &name_address)) { + LOG(ERROR) << "Read name address"; + break; + } + + std::string dsoname; + if (!process_memory_->ReadCString(name_address, &dsoname)) { + // In this case, it could be reasonable to continue on to the next module + // as this data isn't strictly in the link_map. + LOG(ERROR) << "ReadCString name"; + } + + Module module; + if (dsoname.empty()) { + module.name = app_name; + module.type = ModuleSnapshot::kModuleTypeExecutable; + } else { + module.name = dsoname; + // TODO(scottmg): Handle kModuleTypeDynamicLoader. + module.type = ModuleSnapshot::kModuleTypeSharedLibrary; + } + + std::unique_ptr<ElfImageReader> reader(new ElfImageReader()); + + std::unique_ptr<ProcessMemoryRange> process_memory_range( + new ProcessMemoryRange()); + // TODO(scottmg): Could this be limited range? + process_memory_range->Initialize(process_memory_.get(), true); + process_memory_ranges_.push_back(std::move(process_memory_range)); + + reader->Initialize(*process_memory_ranges_.back(), base); + module.reader = reader.get(); + module_readers_.push_back(std::move(reader)); + modules_.push_back(module); + + map = next; + } +} + +void ProcessReaderFuchsia::InitializeThreads() { + DCHECK(!initialized_threads_); + DCHECK(threads_.empty()); + + initialized_threads_ = true; + + // Retrieve the thread koids. This is racy; better if the process is suspended + // itself, but threads could still be externally created. As there's no + // maximum, this needs to be retried in a loop until the actual threads + // retrieved is equal to the available threads. + + std::vector<zx_koid_t> threads(100); + size_t actual_num_threads, available_num_threads; + for (;;) { + zx_status_t status = zx_object_get_info(process_, + ZX_INFO_PROCESS_THREADS, + &threads[0], + sizeof(threads[0]) * threads.size(), + &actual_num_threads, + &available_num_threads); + // If the buffer is too small (even zero), the result is still ZX_OK, not + // ZX_ERR_BUFFER_TOO_SMALL. + if (status != ZX_OK) { + ZX_LOG(ERROR, status) << "zx_object_get_info ZX_INFO_PROCESS_THREADS"; + break; + } + if (actual_num_threads == available_num_threads) { + threads.resize(actual_num_threads); + break; + } + + // Resize to the expected number next time with a bit extra to attempt to + // handle the race between here and the next request. + threads.resize(available_num_threads + 10); + } + + for (const zx_koid_t thread_koid : threads) { + zx_handle_t raw_handle; + zx_status_t status = zx_object_get_child( + process_, thread_koid, ZX_RIGHT_SAME_RIGHTS, &raw_handle); + if (status != ZX_OK) { + ZX_LOG(ERROR, status) << "zx_object_get_child"; + // TODO(scottmg): Decide if it's worthwhile adding a mostly-empty Thread + // here, consisting only of the koid, but no other information. The only + // time this is expected to happen is when there's a race between getting + // the koid above, and requesting the handle here. + continue; + } + + base::ScopedZxHandle thread_handle(raw_handle); + + Thread thread; + thread.id = thread_koid; + + char name[ZX_MAX_NAME_LEN] = {0}; + status = zx_object_get_property( + thread_handle.get(), ZX_PROP_NAME, &name, sizeof(name)); + if (status != ZX_OK) { + ZX_LOG(WARNING, status) << "zx_object_get_property ZX_PROP_NAME"; + } else { + thread.name.assign(name); + } + + zx_info_thread_t thread_info; + status = zx_object_get_info(thread_handle.get(), + ZX_INFO_THREAD, + &thread_info, + sizeof(thread_info), + nullptr, + nullptr); + if (status != ZX_OK) { + ZX_LOG(WARNING, status) << "zx_object_get_info ZX_INFO_THREAD"; + } else { + thread.state = thread_info.state; + } + + threads_.push_back(thread); + } +} + +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.h b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.h new file mode 100644 index 0000000..d0811cfe --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.h
@@ -0,0 +1,121 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_SNAPSHOT_FUCHSIA_PROCESS_READER_H_ +#define CRASHPAD_SNAPSHOT_FUCHSIA_PROCESS_READER_H_ + +#include <memory> +#include <vector> + +#include "base/macros.h" +#include "build/build_config.h" +#include "snapshot/elf/elf_image_reader.h" +#include "snapshot/module_snapshot.h" +#include "util/misc/initialization_state_dcheck.h" +#include "util/process/process_memory_fuchsia.h" +#include "util/process/process_memory_range.h" + +namespace crashpad { + +//! \brief Accesses information about another process, identified by a Fuchsia +//! process. +class ProcessReaderFuchsia { + public: + //! \brief Contains information about a module loaded into a process. + struct Module { + Module(); + ~Module(); + + //! \brief The `ZX_PROP_NAME` of the module. Will be prepended with "app:" + //! for the main executable. + std::string name; + + //! \brief An image reader for the module. + //! + //! The lifetime of this ElfImageReader is scoped to the lifetime of the + //! ProcessReaderFuchsia that created it. + //! + //! This field may be `nullptr` if a reader could not be created for the + //! module. + ElfImageReader* reader; + + //! \brief The module's type. + ModuleSnapshot::ModuleType type = ModuleSnapshot::kModuleTypeUnknown; + }; + + //! \brief Contains information about a thread that belongs to a process. + struct Thread { + Thread(); + ~Thread(); + + //! \brief The kernel identifier for the thread. + zx_koid_t id = ZX_KOID_INVALID; + + //! \brief The state of the thread, the `ZX_THREAD_STATE_*` value or `-1` if + //! the value could not be retrieved. + uint32_t state = -1; + + //! \brief The `ZX_PROP_NAME` property of the thread. This may be empty. + std::string name; + }; + + ProcessReaderFuchsia(); + ~ProcessReaderFuchsia(); + + //! \brief Initializes this object. This method must be called before any + //! other. + //! + //! \param[in] process A process handle with permissions to read properties + //! and memory from the target process. + //! + //! \return `true` on success, indicating that this object will respond + //! validly to further method calls. `false` on failure. On failure, no + //! further method calls should be made. + bool Initialize(zx_handle_t process); + + //! \return The modules loaded in the process. The first element (at index + //! `0`) corresponds to the main executable. + const std::vector<Module>& Modules(); + + //! \return The threads that are in the process. + const std::vector<Thread>& Threads(); + + //! \brief Return a memory reader for the target process. + ProcessMemory* Memory() { return process_memory_.get(); } + + private: + //! Performs lazy initialization of the \a modules_ vector on behalf of + //! Modules(). + void InitializeModules(); + + //! Performs lazy initialization of the \a threads_ vector on behalf of + //! Threads(). + void InitializeThreads(); + + std::vector<Module> modules_; + std::vector<Thread> threads_; + std::vector<std::unique_ptr<ElfImageReader>> module_readers_; + std::vector<std::unique_ptr<ProcessMemoryRange>> process_memory_ranges_; + std::unique_ptr<ProcessMemoryFuchsia> process_memory_; + zx_handle_t process_; + bool initialized_modules_ = false; + bool initialized_threads_ = false; + InitializationStateDcheck initialized_; + + DISALLOW_COPY_AND_ASSIGN(ProcessReaderFuchsia); +}; + +} // namespace crashpad + +#endif // CRASHPAD_SNAPSHOT_FUCHSIA_PROCESS_READER_H_
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia_test.cc b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia_test.cc new file mode 100644 index 0000000..35af291 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia_test.cc
@@ -0,0 +1,95 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "snapshot/fuchsia/process_reader_fuchsia.h" + +#include <zircon/process.h> +#include <zircon/syscalls.h> + +#include "gtest/gtest.h" +#include "test/multiprocess_exec.h" + +namespace crashpad { +namespace test { +namespace { + +TEST(ProcessReaderFuchsia, SelfBasic) { + ProcessReaderFuchsia process_reader; + ASSERT_TRUE(process_reader.Initialize(zx_process_self())); + + static constexpr char kTestMemory[] = "Some test memory"; + char buffer[arraysize(kTestMemory)]; + ASSERT_TRUE(process_reader.Memory()->Read( + reinterpret_cast<zx_vaddr_t>(kTestMemory), sizeof(kTestMemory), &buffer)); + EXPECT_STREQ(kTestMemory, buffer); + + const auto& modules = process_reader.Modules(); + EXPECT_GT(modules.size(), 0u); + for (const auto& module : modules) { + EXPECT_FALSE(module.name.empty()); + EXPECT_NE(module.type, ModuleSnapshot::kModuleTypeUnknown); + } + + const auto& threads = process_reader.Threads(); + EXPECT_GT(threads.size(), 0u); + + zx_info_handle_basic_t info; + ASSERT_EQ(zx_object_get_info(zx_thread_self(), + ZX_INFO_HANDLE_BASIC, + &info, + sizeof(info), + nullptr, + nullptr), + ZX_OK); + EXPECT_EQ(threads[0].id, info.koid); + EXPECT_EQ(threads[0].state, ZX_THREAD_STATE_RUNNING); + EXPECT_EQ(threads[0].name, "initial-thread"); +} + +constexpr char kTestMemory[] = "Read me from another process"; + +CRASHPAD_CHILD_TEST_MAIN(ProcessReaderBasicChildTestMain) { + CheckedReadFileAtEOF(StdioFileHandle(StdioStream::kStandardInput)); + return 0; +} + +class BasicChildTest : public MultiprocessExec { + public: + BasicChildTest() : MultiprocessExec() { + SetChildTestMainFunction("ProcessReaderBasicChildTestMain"); + } + ~BasicChildTest() {} + + private: + void MultiprocessParent() override { + ProcessReaderFuchsia process_reader; + ASSERT_TRUE(process_reader.Initialize(zx_process_self())); + + std::string read_string; + ASSERT_TRUE(process_reader.Memory()->ReadCString( + reinterpret_cast<zx_vaddr_t>(kTestMemory), &read_string)); + EXPECT_EQ(read_string, kTestMemory); + } + + DISALLOW_COPY_AND_ASSIGN(BasicChildTest); +}; + +TEST(ProcessReaderFuchsia, ChildBasic) { + BasicChildTest test; + test.Run(); +} + +} // namespace +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc b/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc index acd5449..9d0897d 100644 --- a/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc
@@ -23,92 +23,175 @@ ProcessSnapshotFuchsia::~ProcessSnapshotFuchsia() {} bool ProcessSnapshotFuchsia::Initialize(zx_handle_t process) { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 - return false; + INITIALIZATION_STATE_SET_INITIALIZING(initialized_); + + if (!process_reader_.Initialize(process)) { + return false; + } + + InitializeThreads(); + InitializeModules(); + + INITIALIZATION_STATE_SET_VALID(initialized_); + return true; } void ProcessSnapshotFuchsia::GetCrashpadOptions( CrashpadInfoClientOptions* options) { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + CrashpadInfoClientOptions local_options; + + for (const auto& module : modules_) { + CrashpadInfoClientOptions module_options; + module->GetCrashpadOptions(&module_options); + + if (local_options.crashpad_handler_behavior == TriState::kUnset) { + local_options.crashpad_handler_behavior = + module_options.crashpad_handler_behavior; + } + if (local_options.system_crash_reporter_forwarding == TriState::kUnset) { + local_options.system_crash_reporter_forwarding = + module_options.system_crash_reporter_forwarding; + } + if (local_options.gather_indirectly_referenced_memory == TriState::kUnset) { + local_options.gather_indirectly_referenced_memory = + module_options.gather_indirectly_referenced_memory; + local_options.indirectly_referenced_memory_cap = + module_options.indirectly_referenced_memory_cap; + } + + // If non-default values have been found for all options, the loop can end + // early. + if (local_options.crashpad_handler_behavior != TriState::kUnset && + local_options.system_crash_reporter_forwarding != TriState::kUnset && + local_options.gather_indirectly_referenced_memory != TriState::kUnset) { + break; + } + } + + *options = local_options; } pid_t ProcessSnapshotFuchsia::ProcessID() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return 0; } pid_t ProcessSnapshotFuchsia::ParentProcessID() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return 0; } void ProcessSnapshotFuchsia::SnapshotTime(timeval* snapshot_time) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 } void ProcessSnapshotFuchsia::ProcessStartTime(timeval* start_time) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 } void ProcessSnapshotFuchsia::ProcessCPUTimes(timeval* user_time, timeval* system_time) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 } void ProcessSnapshotFuchsia::ReportID(UUID* report_id) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 } void ProcessSnapshotFuchsia::ClientID(UUID* client_id) const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 } const std::map<std::string, std::string>& ProcessSnapshotFuchsia::AnnotationsSimpleMap() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return annotations_simple_map_; } const SystemSnapshot* ProcessSnapshotFuchsia::System() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return nullptr; } std::vector<const ThreadSnapshot*> ProcessSnapshotFuchsia::Threads() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return std::vector<const ThreadSnapshot*>(); } std::vector<const ModuleSnapshot*> ProcessSnapshotFuchsia::Modules() const { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 - return std::vector<const ModuleSnapshot*>(); + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + std::vector<const ModuleSnapshot*> modules; + for (const auto& module : modules_) { + modules.push_back(module.get()); + } + return modules; } std::vector<UnloadedModuleSnapshot> ProcessSnapshotFuchsia::UnloadedModules() const { - NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + // dlclose() never unloads on Fuchsia. ZX-1728 upstream. return std::vector<UnloadedModuleSnapshot>(); } const ExceptionSnapshot* ProcessSnapshotFuchsia::Exception() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return nullptr; } std::vector<const MemoryMapRegionSnapshot*> ProcessSnapshotFuchsia::MemoryMap() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return std::vector<const MemoryMapRegionSnapshot*>(); } std::vector<HandleSnapshot> ProcessSnapshotFuchsia::Handles() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return std::vector<HandleSnapshot>(); } std::vector<const MemorySnapshot*> ProcessSnapshotFuchsia::ExtraMemory() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 return std::vector<const MemorySnapshot*>(); } +void ProcessSnapshotFuchsia::InitializeThreads() { + const std::vector<ProcessReaderFuchsia::Thread>& process_reader_threads = + process_reader_.Threads(); + for (const ProcessReaderFuchsia::Thread& process_reader_thread : + process_reader_threads) { + auto thread = std::make_unique<internal::ThreadSnapshotFuchsia>(); + if (thread->Initialize(&process_reader_, process_reader_thread)) { + threads_.push_back(std::move(thread)); + } + } +} + +void ProcessSnapshotFuchsia::InitializeModules() { + for (const ProcessReaderFuchsia::Module& reader_module : + process_reader_.Modules()) { + auto module = std::make_unique<internal::ModuleSnapshotElf>( + reader_module.name, reader_module.reader, reader_module.type); + if (module->Initialize()) { + modules_.push_back(std::move(module)); + } + } +} + } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h b/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h index 5ae6fd3..eb07733 100644 --- a/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h
@@ -17,10 +17,18 @@ #include <zircon/types.h> +#include <memory> +#include <vector> + #include "base/macros.h" #include "snapshot/crashpad_info_client_options.h" +#include "snapshot/elf/elf_image_reader.h" +#include "snapshot/elf/module_snapshot_elf.h" +#include "snapshot/fuchsia/process_reader_fuchsia.h" +#include "snapshot/fuchsia/thread_snapshot_fuchsia.h" #include "snapshot/process_snapshot.h" #include "snapshot/unloaded_module_snapshot.h" +#include "util/misc/initialization_state_dcheck.h" namespace crashpad { @@ -66,7 +74,17 @@ std::vector<const MemorySnapshot*> ExtraMemory() const override; private: + // Initializes threads_ on behalf of Initialize(). + void InitializeThreads(); + + // Initializes modules_ on behalf of Initialize(). + void InitializeModules(); + + std::vector<std::unique_ptr<internal::ThreadSnapshotFuchsia>> threads_; + std::vector<std::unique_ptr<internal::ModuleSnapshotElf>> modules_; + ProcessReaderFuchsia process_reader_; std::map<std::string, std::string> annotations_simple_map_; + InitializationStateDcheck initialized_; DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotFuchsia); };
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.cc b/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.cc new file mode 100644 index 0000000..ce1aeb33 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.cc
@@ -0,0 +1,96 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "snapshot/fuchsia/thread_snapshot_fuchsia.h" + +#include "base/logging.h" + +namespace crashpad { +namespace internal { + +ThreadSnapshotFuchsia::ThreadSnapshotFuchsia() + : ThreadSnapshot(), + context_arch_(), + context_(), + stack_(), + thread_id_(ZX_KOID_INVALID), + thread_specific_data_address_(0), + initialized_() {} + +ThreadSnapshotFuchsia::~ThreadSnapshotFuchsia() {} + +bool ThreadSnapshotFuchsia::Initialize( + ProcessReaderFuchsia* process_reader, + const ProcessReaderFuchsia::Thread& thread) { + INITIALIZATION_STATE_SET_INITIALIZING(initialized_); + +#if defined(ARCH_CPU_X86_64) + context_.architecture = kCPUArchitectureX86_64; + context_.x86_64 = &context_arch_; +// TODO(scottmg): Implement context capture for x64. +#elif defined(ARCH_CPU_ARM64) + context_.architecture = kCPUArchitectureARM64; + context_.arm64 = &context_arch_; +// TODO(scottmg): Implement context capture for arm64. +#else +#error Port. +#endif + + // TODO(scottmg): https://crashpad.chromium.org/bug/196. Initialize stack_ and + // TLS address here. API request for stack range filed upstream at ZX-1748. + + thread_id_ = thread.id; + + INITIALIZATION_STATE_SET_VALID(initialized_); + return true; +} + +const CPUContext* ThreadSnapshotFuchsia::Context() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return &context_; +} + +const MemorySnapshot* ThreadSnapshotFuchsia::Stack() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return &stack_; +} + +uint64_t ThreadSnapshotFuchsia::ThreadID() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return thread_id_; +} + +int ThreadSnapshotFuchsia::SuspendCount() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + // There is not (currently) a suspend count for threads on Fuchsia. + return 0; +} + +int ThreadSnapshotFuchsia::Priority() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + // There is not (currently) thread priorities on Fuchsia. + return 0; +} + +uint64_t ThreadSnapshotFuchsia::ThreadSpecificDataAddress() const { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return thread_specific_data_address_; +} + +std::vector<const MemorySnapshot*> ThreadSnapshotFuchsia::ExtraMemory() const { + return std::vector<const MemorySnapshot*>(); +} + +} // namespace internal +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.h b/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.h new file mode 100644 index 0000000..db975976 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.h
@@ -0,0 +1,81 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_SNAPSHOT_FUCHSIA_THREAD_SNAPSHOT_FUCHSIA_H_ +#define CRASHPAD_SNAPSHOT_FUCHSIA_THREAD_SNAPSHOT_FUCHSIA_H_ + +#include <stdint.h> +#include <zircon/types.h> + +#include "base/macros.h" +#include "build/build_config.h" +#include "snapshot/cpu_context.h" +#include "snapshot/fuchsia/process_reader_fuchsia.h" +#include "snapshot/memory_snapshot.h" +#include "snapshot/memory_snapshot_generic.h" +#include "snapshot/thread_snapshot.h" +#include "util/misc/initialization_state_dcheck.h" + +namespace crashpad { +namespace internal { + +//! \brief A ThreadSnapshot of a thread on a Fuchsia system. +class ThreadSnapshotFuchsia final : public ThreadSnapshot { + public: + ThreadSnapshotFuchsia(); + ~ThreadSnapshotFuchsia() override; + + //! \brief Initializes the object. + //! + //! \param[in] process_reader A ProcessReaderFuchsia for the process + //! containing the thread. + //! \param[in] thread The thread within the ProcessReaderFuchsia for + //! which the snapshot should be created. + //! + //! \return `true` if the snapshot could be created, `false` otherwise with + //! a message logged. + bool Initialize(ProcessReaderFuchsia* process_reader, + const ProcessReaderFuchsia::Thread& thread); + + // ThreadSnapshot: + + const CPUContext* Context() const override; + const MemorySnapshot* Stack() const override; + uint64_t ThreadID() const override; + int SuspendCount() const override; + int Priority() const override; + uint64_t ThreadSpecificDataAddress() const override; + std::vector<const MemorySnapshot*> ExtraMemory() const override; + + private: +#if defined(ARCH_CPU_X86_64) + CPUContextX86_64 context_arch_; +#elif defined(ARCH_CPU_ARM64) + CPUContextARM64 context_arch_; +#else +#error Port. +#endif + CPUContext context_; + MemorySnapshotGeneric<ProcessReaderFuchsia> stack_; + zx_koid_t thread_id_; + zx_vaddr_t thread_specific_data_address_; + InitializationStateDcheck initialized_; + + DISALLOW_COPY_AND_ASSIGN(ThreadSnapshotFuchsia); +}; + +} // namespace internal +} // namespace crashpad + +#endif // CRASHPAD_SNAPSHOT_FUCHSIA_THREAD_SNAPSHOT_FUCHSIA_H_
diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc index 498b1f79..fa2e8f9 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
@@ -18,7 +18,7 @@ #include "base/logging.h" #include "snapshot/linux/cpu_context_linux.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/linux/signal_context.h" #include "util/linux/traits.h" #include "util/misc/reinterpret_bytes.h" @@ -43,7 +43,7 @@ #if defined(ARCH_CPU_X86_FAMILY) template <> bool ExceptionSnapshotLinux::ReadContext<ContextTraits32>( - ProcessReader* reader, + ProcessReaderLinux* reader, LinuxVMAddress context_address) { UContext<ContextTraits32> ucontext; if (!reader->Memory()->Read(context_address, sizeof(ucontext), &ucontext)) { @@ -79,7 +79,7 @@ template <> bool ExceptionSnapshotLinux::ReadContext<ContextTraits64>( - ProcessReader* reader, + ProcessReaderLinux* reader, LinuxVMAddress context_address) { UContext<ContextTraits64> ucontext; if (!reader->Memory()->Read(context_address, sizeof(ucontext), &ucontext)) { @@ -99,7 +99,7 @@ template <> bool ExceptionSnapshotLinux::ReadContext<ContextTraits32>( - ProcessReader* reader, + ProcessReaderLinux* reader, LinuxVMAddress context_address) { context_.architecture = kCPUArchitectureARM; context_.arm = &context_union_.arm; @@ -179,7 +179,7 @@ template <> bool ExceptionSnapshotLinux::ReadContext<ContextTraits64>( - ProcessReader* reader, + ProcessReaderLinux* reader, LinuxVMAddress context_address) { context_.architecture = kCPUArchitectureARM64; context_.arm64 = &context_union_.arm64; @@ -253,7 +253,7 @@ #endif // ARCH_CPU_X86_FAMILY -bool ExceptionSnapshotLinux::Initialize(ProcessReader* process_reader, +bool ExceptionSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, LinuxVMAddress siginfo_address, LinuxVMAddress context_address, pid_t thread_id) { @@ -278,7 +278,7 @@ } template <typename Traits> -bool ExceptionSnapshotLinux::ReadSiginfo(ProcessReader* reader, +bool ExceptionSnapshotLinux::ReadSiginfo(ProcessReaderLinux* reader, LinuxVMAddress siginfo_address) { Siginfo<Traits> siginfo; if (!reader->Memory()->Read(siginfo_address, sizeof(siginfo), &siginfo)) {
diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h index 7394966..0dcead7b 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h +++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
@@ -24,7 +24,7 @@ #include "build/build_config.h" #include "snapshot/cpu_context.h" #include "snapshot/exception_snapshot.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/memory_snapshot.h" #include "util/linux/address_types.h" #include "util/misc/initialization_state_dcheck.h" @@ -41,7 +41,8 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the process that received + //! \param[in] process_reader A ProcessReaderLinux for the process that + //! received //! the signal. //! \param[in] siginfo_address The address in the target process' address //! space of the siginfo_t passed to the signal handler. @@ -51,7 +52,7 @@ //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged. - bool Initialize(ProcessReader* process_reader, + bool Initialize(ProcessReaderLinux* process_reader, LinuxVMAddress siginfo_address, LinuxVMAddress context_address, pid_t thread_id); @@ -68,10 +69,10 @@ private: template <typename Traits> - bool ReadSiginfo(ProcessReader* reader, LinuxVMAddress siginfo_address); + bool ReadSiginfo(ProcessReaderLinux* reader, LinuxVMAddress siginfo_address); template <typename Traits> - bool ReadContext(ProcessReader* reader, LinuxVMAddress context_address); + bool ReadContext(ProcessReaderLinux* reader, LinuxVMAddress context_address); union { #if defined(ARCH_CPU_X86_FAMILY)
diff --git a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc index 24f0ef5..4add607d 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
@@ -25,7 +25,7 @@ #include "base/strings/stringprintf.h" #include "gtest/gtest.h" #include "snapshot/cpu_architecture.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/linux/signal_context.h" #include "sys/syscall.h" #include "test/errors.h" @@ -271,7 +271,7 @@ FakePtraceConnection connection; ASSERT_TRUE(connection.Initialize(getpid())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); siginfo_t siginfo; @@ -348,7 +348,7 @@ FakePtraceConnection connection; ASSERT_TRUE(connection.Initialize(getpid())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); internal::ExceptionSnapshotLinux exception; @@ -411,7 +411,7 @@ FakePtraceConnection connection; ASSERT_TRUE(connection.Initialize(getpid())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); internal::ExceptionSnapshotLinux exception;
diff --git a/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.cc deleted file mode 100644 index dfe9d33..0000000 --- a/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.cc +++ /dev/null
@@ -1,73 +0,0 @@ -// Copyright 2017 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "snapshot/linux/memory_snapshot_linux.h" - -#include <memory> - -namespace crashpad { -namespace internal { - -MemorySnapshotLinux::MemorySnapshotLinux() - : MemorySnapshot(), - process_reader_(nullptr), - address_(0), - size_(0), - initialized_() { -} - -MemorySnapshotLinux::~MemorySnapshotLinux() { -} - -void MemorySnapshotLinux::Initialize(ProcessReader* process_reader, - LinuxVMAddress address, - size_t size) { - INITIALIZATION_STATE_SET_INITIALIZING(initialized_); - process_reader_ = process_reader; - address_ = address; - size_ = size; - INITIALIZATION_STATE_SET_VALID(initialized_); -} - -uint64_t MemorySnapshotLinux::Address() const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - return address_; -} - -size_t MemorySnapshotLinux::Size() const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - return size_; -} - -bool MemorySnapshotLinux::Read(Delegate* delegate) const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - - if (size_ == 0) { - return delegate->MemorySnapshotDelegateRead(nullptr, size_); - } - - std::unique_ptr<uint8_t[]> buffer(new uint8_t[size_]); - if (!process_reader_->Memory()->Read(address_, size_, buffer.get())) { - return false; - } - return delegate->MemorySnapshotDelegateRead(buffer.get(), size_); -} - -const MemorySnapshot* MemorySnapshotLinux::MergeWithOtherSnapshot( - const MemorySnapshot* other) const { - return MergeWithOtherSnapshotImpl(this, other); -} - -} // namespace internal -} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.h deleted file mode 100644 index 8b4bcf8..0000000 --- a/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.h +++ /dev/null
@@ -1,76 +0,0 @@ -// Copyright 2017 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CRASHPAD_SNAPSHOT_LINUX_MEMORY_SNAPSHOT_LINUX_H_ -#define CRASHPAD_SNAPSHOT_LINUX_MEMORY_SNAPSHOT_LINUX_H_ - -#include <stddef.h> -#include <stdint.h> - -#include "base/macros.h" -#include "snapshot/linux/process_reader.h" -#include "snapshot/memory_snapshot.h" -#include "util/linux/address_types.h" -#include "util/misc/initialization_state_dcheck.h" - -namespace crashpad { -namespace internal { - -//! \brief A MemorySnapshot of a memory region in a process on the running -//! system, when the system runs Linux. -class MemorySnapshotLinux final : public MemorySnapshot { - public: - MemorySnapshotLinux(); - ~MemorySnapshotLinux() override; - - //! \brief Initializes the object. - //! - //! Memory is read lazily. No attempt is made to read the memory snapshot data - //! until Read() is called, and the memory snapshot data is discared when - //! Read() returns. - //! - //! \param[in] process_reader A reader for the process being snapshotted. - //! \param[in] address The base address of the memory region to snapshot, in - //! the snapshot process’ address space. - //! \param[in] size The size of the memory region to snapshot. - void Initialize(ProcessReader* process_reader, - LinuxVMAddress address, - size_t size); - - // MemorySnapshot: - - uint64_t Address() const override; - size_t Size() const override; - bool Read(Delegate* delegate) const override; - const MemorySnapshot* MergeWithOtherSnapshot( - const MemorySnapshot* other) const override; - - private: - template <class T> - friend const MemorySnapshot* MergeWithOtherSnapshotImpl( - const T* self, - const MemorySnapshot* other); - - ProcessReader* process_reader_; // weak - uint64_t address_; - size_t size_; - InitializationStateDcheck initialized_; - - DISALLOW_COPY_AND_ASSIGN(MemorySnapshotLinux); -}; - -} // namespace internal -} // namespace crashpad - -#endif // CRASHPAD_SNAPSHOT_LINUX_MEMORY_SNAPSHOT_LINUX_H_
diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_reader.cc b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc similarity index 91% rename from third_party/crashpad/crashpad/snapshot/linux/process_reader.cc rename to third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc index 0f196c6..40b1406 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/process_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
@@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include <elf.h> #include <errno.h> @@ -46,7 +46,7 @@ } // namespace -ProcessReader::Thread::Thread() +ProcessReaderLinux::Thread::Thread() : thread_info(), stack_region_address(0), stack_region_size(0), @@ -54,9 +54,10 @@ static_priority(-1), nice_value(-1) {} -ProcessReader::Thread::~Thread() {} +ProcessReaderLinux::Thread::~Thread() {} -bool ProcessReader::Thread::InitializePtrace(PtraceConnection* connection) { +bool ProcessReaderLinux::Thread::InitializePtrace( + PtraceConnection* connection) { if (!connection->GetThreadInfo(tid, &thread_info)) { return false; } @@ -89,7 +90,7 @@ return true; } -void ProcessReader::Thread::InitializeStack(ProcessReader* reader) { +void ProcessReaderLinux::Thread::InitializeStack(ProcessReaderLinux* reader) { LinuxVMAddress stack_pointer; #if defined(ARCH_CPU_X86_FAMILY) stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.rsp @@ -169,12 +170,12 @@ } } -ProcessReader::Module::Module() +ProcessReaderLinux::Module::Module() : name(), elf_reader(nullptr), type(ModuleSnapshot::kModuleTypeUnknown) {} -ProcessReader::Module::~Module() = default; +ProcessReaderLinux::Module::~Module() = default; -ProcessReader::ProcessReader() +ProcessReaderLinux::ProcessReaderLinux() : connection_(), process_info_(), memory_map_(), @@ -187,9 +188,9 @@ initialized_modules_(false), initialized_() {} -ProcessReader::~ProcessReader() {} +ProcessReaderLinux::~ProcessReaderLinux() {} -bool ProcessReader::Initialize(PtraceConnection* connection) { +bool ProcessReaderLinux::Initialize(PtraceConnection* connection) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); DCHECK(connection); connection_ = connection; @@ -213,12 +214,13 @@ return true; } -bool ProcessReader::StartTime(timeval* start_time) const { +bool ProcessReaderLinux::StartTime(timeval* start_time) const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); return process_info_.StartTime(start_time); } -bool ProcessReader::CPUTimes(timeval* user_time, timeval* system_time) const { +bool ProcessReaderLinux::CPUTimes(timeval* user_time, + timeval* system_time) const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); timerclear(user_time); timerclear(system_time); @@ -253,7 +255,7 @@ return true; } -const std::vector<ProcessReader::Thread>& ProcessReader::Threads() { +const std::vector<ProcessReaderLinux::Thread>& ProcessReaderLinux::Threads() { INITIALIZATION_STATE_DCHECK_VALID(initialized_); if (!initialized_threads_) { InitializeThreads(); @@ -261,7 +263,7 @@ return threads_; } -const std::vector<ProcessReader::Module>& ProcessReader::Modules() { +const std::vector<ProcessReaderLinux::Module>& ProcessReaderLinux::Modules() { INITIALIZATION_STATE_DCHECK_VALID(initialized_); if (!initialized_modules_) { InitializeModules(); @@ -269,7 +271,7 @@ return modules_; } -void ProcessReader::InitializeThreads() { +void ProcessReaderLinux::InitializeThreads() { DCHECK(threads_.empty()); pid_t pid = ProcessID(); @@ -326,7 +328,7 @@ DCHECK(main_thread_found); } -void ProcessReader::InitializeModules() { +void ProcessReaderLinux::InitializeModules() { INITIALIZATION_STATE_DCHECK_VALID(initialized_); AuxiliaryVector aux;
diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_reader.h b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.h similarity index 91% rename from third_party/crashpad/crashpad/snapshot/linux/process_reader.h rename to third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.h index 59a3c7ef..2e89655 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/process_reader.h +++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.h
@@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_H_ -#define CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_H_ +#ifndef CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_LINUX_H_ +#define CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_LINUX_H_ #include <sys/time.h> #include <sys/types.h> @@ -38,7 +38,7 @@ //! \brief Accesses information about another process, identified by a process //! ID. -class ProcessReader { +class ProcessReaderLinux { public: //! \brief Contains information about a thread that belongs to a process. struct Thread { @@ -54,10 +54,10 @@ int nice_value; private: - friend class ProcessReader; + friend class ProcessReaderLinux; bool InitializePtrace(PtraceConnection* connection); - void InitializeStack(ProcessReader* reader); + void InitializeStack(ProcessReaderLinux* reader); }; //! \brief Contains information about a module loaded into a process. @@ -71,7 +71,7 @@ //! \brief An image reader for the module. //! //! The lifetime of this ElfImageReader is scoped to the lifetime of the - //! ProcessReader that created it. + //! ProcessReaderLinux that created it. //! //! This field may be `nullptr` if a reader could not be created for the //! module. @@ -81,8 +81,8 @@ ModuleSnapshot::ModuleType type; }; - ProcessReader(); - ~ProcessReader(); + ProcessReaderLinux(); + ~ProcessReaderLinux(); //! \brief Initializes this object. //! @@ -152,9 +152,9 @@ bool initialized_modules_; InitializationStateDcheck initialized_; - DISALLOW_COPY_AND_ASSIGN(ProcessReader); + DISALLOW_COPY_AND_ASSIGN(ProcessReaderLinux); }; } // namespace crashpad -#endif // CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_H_ +#endif // CRASHPAD_SNAPSHOT_LINUX_PROCESS_READER_LINUX_H_
diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_reader_test.cc b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc similarity index 92% rename from third_party/crashpad/crashpad/snapshot/linux/process_reader_test.cc rename to third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc index a8190b3..11a606a9 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/process_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc
@@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include <errno.h> #include <link.h> @@ -55,11 +55,11 @@ return syscall(SYS_gettid); } -TEST(ProcessReader, SelfBasic) { +TEST(ProcessReaderLinux, SelfBasic) { FakePtraceConnection connection; connection.Initialize(getpid()); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); #if defined(ARCH_CPU_64_BITS) @@ -92,7 +92,7 @@ DirectPtraceConnection connection; ASSERT_TRUE(connection.Initialize(ChildPID())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); #if !defined(ARCH_CPU_64_BITS) @@ -115,7 +115,7 @@ DISALLOW_COPY_AND_ASSIGN(BasicChildTest); }; -TEST(ProcessReader, ChildBasic) { +TEST(ProcessReaderLinux, ChildBasic) { BasicChildTest test; test.Run(); } @@ -241,7 +241,7 @@ using ThreadMap = std::map<pid_t, TestThreadPool::ThreadExpectation>; void ExpectThreads(const ThreadMap& thread_map, - const std::vector<ProcessReader::Thread>& threads, + const std::vector<ProcessReaderLinux::Thread>& threads, const pid_t pid) { ASSERT_EQ(threads.size(), thread_map.size()); MemoryMap memory_map; @@ -302,9 +302,9 @@ DirectPtraceConnection connection; ASSERT_TRUE(connection.Initialize(ChildPID())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); - const std::vector<ProcessReader::Thread>& threads = + const std::vector<ProcessReaderLinux::Thread>& threads = process_reader.Threads(); ExpectThreads(thread_map, threads, ChildPID()); } @@ -350,12 +350,12 @@ DISALLOW_COPY_AND_ASSIGN(ChildThreadTest); }; -TEST(ProcessReader, ChildWithThreads) { +TEST(ProcessReaderLinux, ChildWithThreads) { ChildThreadTest test; test.Run(); } -TEST(ProcessReader, ChildThreadsWithSmallUserStacks) { +TEST(ProcessReaderLinux, ChildThreadsWithSmallUserStacks) { ChildThreadTest test(PTHREAD_STACK_MIN); test.Run(); } @@ -379,10 +379,10 @@ DirectPtraceConnection connection; ASSERT_TRUE(connection.Initialize(ChildPID())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); - const std::vector<ProcessReader::Thread>& threads = + const std::vector<ProcessReaderLinux::Thread>& threads = process_reader.Threads(); ASSERT_EQ(threads.size(), 1u); @@ -440,7 +440,7 @@ DISALLOW_COPY_AND_ASSIGN(ChildWithSplitStackTest); }; -TEST(ProcessReader, ChildWithSplitStack) { +TEST(ProcessReaderLinux, ChildWithSplitStack) { ChildWithSplitStackTest test; test.Run(); } @@ -454,7 +454,7 @@ LinuxVMAddress{info->dlpi_addr}, FromPointerCast<LinuxVMAddress>(info->dlpi_phdr))); auto modules = - reinterpret_cast<const std::vector<ProcessReader::Module>*>(data); + reinterpret_cast<const std::vector<ProcessReaderLinux::Module>*>(data); auto phdr_addr = FromPointerCast<LinuxVMAddress>(info->dlpi_phdr); @@ -482,7 +482,8 @@ } #endif // !OS_ANDROID || !ARCH_CPU_ARMEL || __ANDROID_API__ >= 21 -void ExpectModulesFromSelf(const std::vector<ProcessReader::Module>& modules) { +void ExpectModulesFromSelf( + const std::vector<ProcessReaderLinux::Module>& modules) { for (const auto& module : modules) { EXPECT_FALSE(module.name.empty()); EXPECT_NE(module.type, ModuleSnapshot::kModuleTypeUnknown); @@ -490,19 +491,20 @@ // Android doesn't provide dl_iterate_phdr on ARM until API 21. #if !defined(OS_ANDROID) || !defined(ARCH_CPU_ARMEL) || __ANDROID_API__ >= 21 - EXPECT_EQ(dl_iterate_phdr( - ExpectFindModule, - reinterpret_cast<void*>( - const_cast<std::vector<ProcessReader::Module>*>(&modules))), - 0); + EXPECT_EQ( + dl_iterate_phdr( + ExpectFindModule, + reinterpret_cast<void*>( + const_cast<std::vector<ProcessReaderLinux::Module>*>(&modules))), + 0); #endif // !OS_ANDROID || !ARCH_CPU_ARMEL || __ANDROID_API__ >= 21 } -TEST(ProcessReader, SelfModules) { +TEST(ProcessReaderLinux, SelfModules) { FakePtraceConnection connection; connection.Initialize(getpid()); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); ExpectModulesFromSelf(process_reader.Modules()); @@ -518,7 +520,7 @@ DirectPtraceConnection connection; ASSERT_TRUE(connection.Initialize(ChildPID())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); ExpectModulesFromSelf(process_reader.Modules()); @@ -529,7 +531,7 @@ DISALLOW_COPY_AND_ASSIGN(ChildModuleTest); }; -TEST(ProcessReader, ChildModules) { +TEST(ProcessReaderLinux, ChildModules) { ChildModuleTest test; test.Run(); }
diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc index 8397ad9..9e21244 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc
@@ -213,9 +213,9 @@ } void ProcessSnapshotLinux::InitializeThreads() { - const std::vector<ProcessReader::Thread>& process_reader_threads = + const std::vector<ProcessReaderLinux::Thread>& process_reader_threads = process_reader_.Threads(); - for (const ProcessReader::Thread& process_reader_thread : + for (const ProcessReaderLinux::Thread& process_reader_thread : process_reader_threads) { auto thread = std::make_unique<internal::ThreadSnapshotLinux>(); if (thread->Initialize(&process_reader_, process_reader_thread)) { @@ -225,9 +225,11 @@ } void ProcessSnapshotLinux::InitializeModules() { - for (const ProcessReader::Module& reader_module : process_reader_.Modules()) { - auto module = std::make_unique<internal::ModuleSnapshotLinux>(); - if (module->Initialize(reader_module)) { + for (const ProcessReaderLinux::Module& reader_module : + process_reader_.Modules()) { + auto module = std::make_unique<internal::ModuleSnapshotElf>( + reader_module.name, reader_module.elf_reader, reader_module.type); + if (module->Initialize()) { modules_.push_back(std::move(module)); } }
diff --git a/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h index aa6964c..25c414d 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h +++ b/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h
@@ -25,9 +25,9 @@ #include "base/macros.h" #include "snapshot/crashpad_info_client_options.h" +#include "snapshot/elf/module_snapshot_elf.h" #include "snapshot/linux/exception_snapshot_linux.h" -#include "snapshot/linux/module_snapshot_linux.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/linux/system_snapshot_linux.h" #include "snapshot/linux/thread_snapshot_linux.h" #include "snapshot/memory_map_region_snapshot.h" @@ -124,10 +124,10 @@ UUID report_id_; UUID client_id_; std::vector<std::unique_ptr<internal::ThreadSnapshotLinux>> threads_; - std::vector<std::unique_ptr<internal::ModuleSnapshotLinux>> modules_; + std::vector<std::unique_ptr<internal::ModuleSnapshotElf>> modules_; std::unique_ptr<internal::ExceptionSnapshotLinux> exception_; internal::SystemSnapshotLinux system_; - ProcessReader process_reader_; + ProcessReaderLinux process_reader_; InitializationStateDcheck initialized_; DISALLOW_COPY_AND_ASSIGN(ProcessSnapshotLinux);
diff --git a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc index c9c6438..4c39288 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
@@ -151,7 +151,7 @@ SystemSnapshotLinux::~SystemSnapshotLinux() {} -void SystemSnapshotLinux::Initialize(ProcessReader* process_reader, +void SystemSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, const timeval* snapshot_time) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); process_reader_ = process_reader;
diff --git a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h index a991450..d22c49a6 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h +++ b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h
@@ -22,7 +22,7 @@ #include "base/macros.h" #include "build/build_config.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/system_snapshot.h" #include "util/misc/initialization_state_dcheck.h" @@ -44,9 +44,9 @@ //! \param[in] process_reader A reader for the process being snapshotted. //! \n\n //! It seems odd that a system snapshot implementation would need a - //! ProcessReader, but some of the information reported about the system - //! depends on the process it’s being reported for. For example, the - //! architecture returned by GetCPUArchitecture() should be the + //! ProcessReaderLinux, but some of the information reported about the + //! system depends on the process it’s being reported for. For example, + //! the architecture returned by GetCPUArchitecture() should be the //! architecture of the process, which may be different than the native //! architecture of the system: an x86_64 system can run both x86_64 and //! 32-bit x86 processes. @@ -57,7 +57,8 @@ //! Otherwise, it would need to base its determination on the current //! time, which may be different than the snapshot time for snapshots //! generated around the daylight saving transition time. - void Initialize(ProcessReader* process_reader, const timeval* snapshot_time); + void Initialize(ProcessReaderLinux* process_reader, + const timeval* snapshot_time); // SystemSnapshot: @@ -91,7 +92,7 @@ std::string os_version_full_; std::string os_version_build_; - ProcessReader* process_reader_; // weak + ProcessReaderLinux* process_reader_; // weak const timeval* snapshot_time_; // weak #if defined(ARCH_CPU_X86_FAMILY) CpuidReader cpuid_;
diff --git a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc index a91dfa41..46d3845f 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc
@@ -21,7 +21,7 @@ #include "build/build_config.h" #include "gtest/gtest.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "test/errors.h" #include "test/linux/fake_ptrace_connection.h" @@ -33,7 +33,7 @@ FakePtraceConnection connection; ASSERT_TRUE(connection.Initialize(getpid())); - ProcessReader process_reader; + ProcessReaderLinux process_reader; ASSERT_TRUE(process_reader.Initialize(&connection)); timeval snapshot_time;
diff --git a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc index f465a59..084ed73 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc +++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
@@ -37,9 +37,8 @@ ThreadSnapshotLinux::~ThreadSnapshotLinux() { } -bool ThreadSnapshotLinux::Initialize( - ProcessReader* process_reader, - const ProcessReader::Thread& thread) { +bool ThreadSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, + const ProcessReaderLinux::Thread& thread) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); #if defined(ARCH_CPU_X86_FAMILY)
diff --git a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h index 1ba291d..8fc7e17 100644 --- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h +++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
@@ -20,9 +20,9 @@ #include "base/macros.h" #include "build/build_config.h" #include "snapshot/cpu_context.h" -#include "snapshot/linux/memory_snapshot_linux.h" -#include "snapshot/linux/process_reader.h" +#include "snapshot/linux/process_reader_linux.h" #include "snapshot/memory_snapshot.h" +#include "snapshot/memory_snapshot_generic.h" #include "snapshot/thread_snapshot.h" #include "util/misc/initialization_state_dcheck.h" @@ -37,15 +37,15 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the process containing the - //! thread. - //! \param[in] thread The thread within the ProcessReader for + //! \param[in] process_reader A ProcessReaderLinux for the process containing + //! the thread. + //! \param[in] thread The thread within the ProcessReaderLinux for //! which the snapshot should be created. //! //! \return `true` if the snapshot could be created, `false` otherwise with //! a message logged. - bool Initialize(ProcessReader* process_reader, - const ProcessReader::Thread& thread); + bool Initialize(ProcessReaderLinux* process_reader, + const ProcessReaderLinux::Thread& thread); // ThreadSnapshot: @@ -70,7 +70,7 @@ #endif // ARCH_CPU_X86_FAMILY } context_union_; CPUContext context_; - MemorySnapshotLinux stack_; + MemorySnapshotGeneric<ProcessReaderLinux> stack_; LinuxVMAddress thread_specific_data_address_; pid_t thread_id_; int priority_;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc index 92c8450..50d1a12 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc
@@ -17,7 +17,7 @@ #include "base/logging.h" #include "base/strings/stringprintf.h" #include "snapshot/mac/cpu_context_mac.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "util/mach/exception_behaviors.h" #include "util/mach/exception_types.h" #include "util/mach/symbolic_constants_mach.h" @@ -41,7 +41,7 @@ ExceptionSnapshotMac::~ExceptionSnapshotMac() { } -bool ExceptionSnapshotMac::Initialize(ProcessReader* process_reader, +bool ExceptionSnapshotMac::Initialize(ProcessReaderMac* process_reader, exception_behavior_t behavior, thread_t exception_thread, exception_type_t exception, @@ -126,8 +126,9 @@ exception_code_0_ = unsigned_exception_code_0; } - const ProcessReader::Thread* thread = nullptr; - for (const ProcessReader::Thread& loop_thread : process_reader->Threads()) { + const ProcessReaderMac::Thread* thread = nullptr; + for (const ProcessReaderMac::Thread& loop_thread : + process_reader->Threads()) { if (exception_thread == loop_thread.port) { thread = &loop_thread; break;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h index 9a6ddcaa..52ef519 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h +++ b/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h
@@ -29,7 +29,7 @@ namespace crashpad { -class ProcessReader; +class ProcessReaderMac; namespace internal { @@ -45,8 +45,8 @@ //! Other than \a process_reader, the parameters may be passed directly //! through from a Mach exception handler. //! - //! \param[in] process_reader A ProcessReader for the task that sustained the - //! exception. + //! \param[in] process_reader A ProcessReaderMac for the task that sustained + //! the exception. //! \param[in] behavior //! \param[in] exception_thread //! \param[in] exception @@ -58,7 +58,7 @@ //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged. - bool Initialize(ProcessReader* process_reader, + bool Initialize(ProcessReaderMac* process_reader, exception_behavior_t behavior, thread_t exception_thread, exception_type_t exception,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc index bb8f7e2..b02acae 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc
@@ -24,7 +24,7 @@ #include "client/crashpad_info.h" #include "client/simple_string_dictionary.h" #include "snapshot/mac/mach_o_image_reader.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/snapshot_constants.h" #include "util/mach/task_memory.h" #include "util/stdlib/strnlen.h" @@ -32,13 +32,12 @@ namespace crashpad { MachOImageAnnotationsReader::MachOImageAnnotationsReader( - ProcessReader* process_reader, + ProcessReaderMac* process_reader, const MachOImageReader* image_reader, const std::string& name) : name_(name), process_reader_(process_reader), - image_reader_(image_reader) { -} + image_reader_(image_reader) {} std::vector<std::string> MachOImageAnnotationsReader::Vector() const { std::vector<std::string> vector_annotations;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h index 06d2bea..a56b073 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h
@@ -26,7 +26,7 @@ namespace crashpad { class MachOImageReader; -class ProcessReader; +class ProcessReaderMac; //! \brief A reader for annotations stored in a Mach-O image mapped into another //! process. @@ -54,7 +54,7 @@ //! contained within the remote process. //! \param[in] name The module’s name, a string to be used in logged messages. //! This string is for diagnostic purposes only, and may be empty. - MachOImageAnnotationsReader(ProcessReader* process_reader, + MachOImageAnnotationsReader(ProcessReaderMac* process_reader, const MachOImageReader* image_reader, const std::string& name); @@ -91,7 +91,7 @@ std::vector<AnnotationSnapshot>* vector_annotations) const; std::string name_; - ProcessReader* process_reader_; // weak + ProcessReaderMac* process_reader_; // weak const MachOImageReader* image_reader_; // weak DISALLOW_COPY_AND_ASSIGN(MachOImageAnnotationsReader);
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc index f486c1d..6930250 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc
@@ -33,7 +33,7 @@ #include "client/crashpad_info.h" #include "client/simple_string_dictionary.h" #include "gtest/gtest.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "test/errors.h" #include "test/mac/mach_errors.h" #include "test/mac/mach_multiprocess.h" @@ -161,15 +161,15 @@ EXPECT_EQ(kr, KERN_SUCCESS) << MachErrorMessage(kr, "pid_for_task"); EXPECT_EQ(task_pid, ChildPID()); - ProcessReader process_reader; + ProcessReaderMac process_reader; bool rv = process_reader.Initialize(task); if (!rv) { ADD_FAILURE(); } else { - const std::vector<ProcessReader::Module>& modules = + const std::vector<ProcessReaderMac::Module>& modules = process_reader.Modules(); std::vector<std::string> all_annotations_vector; - for (const ProcessReader::Module& module : modules) { + for (const ProcessReaderMac::Module& module : modules) { if (module.reader) { MachOImageAnnotationsReader module_annotations_reader( &process_reader, module.reader, module.name); @@ -271,7 +271,7 @@ // MachMultiprocess: void MachMultiprocessParent() override { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(ChildTask())); // Wait for the child process to indicate that it’s done setting up its @@ -281,11 +281,11 @@ // Verify the “simple map” and object-based annotations set via the // CrashpadInfo interface. - const std::vector<ProcessReader::Module>& modules = + const std::vector<ProcessReaderMac::Module>& modules = process_reader.Modules(); std::map<std::string, std::string> all_annotations_simple_map; std::vector<AnnotationSnapshot> all_annotations; - for (const ProcessReader::Module& module : modules) { + for (const ProcessReaderMac::Module& module : modules) { MachOImageAnnotationsReader module_annotations_reader( &process_reader, module.reader, module.name); std::map<std::string, std::string> module_annotations_simple_map =
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc index 8a65726..6baee770 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc
@@ -26,7 +26,7 @@ #include "client/crashpad_info.h" #include "snapshot/mac/mach_o_image_segment_reader.h" #include "snapshot/mac/mach_o_image_symbol_table_reader.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "util/mac/checked_mach_address_range.h" #include "util/misc/implicit_cast.h" @@ -62,7 +62,7 @@ MachOImageReader::~MachOImageReader() { } -bool MachOImageReader::Initialize(ProcessReader* process_reader, +bool MachOImageReader::Initialize(ProcessReaderMac* process_reader, mach_vm_address_t address, const std::string& name) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_);
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h index c16cce9..aded956 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h
@@ -33,7 +33,7 @@ class MachOImageSegmentReader; class MachOImageSymbolTableReader; -class ProcessReader; +class ProcessReaderMac; //! \brief A reader for Mach-O images mapped into another process. //! @@ -64,7 +64,7 @@ //! //! \return `true` if the image was read successfully, including all load //! commands. `false` otherwise, with an appropriate message logged. - bool Initialize(ProcessReader* process_reader, + bool Initialize(ProcessReaderMac* process_reader, mach_vm_address_t address, const std::string& name); @@ -337,7 +337,7 @@ mutable std::unique_ptr<MachOImageSymbolTableReader> symbol_table_; std::unique_ptr<process_types::dylib_command> id_dylib_command_; - ProcessReader* process_reader_; // weak + ProcessReaderMac* process_reader_; // weak uint32_t file_type_; InitializationStateDcheck initialized_;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc index d6b801f8..625f8a7 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc
@@ -29,7 +29,7 @@ #include "client/crashpad_info.h" #include "gtest/gtest.h" #include "snapshot/mac/mach_o_image_segment_reader.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/mac/process_types.h" #include "test/mac/dyld.h" #include "util/misc/from_pointer_cast.h" @@ -496,7 +496,7 @@ } TEST(MachOImageReader, Self_MainExecutable) { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); const MachHeader* mh_execute_header = @@ -531,7 +531,7 @@ } TEST(MachOImageReader, Self_DyldImages) { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); uint32_t count = _dyld_image_count();
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc index 06e1daf4..1be829d 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc
@@ -20,7 +20,7 @@ #include "base/logging.h" #include "base/strings/stringprintf.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "util/mac/checked_mach_address_range.h" #include "util/mac/mac_util.h" #include "util/stdlib/strnlen.h" @@ -47,7 +47,7 @@ MachOImageSegmentReader::~MachOImageSegmentReader() { } -bool MachOImageSegmentReader::Initialize(ProcessReader* process_reader, +bool MachOImageSegmentReader::Initialize(ProcessReaderMac* process_reader, mach_vm_address_t load_command_address, const std::string& load_command_info, const std::string& module_name,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h index 20f891d..bdd5771 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h
@@ -62,7 +62,7 @@ //! //! \return `true` if the load command was read successfully. `false` //! otherwise, with an appropriate message logged. - bool Initialize(ProcessReader* process_reader, + bool Initialize(ProcessReaderMac* process_reader, mach_vm_address_t load_command_address, const std::string& load_command_info, const std::string& module_name,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc index c5eb196..361253ce 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc
@@ -39,7 +39,7 @@ class MachOImageSymbolTableReaderInitializer { public: MachOImageSymbolTableReaderInitializer( - ProcessReader* process_reader, + ProcessReaderMac* process_reader, const MachOImageSegmentReader* linkedit_segment, const std::string& module_info) : module_info_(module_info), @@ -243,7 +243,7 @@ std::string module_info_; CheckedMachAddressRange linkedit_range_; - ProcessReader* process_reader_; // weak + ProcessReaderMac* process_reader_; // weak const MachOImageSegmentReader* linkedit_segment_; // weak DISALLOW_COPY_AND_ASSIGN(MachOImageSymbolTableReaderInitializer); @@ -259,7 +259,7 @@ } bool MachOImageSymbolTableReader::Initialize( - ProcessReader* process_reader, + ProcessReaderMac* process_reader, const process_types::symtab_command* symtab_command, const process_types::dysymtab_command* dysymtab_command, const MachOImageSegmentReader* linkedit_segment,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h index a097854..841b479a 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h +++ b/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h
@@ -23,7 +23,7 @@ #include "base/macros.h" #include "snapshot/mac/mach_o_image_segment_reader.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/mac/process_types.h" #include "util/misc/initialization_state_dcheck.h" @@ -92,7 +92,7 @@ //! //! \return `true` if the symbol table was read successfully. `false` //! otherwise, with an appropriate message logged. - bool Initialize(ProcessReader* process_reader, + bool Initialize(ProcessReaderMac* process_reader, const process_types::symtab_command* symtab_command, const process_types::dysymtab_command* dysymtab_command, const MachOImageSegmentReader* linkedit_segment,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.cc deleted file mode 100644 index ec1d460..0000000 --- a/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.cc +++ /dev/null
@@ -1,75 +0,0 @@ -// Copyright 2014 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "snapshot/mac/memory_snapshot_mac.h" - -#include <memory> - -#include "util/mach/task_memory.h" - -namespace crashpad { -namespace internal { - -MemorySnapshotMac::MemorySnapshotMac() - : MemorySnapshot(), - process_reader_(nullptr), - address_(0), - size_(0), - initialized_() { -} - -MemorySnapshotMac::~MemorySnapshotMac() { -} - -void MemorySnapshotMac::Initialize(ProcessReader* process_reader, - uint64_t address, - uint64_t size) { - INITIALIZATION_STATE_SET_INITIALIZING(initialized_); - process_reader_ = process_reader; - address_ = address; - size_ = size; - INITIALIZATION_STATE_SET_VALID(initialized_); -} - -uint64_t MemorySnapshotMac::Address() const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - return address_; -} - -size_t MemorySnapshotMac::Size() const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - return size_; -} - -bool MemorySnapshotMac::Read(Delegate* delegate) const { - INITIALIZATION_STATE_DCHECK_VALID(initialized_); - - if (size_ == 0) { - return delegate->MemorySnapshotDelegateRead(nullptr, size_); - } - - std::unique_ptr<uint8_t[]> buffer(new uint8_t[size_]); - if (!process_reader_->Memory()->Read(address_, size_, buffer.get())) { - return false; - } - return delegate->MemorySnapshotDelegateRead(buffer.get(), size_); -} - -const MemorySnapshot* MemorySnapshotMac::MergeWithOtherSnapshot( - const MemorySnapshot* other) const { - return MergeWithOtherSnapshotImpl(this, other); -} - -} // namespace internal -} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.h deleted file mode 100644 index f06fbf47..0000000 --- a/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.h +++ /dev/null
@@ -1,75 +0,0 @@ -// Copyright 2014 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CRASHPAD_SNAPSHOT_MAC_MEMORY_SNAPSHOT_MAC_H_ -#define CRASHPAD_SNAPSHOT_MAC_MEMORY_SNAPSHOT_MAC_H_ - -#include <stdint.h> -#include <sys/types.h> - -#include "base/macros.h" -#include "snapshot/mac/process_reader.h" -#include "snapshot/memory_snapshot.h" -#include "util/misc/initialization_state_dcheck.h" - -namespace crashpad { -namespace internal { - -//! \brief A MemorySnapshot of a memory region in a process on the running -//! system, when the system runs macOS. -class MemorySnapshotMac final : public MemorySnapshot { - public: - MemorySnapshotMac(); - ~MemorySnapshotMac() override; - - //! \brief Initializes the object. - //! - //! Memory is read lazily. No attempt is made to read the memory snapshot data - //! until Read() is called, and the memory snapshot data is discared when - //! Read() returns. - //! - //! \param[in] process_reader A reader for the process being snapshotted. - //! \param[in] address The base address of the memory region to snapshot, in - //! the snapshot process’ address space. - //! \param[in] size The size of the memory region to snapshot. - void Initialize(ProcessReader* process_reader, - uint64_t address, - uint64_t size); - - // MemorySnapshot: - - uint64_t Address() const override; - size_t Size() const override; - bool Read(Delegate* delegate) const override; - const MemorySnapshot* MergeWithOtherSnapshot( - const MemorySnapshot* other) const override; - - private: - template <class T> - friend const MemorySnapshot* MergeWithOtherSnapshotImpl( - const T* self, - const MemorySnapshot* other); - - ProcessReader* process_reader_; // weak - uint64_t address_; - uint64_t size_; - InitializationStateDcheck initialized_; - - DISALLOW_COPY_AND_ASSIGN(MemorySnapshotMac); -}; - -} // namespace internal -} // namespace crashpad - -#endif // CRASHPAD_SNAPSHOT_MAC_MEMORY_SNAPSHOT_MAC_H_
diff --git a/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc index 19c4759d..4160897 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc
@@ -41,8 +41,8 @@ } bool ModuleSnapshotMac::Initialize( - ProcessReader* process_reader, - const ProcessReader::Module& process_reader_module) { + ProcessReaderMac* process_reader, + const ProcessReaderMac::Module& process_reader_module) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); process_reader_ = process_reader;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h index 44c07910..fe2d40a1 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h +++ b/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h
@@ -25,7 +25,7 @@ #include "base/macros.h" #include "client/crashpad_info.h" #include "snapshot/crashpad_info_client_options.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/module_snapshot.h" #include "util/misc/initialization_state_dcheck.h" @@ -45,15 +45,15 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the task containing the + //! \param[in] process_reader A ProcessReaderMac for the task containing the //! module. - //! \param[in] process_reader_module The module within the ProcessReader for - //! which the snapshot should be created. + //! \param[in] process_reader_module The module within the ProcessReaderMac + //! for which the snapshot should be created. //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged. - bool Initialize(ProcessReader* process_reader, - const ProcessReader::Module& process_reader_module); + bool Initialize(ProcessReaderMac* process_reader, + const ProcessReaderMac::Module& process_reader_module); //! \brief Returns options from the module’s CrashpadInfo structure. //! @@ -87,7 +87,7 @@ std::string name_; time_t timestamp_; const MachOImageReader* mach_o_image_reader_; // weak - ProcessReader* process_reader_; // weak + ProcessReaderMac* process_reader_; // weak InitializationStateDcheck initialized_; DISALLOW_COPY_AND_ASSIGN(ModuleSnapshotMac);
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_reader.cc b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.cc similarity index 94% rename from third_party/crashpad/crashpad/snapshot/mac/process_reader.cc rename to third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.cc index 6ddcff05..e142fd2 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_reader.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.cc
@@ -12,11 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include <AvailabilityMacros.h> -#include <mach/mach_vm.h> #include <mach-o/loader.h> +#include <mach/mach_vm.h> #include <algorithm> #include <utility> @@ -71,7 +71,7 @@ namespace crashpad { -ProcessReader::Thread::Thread() +ProcessReaderMac::Thread::Thread() : thread_context(), float_context(), debug_context(), @@ -81,16 +81,13 @@ thread_specific_data_address(0), port(THREAD_NULL), suspend_count(0), - priority(0) { -} + priority(0) {} -ProcessReader::Module::Module() : name(), reader(nullptr), timestamp(0) { -} +ProcessReaderMac::Module::Module() : name(), reader(nullptr), timestamp(0) {} -ProcessReader::Module::~Module() { -} +ProcessReaderMac::Module::~Module() {} -ProcessReader::ProcessReader() +ProcessReaderMac::ProcessReaderMac() : process_info_(), threads_(), modules_(), @@ -100,17 +97,16 @@ initialized_(), is_64_bit_(false), initialized_threads_(false), - initialized_modules_(false) { -} + initialized_modules_(false) {} -ProcessReader::~ProcessReader() { +ProcessReaderMac::~ProcessReaderMac() { for (const Thread& thread : threads_) { kern_return_t kr = mach_port_deallocate(mach_task_self(), thread.port); MACH_LOG_IF(ERROR, kr != KERN_SUCCESS, kr) << "mach_port_deallocate"; } } -bool ProcessReader::Initialize(task_t task) { +bool ProcessReaderMac::Initialize(task_t task) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); if (!process_info_.InitializeWithTask(task)) { @@ -126,12 +122,13 @@ return true; } -void ProcessReader::StartTime(timeval* start_time) const { +void ProcessReaderMac::StartTime(timeval* start_time) const { bool rv = process_info_.StartTime(start_time); DCHECK(rv); } -bool ProcessReader::CPUTimes(timeval* user_time, timeval* system_time) const { +bool ProcessReaderMac::CPUTimes(timeval* user_time, + timeval* system_time) const { INITIALIZATION_STATE_DCHECK_VALID(initialized_); // Calculate user and system time the same way the kernel does for @@ -177,7 +174,7 @@ return true; } -const std::vector<ProcessReader::Thread>& ProcessReader::Threads() { +const std::vector<ProcessReaderMac::Thread>& ProcessReaderMac::Threads() { INITIALIZATION_STATE_DCHECK_VALID(initialized_); if (!initialized_threads_) { @@ -187,7 +184,7 @@ return threads_; } -const std::vector<ProcessReader::Module>& ProcessReader::Modules() { +const std::vector<ProcessReaderMac::Module>& ProcessReaderMac::Modules() { INITIALIZATION_STATE_DCHECK_VALID(initialized_); if (!initialized_modules_) { @@ -197,7 +194,7 @@ return modules_; } -mach_vm_address_t ProcessReader::DyldAllImageInfo( +mach_vm_address_t ProcessReaderMac::DyldAllImageInfo( mach_vm_size_t* all_image_info_size) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); @@ -210,9 +207,9 @@ return 0; } - // TODO(mark): Deal with statically linked executables which don’t use dyld. - // This may look for the module that matches the executable path in the same - // data set that vmmap uses. +// TODO(mark): Deal with statically linked executables which don’t use dyld. +// This may look for the module that matches the executable path in the same +// data set that vmmap uses. #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 // The task_dyld_info_data_t struct grew in 10.7, adding the format field. @@ -237,7 +234,7 @@ return dyld_info.all_image_info_addr; } -void ProcessReader::InitializeThreads() { +void ProcessReaderMac::InitializeThreads() { DCHECK(!initialized_threads_); DCHECK(threads_.empty()); @@ -378,7 +375,7 @@ threads_need_owners.Disarm(); } -void ProcessReader::InitializeModules() { +void ProcessReaderMac::InitializeModules() { DCHECK(!initialized_modules_); DCHECK(modules_.empty()); @@ -465,8 +462,8 @@ image_info.imageLoadAddress == all_image_infos.dyldImageLoadAddress) { found_dyld = true; LOG(WARNING) << base::StringPrintf( - "found dylinker (%s) in dyld_all_image_infos::infoArray", - module.name.c_str()); + "found dylinker (%s) in dyld_all_image_infos::infoArray", + module.name.c_str()); LOG_IF(WARNING, file_type != MH_DYLINKER) << base::StringPrintf("dylinker (%s) has unexpected Mach-O type %d", @@ -563,7 +560,7 @@ } } -mach_vm_address_t ProcessReader::CalculateStackRegion( +mach_vm_address_t ProcessReaderMac::CalculateStackRegion( mach_vm_address_t stack_pointer, mach_vm_size_t* stack_region_size) { INITIALIZATION_STATE_DCHECK_VALID(initialized_); @@ -675,10 +672,10 @@ return region_base; } -void ProcessReader::LocateRedZone(mach_vm_address_t* const start_address, - mach_vm_address_t* const region_base, - mach_vm_address_t* const region_size, - const unsigned int user_tag) { +void ProcessReaderMac::LocateRedZone(mach_vm_address_t* const start_address, + mach_vm_address_t* const region_base, + mach_vm_address_t* const region_size, + const unsigned int user_tag) { #if defined(ARCH_CPU_X86_FAMILY) if (Is64Bit()) { // x86_64 has a red zone. See AMD64 ABI 0.99.8,
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_reader.h b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.h similarity index 96% rename from third_party/crashpad/crashpad/snapshot/mac/process_reader.h rename to third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.h index ecca2a5..91836db 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_reader.h +++ b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.h
@@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_H_ -#define CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_H_ +#ifndef CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_MAC_H_ +#define CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_MAC_H_ #include <mach/mach.h> #include <stdint.h> @@ -37,7 +37,7 @@ //! \brief Accesses information about another process, identified by a Mach //! task. -class ProcessReader { +class ProcessReaderMac { public: //! \brief Contains information about a thread that belongs to a task //! (process). @@ -83,7 +83,7 @@ //! \brief An image reader for the module. //! //! The lifetime of this MachOImageReader is scoped to the lifetime of the - //! ProcessReader that created it. + //! ProcessReaderMac that created it. //! //! This field may be `nullptr` if a reader could not be created for the //! module. @@ -97,8 +97,8 @@ time_t timestamp; }; - ProcessReader(); - ~ProcessReader(); + ProcessReaderMac(); + ~ProcessReaderMac(); //! \brief Initializes this object. This method must be called before any //! other. @@ -244,9 +244,9 @@ bool initialized_threads_; bool initialized_modules_; - DISALLOW_COPY_AND_ASSIGN(ProcessReader); + DISALLOW_COPY_AND_ASSIGN(ProcessReaderMac); }; } // namespace crashpad -#endif // CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_H_ +#endif // CRASHPAD_SNAPSHOT_MAC_PROCESS_READER_MAC_H_
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac_test.cc similarity index 88% rename from third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc rename to third_party/crashpad/crashpad/snapshot/mac/process_reader_mac_test.cc index c9f39e715..faec147 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac_test.cc
@@ -12,13 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include <AvailabilityMacros.h> +#include <OpenCL/opencl.h> #include <mach-o/dyld.h> #include <mach-o/dyld_images.h> #include <mach/mach.h> -#include <OpenCL/opencl.h> #include <string.h> #include <sys/stat.h> @@ -48,8 +48,8 @@ constexpr char kDyldPath[] = "/usr/lib/dyld"; -TEST(ProcessReader, SelfBasic) { - ProcessReader process_reader; +TEST(ProcessReaderMac, SelfBasic) { + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); #if !defined(ARCH_CPU_64_BITS) @@ -80,7 +80,7 @@ private: void MachMultiprocessParent() override { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(ChildTask())); #if !defined(ARCH_CPU_64_BITS) @@ -116,7 +116,7 @@ DISALLOW_COPY_AND_ASSIGN(ProcessReaderChild); }; -TEST(ProcessReader, ChildBasic) { +TEST(ProcessReaderMac, ChildBasic) { ProcessReaderChild process_reader_child; process_reader_child.Run(); } @@ -131,11 +131,12 @@ return thread_id; } -TEST(ProcessReader, SelfOneThread) { - ProcessReader process_reader; +TEST(ProcessReaderMac, SelfOneThread) { + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); - const std::vector<ProcessReader::Thread>& threads = process_reader.Threads(); + const std::vector<ProcessReaderMac::Thread>& threads = + process_reader.Threads(); // If other tests ran in this process previously, threads may have been // created and may still be running. This check must look for at least one @@ -157,8 +158,7 @@ int suspend_count; }; - TestThreadPool() : thread_infos_() { - } + TestThreadPool() : thread_infos_() {} // Resumes suspended threads, signals each thread’s exit semaphore asking it // to exit, and joins each thread, blocking until they have all exited. @@ -192,10 +192,8 @@ thread_infos_.push_back(std::make_unique<ThreadInfo>()); ThreadInfo* thread_info = thread_infos_.back().get(); - int rv = pthread_create(&thread_info->pthread, - nullptr, - ThreadMain, - thread_info); + int rv = pthread_create( + &thread_info->pthread, nullptr, ThreadMain, thread_info); ASSERT_EQ(rv, 0); } @@ -210,8 +208,7 @@ ++thread_index) { thread_t thread_port = pthread_mach_thread_np(thread_infos_[thread_index]->pthread); - for (size_t suspend_count = 0; - suspend_count < thread_index; + for (size_t suspend_count = 0; suspend_count < thread_index; ++suspend_count) { kern_return_t kr = thread_suspend(thread_port); EXPECT_EQ(kr, KERN_SUCCESS) << MachErrorMessage(kr, "thread_suspend"); @@ -222,8 +219,7 @@ } } - uint64_t GetThreadInfo(size_t thread_index, - ThreadExpectation* expectation) { + uint64_t GetThreadInfo(size_t thread_index, ThreadExpectation* expectation) { CHECK_LT(thread_index, thread_infos_.size()); const auto& thread_info = thread_infos_[thread_index]; @@ -240,8 +236,7 @@ stack_address(0), ready_semaphore(0), exit_semaphore(0), - suspend_count(0) { - } + suspend_count(0) {} ~ThreadInfo() {} @@ -294,14 +289,14 @@ using ThreadMap = std::map<uint64_t, TestThreadPool::ThreadExpectation>; -// Verifies that all of the threads in |threads|, obtained from ProcessReader, -// agree with the expectation in |thread_map|. If |tolerate_extra_threads| is -// true, |threads| is allowed to contain threads that are not listed in -// |thread_map|. This is useful when testing situations where code outside of -// the test’s control (such as system libraries) may start threads, or may have -// started threads prior to a test’s execution. +// Verifies that all of the threads in |threads|, obtained from +// ProcessReaderMac, agree with the expectation in |thread_map|. If +// |tolerate_extra_threads| is true, |threads| is allowed to contain threads +// that are not listed in |thread_map|. This is useful when testing situations +// where code outside of the test’s control (such as system libraries) may start +// threads, or may have started threads prior to a test’s execution. void ExpectSeveralThreads(ThreadMap* thread_map, - const std::vector<ProcessReader::Thread>& threads, + const std::vector<ProcessReaderMac::Thread>& threads, const bool tolerate_extra_threads) { if (tolerate_extra_threads) { ASSERT_GE(threads.size(), thread_map->size()); @@ -310,7 +305,7 @@ } for (size_t thread_index = 0; thread_index < threads.size(); ++thread_index) { - const ProcessReader::Thread& thread = threads[thread_index]; + const ProcessReaderMac::Thread& thread = threads[thread_index]; mach_vm_address_t thread_stack_region_end = thread.stack_region_address + thread.stack_region_size; @@ -336,26 +331,26 @@ // with any other thread’s. Each thread should have a unique value for its // ID and port, and each should have its own stack that doesn’t touch any // other thread’s stack. - for (size_t other_thread_index = 0; - other_thread_index < threads.size(); + for (size_t other_thread_index = 0; other_thread_index < threads.size(); ++other_thread_index) { if (other_thread_index == thread_index) { continue; } - const ProcessReader::Thread& other_thread = threads[other_thread_index]; + const ProcessReaderMac::Thread& other_thread = + threads[other_thread_index]; EXPECT_NE(other_thread.id, thread.id); EXPECT_NE(other_thread.port, thread.port); mach_vm_address_t other_thread_stack_region_end = other_thread.stack_region_address + other_thread.stack_region_size; - EXPECT_FALSE( - thread.stack_region_address >= other_thread.stack_region_address && - thread.stack_region_address < other_thread_stack_region_end); - EXPECT_FALSE( - thread_stack_region_end > other_thread.stack_region_address && - thread_stack_region_end <= other_thread_stack_region_end); + EXPECT_FALSE(thread.stack_region_address >= + other_thread.stack_region_address && + thread.stack_region_address < other_thread_stack_region_end); + EXPECT_FALSE(thread_stack_region_end > + other_thread.stack_region_address && + thread_stack_region_end <= other_thread_stack_region_end); } } @@ -363,12 +358,12 @@ EXPECT_TRUE(thread_map->empty()); } -TEST(ProcessReader, SelfSeveralThreads) { - // Set up the ProcessReader here, before any other threads are running. This - // tests that the threads it returns are lazily initialized as a snapshot of - // the threads at the time of the first call to Threads(), and not at the +TEST(ProcessReaderMac, SelfSeveralThreads) { + // Set up the ProcessReaderMac here, before any other threads are running. + // This tests that the threads it returns are lazily initialized as a snapshot + // of the threads at the time of the first call to Threads(), and not at the // time the ProcessReader was created or initialized. - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); TestThreadPool thread_pool; @@ -392,7 +387,8 @@ thread_map[thread_id] = expectation; } - const std::vector<ProcessReader::Thread>& threads = process_reader.Threads(); + const std::vector<ProcessReaderMac::Thread>& threads = + process_reader.Threads(); // Other tests that have run previously may have resulted in the creation of // threads that still exist, so pass true for |tolerate_extra_threads|. @@ -403,7 +399,7 @@ // shows up once. thread_t thread_self = MachThreadSelf(); bool found_thread_self = false; - for (const ProcessReader::Thread& thread : threads) { + for (const ProcessReaderMac::Thread& thread : threads) { if (thread.port == thread_self) { EXPECT_FALSE(found_thread_self); found_thread_self = true; @@ -416,15 +412,13 @@ class ProcessReaderThreadedChild final : public MachMultiprocess { public: explicit ProcessReaderThreadedChild(size_t thread_count) - : MachMultiprocess(), - thread_count_(thread_count) { - } + : MachMultiprocess(), thread_count_(thread_count) {} ~ProcessReaderThreadedChild() {} private: void MachMultiprocessParent() override { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(ChildTask())); FileHandle read_handle = ReadPipeHandle(); @@ -433,8 +427,7 @@ // addresses that should lie somewhere within each thread’s stack as values. // These IDs and addresses all come from the child process via the pipe. ThreadMap thread_map; - for (size_t thread_index = 0; - thread_index < thread_count_ + 1; + for (size_t thread_index = 0; thread_index < thread_count_ + 1; ++thread_index) { uint64_t thread_id; CheckedReadFileExactly(read_handle, &thread_id, sizeof(thread_id)); @@ -453,7 +446,8 @@ thread_map[thread_id] = expectation; } - const std::vector<ProcessReader::Thread>& threads = process_reader.Threads(); + const std::vector<ProcessReaderMac::Thread>& threads = + process_reader.Threads(); // The child shouldn’t have any threads other than its main thread and the // ones it created in its pool, so pass false for |tolerate_extra_threads|. @@ -484,8 +478,7 @@ sizeof(expectation.suspend_count)); // Write an entry for everything in the thread pool. - for (size_t thread_index = 0; - thread_index < thread_count_; + for (size_t thread_index = 0; thread_index < thread_count_; ++thread_index) { uint64_t thread_id = thread_pool.GetThreadInfo(thread_index, &expectation); @@ -509,14 +502,14 @@ DISALLOW_COPY_AND_ASSIGN(ProcessReaderThreadedChild); }; -TEST(ProcessReader, ChildOneThread) { +TEST(ProcessReaderMac, ChildOneThread) { // The main thread plus zero child threads equals one thread. constexpr size_t kChildThreads = 0; ProcessReaderThreadedChild process_reader_threaded_child(kChildThreads); process_reader_threaded_child.Run(); } -TEST(ProcessReader, ChildSeveralThreads) { +TEST(ProcessReaderMac, ChildSeveralThreads) { constexpr size_t kChildThreads = 64; ProcessReaderThreadedChild process_reader_threaded_child(kChildThreads); process_reader_threaded_child.Run(); @@ -537,10 +530,7 @@ class ScopedOpenCLNoOpKernel { public: ScopedOpenCLNoOpKernel() - : context_(nullptr), - program_(nullptr), - kernel_(nullptr) { - } + : context_(nullptr), program_(nullptr), kernel_(nullptr) {} ~ScopedOpenCLNoOpKernel() { if (kernel_) { @@ -566,10 +556,10 @@ #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10 && \ MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10 - // cl_device_id is really available in OpenCL.framework back to 10.5, but in - // the 10.10 SDK and later, OpenCL.framework includes <OpenGL/CGLDevice.h>, - // which has its own cl_device_id that was introduced in 10.10. That - // triggers erroneous availability warnings. +// cl_device_id is really available in OpenCL.framework back to 10.5, but in +// the 10.10 SDK and later, OpenCL.framework includes <OpenGL/CGLDevice.h>, +// which has its own cl_device_id that was introduced in 10.10. That +// triggers erroneous availability warnings. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunguarded-availability" #define DISABLED_WUNGUARDED_AVAILABILITY @@ -642,15 +632,16 @@ #endif } -TEST(ProcessReader, SelfModules) { +TEST(ProcessReaderMac, SelfModules) { ScopedOpenCLNoOpKernel ensure_cl_kernels; ASSERT_NO_FATAL_FAILURE(ensure_cl_kernels.SetUp()); - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); uint32_t dyld_image_count = _dyld_image_count(); - const std::vector<ProcessReader::Module>& modules = process_reader.Modules(); + const std::vector<ProcessReaderMac::Module>& modules = + process_reader.Modules(); // There needs to be at least an entry for the main executable, for a dylib, // and for dyld. @@ -718,10 +709,10 @@ private: void MachMultiprocessParent() override { - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(ChildTask())); - const std::vector<ProcessReader::Module>& modules = + const std::vector<ProcessReaderMac::Module>& modules = process_reader.Modules(); // There needs to be at least an entry for the main executable, for a dylib, @@ -829,7 +820,7 @@ DISALLOW_COPY_AND_ASSIGN(ProcessReaderModulesChild); }; -TEST(ProcessReader, ChildModules) { +TEST(ProcessReaderMac, ChildModules) { ScopedOpenCLNoOpKernel ensure_cl_kernels; ASSERT_NO_FATAL_FAILURE(ensure_cl_kernels.SetUp());
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc index eaaf3dca..cf5233a 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc
@@ -218,9 +218,9 @@ } void ProcessSnapshotMac::InitializeThreads() { - const std::vector<ProcessReader::Thread>& process_reader_threads = + const std::vector<ProcessReaderMac::Thread>& process_reader_threads = process_reader_.Threads(); - for (const ProcessReader::Thread& process_reader_thread : + for (const ProcessReaderMac::Thread& process_reader_thread : process_reader_threads) { auto thread = std::make_unique<internal::ThreadSnapshotMac>(); if (thread->Initialize(&process_reader_, process_reader_thread)) { @@ -230,9 +230,9 @@ } void ProcessSnapshotMac::InitializeModules() { - const std::vector<ProcessReader::Module>& process_reader_modules = + const std::vector<ProcessReaderMac::Module>& process_reader_modules = process_reader_.Modules(); - for (const ProcessReader::Module& process_reader_module : + for (const ProcessReaderMac::Module& process_reader_module : process_reader_modules) { auto module = std::make_unique<internal::ModuleSnapshotMac>(); if (module->Initialize(&process_reader_, process_reader_module)) {
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h index e7195d941..06bac74 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h +++ b/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h
@@ -30,7 +30,7 @@ #include "snapshot/exception_snapshot.h" #include "snapshot/mac/exception_snapshot_mac.h" #include "snapshot/mac/module_snapshot_mac.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/mac/system_snapshot_mac.h" #include "snapshot/mac/thread_snapshot_mac.h" #include "snapshot/memory_map_region_snapshot.h" @@ -143,7 +143,7 @@ std::vector<std::unique_ptr<internal::ThreadSnapshotMac>> threads_; std::vector<std::unique_ptr<internal::ModuleSnapshotMac>> modules_; std::unique_ptr<internal::ExceptionSnapshotMac> exception_; - ProcessReader process_reader_; + ProcessReaderMac process_reader_; UUID report_id_; UUID client_id_; std::map<std::string, std::string> annotations_simple_map_;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_types.cc b/third_party/crashpad/crashpad/snapshot/mac/process_types.cc index 35d81db..65c39ea 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_types.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
@@ -94,7 +94,7 @@ namespace process_types { \ \ /* static */ \ - size_t struct_name::ExpectedSize(ProcessReader* process_reader) { \ + size_t struct_name::ExpectedSize(ProcessReaderMac* process_reader) { \ if (!process_reader->Is64Bit()) { \ return internal::struct_name<internal::Traits32>::Size(); \ } else { \ @@ -103,7 +103,7 @@ } \ \ /* static */ \ - bool struct_name::ReadInto(ProcessReader* process_reader, \ + bool struct_name::ReadInto(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ struct_name* generic) { \ if (!process_reader->Is64Bit()) { \ @@ -117,7 +117,7 @@ \ /* static */ \ template <typename T> \ - bool struct_name::ReadIntoInternal(ProcessReader* process_reader, \ + bool struct_name::ReadIntoInternal(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ struct_name* generic) { \ T specific; \ @@ -166,22 +166,22 @@ // implementations in snapshot/mac/process_types/custom.cc. #define PROCESS_TYPE_STRUCT_IMPLEMENT_INTERNAL_READ_INTO 1 -#define PROCESS_TYPE_STRUCT_BEGIN(struct_name) \ - namespace crashpad { \ - namespace process_types { \ - namespace internal { \ - \ - /* static */ \ - template <typename Traits> \ - bool struct_name<Traits>::ReadInto(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - struct_name<Traits>* specific) { \ - return process_reader->Memory()->Read( \ - address, sizeof(*specific), specific); \ - } \ - } /* namespace internal */ \ - } /* namespace process_types */ \ - } /* namespace crashpad */ +#define PROCESS_TYPE_STRUCT_BEGIN(struct_name) \ + namespace crashpad { \ + namespace process_types { \ + namespace internal { \ + \ + /* static */ \ + template <typename Traits> \ + bool struct_name<Traits>::ReadInto(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + struct_name<Traits>* specific) { \ + return process_reader->Memory()->Read( \ + address, sizeof(*specific), specific); \ + } \ + } /* namespace internal */ \ + } /* namespace process_types */ \ + } /* namespace crashpad */ #define PROCESS_TYPE_STRUCT_MEMBER(member_type, member_name, ...) @@ -214,7 +214,7 @@ \ /* static */ \ template <typename Traits> \ - bool struct_name<Traits>::ReadArrayInto(ProcessReader* process_reader, \ + bool struct_name<Traits>::ReadArrayInto(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ size_t count, \ struct_name<Traits>* specific) { \ @@ -225,7 +225,7 @@ } /* namespace internal */ \ \ /* static */ \ - bool struct_name::ReadArrayInto(ProcessReader* process_reader, \ + bool struct_name::ReadArrayInto(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ size_t count, \ struct_name* generic) { \ @@ -241,7 +241,7 @@ \ /* static */ \ template <typename T> \ - bool struct_name::ReadArrayIntoInternal(ProcessReader* process_reader, \ + bool struct_name::ReadArrayIntoInternal(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ size_t count, \ struct_name* generic) { \ @@ -293,7 +293,7 @@ \ /* static */ \ size_t struct_name::ExpectedSizeForVersion( \ - ProcessReader* process_reader, \ + ProcessReaderMac* process_reader, \ decltype(struct_name::version_field) version) { \ if (!process_reader->Is64Bit()) { \ return internal::struct_name< \ @@ -304,8 +304,8 @@ } \ } \ \ - } /* namespace process_types */ \ - } /* namespace crashpad */ + } /* namespace process_types */ \ + } /* namespace crashpad */ #define PROCESS_TYPE_STRUCT_SIZED(struct_name, size_field) @@ -354,7 +354,7 @@ } /* namespace internal */ \ \ /* static */ \ - size_t struct_name::MinimumSize(ProcessReader* process_reader) { \ + size_t struct_name::MinimumSize(ProcessReaderMac* process_reader) { \ if (!process_reader->Is64Bit()) { \ return internal::struct_name<internal::Traits32>::MinimumSize(); \ } else { \
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_types.h b/third_party/crashpad/crashpad/snapshot/mac/process_types.h index 350b406..6a5f9c1 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_types.h +++ b/third_party/crashpad/crashpad/snapshot/mac/process_types.h
@@ -21,7 +21,7 @@ #include <stdint.h> #include <sys/types.h> -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" namespace crashpad { namespace process_types { @@ -80,14 +80,14 @@ \ /* Initializes an object with data read from |process_reader| at \ * |address|, properly genericized. */ \ - bool Read(ProcessReader* process_reader, mach_vm_address_t address) { \ + bool Read(ProcessReaderMac* process_reader, mach_vm_address_t address) { \ return ReadInto(process_reader, address, this); \ } \ \ /* Reads |count| objects from |process_reader| beginning at |address|, and \ * genericizes the objects. The caller must provide storage for |count| \ * objects in |generic|. */ \ - static bool ReadArrayInto(ProcessReader* process_reader, \ + static bool ReadArrayInto(ProcessReaderMac* process_reader, \ mach_vm_address_t address, \ size_t count, \ struct_name* generic); \ @@ -102,47 +102,48 @@ * on the process’ bitness. This can be used prior to reading any data \ * from a process. For versioned and sized structures, \ * ExpectedSizeForVersion() and MinimumSize() may also be useful. */ \ - static size_t ExpectedSize(ProcessReader* process_reader); + static size_t ExpectedSize(ProcessReaderMac* process_reader); #define PROCESS_TYPE_STRUCT_MEMBER(member_type, member_name, ...) \ member_type member_name __VA_ARGS__; -#define PROCESS_TYPE_STRUCT_VERSIONED(struct_name, version_field) \ - /* Similar to ExpectedSize(), but computes the expected size of a \ - * structure based on the process’ bitness and a custom value, such as a \ - * structure version number. This can be used prior to reading any data \ - * from a process. */ \ - static size_t ExpectedSizeForVersion( \ - ProcessReader* process_reader, \ - decltype(struct_name::version_field) version); +#define PROCESS_TYPE_STRUCT_VERSIONED(struct_name, version_field) \ + /* Similar to ExpectedSize(), but computes the expected size of a \ + * structure based on the process’ bitness and a custom value, such as a \ + * structure version number. This can be used prior to reading any data \ + * from a process. */ \ + static size_t ExpectedSizeForVersion( \ + ProcessReaderMac* process_reader, \ + decltype(struct_name::version_field) version); -#define PROCESS_TYPE_STRUCT_SIZED(struct_name, size_field) \ - /* Similar to ExpectedSize(), but computes the minimum size of a \ - * structure based on the process’ bitness, typically including enough of \ - * a structure to contain its size field. This can be used prior to \ - * reading any data from a process. */ \ - static size_t MinimumSize(ProcessReader* process_reader); +#define PROCESS_TYPE_STRUCT_SIZED(struct_name, size_field) \ + /* Similar to ExpectedSize(), but computes the minimum size of a \ + * structure based on the process’ bitness, typically including enough of \ + * a structure to contain its size field. This can be used prior to \ + * reading any data from a process. */ \ + static size_t MinimumSize(ProcessReaderMac* process_reader); -#define PROCESS_TYPE_STRUCT_END(struct_name) \ - private: \ - /* The static form of Read(). Populates the struct at |generic|. */ \ - static bool ReadInto(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - struct_name* generic); \ - \ - template <typename T> \ - static bool ReadIntoInternal(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - struct_name* generic); \ - template <typename T> \ - static bool ReadArrayIntoInternal(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - size_t count, \ - struct_name* generic); \ - size_t size_; \ - }; \ - } /* namespace process_types */ \ - } /* namespace crashpad */ +#define PROCESS_TYPE_STRUCT_END(struct_name) \ + private: \ + /* The static form of Read(). Populates the struct at |generic|. */ \ + static bool ReadInto(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + struct_name* generic); \ + \ + template <typename T> \ + static bool ReadIntoInternal(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + struct_name* generic); \ + template <typename T> \ + static bool ReadArrayIntoInternal(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + size_t count, \ + struct_name* generic); \ + size_t size_; \ + } \ + ; \ + } /* namespace process_types */ \ + } /* namespace crashpad */ #include "snapshot/mac/process_types/all.proctype" @@ -163,37 +164,37 @@ // remote process into the generic form. #define PROCESS_TYPE_STRUCT_DECLARE_INTERNAL 1 -#define PROCESS_TYPE_STRUCT_BEGIN(struct_name) \ - namespace crashpad { \ - namespace process_types { \ - namespace internal { \ - template <typename Traits> \ - struct struct_name { \ - public: \ - using Long = typename Traits::Long; \ - using ULong = typename Traits::ULong; \ - using Pointer = typename Traits::Pointer; \ - using IntPtr = typename Traits::IntPtr; \ - using UIntPtr = typename Traits::UIntPtr; \ - using Reserved32_32Only = typename Traits::Reserved32_32Only; \ - using Reserved32_64Only = typename Traits::Reserved32_64Only; \ - using Reserved64_64Only = typename Traits::Reserved64_64Only; \ - using Nothing = typename Traits::Nothing; \ - \ - /* Read(), ReadArrayInto(), and Size() are as in the generic user-visible \ - * struct above. */ \ - bool Read(ProcessReader* process_reader, mach_vm_address_t address) { \ - return ReadInto(process_reader, address, this); \ - } \ - static bool ReadArrayInto(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - size_t count, \ - struct_name<Traits>* specific); \ - static size_t Size() { return sizeof(struct_name<Traits>); } \ - \ - /* Translates a struct from the representation used in the remote process \ - * into the generic form. */ \ - void GenericizeInto(process_types::struct_name* generic, \ +#define PROCESS_TYPE_STRUCT_BEGIN(struct_name) \ + namespace crashpad { \ + namespace process_types { \ + namespace internal { \ + template <typename Traits> \ + struct struct_name { \ + public: \ + using Long = typename Traits::Long; \ + using ULong = typename Traits::ULong; \ + using Pointer = typename Traits::Pointer; \ + using IntPtr = typename Traits::IntPtr; \ + using UIntPtr = typename Traits::UIntPtr; \ + using Reserved32_32Only = typename Traits::Reserved32_32Only; \ + using Reserved32_64Only = typename Traits::Reserved32_64Only; \ + using Reserved64_64Only = typename Traits::Reserved64_64Only; \ + using Nothing = typename Traits::Nothing; \ + \ + /* Read(), ReadArrayInto(), and Size() are as in the generic user-visible \ + * struct above. */ \ + bool Read(ProcessReaderMac* process_reader, mach_vm_address_t address) { \ + return ReadInto(process_reader, address, this); \ + } \ + static bool ReadArrayInto(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + size_t count, \ + struct_name<Traits>* specific); \ + static size_t Size() { return sizeof(struct_name<Traits>); } \ + \ + /* Translates a struct from the representation used in the remote process \ + * into the generic form. */ \ + void GenericizeInto(process_types::struct_name* generic, \ size_t* specific_size); #define PROCESS_TYPE_STRUCT_MEMBER(member_type, member_name, ...) \ @@ -209,16 +210,17 @@ /* MinimumSize() is as in the generic user-visible struct above. */ \ static size_t MinimumSize(); -#define PROCESS_TYPE_STRUCT_END(struct_name) \ - private: \ - /* ReadInto() is as in the generic user-visible struct above. */ \ - static bool ReadInto(ProcessReader* process_reader, \ - mach_vm_address_t address, \ - struct_name<Traits>* specific); \ - }; \ - } /* namespace internal */ \ - } /* namespace process_types */ \ - } /* namespace crashpad */ +#define PROCESS_TYPE_STRUCT_END(struct_name) \ + private: \ + /* ReadInto() is as in the generic user-visible struct above. */ \ + static bool ReadInto(ProcessReaderMac* process_reader, \ + mach_vm_address_t address, \ + struct_name<Traits>* specific); \ + } \ + ; \ + } /* namespace internal */ \ + } /* namespace process_types */ \ + } /* namespace crashpad */ #include "snapshot/mac/process_types/all.proctype"
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc b/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc index b9cb0e79..7c7b172 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
@@ -75,7 +75,7 @@ } template <typename T> -bool ReadIntoVersioned(ProcessReader* process_reader, +bool ReadIntoVersioned(ProcessReaderMac* process_reader, mach_vm_address_t address, T* specific) { mach_vm_address_t field_address; @@ -95,7 +95,7 @@ } template <typename T> -bool ReadIntoSized(ProcessReader* process_reader, +bool ReadIntoSized(ProcessReaderMac* process_reader, mach_vm_address_t address, T* specific) { mach_vm_address_t field_address; @@ -156,7 +156,7 @@ // static template <typename Traits> bool dyld_all_image_infos<Traits>::ReadInto( - ProcessReader* process_reader, + ProcessReaderMac* process_reader, mach_vm_address_t address, dyld_all_image_infos<Traits>* specific) { return ReadIntoVersioned(process_reader, address, specific); @@ -178,7 +178,7 @@ // static template <typename Traits> bool crashreporter_annotations_t<Traits>::ReadInto( - ProcessReader* process_reader, + ProcessReaderMac* process_reader, mach_vm_address_t address, crashreporter_annotations_t<Traits>* specific) { return ReadIntoVersioned(process_reader, address, specific); @@ -186,30 +186,30 @@ // static template <typename Traits> -bool CrashpadInfo<Traits>::ReadInto(ProcessReader* process_reader, +bool CrashpadInfo<Traits>::ReadInto(ProcessReaderMac* process_reader, mach_vm_address_t address, CrashpadInfo<Traits>* specific) { return ReadIntoSized(process_reader, address, specific); } // Explicit template instantiation of the above. -#define PROCESS_TYPE_FLAVOR_TRAITS(lp_bits) \ - template size_t \ - dyld_all_image_infos<Traits##lp_bits>::ExpectedSizeForVersion( \ - decltype(dyld_all_image_infos<Traits##lp_bits>::version)); \ - template bool dyld_all_image_infos<Traits##lp_bits>::ReadInto( \ - ProcessReader*, \ - mach_vm_address_t, \ - dyld_all_image_infos<Traits##lp_bits>*); \ - template size_t \ - crashreporter_annotations_t<Traits##lp_bits>::ExpectedSizeForVersion( \ - decltype(crashreporter_annotations_t<Traits##lp_bits>::version)); \ - template bool crashreporter_annotations_t<Traits##lp_bits>::ReadInto( \ - ProcessReader*, \ - mach_vm_address_t, \ - crashreporter_annotations_t<Traits##lp_bits>*); \ - template bool CrashpadInfo<Traits##lp_bits>::ReadInto( \ - ProcessReader*, mach_vm_address_t, CrashpadInfo<Traits##lp_bits>*); +#define PROCESS_TYPE_FLAVOR_TRAITS(lp_bits) \ + template size_t \ + dyld_all_image_infos<Traits##lp_bits>::ExpectedSizeForVersion( \ + decltype(dyld_all_image_infos<Traits##lp_bits>::version)); \ + template bool dyld_all_image_infos<Traits##lp_bits>::ReadInto( \ + ProcessReaderMac*, \ + mach_vm_address_t, \ + dyld_all_image_infos<Traits##lp_bits>*); \ + template size_t \ + crashreporter_annotations_t<Traits##lp_bits>::ExpectedSizeForVersion( \ + decltype(crashreporter_annotations_t<Traits##lp_bits>::version)); \ + template bool crashreporter_annotations_t<Traits##lp_bits>::ReadInto( \ + ProcessReaderMac*, \ + mach_vm_address_t, \ + crashreporter_annotations_t<Traits##lp_bits>*); \ + template bool CrashpadInfo<Traits##lp_bits>::ReadInto( \ + ProcessReaderMac*, mach_vm_address_t, CrashpadInfo<Traits##lp_bits>*); #include "snapshot/mac/process_types/flavors.h"
diff --git a/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc b/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc index 8ab15c8..f116c4d 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc
@@ -101,7 +101,7 @@ } #endif - ProcessReader process_reader; + ProcessReaderMac process_reader; ASSERT_TRUE(process_reader.Initialize(mach_task_self())); #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_13
diff --git a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc index 140e7f4..21f254e 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc
@@ -25,7 +25,7 @@ #include "base/strings/stringprintf.h" #include "build/build_config.h" #include "snapshot/cpu_context.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/posix/timezone.h" #include "util/mac/mac_util.h" #include "util/numeric/in_range_cast.h" @@ -104,7 +104,7 @@ SystemSnapshotMac::~SystemSnapshotMac() { } -void SystemSnapshotMac::Initialize(ProcessReader* process_reader, +void SystemSnapshotMac::Initialize(ProcessReaderMac* process_reader, const timeval* snapshot_time) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_);
diff --git a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h index 2ac2ef90..62b2ae6 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h +++ b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h
@@ -25,7 +25,7 @@ namespace crashpad { -class ProcessReader; +class ProcessReaderMac; namespace internal { @@ -40,9 +40,9 @@ //! \param[in] process_reader A reader for the process being snapshotted. //! \n\n //! It seems odd that a system snapshot implementation would need a - //! ProcessReader, but some of the information reported about the system - //! depends on the process it’s being reported for. For example, the - //! architecture returned by GetCPUArchitecture() should be the + //! ProcessReaderMac, but some of the information reported about the + //! system depends on the process it’s being reported for. For example, + //! the architecture returned by GetCPUArchitecture() should be the //! architecture of the process, which may be different than the native //! architecture of the system: an x86_64 system can run both x86_64 and //! 32-bit x86 processes. @@ -53,7 +53,8 @@ //! Otherwise, it would need to base its determination on the current //! time, which may be different than the snapshot time for snapshots //! generated around the daylight saving transition time. - void Initialize(ProcessReader* process_reader, const timeval* snapshot_time); + void Initialize(ProcessReaderMac* process_reader, + const timeval* snapshot_time); // SystemSnapshot: @@ -83,7 +84,7 @@ private: std::string os_version_full_; std::string os_version_build_; - ProcessReader* process_reader_; // weak + ProcessReaderMac* process_reader_; // weak const timeval* snapshot_time_; // weak int os_version_major_; int os_version_minor_;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc index 646021b..69048eb 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc
@@ -20,7 +20,7 @@ #include "build/build_config.h" #include "gtest/gtest.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "test/errors.h" #include "util/mac/mac_util.h" @@ -30,7 +30,7 @@ // SystemSnapshotMac objects would be cumbersome to construct in each test that // requires one, because of the repetitive and mechanical work necessary to set -// up a ProcessReader and timeval, along with the checks to verify that these +// up a ProcessReaderMac and timeval, along with the checks to verify that these // operations succeed. This test fixture class handles the initialization work // so that individual tests don’t have to. class SystemSnapshotMacTest : public testing::Test { @@ -55,7 +55,7 @@ } private: - ProcessReader process_reader_; + ProcessReaderMac process_reader_; timeval snapshot_time_; internal::SystemSnapshotMac system_snapshot_;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc b/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc index b042f75..f45fc41 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc +++ b/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc
@@ -16,7 +16,7 @@ #include "base/logging.h" #include "snapshot/mac/cpu_context_mac.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" namespace crashpad { namespace internal { @@ -38,8 +38,8 @@ } bool ThreadSnapshotMac::Initialize( - ProcessReader* process_reader, - const ProcessReader::Thread& process_reader_thread) { + ProcessReaderMac* process_reader, + const ProcessReaderMac::Thread& process_reader_thread) { INITIALIZATION_STATE_SET_INITIALIZING(initialized_); thread_ = process_reader_thread.port;
diff --git a/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h b/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h index 2833443..8f5d722 100644 --- a/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h +++ b/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h
@@ -21,14 +21,15 @@ #include "base/macros.h" #include "build/build_config.h" #include "snapshot/cpu_context.h" -#include "snapshot/mac/memory_snapshot_mac.h" +#include "snapshot/mac/process_reader_mac.h" #include "snapshot/memory_snapshot.h" +#include "snapshot/memory_snapshot_generic.h" #include "snapshot/thread_snapshot.h" #include "util/misc/initialization_state_dcheck.h" namespace crashpad { -class ProcessReader; +class ProcessReaderMac; namespace internal { @@ -41,15 +42,15 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the task containing the + //! \param[in] process_reader A ProcessReaderMac for the task containing the //! thread. - //! \param[in] process_reader_thread The thread within the ProcessReader for - //! which the snapshot should be created. + //! \param[in] process_reader_thread The thread within the ProcessReaderMac + //! for which the snapshot should be created. //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged. - bool Initialize(ProcessReader* process_reader, - const ProcessReader::Thread& process_reader_thread); + bool Initialize(ProcessReaderMac* process_reader, + const ProcessReaderMac::Thread& process_reader_thread); // ThreadSnapshot: @@ -69,7 +70,7 @@ } context_union_; #endif CPUContext context_; - MemorySnapshotMac stack_; + MemorySnapshotGeneric<ProcessReaderMac> stack_; uint64_t thread_id_; uint64_t thread_specific_data_address_; thread_t thread_;
diff --git a/third_party/crashpad/crashpad/snapshot/memory_snapshot_generic.h b/third_party/crashpad/crashpad/snapshot/memory_snapshot_generic.h new file mode 100644 index 0000000..402e913 --- /dev/null +++ b/third_party/crashpad/crashpad/snapshot/memory_snapshot_generic.h
@@ -0,0 +1,107 @@ +// Copyright 2014 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_SNAPSHOT_MEMORY_SNAPSHOT_GENERIC_H_ +#define CRASHPAD_SNAPSHOT_MEMORY_SNAPSHOT_GENERIC_H_ + +#include <stdint.h> +#include <sys/types.h> + +#include "base/macros.h" +#include "snapshot/memory_snapshot.h" +#include "util/misc/address_types.h" +#include "util/misc/initialization_state_dcheck.h" +#include "util/process/process_memory.h" + +namespace crashpad { +namespace internal { + +//! \brief A MemorySnapshot of a memory region in a process on the running +//! system. Used on Mac, Linux, Android, and Fuchsia, templated on the +//! platform-specific ProcessReader type. +template <class ProcessReaderType> +class MemorySnapshotGeneric final : public MemorySnapshot { + public: + MemorySnapshotGeneric() = default; + ~MemorySnapshotGeneric() = default; + + //! \brief Initializes the object. + //! + //! Memory is read lazily. No attempt is made to read the memory snapshot data + //! until Read() is called, and the memory snapshot data is discared when + //! Read() returns. + //! + //! \param[in] process_reader A reader for the process being snapshotted. + //! \param[in] address The base address of the memory region to snapshot, in + //! the snapshot process’ address space. + //! \param[in] size The size of the memory region to snapshot. + void Initialize(ProcessReaderType* process_reader, + VMAddress address, + VMSize size) { + INITIALIZATION_STATE_SET_INITIALIZING(initialized_); + process_reader_ = process_reader; + address_ = address; + size_ = size; + INITIALIZATION_STATE_SET_VALID(initialized_); + } + + // MemorySnapshot: + + uint64_t Address() const override { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return address_; + } + + size_t Size() const override { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + return size_; + } + + bool Read(Delegate* delegate) const override { + INITIALIZATION_STATE_DCHECK_VALID(initialized_); + + if (size_ == 0) { + return delegate->MemorySnapshotDelegateRead(nullptr, size_); + } + + std::unique_ptr<uint8_t[]> buffer(new uint8_t[size_]); + if (!process_reader_->Memory()->Read(address_, size_, buffer.get())) { + return false; + } + return delegate->MemorySnapshotDelegateRead(buffer.get(), size_); + } + + const MemorySnapshot* MergeWithOtherSnapshot( + const MemorySnapshot* other) const override { + return MergeWithOtherSnapshotImpl(this, other); + } + + private: + template <class T> + friend const MemorySnapshot* MergeWithOtherSnapshotImpl( + const T* self, + const MemorySnapshot* other); + + ProcessReaderType* process_reader_; // weak + uint64_t address_; + uint64_t size_; + InitializationStateDcheck initialized_; + + DISALLOW_COPY_AND_ASSIGN(MemorySnapshotGeneric); +}; + +} // namespace internal +} // namespace crashpad + +#endif // CRASHPAD_SNAPSHOT_GENERIC_MEMORY_SNAPSHOT_GENERIC_H_
diff --git a/third_party/crashpad/crashpad/snapshot/snapshot.gyp b/third_party/crashpad/crashpad/snapshot/snapshot.gyp index da19234..b199841 100644 --- a/third_party/crashpad/crashpad/snapshot/snapshot.gyp +++ b/third_party/crashpad/crashpad/snapshot/snapshot.gyp
@@ -49,6 +49,8 @@ 'elf/elf_image_reader.h', 'elf/elf_symbol_table_reader.cc', 'elf/elf_symbol_table_reader.h', + 'elf/module_snapshot_elf.cc', + 'elf/module_snapshot_elf.h', 'exception_snapshot.h', 'handle_snapshot.cc', 'handle_snapshot.h', @@ -58,12 +60,8 @@ 'linux/debug_rendezvous.h', 'linux/exception_snapshot_linux.cc', 'linux/exception_snapshot_linux.h', - 'linux/memory_snapshot_linux.cc', - 'linux/memory_snapshot_linux.h', - 'linux/module_snapshot_linux.cc', - 'linux/module_snapshot_linux.h', - 'linux/process_reader.cc', - 'linux/process_reader.h', + 'linux/process_reader_linux.cc', + 'linux/process_reader_linux.h', 'linux/process_snapshot_linux.cc', 'linux/process_snapshot_linux.h', 'linux/signal_context.h', @@ -83,12 +81,10 @@ 'mac/mach_o_image_segment_reader.h', 'mac/mach_o_image_symbol_table_reader.cc', 'mac/mach_o_image_symbol_table_reader.h', - 'mac/memory_snapshot_mac.cc', - 'mac/memory_snapshot_mac.h', 'mac/module_snapshot_mac.cc', 'mac/module_snapshot_mac.h', - 'mac/process_reader.cc', - 'mac/process_reader.h', + 'mac/process_reader_mac.cc', + 'mac/process_reader_mac.h', 'mac/process_snapshot_mac.cc', 'mac/process_snapshot_mac.h', 'mac/process_types.cc', @@ -110,6 +106,7 @@ 'mac/thread_snapshot_mac.h', 'memory_snapshot.cc', 'memory_snapshot.h', + 'memory_snapshot_generic.h', 'minidump/minidump_annotation_reader.cc', 'minidump/minidump_annotation_reader.h', 'minidump/minidump_simple_string_dictionary_reader.cc',
diff --git a/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp b/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp index 277bf6e..6f0fc90e 100644 --- a/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp +++ b/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp
@@ -81,13 +81,13 @@ 'elf/elf_image_reader_test_note.S', 'linux/debug_rendezvous_test.cc', 'linux/exception_snapshot_linux_test.cc', - 'linux/process_reader_test.cc', + 'linux/process_reader_linux_test.cc', 'linux/system_snapshot_linux_test.cc', 'mac/cpu_context_mac_test.cc', 'mac/mach_o_image_annotations_reader_test.cc', 'mac/mach_o_image_reader_test.cc', 'mac/mach_o_image_segment_reader_test.cc', - 'mac/process_reader_test.cc', + 'mac/process_reader_mac_test.cc', 'mac/process_types_test.cc', 'mac/system_snapshot_mac_test.cc', 'minidump/process_snapshot_minidump_test.cc', @@ -182,6 +182,19 @@ 'sources': [ 'crashpad_info_size_test_module.cc', ], + 'include_dirs': [ + '..', + ], + 'conditions': [ + ['OS=="linux" or OS=="android"', { + 'sources': [ + 'crashpad_info_size_test_note.S', + ], + 'dependencies': [ + '../util/util.gyp:crashpad_util', + ], + }], + ], }, { 'target_name': 'crashpad_snapshot_test_module_small', @@ -195,6 +208,19 @@ 'sources': [ 'crashpad_info_size_test_module.cc', ], + 'include_dirs': [ + '..', + ], + 'conditions': [ + ['OS=="linux" or OS=="android"', { + 'sources': [ + 'crashpad_info_size_test_note.S', + ], + 'dependencies': [ + '../util/util.gyp:crashpad_util', + ], + }], + ], }, { 'target_name': 'crashpad_snapshot_test_both_dt_hash_styles',
diff --git a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc b/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc index 146c66a..759cc13 100644 --- a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc +++ b/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc
@@ -15,21 +15,12 @@ #include <intrin.h> #include <windows.h> -#include "base/files/file_path.h" #include "base/logging.h" +#include "build/build_config.h" #include "client/crashpad_client.h" -#include "util/file/file_io.h" -#include "util/misc/from_pointer_cast.h" +#include "util/misc/capture_context.h" #include "util/win/address_types.h" -namespace { - -__declspec(noinline) crashpad::WinVMAddress CurrentAddress() { - return crashpad::FromPointerCast<crashpad::WinVMAddress>(_ReturnAddress()); -} - -} // namespace - int wmain(int argc, wchar_t* argv[]) { CHECK_EQ(argc, 2); @@ -38,8 +29,25 @@ HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); PCHECK(out != INVALID_HANDLE_VALUE) << "GetStdHandle"; - crashpad::WinVMAddress break_address = CurrentAddress(); - crashpad::CheckedWriteFile(out, &break_address, sizeof(break_address)); + + CONTEXT context; + crashpad::CaptureContext(&context); +#if defined(ARCH_CPU_64_BITS) + crashpad::WinVMAddress break_address = context.Rip; +#else + crashpad::WinVMAddress break_address = context.Eip; +#endif + + // This does not used CheckedWriteFile() because at high optimization + // settings, a lot of logging code can be inlined, causing there to be a large + // number of instructions between where the IP is captured and the actual + // __debugbreak(). Instead call Windows' WriteFile() to minimize the amount of + // code here. Because the next line is going to crash in any case, there's + // minimal difference in behavior aside from an indication of what broke when + // the other end experiences a ReadFile() error. + DWORD bytes_written; + WriteFile( + out, &break_address, sizeof(break_address), &bytes_written, nullptr); __debugbreak();
diff --git a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc b/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc index f55f503..e2c524ae 100644 --- a/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc +++ b/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc
@@ -18,18 +18,9 @@ #include "base/logging.h" #include "client/crashpad_client.h" #include "client/simulate_crash.h" -#include "util/file/file_io.h" -#include "util/misc/from_pointer_cast.h" +#include "util/misc/capture_context.h" #include "util/win/address_types.h" -namespace { - -__declspec(noinline) crashpad::WinVMAddress CurrentAddress() { - return crashpad::FromPointerCast<crashpad::WinVMAddress>(_ReturnAddress()); -} - -} // namespace - int wmain(int argc, wchar_t* argv[]) { CHECK_EQ(argc, 2); @@ -38,8 +29,25 @@ HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); PCHECK(out != INVALID_HANDLE_VALUE) << "GetStdHandle"; - crashpad::WinVMAddress current_address = CurrentAddress(); - crashpad::CheckedWriteFile(out, ¤t_address, sizeof(current_address)); + + CONTEXT context; + crashpad::CaptureContext(&context); +#if defined(ARCH_CPU_64_BITS) + crashpad::WinVMAddress break_address = context.Rip; +#else + crashpad::WinVMAddress break_address = context.Eip; +#endif + + // This does not used CheckedWriteFile() because at high optimization + // settings, a lot of logging code can be inlined, causing there to be a large + // number of instructions between where the IP is captured and the actual + // __debugbreak(). Instead call Windows' WriteFile() to minimize the amount of + // code here. Because the next line is going to crash in any case, there's + // minimal difference in behavior aside from an indication of what broke when + // the other end experiences a ReadFile() error. + DWORD bytes_written; + WriteFile( + out, &break_address, sizeof(break_address), &bytes_written, nullptr); CRASHPAD_SIMULATE_CRASH();
diff --git a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h index 0d21668..f6e29d9 100644 --- a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h +++ b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
@@ -52,8 +52,8 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the process that sustained - //! the exception. + //! \param[in] process_reader A ProcessReaderWin for the process that + //! sustained the exception. //! \param[in] thread_id The thread ID in which the exception occurred. //! \param[in] exception_pointers The address of an `EXCEPTION_POINTERS` //! record in the target process, passed through from the exception
diff --git a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc index a1ab8c6..376de7c 100644 --- a/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc +++ b/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc
@@ -103,7 +103,7 @@ // Verify the exception happened at the expected location with a bit of // slop space to allow for reading the current PC before the exception // happens. See TestCrashingChild(). - constexpr uint64_t kAllowedOffset = 64; + constexpr uint64_t kAllowedOffset = 100; EXPECT_GT(snapshot.Exception()->ExceptionAddress(), break_near_); EXPECT_LT(snapshot.Exception()->ExceptionAddress(), break_near_ + kAllowedOffset); @@ -204,7 +204,7 @@ // Verify the dump was captured at the expected location with some slop // space. - constexpr uint64_t kAllowedOffset = 64; + constexpr uint64_t kAllowedOffset = 100; EXPECT_GT(snapshot.Exception()->Context()->InstructionPointer(), dump_near_); EXPECT_LT(snapshot.Exception()->Context()->InstructionPointer(),
diff --git a/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h b/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h index 414f0a4..693588db0 100644 --- a/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h +++ b/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h
@@ -47,10 +47,10 @@ //! \brief Initializes the object. //! - //! \param[in] process_reader A ProcessReader for the task containing the - //! module. - //! \param[in] process_reader_module The module within the ProcessReader for - //! which the snapshot should be created. + //! \param[in] process_reader A ProcessReaderWin for the process containing + //! the module. + //! \param[in] process_reader_module The module within the ProcessReaderWin + //! for which the snapshot should be created. //! //! \return `true` if the snapshot could be created, `false` otherwise with //! an appropriate message logged.
diff --git a/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc b/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc index 73a0ca7..2fa0258 100644 --- a/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc +++ b/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc
@@ -21,8 +21,8 @@ #include "base/numerics/safe_conversions.h" #include "base/strings/stringprintf.h" +#include "util/misc/capture_context.h" #include "util/misc/time.h" -#include "util/win/capture_context.h" #include "util/win/nt_internals.h" #include "util/win/ntstatus_logging.h" #include "util/win/process_structs.h"
diff --git a/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc b/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc index 4c99497..c87a6a6 100644 --- a/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc +++ b/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc
@@ -134,22 +134,24 @@ EXPECT_EQ(standard_offset_seconds % (15 * 60), 0) << "standard_offset_seconds " << standard_offset_seconds; - if (dst_status == SystemSnapshot::kDoesNotObserveDaylightSavingTime) { - EXPECT_EQ(daylight_offset_seconds, standard_offset_seconds); - EXPECT_EQ(daylight_name, standard_name); - } else { - EXPECT_EQ(daylight_offset_seconds % (15 * 60), 0) - << "daylight_offset_seconds " << daylight_offset_seconds; + // dst_status of kDoesNotObserveDaylightSavingTime can mean only that the + // adjustment is not automatic, as opposed to daylight/standard differences + // not existing at all. So it cannot be asserted that the two offsets are the + // same in that case. - // In contemporary usage, dst_delta_seconds will almost always be one hour, - // except for Lord Howe Island, Australia, which uses a 30-minute delta. - // Throughout history, other variations existed. See - // https://www.timeanddate.com/time/dst/. - int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds; - if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) { - FAIL() << "dst_delta_seconds " << dst_delta_seconds; - } + EXPECT_EQ(daylight_offset_seconds % (15 * 60), 0) + << "daylight_offset_seconds " << daylight_offset_seconds; + // In contemporary usage, dst_delta_seconds will almost always be one hour, + // except for Lord Howe Island, Australia, which uses a 30-minute delta. + // Throughout history, other variations existed. See + // https://www.timeanddate.com/time/dst/. + int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds; + if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) { + FAIL() << "dst_delta_seconds " << dst_delta_seconds; + } + + if (dst_status != SystemSnapshot::kDoesNotObserveDaylightSavingTime) { EXPECT_NE(standard_name, daylight_name); } }
diff --git a/third_party/crashpad/crashpad/test/BUILD.gn b/third_party/crashpad/crashpad/test/BUILD.gn index f754174..0808096 100644 --- a/third_party/crashpad/crashpad/test/BUILD.gn +++ b/third_party/crashpad/crashpad/test/BUILD.gn
@@ -74,8 +74,6 @@ "linux/fake_ptrace_connection.h", "linux/get_tls.cc", "linux/get_tls.h", - "linux/scoped_pr_set_ptracer.cc", - "linux/scoped_pr_set_ptracer.h", ] } @@ -96,7 +94,6 @@ if (crashpad_is_fuchsia) { sources += [ "multiprocess_exec_fuchsia.cc" ] - libs = [ "launchpad" ] } public_configs = [ "..:crashpad_config" ] @@ -121,6 +118,14 @@ "../snapshot", ] } + + if (crashpad_is_win) { + libs = [ "shell32.lib" ] + } + + if (crashpad_is_fuchsia) { + libs = [ "launchpad" ] + } } source_set("test_test") {
diff --git a/third_party/crashpad/crashpad/test/mac/dyld.cc b/third_party/crashpad/crashpad/test/mac/dyld.cc index 6fa2176..fb2156e 100644 --- a/third_party/crashpad/crashpad/test/mac/dyld.cc +++ b/third_party/crashpad/crashpad/test/mac/dyld.cc
@@ -21,7 +21,7 @@ #include <stdint.h> #include "base/logging.h" -#include "snapshot/mac/process_reader.h" +#include "snapshot/mac/process_reader_mac.h" #include "test/scoped_module_handle.h" #include "util/numeric/safe_assignment.h" @@ -74,7 +74,7 @@ #endif // On 10.13 and later, do it the hard way. - ProcessReader process_reader; + ProcessReaderMac process_reader; if (!process_reader.Initialize(mach_task_self())) { return nullptr; }
diff --git a/third_party/crashpad/crashpad/test/multiprocess.h b/third_party/crashpad/crashpad/test/multiprocess.h index 1d3ee9b..aac9288 100644 --- a/third_party/crashpad/crashpad/test/multiprocess.h +++ b/third_party/crashpad/crashpad/test/multiprocess.h
@@ -92,6 +92,12 @@ //! expected to kill the child. void SetExpectedChildTermination(TerminationReason reason, int code); +#if !defined(OS_WIN) + //! \brief Sets termination reason and code appropriately for a child that + //! terminates via `__builtin_trap()`. + void SetExpectedChildTerminationBuiltinTrap(); +#endif // !OS_WIN + protected: ~Multiprocess();
diff --git a/third_party/crashpad/crashpad/test/multiprocess_exec_fuchsia.cc b/third_party/crashpad/crashpad/test/multiprocess_exec_fuchsia.cc index e630608..7d571f9 100644 --- a/third_party/crashpad/crashpad/test/multiprocess_exec_fuchsia.cc +++ b/third_party/crashpad/crashpad/test/multiprocess_exec_fuchsia.cc
@@ -86,6 +86,10 @@ code_ = code; } +void Multiprocess::SetExpectedChildTerminationBuiltinTrap() { + SetExpectedChildTermination(kTerminationNormal, -1); +} + Multiprocess::~Multiprocess() { delete info_; }
diff --git a/third_party/crashpad/crashpad/test/multiprocess_exec_test.cc b/third_party/crashpad/crashpad/test/multiprocess_exec_test.cc index 0104b0f3..99a1b01f 100644 --- a/third_party/crashpad/crashpad/test/multiprocess_exec_test.cc +++ b/third_party/crashpad/crashpad/test/multiprocess_exec_test.cc
@@ -98,6 +98,35 @@ exec.Run(); }; +#if !defined(OS_WIN) + +CRASHPAD_CHILD_TEST_MAIN(BuiltinTrapChild) { + __builtin_trap(); + return EXIT_SUCCESS; +} + +class TestBuiltinTrapTermination final : public MultiprocessExec { + public: + TestBuiltinTrapTermination() { + SetChildTestMainFunction("BuiltinTrapChild"); + SetExpectedChildTerminationBuiltinTrap(); + } + + ~TestBuiltinTrapTermination() = default; + + private: + void MultiprocessParent() override {} + + DISALLOW_COPY_AND_ASSIGN(TestBuiltinTrapTermination); +}; + +TEST(MultiprocessExec, BuiltinTrapTermination) { + TestBuiltinTrapTermination test; + test.Run(); +} + +#endif // !OS_WIN + } // namespace } // namespace test } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/test/multiprocess_exec_test_child.cc b/third_party/crashpad/crashpad/test/multiprocess_exec_test_child.cc index f2761ea..8c77015 100644 --- a/third_party/crashpad/crashpad/test/multiprocess_exec_test_child.cc +++ b/third_party/crashpad/crashpad/test/multiprocess_exec_test_child.cc
@@ -23,7 +23,9 @@ #include "build/build_config.h" #if defined(OS_POSIX) +#if !defined(OS_FUCHSIA) #include <sys/resource.h> +#endif // !OS_FUCHSIA #include <unistd.h> #elif defined(OS_WIN) #include <windows.h>
diff --git a/third_party/crashpad/crashpad/test/multiprocess_posix.cc b/third_party/crashpad/crashpad/test/multiprocess_posix.cc index c638b48a..96b8ad2 100644 --- a/third_party/crashpad/crashpad/test/multiprocess_posix.cc +++ b/third_party/crashpad/crashpad/test/multiprocess_posix.cc
@@ -157,6 +157,14 @@ code_ = code; } +void Multiprocess::SetExpectedChildTerminationBuiltinTrap() { +#if defined(ARCH_CPU_ARM64) + SetExpectedChildTermination(kTerminationSignal, SIGTRAP); +#else + SetExpectedChildTermination(kTerminationSignal, SIGILL); +#endif +} + Multiprocess::~Multiprocess() { }
diff --git a/third_party/crashpad/crashpad/test/test.gyp b/third_party/crashpad/crashpad/test/test.gyp index a3721ef..2973708 100644 --- a/third_party/crashpad/crashpad/test/test.gyp +++ b/third_party/crashpad/crashpad/test/test.gyp
@@ -45,8 +45,6 @@ 'linux/fake_ptrace_connection.h', 'linux/get_tls.cc', 'linux/get_tls.h', - 'linux/scoped_pr_set_ptracer.cc', - 'linux/scoped_pr_set_ptracer.h', 'mac/dyld.cc', 'mac/dyld.h', 'mac/exception_swallower.cc',
diff --git a/third_party/crashpad/crashpad/test/test_paths.cc b/third_party/crashpad/crashpad/test/test_paths.cc index f6471d08..0d7db06 100644 --- a/third_party/crashpad/crashpad/test/test_paths.cc +++ b/third_party/crashpad/crashpad/test/test_paths.cc
@@ -127,6 +127,10 @@ // static base::FilePath TestPaths::ExpectedExecutableBasename( const base::FilePath::StringType& name) { +#if defined(OS_FUCHSIA) + // Apps in Fuchsia packages are always named "app". + return base::FilePath("app"); +#else // OS_FUCHSIA #if defined(CRASHPAD_IS_IN_CHROMIUM) base::FilePath::StringType executable_name( FILE_PATH_LITERAL("crashpad_tests")); @@ -139,6 +143,7 @@ #endif // OS_WIN return base::FilePath(executable_name); +#endif // OS_FUCHSIA } // static @@ -195,7 +200,11 @@ #endif // OS_WIN #if defined(OS_FUCHSIA) - directory = base::FilePath(FILE_PATH_LITERAL("/pkg/lib")); + // TODO(scottmg): .so files are currently deployed into /boot/lib, where + // they'll be found (without a path) by the loader. Application packaging + // infrastructure is in progress, so this will likely change again in the + // future. + directory = base::FilePath(); #endif break; }
diff --git a/third_party/crashpad/crashpad/third_party/fuchsia/README.crashpad b/third_party/crashpad/crashpad/third_party/fuchsia/README.crashpad index fc4a514..8bf0a91 100644 --- a/third_party/crashpad/crashpad/third_party/fuchsia/README.crashpad +++ b/third_party/crashpad/crashpad/third_party/fuchsia/README.crashpad
@@ -1,4 +1,3 @@ This directory is a placeholder for Fuchsia tools that will be downloaded by -CIPD (https://github.com/luci/luci-go/tree/master/cipd). The toolchain.ensure -files specifies which CIPD packages to retrieve, at which versions, and where -they're stored locally. The CIPD update happens as part of gclient runhooks. +CIPD (https://github.com/luci/luci-go/tree/master/cipd). The CIPD update happens +as part of gclient runhooks.
diff --git a/third_party/crashpad/crashpad/third_party/linux/README.crashpad b/third_party/crashpad/crashpad/third_party/linux/README.crashpad new file mode 100644 index 0000000..8bf0a91 --- /dev/null +++ b/third_party/crashpad/crashpad/third_party/linux/README.crashpad
@@ -0,0 +1,3 @@ +This directory is a placeholder for Fuchsia tools that will be downloaded by +CIPD (https://github.com/luci/luci-go/tree/master/cipd). The CIPD update happens +as part of gclient runhooks.
diff --git a/third_party/crashpad/crashpad/tools/crashpad_database_util.cc b/third_party/crashpad/crashpad/tools/crashpad_database_util.cc index cc21698..b4c2a15b 100644 --- a/third_party/crashpad/crashpad/tools/crashpad_database_util.cc +++ b/third_party/crashpad/crashpad/tools/crashpad_database_util.cc
@@ -584,16 +584,13 @@ file_reader = std::move(file_path_reader); } - CrashReportDatabase::NewReport* new_report; + std::unique_ptr<CrashReportDatabase::NewReport> new_report; CrashReportDatabase::OperationStatus status = database->PrepareNewCrashReport(&new_report); if (status != CrashReportDatabase::kNoError) { return EXIT_FAILURE; } - CrashReportDatabase::CallErrorWritingCrashReport - call_error_writing_crash_report(database.get(), new_report); - char buf[4096]; FileOperationResult read_result; do { @@ -601,16 +598,13 @@ if (read_result < 0) { return EXIT_FAILURE; } - if (read_result > 0 && - !LoggingWriteFile(new_report->handle, buf, read_result)) { + if (read_result > 0 && !new_report->Writer()->Write(buf, read_result)) { return EXIT_FAILURE; } } while (read_result > 0); - call_error_writing_crash_report.Disarm(); - UUID uuid; - status = database->FinishedWritingCrashReport(new_report, &uuid); + status = database->FinishedWritingCrashReport(std::move(new_report), &uuid); if (status != CrashReportDatabase::kNoError) { return EXIT_FAILURE; }
diff --git a/third_party/crashpad/crashpad/tools/generate_dump.cc b/third_party/crashpad/crashpad/tools/generate_dump.cc index a470bfd..c1fbde8 100644 --- a/third_party/crashpad/crashpad/tools/generate_dump.cc +++ b/third_party/crashpad/crashpad/tools/generate_dump.cc
@@ -47,6 +47,8 @@ #include "util/win/xp_compat.h" #elif defined(OS_FUCHSIA) #include "snapshot/fuchsia/process_snapshot_fuchsia.h" +#elif defined(OS_LINUX) +#include "snapshot/linux/process_snapshot_linux.h" #endif // OS_MACOSX namespace crashpad { @@ -199,6 +201,12 @@ if (!process_snapshot.Initialize(ZX_HANDLE_INVALID)) { return EXIT_FAILURE; } +#elif defined(OS_LINUX) + // TODO(jperaza): https://crashpad.chromium.org/bug/30. + ProcessSnapshotLinux process_snapshot; + if (!process_snapshot.Initialize(nullptr)) { + return EXIT_FAILURE; + } #endif // OS_MACOSX FileWriter file_writer;
diff --git a/third_party/crashpad/crashpad/util/BUILD.gn b/third_party/crashpad/crashpad/util/BUILD.gn index 13a5da8..bb3a9e4 100644 --- a/third_party/crashpad/crashpad/util/BUILD.gn +++ b/third_party/crashpad/crashpad/util/BUILD.gn
@@ -14,6 +14,13 @@ import("../build/crashpad_buildconfig.gni") +declare_args() { + if (crashpad_is_linux) { + # Whether the libcurl-based HTTPTransport implementation should be built. + enable_http_transport_libcurl = true + } +} + if (crashpad_is_mac) { if (crashpad_is_in_chromium) { import("//build/config/sysroot.gni") @@ -83,7 +90,9 @@ "misc/address_types.h", "misc/arraysize_unsafe.h", "misc/as_underlying_type.h", + "misc/capture_context.h", "misc/clock.h", + "misc/elf_note_types.h", "misc/from_pointer_cast.h", "misc/implicit_cast.h", "misc/initialization_state.h", @@ -142,6 +151,7 @@ "string/split_string.cc", "string/split_string.h", "synchronization/semaphore.h", + "thread/stoppable.h", "thread/thread.cc", "thread/thread.h", "thread/thread_log_messages.cc", @@ -231,6 +241,7 @@ "mach/task_for_pid.h", "mach/task_memory.cc", "mach/task_memory.h", + "misc/capture_context_mac.S", "misc/clock_mac.cc", "misc/paths_mac.cc", "net/http_transport_mac.mm", @@ -241,7 +252,11 @@ } if (crashpad_is_linux) { - sources += [ "net/http_transport_libcurl.cc" ] + if (enable_http_transport_libcurl) { + sources += [ "net/http_transport_libcurl.cc" ] + } else { + sources += [ "net/http_transport_none.cc" ] + } } if (crashpad_is_linux || crashpad_is_android) { @@ -267,11 +282,14 @@ "linux/ptrace_connection.h", "linux/ptracer.cc", "linux/ptracer.h", + "linux/scoped_pr_set_ptracer.cc", + "linux/scoped_pr_set_ptracer.h", "linux/scoped_ptrace_attach.cc", "linux/scoped_ptrace_attach.h", "linux/thread_info.cc", "linux/thread_info.h", "linux/traits.h", + "misc/capture_context_linux.S", "misc/paths_linux.cc", "posix/process_info_linux.cc", "process/process_memory_linux.cc", @@ -303,7 +321,6 @@ "synchronization/semaphore_win.cc", "thread/thread_win.cc", "win/address_types.h", - "win/capture_context.h", "win/checked_win_address_range.h", "win/command_line.cc", "win/command_line.h", @@ -357,12 +374,12 @@ # https://crbug.com/762167. if (host_os == "win") { sources += [ - "win/capture_context.asm", + "misc/capture_context_win.asm", "win/safe_terminate_process.asm", ] } else { sources += [ - "win/capture_context_broken.cc", + "misc/capture_context_broken.cc", "win/safe_terminate_process_broken.cc", ] } @@ -371,7 +388,7 @@ if (crashpad_is_fuchsia) { sources += [ "misc/paths_fuchsia.cc", - "net/http_transport_fuchsia.cc", + "net/http_transport_none.cc", "process/process_memory_fuchsia.cc", "process/process_memory_fuchsia.h", ] @@ -402,16 +419,18 @@ include_dirs += [ "$root_build_dir/gen" ] } - if (crashpad_is_linux) { + if (crashpad_is_linux && enable_http_transport_libcurl) { libs = [ "curl" ] } if (crashpad_is_win) { - cflags = [ - "/wd4201", # nonstandard extension used : nameless struct/union. - "/wd4577", # 'noexcept' used with no exception handling mode specified. + libs = [ + "mincore.lib", + "user32.lib", + "winhttp.lib", ] - libs = [ "winhttp.lib" ] + + cflags = [ "/wd4201" ] # nonstandard extension used: nameless struct/union. if (current_cpu == "x86") { asmflags = [ "/safeseh" ] @@ -430,6 +449,7 @@ "file/filesystem_test.cc", "file/string_file_test.cc", "misc/arraysize_unsafe_test.cc", + "misc/capture_context_test_util.h", "misc/clock_test.cc", "misc/from_pointer_cast_test.cc", "misc/initialization_state_dcheck_test.cc", @@ -463,7 +483,16 @@ "thread/worker_thread_test.cc", ] - if (!crashpad_is_android && !crashpad_is_fuchsia) { + if (!crashpad_is_fuchsia) { + sources += [ + # No NativeCPUContext defined for Fuchsia yet. + # https://crashpad.chromium.org/bug/196. + "misc/capture_context_test.cc", + ] + } + + if (!crashpad_is_android && !crashpad_is_fuchsia && + (!crashpad_is_linux || enable_http_transport_libcurl)) { # Android and Fuchsia will each require an HTTPTransport implementation # (libcurl isn’t in either’s SDK) and a solution to # http_transport_test_server.py, because Python isn’t available on either. @@ -471,8 +500,10 @@ # the build host with a method to forward requests from the device to the # host. # - # TODO(scottmg): Fuchsia will also require an implementation of - # MultiprocessExec for testing. + # Linux optionally compiles in a libcurl-based HTTPTransport, but since curl + # isn't in a base Debian sysroot (which is what Chromium builds against), + # maintain an option to exclude that, for now. + # https://crashpad.chromium.org/bug/220. sources += [ "net/http_transport_test.cc" ] } @@ -508,6 +539,7 @@ "mach/scoped_task_suspend_test.cc", "mach/symbolic_constants_mach_test.cc", "mach/task_memory_test.cc", + "misc/capture_context_test_util_mac.cc", ] } @@ -519,6 +551,7 @@ "linux/ptrace_broker_test.cc", "linux/ptracer_test.cc", "linux/scoped_ptrace_attach_test.cc", + "misc/capture_context_test_util_linux.cc", ] } @@ -532,7 +565,7 @@ if (crashpad_is_win) { sources += [ - "win/capture_context_test.cc", + "misc/capture_context_test_util_win.cc", "win/command_line_test.cc", "win/critical_section_with_debug_info_test.cc", "win/exception_handler_server_test.cc", @@ -568,7 +601,10 @@ } if (crashpad_is_win) { - libs = [ "rpcrt4.lib" ] + libs = [ + "rpcrt4.lib", + "dbghelp.lib", + ] data_deps = [ ":crashpad_util_test_process_info_test_child", ":crashpad_util_test_safe_terminate_process_test_child",
diff --git a/third_party/crashpad/crashpad/util/file/file_io.h b/third_party/crashpad/crashpad/util/file/file_io.h index 044a0a6..050c074 100644 --- a/third_party/crashpad/crashpad/util/file/file_io.h +++ b/third_party/crashpad/crashpad/util/file/file_io.h
@@ -404,6 +404,11 @@ FileWriteMode mode, FilePermissions permissions); +// Fuchsia does not currently support any sort of file locking. See +// https://crashpad.chromium.org/bug/196 and +// https://crashpad.chromium.org/bug/217. +#if !defined(OS_FUCHSIA) + //! \brief Locks the given \a file using `flock()` on POSIX or `LockFileEx()` on //! Windows. //! @@ -433,6 +438,8 @@ //! \return `true` on success, or `false` and a message will be logged. bool LoggingUnlockFile(FileHandle file); +#endif // !OS_FUCHSIA + //! \brief Wraps `lseek()` or `SetFilePointerEx()`. Logs an error if the //! operation fails. //!
diff --git a/third_party/crashpad/crashpad/util/file/file_io_posix.cc b/third_party/crashpad/crashpad/util/file/file_io_posix.cc index 2993279..f311616 100644 --- a/third_party/crashpad/crashpad/util/file/file_io_posix.cc +++ b/third_party/crashpad/crashpad/util/file/file_io_posix.cc
@@ -157,6 +157,8 @@ return fd; } +#if !defined(OS_FUCHSIA) + bool LoggingLockFile(FileHandle file, FileLocking locking) { int operation = (locking == FileLocking::kShared) ? LOCK_SH : LOCK_EX; int rv = HANDLE_EINTR(flock(file, operation)); @@ -170,6 +172,8 @@ return rv == 0; } +#endif // !OS_FUCHSIA + FileOffset LoggingSeekFile(FileHandle file, FileOffset offset, int whence) { off_t rv = lseek(file, offset, whence); PLOG_IF(ERROR, rv < 0) << "lseek";
diff --git a/third_party/crashpad/crashpad/util/file/file_io_test.cc b/third_party/crashpad/crashpad/util/file/file_io_test.cc index fdcf7e9..4446c320 100644 --- a/third_party/crashpad/crashpad/util/file/file_io_test.cc +++ b/third_party/crashpad/crashpad/util/file/file_io_test.cc
@@ -523,6 +523,11 @@ FileShareModeTest(ReadOrWrite::kWrite, ReadOrWrite::kWrite); } +// Fuchsia does not currently support any sort of file locking. See +// https://crashpad.chromium.org/bug/196 and +// https://crashpad.chromium.org/bug/217. +#if !defined(OS_FUCHSIA) + TEST(FileIO, MultipleSharedLocks) { ScopedTempDir temp_dir; base::FilePath shared_file = @@ -648,6 +653,8 @@ LockingTest(FileLocking::kShared, FileLocking::kExclusive); } +#endif // !OS_FUCHSIA + TEST(FileIO, FileSizeByHandle) { EXPECT_EQ(LoggingFileSizeByHandle(kInvalidFileHandle), -1);
diff --git a/third_party/crashpad/crashpad/util/file/filesystem_posix.cc b/third_party/crashpad/crashpad/util/file/filesystem_posix.cc index b1f19f6..c2234da 100644 --- a/third_party/crashpad/crashpad/util/file/filesystem_posix.cc +++ b/third_party/crashpad/crashpad/util/file/filesystem_posix.cc
@@ -65,6 +65,14 @@ bool MoveFileOrDirectory(const base::FilePath& source, const base::FilePath& dest) { +#if defined(OS_FUCHSIA) + // Fuchsia fails and sets errno to EINVAL if source and dest are the same. + // Upstream bug is ZX-1729. + if (!source.empty() && source == dest) { + return true; + } +#endif // OS_FUCHSIA + if (rename(source.value().c_str(), dest.value().c_str()) != 0) { PLOG(ERROR) << "rename " << source.value().c_str() << ", " << dest.value().c_str();
diff --git a/third_party/crashpad/crashpad/util/linux/memory_map.cc b/third_party/crashpad/crashpad/util/linux/memory_map.cc index cb7bfe1..f2df865a 100644 --- a/third_party/crashpad/crashpad/util/linux/memory_map.cc +++ b/third_party/crashpad/crashpad/util/linux/memory_map.cc
@@ -36,7 +36,7 @@ // Simply adding a StringToNumber for longs doesn't work since sometimes long // and int64_t are actually the same type, resulting in a redefinition error. template <typename Type> -bool LocalStringToNumber(const base::StringPiece& string, Type* number) { +bool LocalStringToNumber(const std::string& string, Type* number) { static_assert(sizeof(Type) == sizeof(int) || sizeof(Type) == sizeof(int64_t), "Unexpected Type size");
diff --git a/third_party/crashpad/crashpad/util/linux/ptracer.cc b/third_party/crashpad/crashpad/util/linux/ptracer.cc index 2011581..84447362 100644 --- a/third_party/crashpad/crashpad/util/linux/ptracer.cc +++ b/third_party/crashpad/crashpad/util/linux/ptracer.cc
@@ -285,9 +285,9 @@ switch (errno) { #if defined(ARCH_CPU_ARMEL) case EIO: - if (GetGeneralPurposeRegistersLegacy(tid, context, can_log)) { - return sizeof(context->t32); - } + return GetGeneralPurposeRegistersLegacy(tid, context, can_log) + ? sizeof(context->t32) + : 0; #endif // ARCH_CPU_ARMEL default: PLOG_IF(ERROR, can_log) << "ptrace";
diff --git a/third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.cc b/third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.cc similarity index 70% rename from third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.cc rename to third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.cc index bc9695ae..c7aeefc 100644 --- a/third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.cc +++ b/third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.cc
@@ -12,29 +12,26 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "test/linux/scoped_pr_set_ptracer.h" +#include "util/linux/scoped_pr_set_ptracer.h" #include <errno.h> #include <sys/prctl.h> -#include "gtest/gtest.h" -#include "test/errors.h" +#include "base/logging.h" namespace crashpad { -namespace test { -ScopedPrSetPtracer::ScopedPrSetPtracer(pid_t pid) { +ScopedPrSetPtracer::ScopedPrSetPtracer(pid_t pid, bool may_log) + : success_(false), may_log_(may_log) { success_ = prctl(PR_SET_PTRACER, pid, 0, 0, 0) == 0; - if (!success_) { - EXPECT_EQ(errno, EINVAL) << ErrnoMessage("prctl"); - } + PLOG_IF(ERROR, !success_ && may_log && errno != EINVAL) << "prctl"; } ScopedPrSetPtracer::~ScopedPrSetPtracer() { if (success_) { - EXPECT_EQ(prctl(PR_SET_PTRACER, 0, 0, 0, 0), 0) << ErrnoMessage("prctl"); + int res = prctl(PR_SET_PTRACER, 0, 0, 0, 0); + PLOG_IF(ERROR, res != 0 && may_log_) << "prctl"; } } -} // namespace test } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.h b/third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.h similarity index 69% rename from third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.h rename to third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.h index df9cff7..2bc8677 100644 --- a/third_party/crashpad/crashpad/test/linux/scoped_pr_set_ptracer.h +++ b/third_party/crashpad/crashpad/util/linux/scoped_pr_set_ptracer.h
@@ -12,36 +12,40 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef CRASHPAD_TEST_LINUX_SCOPED_PR_SET_PTRACER_H_ -#define CRASHPAD_TEST_LINUX_SCOPED_PR_SET_PTRACER_H_ +#ifndef CRASHPAD_UTIL_LINUX_SCOPED_PR_SET_PTRACER_H_ +#define CRASHPAD_UTIL_LINUX_SCOPED_PR_SET_PTRACER_H_ #include <sys/types.h> #include "base/macros.h" namespace crashpad { -namespace test { class ScopedPrSetPtracer { public: - //! \brief Uses `PR_SET_PTRACER` to set \a pid as the caller's ptracer or - //! expects `EINVAL`. + //! \brief Uses `PR_SET_PTRACER` to set \a pid as the caller's ptracer. //! //! `PR_SET_PTRACER` is only supported if the Yama Linux security module (LSM) //! is enabled. Otherwise, `prctl(PR_SET_PTRACER, ...)` fails with `EINVAL`. //! See linux-4.9.20/security/yama/yama_lsm.c yama_task_prctl() and //! linux-4.9.20/kernel/sys.c [sys_]prctl(). - explicit ScopedPrSetPtracer(pid_t pid); + //! + //! An error message will be logged on failure only if \a may_log is `true` + //! and `prctl` does not fail with `EINVAL`; + //! + //! \param[in] pid The process ID of the process to make the caller's ptracer. + //! \param[in] may_log if `true`, this class may log error messages. + ScopedPrSetPtracer(pid_t pid, bool may_log); ~ScopedPrSetPtracer(); private: bool success_; + bool may_log_; DISALLOW_COPY_AND_ASSIGN(ScopedPrSetPtracer); }; -} // namespace test } // namespace crashpad -#endif // CRASHPAD_TEST_LINUX_SCOPED_PR_SET_PTRACER_H_ +#endif // CRASHPAD_UTIL_LINUX_SCOPED_PR_SET_PTRACER_H_
diff --git a/third_party/crashpad/crashpad/util/linux/scoped_ptrace_attach_test.cc b/third_party/crashpad/crashpad/util/linux/scoped_ptrace_attach_test.cc index 78552e77..d009e682 100644 --- a/third_party/crashpad/crashpad/util/linux/scoped_ptrace_attach_test.cc +++ b/third_party/crashpad/crashpad/util/linux/scoped_ptrace_attach_test.cc
@@ -20,9 +20,9 @@ #include "gtest/gtest.h" #include "test/errors.h" -#include "test/linux/scoped_pr_set_ptracer.h" #include "test/multiprocess.h" #include "util/file/file_io.h" +#include "util/linux/scoped_pr_set_ptracer.h" namespace crashpad { namespace test { @@ -75,7 +75,7 @@ } void MultiprocessChild() override { - ScopedPrSetPtracer set_ptracer(getppid()); + ScopedPrSetPtracer set_ptracer(getppid(), /* may_log= */ true); char c = '\0'; CheckedWriteFile(WritePipeHandle(), &c, sizeof(c)); @@ -98,7 +98,7 @@ private: void MultiprocessParent() override { - ScopedPrSetPtracer set_ptracer(ChildPID()); + ScopedPrSetPtracer set_ptracer(ChildPID(), /* may_log= */ true); char c = '\0'; CheckedWriteFile(WritePipeHandle(), &c, sizeof(c)); @@ -140,7 +140,7 @@ private: void MultiprocessParent() override { - ScopedPrSetPtracer set_ptracer(ChildPID()); + ScopedPrSetPtracer set_ptracer(ChildPID(), /* may_log= */ true); char c = '\0'; CheckedWriteFile(WritePipeHandle(), &c, sizeof(c));
diff --git a/third_party/crashpad/crashpad/util/mach/symbolic_constants_mach.cc b/third_party/crashpad/crashpad/util/mach/symbolic_constants_mach.cc index b7296be2..8f95915e 100644 --- a/third_party/crashpad/crashpad/util/mach/symbolic_constants_mach.cc +++ b/third_party/crashpad/crashpad/util/mach/symbolic_constants_mach.cc
@@ -239,7 +239,8 @@ } if (options & kAllowNumber) { - return StringToNumber(string, reinterpret_cast<unsigned int*>(exception)); + return StringToNumber(std::string(string.data(), string.length()), + reinterpret_cast<unsigned int*>(exception)); } return false; @@ -352,7 +353,7 @@ } if (options & kAllowNumber) { - return StringToNumber(string, + return StringToNumber(std::string(string.data(), string.length()), reinterpret_cast<unsigned int*>(exception_mask)); } @@ -452,7 +453,8 @@ if (options & kAllowNumber) { exception_behavior_t temp_behavior; - if (!StringToNumber(sp, reinterpret_cast<unsigned int*>(&temp_behavior))) { + if (!StringToNumber(std::string(sp.data(), sp.length()), + reinterpret_cast<unsigned int*>(&temp_behavior))) { return false; } build_behavior |= temp_behavior; @@ -539,7 +541,8 @@ } if (options & kAllowNumber) { - return StringToNumber(string, reinterpret_cast<unsigned int*>(flavor)); + return StringToNumber(std::string(string.data(), string.length()), + reinterpret_cast<unsigned int*>(flavor)); } return false;
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context.h b/third_party/crashpad/crashpad/util/misc/capture_context.h new file mode 100644 index 0000000..5c1838a --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context.h
@@ -0,0 +1,87 @@ +// Copyright 2014 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_UTIL_MISC_CAPTURE_CONTEXT_H_ +#define CRASHPAD_UTIL_MISC_CAPTURE_CONTEXT_H_ + +#include "build/build_config.h" + +#if defined(OS_MACOSX) +#include <mach/mach.h> +#elif defined(OS_WIN) +#include <windows.h> +#elif defined(OS_LINUX) || defined(OS_ANDROID) +#include <ucontext.h> +#endif // OS_MACOSX + +namespace crashpad { + +#if defined(OS_MACOSX) +#if defined(ARCH_CPU_X86_FAMILY) +using NativeCPUContext = x86_thread_state; +#endif +#elif defined(OS_WIN) +using NativeCPUContext = CONTEXT; +#elif defined(OS_LINUX) || defined(OS_ANDROID) +using NativeCPUContext = ucontext_t; +#endif // OS_MACOSX + +// No NativeCPUContext defined for Fuchsia yet. +// https://crashpad.chromium.org/bug/196. +#if !defined(OS_FUCHSIA) + +//! \brief Saves the CPU context. +//! +//! The CPU context will be captured as accurately and completely as possible, +//! containing an atomic snapshot at the point of this function’s return. This +//! function does not modify any registers. +//! +//! This function is a replacement for `RtlCaptureContext()` and `getcontext()` +//! which contain bugs and/or limitations. +//! +//! On 32-bit x86, `RtlCaptureContext()` requires that `ebp` be used as a frame +//! pointer, and returns `ebp`, `esp`, and `eip` out of sync with the other +//! registers. Both the 32-bit x86 and 64-bit x86_64 versions of +//! `RtlCaptureContext()` capture only the state of the integer registers, +//! ignoring floating-point and vector state. +//! +//! \param[out] cpu_context The structure to store the context in. +//! +//! \note The ABI may require that this function's argument is passed by +//! register, preventing this fuction from saving the original value of that +//! register. This occurs in the following circumstances: +//! +//! OS | Architecture | Register +//! ------------|--------------|--------- +//! Win | x86_64 | `%%rcx` +//! macOS/Linux | x86_64 | `%%rdi` +//! Linux | ARM/ARM64 | `r0`/`x0` +//! +//! Additionally, the value `LR` on ARM/ARM64 will be the return address of +//! this function. +//! +//! If the value of these register prior to calling this function are needed +//! they must be obtained separately prior to calling this function. For +//! example: +//! \code +//! uint64_t rdi; +//! asm("movq %%rdi, %0" : "=m"(rdi)); +//! \endcode +void CaptureContext(NativeCPUContext* cpu_context); + +#endif // !OS_FUCHSIA + +} // namespace crashpad + +#endif // CRASHPAD_UTIL_MISC_CAPTURE_CONTEXT_H_
diff --git a/third_party/crashpad/crashpad/util/win/capture_context_broken.cc b/third_party/crashpad/crashpad/util/misc/capture_context_broken.cc similarity index 90% rename from third_party/crashpad/crashpad/util/win/capture_context_broken.cc rename to third_party/crashpad/crashpad/util/misc/capture_context_broken.cc index 4a641515..ab7a5974 100644 --- a/third_party/crashpad/crashpad/util/win/capture_context_broken.cc +++ b/third_party/crashpad/crashpad/util/misc/capture_context_broken.cc
@@ -12,13 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "util/win/capture_context.h" +#include "util/misc/capture_context.h" #include "base/logging.h" namespace crashpad { -void CaptureContext(CONTEXT* context) { +void CaptureContext(NativeCPUContext* context) { // Don't use this file in production. CHECK(false) << "Don't use this! For cross builds only. See https://crbug.com/762167.";
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_linux.S b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S new file mode 100644 index 0000000..c16d0c7 --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
@@ -0,0 +1,324 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// namespace crashpad { +// void CaptureContext(ucontext_t* context); +// } // namespace crashpad +#define CAPTURECONTEXT_SYMBOL _ZN8crashpad14CaptureContextEP8ucontext + + .text + .globl CAPTURECONTEXT_SYMBOL +#if defined(__i386__) || defined(__x86_64__) + .balign 16, 0x90 +#elif defined(__arm__) || defined(__aarch64__) + .balign 4, 0x0 +#endif + +CAPTURECONTEXT_SYMBOL: + +#if defined(__i386__) + + .cfi_startproc + + pushl %ebp + .cfi_def_cfa_offset 8 + .cfi_offset %ebp, -8 + movl %esp, %ebp + .cfi_def_cfa_register %ebp + + // Note that 16-byte stack alignment is not maintained because this function + // does not call out to any other. + + // pushfl first, because some instructions (but probably none used here) + // affect %eflags. %eflags will be in -4(%ebp). + pushfl + + // Save the original value of %eax, and use %eax to hold the ucontext_t* + // argument. The original value of %eax will be in -8(%ebp). + pushl %eax + movl 8(%ebp), %eax + + // Save the original value of %ecx, and use %ecx as a scratch register. + pushl %ecx + + // The segment registers are 16 bits wide, but mcontext_t declares them + // as unsigned 32-bit values, so zero the top half. + xorl %ecx, %ecx + movw %gs, %cx + movl %ecx, 0x14(%eax) // context->uc_mcontext.xgs + movw %fs, %cx + movl %ecx, 0x18(%eax) // context->uc_mcontext.xfs + movw %es, %cx + movl %ecx, 0x1c(%eax) // context->uc_mcontext.xes + movw %ds, %cx + movl %ecx, 0x20(%eax) // context->uc_mcontext.xds + + // General-purpose registers whose values haven’t changed can be captured + // directly. + movl %edi, 0x24(%eax) // context->uc_mcontext.edi + movl %esi, 0x28(%eax) // context->uc_mcontext.esi + + // The original %ebp was saved on the stack in this function’s prologue. + movl (%ebp), %ecx + movl %ecx, 0x2c(%eax) // context->uc_mcontext.ebp + + // %esp was saved in %ebp in this function’s prologue, but the caller’s %esp + // is 8 more than this value: 4 for the original %ebp saved on the stack in + // this function’s prologue, and 4 for the return address saved on the stack + // by the call instruction that reached this function. + leal 8(%ebp), %ecx + movl %ecx, 0x30(%eax) // context->uc_mcontext.esp + + // More general-purpose registers + movl %ebx, 0x34(%eax) // context->uc_mcontext.ebx + movl %edx, 0x38(%eax) // context->uc_mcontext.edx + + // The original %ecx was saved on the stack above. + movl -12(%ebp), %ecx + movl %ecx, 0x3c(%eax) // context->uc_mcontext.ecx + + // The original %eax was saved on the stack above. + movl -8(%ebp), %ecx + movl %ecx, 0x40(%eax) // context->uc_mcontext.eax + + // trapno and err are unused so zero them out. + xorl %ecx, %ecx + movl %ecx, 0x44(%eax) // context->uc_mcontext.trapno + movl %ecx, 0x48(%eax) // context->uc_mcontext.err + + // %eip can’t be accessed directly, but the return address saved on the stack + // by the call instruction that reached this function can be used. + movl 4(%ebp), %ecx + movl %ecx, 0x4c(%eax) // context->uc_mcontext.eip + + // More segment registers + xorl %ecx, %ecx + movw %cs, %cx + movl %ecx, 0x50(%eax) // context->uc_mcontext.xcs + + // The original %eflags was saved on the stack above. + movl -4(%ebp), %ecx + movl %ecx, 0x54(%eax) // context->uc_mcontext.eflags + + // uesp is unused so zero it out. + xorl %ecx, %ecx + movl %ecx, 0x58(%eax) // context->uc_mcontext.uesp + + // The last segment register. + movw %ss, %cx + movl %ecx, 0x5c(%eax) // context->uc_mcontext.xss + + // TODO(jperaza): save floating-point registers. + + // Clean up by restoring clobbered registers, even those considered volatile + // by the ABI, so that the captured context represents the state at this + // function’s exit. + popl %ecx + popl %eax + popfl + + popl %ebp + + ret + + .cfi_endproc + +#elif defined(__x86_64__) + + .cfi_startproc + + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset %rbp, -16 + movq %rsp, %rbp + .cfi_def_cfa_register %rbp + + // Note that 16-byte stack alignment is not maintained because this function + // does not call out to any other. + + // pushfq first, because some instructions (but probably none used here) + // affect %rflags. %rflags will be in -8(%rbp). + pushfq + + // General-purpose registers whose values haven’t changed can be captured + // directly. + movq %r8, 0x28(%rdi) // context->uc_mcontext.r8 + movq %r9, 0x30(%rdi) // context->uc_mcontext.r9 + movq %r10, 0x38(%rdi) // context->uc_mcontext.r10 + movq %r11, 0x40(%rdi) // context->uc_mcontext.r11 + movq %r12, 0x48(%rdi) // context->uc_mcontext.r12 + movq %r13, 0x50(%rdi) // context->uc_mcontext.r13 + movq %r14, 0x58(%rdi) // context->uc_mcontext.r14 + movq %r15, 0x60(%rdi) // context->uc_mcontext.r15 + + // Because of the calling convention, there’s no way to recover the value of + // the caller’s %rdi as it existed prior to calling this function. This + // function captures a snapshot of the register state at its return, which + // involves %rdi containing a pointer to its first argument. Callers that + // require the value of %rdi prior to calling this function should obtain it + // separately. For example: + // uint64_t rdi; + // asm("movq %%rdi, %0" : "=m"(rdi)); + movq %rdi, 0x68(%rdi) // context->uc_mcontext.rdi + + movq %rsi, 0x70(%rdi) // context->uc_mcontext.rsi + + // Use %r8 as a scratch register now that it has been saved. + // The original %rbp was saved on the stack in this function’s prologue. + movq (%rbp), %r8 + movq %r8, 0x78(%rdi) // context->uc_mcontext.rbp + + // Save the remaining general-purpose registers. + movq %rbx, 0x80(%rdi) // context->uc_mcontext.rbx + movq %rdx, 0x88(%rdi) // context->uc_mcontext.rdx + movq %rax, 0x90(%rdi) // context->uc_mcontext.rax + movq %rcx, 0x98(%rdi) // context->uc_mcontext.rcx + + // %rsp was saved in %rbp in this function’s prologue, but the caller’s %rsp + // is 16 more than this value: 8 for the original %rbp saved on the stack in + // this function’s prologue, and 8 for the return address saved on the stack + // by the call instruction that reached this function. + leaq 16(%rbp), %r8 + movq %r8, 0xa0(%rdi) // context->uc_mcontext.rsp + + // %rip can’t be accessed directly, but the return address saved on the stack + // by the call instruction that reached this function can be used. + movq 8(%rbp), %r8 + movq %r8, 0xa8(%rdi) // context->uc_mcontext.rip + + // The original %rflags was saved on the stack above. + movq -8(%rbp), %r8 + movq %r8, 0xb0(%rdi) // context->uc_mcontext.eflags + + // Save the segment registers + movw %cs, 0xb8(%rdi) // context->uc_mcontext.cs + movw %gs, 0xba(%rdi) // context->uc_mcontext.gs + movw %fs, 0xbc(%rdi) // context->uc_mcontext.fs + + xorw %ax, %ax + movw %ax, 0xbe(%rdi) // context->uc_mcontext.padding + + // Zero out the remainder of the unused pseudo-registers + xorq %r8, %r8 + movq %r8, 0xc0(%rdi) // context->uc_mcontext.err + movq %r8, 0xc8(%rdi) // context->uc_mcontext.trapno + movq %r8, 0xd0(%rdi) // context->uc_mcontext.oldmask + movq %r8, 0xd8(%rdi) // context->uc_mcontext.cr2 + + // Clean up by restoring clobbered registers, even those considered volatile + // by the ABI, so that the captured context represents the state at this + // function’s exit. + movq 0x90(%rdi), %rax + movq 0x28(%rdi), %r8 + + // TODO(jperaza): save floating-point registers. + + popfq + + popq %rbp + + ret + + .cfi_endproc + +#elif defined(__arm__) + + // The original r0 can't be recovered. + str r0, [r0, #0x20] + + // Now advance r0 to point to the register array. + add r0, r0, #0x24 + + // Save registers r1-r12 at context->uc_mcontext.regs[i]. + stm r0, {r1-r12} + + // Restore r0. + sub r0, r0, #0x24 + + // Save named general purpose registers. + str FP, [r0, #0x4c] // context->uc_mcontext.fp + str IP, [r0, #0x50] // context->uc_mcontext.ip + str SP, [r0, #0x54] // context->uc_mcontext.sp + + // The original LR can't be recovered. + str LR, [r0, #0x58] // context->uc_mcontext.lr + + // The link register holds the return address for this function. + str LR, [r0, #0x5c] // context->uc_mcontext.pc + + // Use r1 as a scratch register. + + // CPSR is a deprecated synonym for APSR. + mrs r1, APSR + str r1, [r0, #0x60] // context->uc_mcontext.cpsr + + // Zero out unused fields. + mov r1, #0x0 + str r1, [r0, #0x14] // context->uc_mcontext.trap_no + str r1, [r0, #0x18] // context->uc_mcontext.error_code + str r1, [r0, #0x1c] // context->uc_mcontext.oldmask + str r1, [r0, #0x64] // context->uc_mcontext.fault_address + + // Restore r1. + ldr r1, [r0, #0x24] + + // TODO(jperaza): save floating-point registers. + + mov PC, LR + +#elif defined(__aarch64__) + + // Zero out fault_address, which is unused. + str x31, [x0, #0xb0] // context->uc_mcontext.fault_address + + // Save general purpose registers in context->uc_mcontext.regs[i]. + // The original x0 can't be recovered. + stp x0, x1, [x0, #0xb8] + stp x2, x3, [x0, #0xc8] + stp x4, x5, [x0, #0xd8] + stp x6, x7, [x0, #0xe8] + stp x8, x9, [x0, #0xf8] + stp x10, x11, [x0, #0x108] + stp x12, x13, [x0, #0x118] + stp x14, x15, [x0, #0x128] + stp x16, x17, [x0, #0x138] + stp x18, x19, [x0, #0x148] + stp x20, x21, [x0, #0x158] + stp x22, x23, [x0, #0x168] + stp x24, x25, [x0, #0x178] + stp x26, x27, [x0, #0x188] + stp x28, x29, [x0, #0x198] + + // The original LR can't be recovered. + str LR, [x0, #0x1a8] + + // Use x1 as a scratch register. + mov x1, SP + str x1, [x0, #0x1b0] // context->uc_mcontext.sp + + // The link register holds the return address for this function. + str LR, [x0, #0x1b8] // context->uc_mcontext.pc + + // NZCV, pstate, and CPSR are synonyms. + mrs x1, NZCV + str x1, [x0, #0x1c0] // context->uc_mcontext.pstate + + // Restore x1 from the saved context. + ldr x1, [x0, #0xc0] + + // TODO(jperaza): save floating-point registers. + + ret + +#endif // __i386__
diff --git a/third_party/crashpad/crashpad/client/capture_context_mac.S b/third_party/crashpad/crashpad/util/misc/capture_context_mac.S similarity index 99% rename from third_party/crashpad/crashpad/client/capture_context_mac.S rename to third_party/crashpad/crashpad/util/misc/capture_context_mac.S index 942d841..39c6ca6a 100644 --- a/third_party/crashpad/crashpad/client/capture_context_mac.S +++ b/third_party/crashpad/crashpad/util/misc/capture_context_mac.S
@@ -22,7 +22,7 @@ .section __TEXT,__text,regular,pure_instructions .private_extern CAPTURECONTEXT_SYMBOL .globl CAPTURECONTEXT_SYMBOL - .align 4, 0x90 + .balign 16, 0x90 CAPTURECONTEXT_SYMBOL: #if defined(__i386__)
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test.cc new file mode 100644 index 0000000..e31883e7 --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
@@ -0,0 +1,95 @@ +// Copyright 2014 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/misc/capture_context.h" + +#include <stdint.h> + +#include <algorithm> + +#include "gtest/gtest.h" +#include "util/misc/address_sanitizer.h" +#include "util/misc/capture_context_test_util.h" + +namespace crashpad { +namespace test { +namespace { + +void TestCaptureContext() { + NativeCPUContext context_1; + CaptureContext(&context_1); + + { + SCOPED_TRACE("context_1"); + ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_1)); + } + + // The program counter reference value is this function’s address. The + // captured program counter should be slightly greater than or equal to the + // reference program counter. + uintptr_t pc = ProgramCounterFromContext(context_1); + +#if !defined(ADDRESS_SANITIZER) + // AddressSanitizer can cause enough code bloat that the “nearby” check would + // likely fail. + const uintptr_t kReferencePC = + reinterpret_cast<uintptr_t>(TestCaptureContext); + EXPECT_PRED2([](uintptr_t actual, + uintptr_t reference) { return actual - reference < 64u; }, + pc, + kReferencePC); +#endif // !defined(ADDRESS_SANITIZER) + + // Declare sp and context_2 here because all local variables need to be + // declared before computing the stack pointer reference value, so that the + // reference value can be the lowest value possible. + uintptr_t sp; + NativeCPUContext context_2; + + // The stack pointer reference value is the lowest address of a local variable + // in this function. The captured program counter will be slightly less than + // or equal to the reference stack pointer. + const uintptr_t kReferenceSP = + std::min(std::min(reinterpret_cast<uintptr_t>(&context_1), + reinterpret_cast<uintptr_t>(&context_2)), + std::min(reinterpret_cast<uintptr_t>(&pc), + reinterpret_cast<uintptr_t>(&sp))); + sp = StackPointerFromContext(context_1); + EXPECT_PRED2([](uintptr_t actual, + uintptr_t reference) { return reference - actual < 512u; }, + sp, + kReferenceSP); + + // Capture the context again, expecting that the stack pointer stays the same + // and the program counter increases. Strictly speaking, there’s no guarantee + // that these conditions will hold, although they do for known compilers even + // under typical optimization. + CaptureContext(&context_2); + + { + SCOPED_TRACE("context_2"); + ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_2)); + } + + EXPECT_EQ(StackPointerFromContext(context_2), sp); + EXPECT_GT(ProgramCounterFromContext(context_2), pc); +} + +TEST(CaptureContext, CaptureContext) { + ASSERT_NO_FATAL_FAILURE(TestCaptureContext()); +} + +} // namespace +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test_util.h b/third_party/crashpad/crashpad/util/misc/capture_context_test_util.h new file mode 100644 index 0000000..5a5ff7d --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util.h
@@ -0,0 +1,41 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/misc/capture_context.h" + +#include <stdint.h> + +namespace crashpad { +namespace test { + +//! \brief Sanity check conditions that should be true for any NativeCPUContext +//! produced by CaptureContext(). +//! +//! If the context structure has fields that tell whether it’s valid, such as +//! magic numbers or size fields, sanity-checks those fields for validity with +//! fatal gtest assertions. For other fields, where it’s possible to reason +//! about their validity based solely on their contents, sanity-checks via +//! nonfatal gtest assertions. +//! +//! \param[in] context The context to check. +void SanityCheckContext(const NativeCPUContext& context); + +//! \brief Return the value of the program counter from a NativeCPUContext. +uintptr_t ProgramCounterFromContext(const NativeCPUContext& context); + +//! \brief Return the value of the stack pointer from a NativeCPUContext. +uintptr_t StackPointerFromContext(const NativeCPUContext& context); + +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc new file mode 100644 index 0000000..fb64e5d --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
@@ -0,0 +1,62 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/misc/capture_context_test_util.h" + +#include "base/logging.h" +#include "gtest/gtest.h" +#include "util/misc/from_pointer_cast.h" + +namespace crashpad { +namespace test { + +void SanityCheckContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + // Nothing to do here yet. +#elif defined(ARCH_CPU_X86_64) + EXPECT_EQ(context.uc_mcontext.gregs[REG_RDI], + FromPointerCast<intptr_t>(&context)); +#elif defined(ARCH_CPU_ARMEL) + EXPECT_EQ(context.uc_mcontext.arm_r0, FromPointerCast<uintptr_t>(&context)); +#elif defined(ARCH_CPU_ARM64) + EXPECT_EQ(context.uc_mcontext.regs[0], FromPointerCast<uintptr_t>(&context)); +#endif +} + +uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.uc_mcontext.gregs[REG_EIP]; +#elif defined(ARCH_CPU_X86_64) + return context.uc_mcontext.gregs[REG_RIP]; +#elif defined(ARCH_CPU_ARMEL) + return context.uc_mcontext.arm_pc; +#elif defined(ARCH_CPU_ARM64) + return context.uc_mcontext.pc; +#endif +} + +uintptr_t StackPointerFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.uc_mcontext.gregs[REG_ESP]; +#elif defined(ARCH_CPU_X86_64) + return context.uc_mcontext.gregs[REG_RSP]; +#elif defined(ARCH_CPU_ARMEL) + return context.uc_mcontext.arm_sp; +#elif defined(ARCH_CPU_ARM64) + return context.uc_mcontext.sp; +#endif +} + +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_mac.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_mac.cc new file mode 100644 index 0000000..afe0916 --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_mac.cc
@@ -0,0 +1,84 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/misc/capture_context_test_util.h" + +#include "gtest/gtest.h" +#include "util/misc/implicit_cast.h" + +namespace crashpad { +namespace test { + +void SanityCheckContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + ASSERT_EQ(implicit_cast<thread_state_flavor_t>(context.tsh.flavor), + implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32)); + ASSERT_EQ(implicit_cast<uint32_t>(context.tsh.count), + implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT)); +#elif defined(ARCH_CPU_X86_64) + ASSERT_EQ(implicit_cast<thread_state_flavor_t>(context.tsh.flavor), + implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64)); + ASSERT_EQ(implicit_cast<uint32_t>(context.tsh.count), + implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT)); +#endif + +#if defined(ARCH_CPU_X86_FAMILY) +// The segment registers are only capable of storing 16-bit quantities, but +// the context structure provides native integer-width fields for them. Ensure +// that the high bits are all clear. +// +// Many bit positions in the flags register are reserved and will always read +// a known value. Most reserved bits are always 0, but bit 1 is always 1. +// Check that the reserved bits are all set to their expected values. Note +// that the set of reserved bits may be relaxed over time with newer CPUs, and +// that this test may need to be changed to reflect these developments. The +// current set of reserved bits are 1, 3, 5, 15, and 22 and higher. See Intel +// Software Developer’s Manual, Volume 1: Basic Architecture (253665-051), +// 3.4.3 “EFLAGS Register”, and AMD Architecture Programmer’s Manual, Volume +// 2: System Programming (24593-3.24), 3.1.6 “RFLAGS Register”. +#if defined(ARCH_CPU_X86) + EXPECT_EQ(context.uts.ts32.__cs & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__ds & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__es & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__fs & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__gs & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__ss & ~0xffff, 0u); + EXPECT_EQ(context.uts.ts32.__eflags & 0xffc0802a, 2u); +#elif defined(ARCH_CPU_X86_64) + EXPECT_EQ(context.uts.ts64.__cs & ~UINT64_C(0xffff), 0u); + EXPECT_EQ(context.uts.ts64.__fs & ~UINT64_C(0xffff), 0u); + EXPECT_EQ(context.uts.ts64.__gs & ~UINT64_C(0xffff), 0u); + EXPECT_EQ(context.uts.ts64.__rflags & UINT64_C(0xffffffffffc0802a), 2u); +#endif +#endif +} + +uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.uts.ts32.__eip; +#elif defined(ARCH_CPU_X86_64) + return context.uts.ts64.__rip; +#endif +} + +uintptr_t StackPointerFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.uts.ts32.__esp; +#elif defined(ARCH_CPU_X86_64) + return context.uts.ts64.__rsp; +#endif +} + +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_win.cc b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_win.cc new file mode 100644 index 0000000..239beac --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_win.cc
@@ -0,0 +1,114 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/misc/capture_context_test_util.h" + +#include "base/macros.h" +#include "gtest/gtest.h" + +namespace crashpad { +namespace test { + +void SanityCheckContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + constexpr uint32_t must_have = CONTEXT_i386 | CONTEXT_CONTROL | + CONTEXT_INTEGER | CONTEXT_SEGMENTS | + CONTEXT_FLOATING_POINT; + ASSERT_EQ(context.ContextFlags & must_have, must_have); + constexpr uint32_t may_have = CONTEXT_EXTENDED_REGISTERS; + ASSERT_EQ(context.ContextFlags & ~(must_have | may_have), 0u); +#elif defined(ARCH_CPU_X86_64) + ASSERT_EQ( + context.ContextFlags, + static_cast<DWORD>(CONTEXT_AMD64 | CONTEXT_CONTROL | CONTEXT_INTEGER | + CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT)); +#endif + +#if defined(ARCH_CPU_X86_FAMILY) + // Many bit positions in the flags register are reserved and will always read + // a known value. Most reserved bits are always 0, but bit 1 is always 1. + // Check that the reserved bits are all set to their expected values. Note + // that the set of reserved bits may be relaxed over time with newer CPUs, and + // that this test may need to be changed to reflect these developments. The + // current set of reserved bits are 1, 3, 5, 15, and 22 and higher. See Intel + // Software Developer’s Manual, Volume 1: Basic Architecture (253665-055), + // 3.4.3 “EFLAGS Register”, and AMD Architecture Programmer’s Manual, Volume + // 2: System Programming (24593-3.25), 3.1.6 “RFLAGS Register”. + EXPECT_EQ(context.EFlags & 0xffc0802a, 2u); + + // CaptureContext() doesn’t capture debug registers, so make sure they read 0. + EXPECT_EQ(context.Dr0, 0u); + EXPECT_EQ(context.Dr1, 0u); + EXPECT_EQ(context.Dr2, 0u); + EXPECT_EQ(context.Dr3, 0u); + EXPECT_EQ(context.Dr6, 0u); + EXPECT_EQ(context.Dr7, 0u); +#endif + +#if defined(ARCH_CPU_X86) + // fxsave doesn’t write these bytes. + for (size_t i = 464; i < arraysize(context.ExtendedRegisters); ++i) { + SCOPED_TRACE(i); + EXPECT_EQ(context.ExtendedRegisters[i], 0); + } +#elif defined(ARCH_CPU_X86_64) + // mxcsr shows up twice in the context structure. Make sure the values are + // identical. + EXPECT_EQ(context.FltSave.MxCsr, context.MxCsr); + + // fxsave doesn’t write these bytes. + for (size_t i = 0; i < arraysize(context.FltSave.Reserved4); ++i) { + SCOPED_TRACE(i); + EXPECT_EQ(context.FltSave.Reserved4[i], 0); + } + + // CaptureContext() doesn’t use these fields. + EXPECT_EQ(context.P1Home, 0u); + EXPECT_EQ(context.P2Home, 0u); + EXPECT_EQ(context.P3Home, 0u); + EXPECT_EQ(context.P4Home, 0u); + EXPECT_EQ(context.P5Home, 0u); + EXPECT_EQ(context.P6Home, 0u); + for (size_t i = 0; i < arraysize(context.VectorRegister); ++i) { + SCOPED_TRACE(i); + EXPECT_EQ(context.VectorRegister[i].Low, 0u); + EXPECT_EQ(context.VectorRegister[i].High, 0u); + } + EXPECT_EQ(context.VectorControl, 0u); + EXPECT_EQ(context.DebugControl, 0u); + EXPECT_EQ(context.LastBranchToRip, 0u); + EXPECT_EQ(context.LastBranchFromRip, 0u); + EXPECT_EQ(context.LastExceptionToRip, 0u); + EXPECT_EQ(context.LastExceptionFromRip, 0u); +#endif +} + +uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.Eip; +#elif defined(ARCH_CPU_X86_64) + return context.Rip; +#endif +} + +uintptr_t StackPointerFromContext(const NativeCPUContext& context) { +#if defined(ARCH_CPU_X86) + return context.Esp; +#elif defined(ARCH_CPU_X86_64) + return context.Rsp; +#endif +} + +} // namespace test +} // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/win/capture_context.asm b/third_party/crashpad/crashpad/util/misc/capture_context_win.asm similarity index 100% rename from third_party/crashpad/crashpad/util/win/capture_context.asm rename to third_party/crashpad/crashpad/util/misc/capture_context_win.asm
diff --git a/third_party/crashpad/crashpad/util/misc/elf_note_types.h b/third_party/crashpad/crashpad/util/misc/elf_note_types.h new file mode 100644 index 0000000..77c9043 --- /dev/null +++ b/third_party/crashpad/crashpad/util/misc/elf_note_types.h
@@ -0,0 +1,34 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_UTIL_MISC_ELF_NOTE_TYPES_H_ +#define CRASHPAD_UTIL_MISC_ELF_NOTE_TYPES_H_ + +// This header defines types of ELF "notes" that are embedded sections. These +// can be read by ElfImageReader in the snapshot library, and are created in +// client modules. All notes used by Crashpad use the name "Crashpad" and one of +// the types defined here. Note that this file is #included into .S files, so +// must be relatively plain (no C++ features). + +#define CRASHPAD_ELF_NOTE_NAME "Crashpad" + +// Used by ElfImageReader for testing purposes. +#define CRASHPAD_ELF_NOTE_TYPE_SNAPSHOT_TEST 1 + +// Used by the client library to stash a pointer to the CrashpadInfo structure +// for retrieval by the module snapshot. 'OFNI' == 0x4f464e49 which appears as +// "INFO" in readelf -x. +#define CRASHPAD_ELF_NOTE_TYPE_CRASHPAD_INFO 0x4f464e49 + +#endif // CRASHPAD_UTIL_MISC_ELF_NOTE_TYPES_H_
diff --git a/third_party/crashpad/crashpad/util/misc/metrics.cc b/third_party/crashpad/crashpad/util/misc/metrics.cc index f4fb588..7d191f7 100644 --- a/third_party/crashpad/crashpad/util/misc/metrics.cc +++ b/third_party/crashpad/crashpad/util/misc/metrics.cc
@@ -61,8 +61,7 @@ } // static -void Metrics::CrashReportSize(FileHandle file) { - const FileOffset size = LoggingFileSizeByHandle(file); +void Metrics::CrashReportSize(FileOffset size) { UMA_HISTOGRAM_CUSTOM_COUNTS( "Crashpad.CrashReportSize", size, 0, 20 * 1024 * 1024, 50); }
diff --git a/third_party/crashpad/crashpad/util/misc/metrics.h b/third_party/crashpad/crashpad/util/misc/metrics.h index b4bea910..54ccb84 100644 --- a/third_party/crashpad/crashpad/util/misc/metrics.h +++ b/third_party/crashpad/crashpad/util/misc/metrics.h
@@ -50,7 +50,7 @@ //! \brief Reports the size of a crash report file in bytes. Should be called //! when a new report is written to disk. - static void CrashReportSize(FileHandle file); + static void CrashReportSize(FileOffset size); //! \brief Reports on a crash upload attempt, and if it succeeded. static void CrashUploadAttempted(bool successful); @@ -119,6 +119,16 @@ //! \brief There was a database error in attempt to complete the report. kFinishedWritingCrashReportFailed = 7, + //! \brief An attempt to directly `ptrace` the target failed. + //! + //! This value is only used on Linux/Android. + kDirectPtraceFailed = 8, + + //! \brief An attempt to `ptrace` via a PtraceBroker failed. + //! + //! This value is only used on Linux/Android. + kBrokeredPtraceFailed = 9, + //! \brief The number of values in this enumeration; not a valid value. kMaxValue };
diff --git a/third_party/crashpad/crashpad/util/misc/uuid.cc b/third_party/crashpad/crashpad/util/misc/uuid.cc index 92fba760..ffd49708 100644 --- a/third_party/crashpad/crashpad/util/misc/uuid.cc +++ b/third_party/crashpad/crashpad/util/misc/uuid.cc
@@ -84,6 +84,10 @@ return true; } +bool UUID::InitializeFromString(const base::StringPiece16& string) { + return InitializeFromString(UTF16ToUTF8(string)); +} + bool UUID::InitializeWithNew() { #if defined(OS_MACOSX) uuid_t uuid;
diff --git a/third_party/crashpad/crashpad/util/misc/uuid.h b/third_party/crashpad/crashpad/util/misc/uuid.h index 4e5884e2..af801222 100644 --- a/third_party/crashpad/crashpad/util/misc/uuid.h +++ b/third_party/crashpad/crashpad/util/misc/uuid.h
@@ -63,6 +63,7 @@ //! been initialized with the data. `false` if the string could not be //! parsed, with the object state untouched. bool InitializeFromString(const base::StringPiece& string); + bool InitializeFromString(const base::StringPiece16& string); //! \brief Initializes the %UUID using a standard system facility to generate //! the value.
diff --git a/third_party/crashpad/crashpad/util/misc/uuid_test.cc b/third_party/crashpad/crashpad/util/misc/uuid_test.cc index 72b8216..c05c5c1b 100644 --- a/third_party/crashpad/crashpad/util/misc/uuid_test.cc +++ b/third_party/crashpad/crashpad/util/misc/uuid_test.cc
@@ -214,6 +214,31 @@ // Mixed case. uuid.InitializeFromString("5762C15D-50b5-4171-a2e9-7429C9EC6CAB"); EXPECT_EQ(uuid.ToString(), "5762c15d-50b5-4171-a2e9-7429c9ec6cab"); + + // Test accepting a StringPiece16. + // clang-format off + static constexpr base::char16 kChar16UUID[] = { + 'f', '3', '2', 'e', '5', 'b', 'd', 'c', '-', + '2', '6', '8', '1', '-', + '4', 'c', '7', '3', '-', + 'a', '4', 'e', '6', '-', + '3', '3', '3', 'f', 'f', 'd', '3', '3', 'b', '3', '3', '3', + }; + // clang-format on + EXPECT_TRUE(uuid.InitializeFromString( + base::StringPiece16(kChar16UUID, arraysize(kChar16UUID)))); + EXPECT_EQ(uuid.ToString(), "f32e5bdc-2681-4c73-a4e6-333ffd33b333"); + +#if defined(OS_WIN) + // Test accepting a StringPiece16 via L"" literals on Windows. + EXPECT_TRUE( + uuid.InitializeFromString(L"F32E5BDC-2681-4C73-A4E6-444FFD44B444")); + EXPECT_EQ(uuid.ToString(), "f32e5bdc-2681-4c73-a4e6-444ffd44b444"); + + EXPECT_TRUE( + uuid.InitializeFromString(L"5762C15D-50b5-4171-a2e9-5555C5EC5CAB")); + EXPECT_EQ(uuid.ToString(), "5762c15d-50b5-4171-a2e9-5555c5ec5cab"); +#endif // OS_WIN } #if defined(OS_WIN)
diff --git a/third_party/crashpad/crashpad/util/net/http_transport_fuchsia.cc b/third_party/crashpad/crashpad/util/net/http_transport_none.cc similarity index 100% rename from third_party/crashpad/crashpad/util/net/http_transport_fuchsia.cc rename to third_party/crashpad/crashpad/util/net/http_transport_none.cc
diff --git a/third_party/crashpad/crashpad/util/posix/signals.h b/third_party/crashpad/crashpad/util/posix/signals.h index ade093bfa..dc55059 100644 --- a/third_party/crashpad/crashpad/util/posix/signals.h +++ b/third_party/crashpad/crashpad/util/posix/signals.h
@@ -24,6 +24,9 @@ //! \brief Utilities for handling POSIX signals. class Signals { public: + //! \brief A signal number used by Crashpad to simulate signals. + static constexpr int kSimulatedSigno = -1; + //! \brief The type used for `struct sigaction::sa_sigaction`. using Handler = void (*)(int, siginfo_t*, void*);
diff --git a/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc b/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc index 51cc583..c973c14 100644 --- a/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc +++ b/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
@@ -161,7 +161,7 @@ } if (options & kAllowNumber) { - return StringToNumber(string, signal); + return StringToNumber(std::string(string.data(), string.length()), signal); } return false;
diff --git a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.cc b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.cc index c3352be..859a83335 100644 --- a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.cc +++ b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.cc
@@ -116,7 +116,7 @@ }; template <typename Traits> -bool StringToIntegerInternal(const base::StringPiece& string, +bool StringToIntegerInternal(const std::string& string, typename Traits::IntType* number) { using IntType = typename Traits::IntType; using LongType = typename Traits::LongType; @@ -127,14 +127,6 @@ return false; } - if (string[string.length()] != '\0') { - // The implementations use the C standard library’s conversion routines, - // which rely on the strings having a trailing NUL character. std::string - // will NUL-terminate. - std::string terminated_string(string.data(), string.length()); - return StringToIntegerInternal<Traits>(terminated_string, number); - } - errno = 0; char* end; LongType result = Traits::Convert(string.data(), &end, 0); @@ -152,19 +144,19 @@ namespace crashpad { -bool StringToNumber(const base::StringPiece& string, int* number) { +bool StringToNumber(const std::string& string, int* number) { return StringToIntegerInternal<StringToIntTraits>(string, number); } -bool StringToNumber(const base::StringPiece& string, unsigned int* number) { +bool StringToNumber(const std::string& string, unsigned int* number) { return StringToIntegerInternal<StringToUnsignedIntTraits>(string, number); } -bool StringToNumber(const base::StringPiece& string, int64_t* number) { +bool StringToNumber(const std::string& string, int64_t* number) { return StringToIntegerInternal<StringToInt64Traits>(string, number); } -bool StringToNumber(const base::StringPiece& string, uint64_t* number) { +bool StringToNumber(const std::string& string, uint64_t* number) { return StringToIntegerInternal<StringToUnsignedInt64Traits>(string, number); }
diff --git a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.h b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.h index b7bdcce..b5f1d44a 100644 --- a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.h +++ b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.h
@@ -15,7 +15,7 @@ #ifndef CRASHPAD_UTIL_STDLIB_STRING_NUMBER_CONVERSION_H_ #define CRASHPAD_UTIL_STDLIB_STRING_NUMBER_CONVERSION_H_ -#include "base/strings/string_piece.h" +#include <string> namespace crashpad { @@ -54,10 +54,10 @@ //! allow arbitrary bases based on whether the string begins with a prefix //! indicating its base. The functions here are provided for situations //! where such prefix recognition is desirable. -bool StringToNumber(const base::StringPiece& string, int* number); -bool StringToNumber(const base::StringPiece& string, unsigned int* number); -bool StringToNumber(const base::StringPiece& string, int64_t* number); -bool StringToNumber(const base::StringPiece& string, uint64_t* number); +bool StringToNumber(const std::string& string, int* number); +bool StringToNumber(const std::string& string, unsigned int* number); +bool StringToNumber(const std::string& string, int64_t* number); +bool StringToNumber(const std::string& string, uint64_t* number); //! \} } // namespace crashpad
diff --git a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion_test.cc b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion_test.cc index dd17c00d..d855c8d 100644 --- a/third_party/crashpad/crashpad/util/stdlib/string_number_conversion_test.cc +++ b/third_party/crashpad/crashpad/util/stdlib/string_number_conversion_test.cc
@@ -114,13 +114,9 @@ // is split to avoid MSVC warning: // "decimal digit terminates octal escape sequence". static constexpr char input[] = "6\000" "6"; - base::StringPiece input_string(input, arraysize(input) - 1); + std::string input_string(input, arraysize(input) - 1); int output; EXPECT_FALSE(StringToNumber(input_string, &output)); - - // Ensure that a NUL is not required at the end of the string. - EXPECT_TRUE(StringToNumber(base::StringPiece("66", 1), &output)); - EXPECT_EQ(output, 6); } TEST(StringNumberConversion, StringToUnsignedInt) { @@ -212,13 +208,9 @@ // is split to avoid MSVC warning: // "decimal digit terminates octal escape sequence". static constexpr char input[] = "6\000" "6"; - base::StringPiece input_string(input, arraysize(input) - 1); + std::string input_string(input, arraysize(input) - 1); unsigned int output; EXPECT_FALSE(StringToNumber(input_string, &output)); - - // Ensure that a NUL is not required at the end of the string. - EXPECT_TRUE(StringToNumber(base::StringPiece("66", 1), &output)); - EXPECT_EQ(output, 6u); } TEST(StringNumberConversion, StringToInt64) {
diff --git a/third_party/crashpad/crashpad/util/thread/stoppable.h b/third_party/crashpad/crashpad/util/thread/stoppable.h new file mode 100644 index 0000000..e7a5127 --- /dev/null +++ b/third_party/crashpad/crashpad/util/thread/stoppable.h
@@ -0,0 +1,39 @@ +// Copyright 2018 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_UTIL_THREAD_STOPPABLE_H_ +#define CRASHPAD_UTIL_THREAD_STOPPABLE_H_ + +#include "base/macros.h" + +namespace crashpad { + +//! \brief An interface for operations that may be Started and Stopped. +class Stoppable { + public: + virtual ~Stoppable() = default; + + //! \brief Starts the operation. + virtual void Start() = 0; + + //! \brief Stops the operation. + virtual void Stop() = 0; + + protected: + Stoppable() = default; +}; + +} // namespace crashpad + +#endif // CRASHPAD_UTIL_THREAD_STOPPABLE_H_
diff --git a/third_party/crashpad/crashpad/util/util.gyp b/third_party/crashpad/crashpad/util/util.gyp index 0000ee2..e0394e2 100644 --- a/third_party/crashpad/crashpad/util/util.gyp +++ b/third_party/crashpad/crashpad/util/util.gyp
@@ -73,6 +73,8 @@ 'linux/ptrace_connection.h', 'linux/ptracer.cc', 'linux/ptracer.h', + 'linux/scoped_pr_set_ptracer.cc', + 'linux/scoped_pr_set_ptracer.h', 'linux/scoped_ptrace_attach.cc', 'linux/scoped_ptrace_attach.h', 'linux/thread_info.cc', @@ -125,10 +127,15 @@ 'misc/address_types.h', 'misc/arraysize_unsafe.h', 'misc/as_underlying_type.h', + 'misc/capture_context.h', + 'misc/capture_context_linux.S', + 'misc/capture_context_mac.S', + 'misc/capture_context_win.asm', 'misc/clock.h', 'misc/clock_mac.cc', 'misc/clock_posix.cc', 'misc/clock_win.cc', + 'misc/elf_note_types.h', 'misc/from_pointer_cast.h', 'misc/implicit_cast.h', 'misc/initialization_state.h', @@ -223,6 +230,7 @@ 'synchronization/semaphore_posix.cc', 'synchronization/semaphore_win.cc', 'synchronization/semaphore.h', + 'thread/stoppable.h', 'thread/thread.cc', 'thread/thread.h', 'thread/thread_log_messages.cc', @@ -232,8 +240,6 @@ 'thread/worker_thread.cc', 'thread/worker_thread.h', 'win/address_types.h', - 'win/capture_context.asm', - 'win/capture_context.h', 'win/checked_win_address_range.h', 'win/command_line.cc', 'win/command_line.h', @@ -340,6 +346,8 @@ '$(SDKROOT)/usr/lib/libbsm.dylib', ], }, + }, { # else: OS!=mac + 'sources!': [ 'misc/capture_context_mac.S' ], }], ['OS=="win"', { 'link_settings': { @@ -369,7 +377,7 @@ ], }, { # else: OS!="win" 'sources!': [ - 'win/capture_context.asm', + 'misc/capture_context_win.asm', 'win/safe_terminate_process.asm', ], }], @@ -381,6 +389,7 @@ }, }, { # else: OS!="linux" 'sources!': [ + 'misc/capture_context_linux.S', 'net/http_transport_libcurl.cc', ], }], @@ -394,6 +403,7 @@ ['OS=="android"', { 'sources/': [ ['include', '^linux/'], + ['include', '^misc/capture_context_linux\\.S$'], ['include', '^misc/paths_linux\\.cc$'], ['include', '^posix/process_info_linux\\.cc$'], ['include', '^process/process_memory_linux\\.cc$'],
diff --git a/third_party/crashpad/crashpad/util/util_test.gyp b/third_party/crashpad/crashpad/util/util_test.gyp index a287327..d07dc82a 100644 --- a/third_party/crashpad/crashpad/util/util_test.gyp +++ b/third_party/crashpad/crashpad/util/util_test.gyp
@@ -67,6 +67,11 @@ 'mach/symbolic_constants_mach_test.cc', 'mach/task_memory_test.cc', 'misc/arraysize_unsafe_test.cc', + 'misc/capture_context_test.cc', + 'misc/capture_context_test_util.h', + 'misc/capture_context_test_util_linux.cc', + 'misc/capture_context_test_util_mac.cc', + 'misc/capture_context_test_util_win.cc', 'misc/clock_test.cc', 'misc/from_pointer_cast_test.cc', 'misc/initialization_state_dcheck_test.cc', @@ -105,7 +110,6 @@ 'thread/thread_log_messages_test.cc', 'thread/thread_test.cc', 'thread/worker_thread_test.cc', - 'win/capture_context_test.cc', 'win/command_line_test.cc', 'win/critical_section_with_debug_info_test.cc', 'win/exception_handler_server_test.cc', @@ -156,6 +160,7 @@ ['OS=="android"', { 'sources/': [ ['include', '^linux/'], + ['include', '^misc/capture_context_test_util_linux\\.cc$'], ], }], ],
diff --git a/third_party/crashpad/crashpad/util/win/capture_context.h b/third_party/crashpad/crashpad/util/win/capture_context.h deleted file mode 100644 index 2f501f8..0000000 --- a/third_party/crashpad/crashpad/util/win/capture_context.h +++ /dev/null
@@ -1,47 +0,0 @@ -// Copyright 2015 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CRASHPAD_CLIENT_CAPTURE_CONTEXT_WIN_H_ -#define CRASHPAD_CLIENT_CAPTURE_CONTEXT_WIN_H_ - -#include <windows.h> - -namespace crashpad { - -//! \brief Saves the CPU context. -//! -//! The CPU context will be captured as accurately and completely as possible, -//! containing an atomic snapshot at the point of this function’s return. This -//! function does not modify any registers. -//! -//! This function captures all integer registers as well as the floating-point -//! and vector (SSE) state. It does not capture debug registers, which are -//! inaccessible by user code. -//! -//! This function is a replacement for `RtlCaptureContext()`, which contains -//! bugs and limitations. On 32-bit x86, `RtlCaptureContext()` requires that -//! `ebp` be used as a frame pointer, and returns `ebp`, `esp`, and `eip` out of -//! sync with the other registers. Both the 32-bit x86 and 64-bit x86_64 -//! versions of `RtlCaptureContext()` capture only the state of the integer -//! registers, ignoring floating-point and vector state. -//! -//! \param[out] context The structure to store the context in. -//! -//! \note On x86_64, the value for `rcx` will be populated with the address of -//! this function’s argument, as mandated by the ABI. -void CaptureContext(CONTEXT* context); - -} // namespace crashpad - -#endif // CRASHPAD_CLIENT_CAPTURE_CONTEXT_WIN_H_
diff --git a/third_party/crashpad/crashpad/util/win/capture_context_test.cc b/third_party/crashpad/crashpad/util/win/capture_context_test.cc deleted file mode 100644 index 292e4749..0000000 --- a/third_party/crashpad/crashpad/util/win/capture_context_test.cc +++ /dev/null
@@ -1,180 +0,0 @@ -// Copyright 2015 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "util/win/capture_context.h" - -#include <stdint.h> -#include <sys/types.h> - -#include <algorithm> - -#include "base/macros.h" -#include "build/build_config.h" -#include "gtest/gtest.h" - -namespace crashpad { -namespace test { -namespace { - -// If the context structure has fields that tell whether it’s valid, such as -// magic numbers or size fields, sanity-checks those fields for validity with -// fatal gtest assertions. For other fields, where it’s possible to reason about -// their validity based solely on their contents, sanity-checks via nonfatal -// gtest assertions. -void SanityCheckContext(const CONTEXT& context) { -#if defined(ARCH_CPU_X86) - constexpr uint32_t must_have = CONTEXT_i386 | - CONTEXT_CONTROL | - CONTEXT_INTEGER | - CONTEXT_SEGMENTS | - CONTEXT_FLOATING_POINT; - ASSERT_EQ(context.ContextFlags & must_have, must_have); - constexpr uint32_t may_have = CONTEXT_EXTENDED_REGISTERS; - ASSERT_EQ(context.ContextFlags & ~(must_have | may_have), 0u); -#elif defined(ARCH_CPU_X86_64) - ASSERT_EQ(context.ContextFlags, - static_cast<DWORD>(CONTEXT_AMD64 | CONTEXT_CONTROL | - CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT)); -#endif - -#if defined(ARCH_CPU_X86_FAMILY) - // Many bit positions in the flags register are reserved and will always read - // a known value. Most reserved bits are always 0, but bit 1 is always 1. - // Check that the reserved bits are all set to their expected values. Note - // that the set of reserved bits may be relaxed over time with newer CPUs, and - // that this test may need to be changed to reflect these developments. The - // current set of reserved bits are 1, 3, 5, 15, and 22 and higher. See Intel - // Software Developer’s Manual, Volume 1: Basic Architecture (253665-055), - // 3.4.3 “EFLAGS Register”, and AMD Architecture Programmer’s Manual, Volume - // 2: System Programming (24593-3.25), 3.1.6 “RFLAGS Register”. - EXPECT_EQ(context.EFlags & 0xffc0802a, 2u); - - // CaptureContext() doesn’t capture debug registers, so make sure they read 0. - EXPECT_EQ(context.Dr0, 0u); - EXPECT_EQ(context.Dr1, 0u); - EXPECT_EQ(context.Dr2, 0u); - EXPECT_EQ(context.Dr3, 0u); - EXPECT_EQ(context.Dr6, 0u); - EXPECT_EQ(context.Dr7, 0u); -#endif - -#if defined(ARCH_CPU_X86) - // fxsave doesn’t write these bytes. - for (size_t i = 464; i < arraysize(context.ExtendedRegisters); ++i) { - SCOPED_TRACE(i); - EXPECT_EQ(context.ExtendedRegisters[i], 0); - } -#elif defined(ARCH_CPU_X86_64) - // mxcsr shows up twice in the context structure. Make sure the values are - // identical. - EXPECT_EQ(context.FltSave.MxCsr, context.MxCsr); - - // fxsave doesn’t write these bytes. - for (size_t i = 0; i < arraysize(context.FltSave.Reserved4); ++i) { - SCOPED_TRACE(i); - EXPECT_EQ(context.FltSave.Reserved4[i], 0); - } - - // CaptureContext() doesn’t use these fields. - EXPECT_EQ(context.P1Home, 0u); - EXPECT_EQ(context.P2Home, 0u); - EXPECT_EQ(context.P3Home, 0u); - EXPECT_EQ(context.P4Home, 0u); - EXPECT_EQ(context.P5Home, 0u); - EXPECT_EQ(context.P6Home, 0u); - for (size_t i = 0; i < arraysize(context.VectorRegister); ++i) { - SCOPED_TRACE(i); - EXPECT_EQ(context.VectorRegister[i].Low, 0u); - EXPECT_EQ(context.VectorRegister[i].High, 0u); - } - EXPECT_EQ(context.VectorControl, 0u); - EXPECT_EQ(context.DebugControl, 0u); - EXPECT_EQ(context.LastBranchToRip, 0u); - EXPECT_EQ(context.LastBranchFromRip, 0u); - EXPECT_EQ(context.LastExceptionToRip, 0u); - EXPECT_EQ(context.LastExceptionFromRip, 0u); -#endif -} - -// A CPU-independent function to return the program counter. -uintptr_t ProgramCounterFromContext(const CONTEXT& context) { -#if defined(ARCH_CPU_X86) - return context.Eip; -#elif defined(ARCH_CPU_X86_64) - return context.Rip; -#endif -} - -// A CPU-independent function to return the stack pointer. -uintptr_t StackPointerFromContext(const CONTEXT& context) { -#if defined(ARCH_CPU_X86) - return context.Esp; -#elif defined(ARCH_CPU_X86_64) - return context.Rsp; -#endif -} - -void TestCaptureContext() { - CONTEXT context_1; - CaptureContext(&context_1); - - { - SCOPED_TRACE("context_1"); - ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_1)); - } - - // The program counter reference value is this function’s address. The - // captured program counter should be slightly greater than or equal to the - // reference program counter. - uintptr_t pc = ProgramCounterFromContext(context_1); - - // Declare sp and context_2 here because all local variables need to be - // declared before computing the stack pointer reference value, so that the - // reference value can be the lowest value possible. - uintptr_t sp; - CONTEXT context_2; - - // The stack pointer reference value is the lowest address of a local variable - // in this function. The captured program counter will be slightly less than - // or equal to the reference stack pointer. - const uintptr_t kReferenceSP = - std::min(std::min(reinterpret_cast<uintptr_t>(&context_1), - reinterpret_cast<uintptr_t>(&context_2)), - std::min(reinterpret_cast<uintptr_t>(&pc), - reinterpret_cast<uintptr_t>(&sp))); - sp = StackPointerFromContext(context_1); - EXPECT_LT(kReferenceSP - sp, 512u); - - // Capture the context again, expecting that the stack pointer stays the same - // and the program counter increases. Strictly speaking, there’s no guarantee - // that these conditions will hold, although they do for known compilers even - // under typical optimization. - CaptureContext(&context_2); - - { - SCOPED_TRACE("context_2"); - ASSERT_NO_FATAL_FAILURE(SanityCheckContext(context_2)); - } - - EXPECT_EQ(StackPointerFromContext(context_2), sp); - EXPECT_GT(ProgramCounterFromContext(context_2), pc); -} - -TEST(CaptureContextWin, CaptureContext) { - ASSERT_NO_FATAL_FAILURE(TestCaptureContext()); -} - -} // namespace -} // namespace test -} // namespace crashpad
diff --git a/third_party/custom_tabs_client/OWNERS b/third_party/custom_tabs_client/OWNERS index 11c280d..292b6d99 100644 --- a/third_party/custom_tabs_client/OWNERS +++ b/third_party/custom_tabs_client/OWNERS
@@ -1,6 +1,7 @@ lizeb@chromium.org pasko@chromium.org yusufo@chromium.org +bauerb@chromium.org per-file *.aidl=set noparent per-file *.aidl=file://ipc/SECURITY_OWNERS
diff --git a/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py b/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py index a706aba4..e369417 100755 --- a/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py +++ b/third_party/dom_distiller_js/protoc_plugins/json_values_converter.py
@@ -32,7 +32,6 @@ assert [] == proto_file.GetDependencies() self.Output('// base dependencies') - self.Output('#include "base/memory/ptr_util.h"') self.Output('#include "base/values.h"') self.Output('') self.Output('#include <memory>')
diff --git a/third_party/dom_distiller_js/test_sample_json_converter.h.golden b/third_party/dom_distiller_js/test_sample_json_converter.h.golden index 68d890c0..27a7c88 100644 --- a/third_party/dom_distiller_js/test_sample_json_converter.h.golden +++ b/third_party/dom_distiller_js/test_sample_json_converter.h.golden
@@ -3,7 +3,6 @@ #include "test_sample.pb.h" // base dependencies -#include "base/memory/ptr_util.h" #include "base/values.h" #include <memory>
diff --git a/third_party/polymer/v1_0/bower.json b/third_party/polymer/v1_0/bower.json index 0f13e79c..5ed8e29a 100644 --- a/third_party/polymer/v1_0/bower.json +++ b/third_party/polymer/v1_0/bower.json
@@ -5,7 +5,7 @@ "font-roboto": "PolymerElements/font-roboto#1.0.1", "iron-a11y-announcer": "PolymerElements/iron-a11y-announcer#1.0.5", "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#1.1.9", - "iron-a11y-keys": "PolymerElements/iron-a11y-keys#1.0.7", + "iron-a11y-keys": "PolymerElements/iron-a11y-keys#2.0.0", "iron-autogrow-textarea": "PolymerElements/iron-autogrow-textarea#2.1.1", "iron-behaviors": "PolymerElements/iron-behaviors#1.0.17", "iron-checked-element-behavior": "PolymerElements/iron-checked-element-behavior#1.0.5",
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json index b8221fe..62ceb48 100644 --- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json +++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/bower.json
@@ -1,6 +1,6 @@ { "name": "iron-a11y-keys", - "version": "1.0.7", + "version": "2.0.0", "description": "A basic element implementation of iron-a11y-keys-behavior, matching the legacy core-a11y-keys.", "keywords": [ "web-components", @@ -19,16 +19,36 @@ "main": "iron-a11y-keys.html", "license": "http://polymer.github.io/LICENSE.txt", "dependencies": { - "polymer": "polymer/polymer#^1.1.0", - "iron-a11y-keys-behavior": "polymerelements/iron-a11y-keys-behavior#^1.0.0" + "polymer": "Polymer/polymer#1.9 - 2", + "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#1 - 2" }, "devDependencies": { - "paper-styles": "PolymerElements/paper-styles#^1.0.2", - "iron-component-page": "polymerelements/iron-component-page#^1.0.0", - "test-fixture": "polymerelements/test-fixture#^1.0.0", - "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0", - "web-component-tester": "^4.0.0", - "iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0" + "iron-demo-helpers": "PolymerElements/iron-demo-helpers#1 - 2", + "iron-component-page": "PolymerElements/iron-component-page#1 - 2", + "iron-test-helpers": "PolymerElements/iron-test-helpers#1 - 2", + "web-component-tester": "^6.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0" }, - "ignore": [] + "variants": { + "1.x": { + "dependencies": { + "polymer": "Polymer/polymer#^1.9", + "iron-a11y-keys-behavior": "PolymerElements/iron-a11y-keys-behavior#^1.0.0" + }, + "devDependencies": { + "iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.0.0", + "iron-component-page": "PolymerElements/iron-component-page#^1.0.0", + "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0", + "web-component-tester": "^4.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" + }, + "resolutions": { + "webcomponentsjs": "^0.7" + } + } + }, + "ignore": [], + "resolutions": { + "webcomponentsjs": "^1.0.0" + } }
diff --git a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js index eff16dd..6a6309e 100644 --- a/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js +++ b/third_party/polymer/v1_0/components-chromium/iron-a11y-keys/iron-a11y-keys-extracted.js
@@ -72,7 +72,8 @@ arrow = "up" | "down" | "left" | "right" ; key = "tab" | "esc" | "space" | "*" | "pageup" | "pagedown" | "home" | "end" | arrow | ascii | fnkey; - keycombo = { modifier, "+" }, key ; + event = "keypress" | "keydown" | "keyup"; + keycombo = { modifier, "+" }, key, [ ":", event ] ; keys = keycombo, { " ", keycombo } ; ### Example @@ -128,6 +129,12 @@ observer: '_targetChanged' }, + /** + * Space delimited list of keys where each key follows the format: + * `[MODIFIER+]*KEY[:EVENT]`. + * e.g. `keys="space ctrl+shift+tab enter:keyup"`. + * More detail can be found in the "Grammar" section of the documentation + */ keys: { type: String, reflectToAttribute: true,
diff --git a/third_party/polymer/v1_0/components_summary.txt b/third_party/polymer/v1_0/components_summary.txt index 0dab78fc..6b6025fe 100644 --- a/third_party/polymer/v1_0/components_summary.txt +++ b/third_party/polymer/v1_0/components_summary.txt
@@ -12,9 +12,9 @@ Name: iron-a11y-keys Repository: https://github.com/PolymerElements/iron-a11y-keys.git -Tree: v1.0.7 -Revision: 7830e675c3d0df6e7a7377d64fc3d6e6ae0e65a5 -Tree link: https://github.com/PolymerElements/iron-a11y-keys/tree/v1.0.7 +Tree: v2.0.0 +Revision: 27f4f48935c741f4eb49d7a1ded697ea0452acf4 +Tree link: https://github.com/PolymerElements/iron-a11y-keys/tree/v2.0.0 Name: iron-a11y-keys-behavior Repository: https://github.com/PolymerElements/iron-a11y-keys-behavior.git
diff --git a/tools/battor_agent/battor_agent_unittest.cc b/tools/battor_agent/battor_agent_unittest.cc index e9bfa69..23e1d1b5 100644 --- a/tools/battor_agent/battor_agent_unittest.cc +++ b/tools/battor_agent/battor_agent_unittest.cc
@@ -65,6 +65,7 @@ MOCK_METHOD0(Open, void()); MOCK_METHOD0(Flush, void()); MOCK_METHOD0(Close, void()); + MOCK_METHOD0(IsOpen, bool()); MOCK_METHOD3(SendBytes, void(BattOrMessageType type, const void* buffer,
diff --git a/tools/battor_agent/battor_connection.h b/tools/battor_agent/battor_connection.h index fefcc332..3e4fc54 100644 --- a/tools/battor_agent/battor_connection.h +++ b/tools/battor_agent/battor_connection.h
@@ -54,6 +54,8 @@ virtual void Open() = 0; // Closes the serial connection and releases any handles being held. virtual void Close() = 0; + // Returns true if the connection is currently open. + virtual bool IsOpen() = 0; // Flushes the serial connection by reading and throwing away bytes until the // serial connection remains quiet for a sufficiently long time. virtual void Flush() = 0;
diff --git a/tools/battor_agent/battor_connection_impl.cc b/tools/battor_agent/battor_connection_impl.cc index 3698bdcdb..c7d9898 100644 --- a/tools/battor_agent/battor_connection_impl.cc +++ b/tools/battor_agent/battor_connection_impl.cc
@@ -74,6 +74,7 @@ scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner) : BattOrConnection(listener), path_(path), + is_open_(false), ui_thread_task_runner_(ui_thread_task_runner) { std::string serial_log_path = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( @@ -128,6 +129,7 @@ return; } + is_open_ = true; base::SequencedTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::Bind(&Listener::OnConnectionOpened, base::Unretained(listener_), true)); @@ -136,6 +138,11 @@ void BattOrConnectionImpl::Close() { LogSerial("Serial connection closed."); io_handler_ = nullptr; + is_open_ = false; +} + +bool BattOrConnectionImpl::IsOpen() { + return is_open_; } void BattOrConnectionImpl::SendBytes(BattOrMessageType type,
diff --git a/tools/battor_agent/battor_connection_impl.h b/tools/battor_agent/battor_connection_impl.h index 7d813fb..8cb142b 100644 --- a/tools/battor_agent/battor_connection_impl.h +++ b/tools/battor_agent/battor_connection_impl.h
@@ -43,6 +43,7 @@ void Open() override; void Close() override; + bool IsOpen() override; void SendBytes(BattOrMessageType type, const void* buffer, size_t bytes_to_send) override; @@ -106,6 +107,9 @@ // The path of the BattOr. std::string path_; + // Indicates whether the connection is currently open. + bool is_open_; + // All bytes that have already been read from the serial stream, but have not // yet been given to the listener as a complete message. std::vector<char> already_read_buffer_;
diff --git a/tools/battor_agent/battor_connection_impl_unittest.cc b/tools/battor_agent/battor_connection_impl_unittest.cc index e1ab68ca..34a87f0a 100644 --- a/tools/battor_agent/battor_connection_impl_unittest.cc +++ b/tools/battor_agent/battor_connection_impl_unittest.cc
@@ -90,6 +90,8 @@ task_runner_->RunUntilIdle(); } + bool IsConnectionOpen() { return connection_->IsOpen(); } + void CloseConnection() { connection_->Close(); } void ReadMessage(BattOrMessageType type) { @@ -171,6 +173,18 @@ OpenConnection(); ASSERT_TRUE(IsOpenComplete()); ASSERT_TRUE(GetOpenSuccess()); + ASSERT_TRUE(IsConnectionOpen()); +} + +TEST_F(BattOrConnectionImplTest, IsOpenFalseAfterClosingConnection) { + OpenConnection(); + ASSERT_TRUE(IsOpenComplete()); + ASSERT_TRUE(GetOpenSuccess()); + ASSERT_TRUE(IsConnectionOpen()); + + CloseConnection(); + + ASSERT_FALSE(IsConnectionOpen()); } TEST_F(BattOrConnectionImplTest, FlushConnectionSucceedsOnlyAfterTimeout) {
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 3308a02..7548e77 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -7405,6 +7405,8 @@ <int value="5" label="kPrepareNewCrashReportFailed"/> <int value="6" label="kMinidumpWriteFailed"/> <int value="7" label="kFinishWritingCrashReportFailed"/> + <int value="8" label="kDirectPtraceFailed"/> + <int value="9" label="kBrokeredPtraceFailed"/> </enum> <enum name="CrashpadExceptionProcessingState"> @@ -18984,6 +18986,7 @@ <int value="3" label="Have SSO account, Skipped Immediately"/> <int value="4" label="Have SSO account, Successful"/> <int value="5" label="Have SSO account, Gave Up"/> + <int value="6" label="Could not create FirstRun Sentinel"/> </enum> <enum name="FirstUserActionType"> @@ -28535,6 +28538,13 @@ <int value="21" label="Gesture requirement overridden by play method."/> </enum> +<enum name="MediaEngagementClearReason"> + <int value="0" label="Data (all)"/> + <int value="1" label="Data (range)"/> + <int value="2" label="History (all)"/> + <int value="3" label="History (range)"/> +</enum> + <enum name="MediaEngagementSessionEvent"> <int value="0" label="Created"/> <int value="1" label="Significant Playback"/> @@ -44088,8 +44098,7 @@ </enum> <enum name="URLRequestAnnotationType"> -<!-- Generated from tools/traffic_annotation/summary/annotations.xml. -Called by update_traffic_annotation_histograms.py.--> +<!-- Not updated since 3/4/2018 as histogram is obsolete.--> <int value="485305" label="data_reduction_proxy_config"/> <int value="516551" label="socket_bio_adapter"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index d5095cd3..401b885 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -23467,6 +23467,26 @@ </summary> </histogram> +<histogram name="Extensions.AttemptedToDowngradeVersionLocation" + enum="ExtensionLocation"> + <owner>rdevlin.cronin@chromium.org</owner> + <summary> + The extension install location of an extension that Chrome attempted to add, + but failed because it would downgrade the version. Tracking for + https://crbug.com/810799. + </summary> +</histogram> + +<histogram name="Extensions.AttemptedToDowngradeVersionType" + enum="ExtensionType"> + <owner>rdevlin.cronin@chromium.org</owner> + <summary> + The extension item type of an extension that Chrome attempted to add, but + failed because it would downgrade the version. Tracking for + https://crbug.com/810799. + </summary> +</histogram> + <histogram name="Extensions.BackgroundContentsServiceStartupTime" units="ms"> <owner>rdevlin.cronin@chromium.org</owner> <summary> @@ -35372,6 +35392,15 @@ </summary> </histogram> +<histogram name="Media.Engagement.Clear" enum="MediaEngagementClearReason"> + <owner>mlamouri@chromium.org</owner> + <owner>media-dev@chromium.org</owner> + <summary> + Records the reason why the Media Engagement data was cleared. Partial + changes and full wipeout will both be recorded as one event. + </summary> +</histogram> + <histogram name="Media.Engagement.PreloadedList.CheckResult" enum="PreloadedListCheckResult"> <owner>beccahughes@chromium.org</owner> @@ -47840,6 +47869,16 @@ </summary> </histogram> +<histogram name="Net.QuicSession.WriteOutOfOrderQueuedPacketAfterClose" + enum="Boolean"> + <owner>wub@chromium.org</owner> + <summary> + Temporary histogram being used to investigate https://crbug.com/818040. + Records whether a connection is closed when an out of order queued packet is + about to be written. + </summary> +</histogram> + <histogram name="Net.QuicSession.WritePacketNotReusableReason" enum="QuicNotReusableReason"> <owner>ckrasic@chromium.org</owner> @@ -80376,6 +80415,27 @@ </summary> </histogram> +<histogram name="Security.SecurityLevel.OnCommit" enum="SecurityLevel"> + <owner>cthomp@chromium.org</owner> + <summary> + Records the security level of a page at the time the navigation commits. + Note that the security level of a page can change after commit time, so this + histogram should often be compared against + Security.SecurityLevel.OnComplete. + </summary> +</histogram> + +<histogram name="Security.SecurityLevel.OnComplete" enum="SecurityLevel"> + <owner>cthomp@chromium.org</owner> + <summary> + Records the security level of a page at the end of the page visit (i.e., + navigating away from the page, reloading the page, clicking a link, closing + the tab, etc.). Note that this security level can be different than the + initial security level of the page, so this histogram should often be + compared against Security.SecuritLevel.OnCommit. + </summary> +</histogram> + <histogram base="true" name="Security.SiteEngagement"> <owner>cthomp@chromium.org</owner> <summary> @@ -80397,6 +80457,17 @@ </summary> </histogram> +<histogram base="true" name="Security.TimeOnPage"> + <owner>cthomp@chromium.org</owner> + <summary> + Records the time spent on the page (the time that the page was in the + foreground from the start of the navigation to the page visit completing due + to a new navigation or the tab being closed). This aggregates all foreground + time over the entire visit (multiple times in the foreground are added + together). + </summary> +</histogram> + <histogram name="Security.TreatInsecureOriginAsSecure"> <owner>mkwst@chromium.org</owner> <summary> @@ -113063,6 +113134,7 @@ <affected-histogram name="Security.PageEndReason"/> <affected-histogram name="Security.SiteEngagement"/> <affected-histogram name="Security.SiteEngagementDelta"/> + <affected-histogram name="Security.TimeOnPage"/> </histogram_suffixes> <histogram_suffixes name="ServiceWorker.ContextRequestType" separator=".">
diff --git a/tools/metrics/histograms/update_traffic_annotation_histograms.py b/tools/metrics/histograms/update_traffic_annotation_histograms.py deleted file mode 100755 index 75d52c1..0000000 --- a/tools/metrics/histograms/update_traffic_annotation_histograms.py +++ /dev/null
@@ -1,29 +0,0 @@ -#!/usr/bin/env python -# Copyright 2017 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. - -"""Updates URLRequestAnnotationType enums in histograms.xml with values read -from tools/traffic_annotation/summary/annotations.xml. - -If the file was pretty-printed, the updated version is pretty-printed too. -""" - -import os -import sys - -from update_histogram_enum import UpdateHistogramEnumFromXML - -if __name__ == '__main__': - if len(sys.argv) > 1: - print >>sys.stderr, 'No arguments expected!' - sys.stderr.write(__doc__) - sys.exit(1) - - UpdateHistogramEnumFromXML( - histogram_enum_name='URLRequestAnnotationType', - source_enum_path='tools/traffic_annotation/summary/annotations.xml', - caller_script_name='update_traffic_annotation_histograms.py', - element_name='item', - value_attribute='hash_code', - label_attribute='id')
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml index 27c51b3..a211404 100644 --- a/tools/metrics/ukm/ukm.xml +++ b/tools/metrics/ukm/ukm.xml
@@ -2297,6 +2297,13 @@ 100.0. Rounded to the nearest integer. </summary> </metric> + <metric name="ScoreFinal"> + <summary> + The final Site Engagement score for the page before it is closed or + another navigation occurs. Score is between 0.0 and 100.0; this metric is + rounded down to a multiple of 10 to limit granularity. + </summary> + </metric> </event> <event name="SiteIsolation.XSD.Browser.Blocked">
diff --git a/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc b/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc index 2105247..914d57d0 100644 --- a/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc +++ b/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc
@@ -675,10 +675,15 @@ } } - if (report_xml_updates && exporter_.modified()) { - errors_.push_back( - AuditorResult(AuditorResult::Type::ERROR_ANNOTATIONS_XML_UPDATE, - exporter_.GetRequiredUpdates())); + // If |report_xml_updates| is true, check annotations.xml whether or not it is + // modified, as there might be format differences with exporter outputs due to + // manual updates. + if (report_xml_updates) { + std::string updates = exporter_.GetRequiredUpdates(); + if (!updates.empty()) { + errors_.push_back(AuditorResult( + AuditorResult::Type::ERROR_ANNOTATIONS_XML_UPDATE, updates)); + } } return true;
diff --git a/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc b/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc index 28e78a2..32c3d758 100644 --- a/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc +++ b/tools/traffic_annotation/auditor/traffic_annotation_auditor_ui.cc
@@ -52,9 +52,7 @@ --test-only Optional flag to request just running tests and not updating any file. If not specified, 'tools/traffic_annotation/summary/annotations.xml' might - get updated and if it does, 'tools/traffic_annotation/ - scripts/annotations_xml_downstream_updater.py will - be called to update downstream files. + get updated. --no-missing-error Optional argument, resulting in just issuing a warning for functions that miss annotation and not an error. --summary-file Optional path to the output file with all annotations. @@ -72,38 +70,10 @@ traffic_annotation_auditor --build-path=out/Release )"; -const base::FilePath kDownstreamUpdater = - base::FilePath(FILE_PATH_LITERAL("tools")) - .Append(FILE_PATH_LITERAL("traffic_annotation")) - .Append(FILE_PATH_LITERAL("scripts")) - .Append(FILE_PATH_LITERAL("annotations_xml_downstream_caller.py")); - const std::string kCodeSearchLink("https://cs.chromium.org/chromium/src/"); } // namespace -// Calls |kDownstreamUpdater| script to update files that depend on -// annotations.xml. -bool RunAnnotationDownstreamUpdater(const base::FilePath& source_path) { - base::CommandLine cmdline(source_path.Append(kDownstreamUpdater)); - int exit_code; - -#if defined(OS_WIN) - cmdline.PrependWrapper(L"python"); - exit_code = - system(base::UTF16ToASCII(cmdline.GetCommandLineString()).c_str()); -#else - exit_code = system(cmdline.GetCommandLineString().c_str()); -#endif - - if (exit_code) { - LOG(ERROR) << "Running " << kDownstreamUpdater.MaybeAsASCII() - << " failed with exit code: " << exit_code; - return false; - } - return true; -} - // Writes a summary of annotations, calls, and errors. bool WriteSummaryFile(const base::FilePath& filepath, const std::vector<AnnotationInstance>& annotations, @@ -469,10 +439,9 @@ // Update annotations.xml if everything else is OK and the auditor is not // run in test-only mode. - if (errors.empty() && !test_only && auditor.exporter().modified()) { - if (!auditor.exporter().SaveAnnotationsXML() || - !RunAnnotationDownstreamUpdater(source_path)) { - LOG(ERROR) << "Could not update annotations XML or downstream files."; + if (errors.empty() && !test_only) { + if (!auditor.exporter().SaveAnnotationsXML()) { + LOG(ERROR) << "Could not update annotations XML."; return error_value; } }
diff --git a/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc b/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc index 54eadb5..2a333e8 100644 --- a/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc +++ b/tools/traffic_annotation/auditor/traffic_annotation_auditor_unittest.cc
@@ -47,12 +47,6 @@ base::FilePath(FILE_PATH_LITERAL("tools")) .Append(FILE_PATH_LITERAL("traffic_annotation/bin")); -const base::FilePath kDownstreamUnittests = - base::FilePath(FILE_PATH_LITERAL("tools")) - .Append(FILE_PATH_LITERAL("traffic_annotation")) - .Append(FILE_PATH_LITERAL("scripts")) - .Append(FILE_PATH_LITERAL("annotations_xml_downstream_caller.py")); - const std::set<int> kDummyDeprecatedIDs = {100, 101, 102}; } // namespace @@ -919,22 +913,6 @@ EXPECT_TRUE(exporter.CheckArchivedAnnotations()); } -// Tests if downstream files depending on of Annotations.xml are updated. -TEST_F(TrafficAnnotationAuditorTest, AnnotationsDownstreamUnittests) { - base::CommandLine cmdline(source_path().Append(kDownstreamUnittests)); - cmdline.AppendSwitch("test"); - - int tests_result; -#if defined(OS_WIN) - cmdline.PrependWrapper(L"python"); - tests_result = - system(base::UTF16ToASCII(cmdline.GetCommandLineString()).c_str()); -#else - tests_result = system(cmdline.GetCommandLineString().c_str()); -#endif - EXPECT_EQ(0, tests_result); -} - // Tests if 'annotations.xml' is read and has at least one item. TEST_F(TrafficAnnotationAuditorTest, AnnotationsXMLLines) { TrafficAnnotationExporter exporter(source_path());
diff --git a/tools/traffic_annotation/scripts/annotations_xml_downstream_caller.py b/tools/traffic_annotation/scripts/annotations_xml_downstream_caller.py deleted file mode 100755 index ccf64b9..0000000 --- a/tools/traffic_annotation/scripts/annotations_xml_downstream_caller.py +++ /dev/null
@@ -1,47 +0,0 @@ -#!/usr/bin/env python -# Copyright 2017 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. - -""" Runs all scripts that use - 'tools/traffic_annotation/summary/annotations.xml' to update a file, or - test if a file is in sync with it. Use with 'test' switch for test mode. - Add your scripts to PROD_SCRIPTS or TEST_SCRIPTS. -""" - -import os.path -import subprocess -import sys - -# Add your update scripts here. Each list item will have the script name and the -# list of arguments. -PROD_SCRIPTS = [ - ["tools/metrics/histograms/update_traffic_annotation_histograms.py", []]] - -# Add your test scripts here. Each list item will have the script name and the -# list of arguments. -TEST_SCRIPTS = [] - - -def main(test_mode): - src_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), "..", "..", "..")) - - for script in TEST_SCRIPTS if test_mode else PROD_SCRIPTS: - args = [os.path.join(src_path, script[0])] - args += script[1] - if sys.platform == "win32": - args.insert(0, "python") - - result = subprocess.call(args) - if result: - if test_mode: - logging.error("Running '%s' script failed with error code: %i." % ( - script, result)) - return result - return 0 - - -if __name__ == "__main__": - test_mode = (len(sys.argv) > 1 and "test" in sys.argv[1]) - sys.exit(main(test_mode))
diff --git a/tools/traffic_annotation/summary/annotations.xml b/tools/traffic_annotation/summary/annotations.xml index 46c47f7..21d1df6 100644 --- a/tools/traffic_annotation/summary/annotations.xml +++ b/tools/traffic_annotation/summary/annotations.xml
@@ -74,8 +74,9 @@ <item id="devtools_http_handler" hash_code="49160454" type="0" content_hash_code="88414393" os_list="linux,windows" file_path="content/browser/devtools/devtools_http_handler.cc"/> <item id="devtools_interceptor" hash_code="98123737" type="0" content_hash_code="19053470" os_list="linux,windows" file_path="content/browser/devtools/devtools_url_interceptor_request_job.cc"/> <item id="devtools_network_resource" hash_code="129652775" type="0" content_hash_code="24059212" os_list="linux,windows" file_path="chrome/browser/devtools/devtools_ui_bindings.cc"/> - <item id="dial_get_app_info" hash_code="15952025" type="0" content_hash_code="90542080" os_list="linux,windows" file_path="chrome/browser/media/router/discovery/dial/dial_app_info_fetcher.cc"/> - <item id="dial_get_device_description" hash_code="50422598" type="0" content_hash_code="129827780" os_list="linux,windows" file_path="chrome/browser/media/router/discovery/dial/device_description_fetcher.cc"/> + <item id="dial_get_app_info" hash_code="15952025" type="0" deprecated="2018-02-27" content_hash_code="90542080" file_path=""/> + <item id="dial_get_device_description" hash_code="50422598" type="0" deprecated="2018-02-27" content_hash_code="129827780" file_path=""/> + <item id="dial_url_fetcher" hash_code="41424546" type="0" content_hash_code="129828432" os_list="linux,windows" file_path="chrome/browser/media/router/discovery/dial/dial_url_fetcher.cc"/> <item id="dns_over_https" hash_code="79895226" type="0" content_hash_code="45123510" os_list="linux,windows" file_path="net/dns/dns_transaction.cc"/> <item id="dns_transaction" hash_code="79227717" type="0" content_hash_code="132206495" os_list="linux,windows" file_path="net/dns/dns_transaction.cc"/> <item id="dom_distiller" hash_code="3989826" type="0" content_hash_code="106153970" os_list="linux,windows" file_path="components/dom_distiller/core/distiller_url_fetcher.cc"/>
diff --git a/ui/accessibility/ax_enum_util.cc b/ui/accessibility/ax_enum_util.cc index f47b11a..41620698 100644 --- a/ui/accessibility/ax_enum_util.cc +++ b/ui/accessibility/ax_enum_util.cc
@@ -98,6 +98,8 @@ return "selectionRemove"; case ax::mojom::Event::kShow: return "show"; + case ax::mojom::Event::kStateChanged: + return "stateChanged"; case ax::mojom::Event::kTextChanged: return "textChanged"; case ax::mojom::Event::kTextSelectionChanged:
diff --git a/ui/accessibility/ax_enums.mojom b/ui/accessibility/ax_enums.mojom index 7d0d2a3..0d84da64 100644 --- a/ui/accessibility/ax_enums.mojom +++ b/ui/accessibility/ax_enums.mojom
@@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// TODO(nektar): Migrate entire file to Mojoq. // Must also be kept in sync with chrome/common/extensions/api/automation.idl. module ax.mojom; @@ -10,19 +9,22 @@ // chrome/common/extensions/api/automation.idl. This is enforced // by a PRESUBMIT check. // - // Explanation of the comments next to these events: + // Explanation of in-lined comments next to some enum values/attributes: // - // Web: this event is only used in web content. Unless a specific platform - // is specified, it fires a native event on multiple platforms. + // Web: this attribute is only used in web content. // - // Native: this event is only used in native UI. + // Native: this attribute is only used in native UI. // - // Implicit: it would be cleaner if we just updated the AX node - // and each platform fired the appropriate events to indicate which + // Implicit: for events, it would be cleaner if we just updated the AX node and + // each platform fired the appropriate events to indicate which // platform-specific attributes changed. // - // If unspecified, the event is used across web and native on multiple + // if Native / [Platform1, ...] is specified, the attribute is only used + // on those platforms. + // + // If unspecified, the atribute is used across web and native on multiple // platforms. + enum Event { kNone, kActiveDescendantChanged, // Web @@ -46,8 +48,8 @@ kLiveRegionChanged, // Web kLoadComplete, // Web kLocationChanged, // Web - kMediaStartedPlaying, // Automation - kMediaStoppedPlaying, // Automation + kMediaStartedPlaying, // Native / Automation + kMediaStoppedPlaying, // Native / Automation kMenuEnd, // Native / Win kMenuListItemSelected, // Web kMenuListValueChanged, // Web @@ -69,6 +71,7 @@ kSelectionAdd, // Native kSelectionRemove, // Native kShow, // Remove: http://crbug.com/392502 + kStateChanged, // Native / Automation kTextChanged, kTextSelectionChanged, kTreeChanged, // Accessibility tree changed. Don't @@ -366,8 +369,8 @@ // Only used when invalid_state == invalid_state_other. kAriaInvalidValue, kAutoComplete, - kChromeChannel, // Automation only. - kClassName, // views and Android + kChromeChannel, // Native / Automation + kClassName, // Native / Android kContainerLiveRelevant, kContainerLiveStatus, kDescription,
diff --git a/ui/accessibility/platform/ax_platform_node.cc b/ui/accessibility/platform/ax_platform_node.cc index f0f00d69b..8522f215 100644 --- a/ui/accessibility/platform/ax_platform_node.cc +++ b/ui/accessibility/platform/ax_platform_node.cc
@@ -22,6 +22,9 @@ AXPlatformNode::native_window_handler_ = LAZY_INSTANCE_INITIALIZER; // static +bool AXPlatformNode::is_autofill_shown_ = false; + +// static AXPlatformNode* AXPlatformNode::FromNativeWindow( gfx::NativeWindow native_window) { if (native_window_handler_.Get()) @@ -72,4 +75,19 @@ observer.OnAXModeAdded(mode_flags); } +// static +void AXPlatformNode::OnAutofillShown() { + is_autofill_shown_ = true; +} + +// static +void AXPlatformNode::OnAutofillHidden() { + is_autofill_shown_ = false; +} + +// static +bool AXPlatformNode::IsAutofillShown() { + return is_autofill_shown_; +} + } // namespace ui
diff --git a/ui/accessibility/platform/ax_platform_node.h b/ui/accessibility/platform/ax_platform_node.h index f723bf0..95d38c7 100644 --- a/ui/accessibility/platform/ax_platform_node.h +++ b/ui/accessibility/platform/ax_platform_node.h
@@ -53,6 +53,10 @@ // the addition of an AXMode flag. static void NotifyAddAXModeFlags(AXMode mode_flags); + static void OnAutofillShown(); + static void OnAutofillHidden(); + static bool IsAutofillShown(); + // Call Destroy rather than deleting this, because the subclass may // use reference counting. virtual void Destroy(); @@ -84,6 +88,8 @@ static base::LazyInstance<NativeWindowHandlerCallback>::Leaky native_window_handler_; + static bool is_autofill_shown_; + DISALLOW_COPY_AND_ASSIGN(AXPlatformNode); };
diff --git a/ui/accessibility/platform/ax_platform_node_base.h b/ui/accessibility/platform/ax_platform_node_base.h index 2525833..3b308c71 100644 --- a/ui/accessibility/platform/ax_platform_node_base.h +++ b/ui/accessibility/platform/ax_platform_node_base.h
@@ -134,6 +134,8 @@ // that might send notifications. bool IsLeaf(); + bool HasFocus(); + virtual base::string16 GetText(); virtual base::string16 GetValue();
diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc index f266a181..c6c3472 100644 --- a/ui/accessibility/platform/ax_platform_node_win.cc +++ b/ui/accessibility/platform/ax_platform_node_win.cc
@@ -3410,8 +3410,13 @@ if (ShouldNodeHaveFocusableState(data)) msaa_state |= STATE_SYSTEM_FOCUSABLE; - if (data.HasState(ax::mojom::State::kHaspopup)) + // Note: autofill is special-cased here because there is no way for the + // browser to know when the autofill popup is shown. + if (data.HasState(ax::mojom::State::kHaspopup) || + (IsAutofillShown() && data.role == ax::mojom::Role::kTextField && + delegate_->GetFocus() == GetNativeViewAccessible())) { msaa_state |= STATE_SYSTEM_HASPOPUP; + } // TODO(dougt) unhandled ux::ax::mojom::State::kHorizontal @@ -3504,6 +3509,22 @@ if (focus == GetNativeViewAccessible()) msaa_state |= STATE_SYSTEM_FOCUSED; + // In focused single selection UI menus and listboxes, mirror item selection + // to focus. This helps NVDA read the selected option as it changes. + if ((data.role == ax::mojom::Role::kListBoxOption || + data.role == ax::mojom::Role::kMenuItem) && + data.HasState(ax::mojom::State::kSelected)) { + AXPlatformNodeBase* container = FromNativeViewAccessible(GetParent()); + if (container && container->GetParent() == focus) { + ui::AXNodeData container_data = container->GetData(); + if ((container_data.role == ax::mojom::Role::kListBox || + container_data.role == ax::mojom::Role::kMenu) && + !container_data.HasState(ax::mojom::State::kMultiselectable)) { + msaa_state |= STATE_SYSTEM_FOCUSED; + } + } + } + // On Windows, the "focus" bit should be set on certain containers, like // menu bars, when visible. //
diff --git a/ui/gl/gl_fence.h b/ui/gl/gl_fence.h index a3d05e6..cbba4c9 100644 --- a/ui/gl/gl_fence.h +++ b/ui/gl/gl_fence.h
@@ -5,6 +5,8 @@ #ifndef UI_GL_GL_FENCE_H_ #define UI_GL_GL_FENCE_H_ +#include <memory> + #include "base/macros.h" #include "base/memory/ptr_util.h" #include "ui/gfx/gpu_fence.h"
diff --git a/ui/gl/gl_fence_android_native_fence_sync.cc b/ui/gl/gl_fence_android_native_fence_sync.cc index ae1b0aa3..75ea725 100644 --- a/ui/gl/gl_fence_android_native_fence_sync.cc +++ b/ui/gl/gl_fence_android_native_fence_sync.cc
@@ -4,6 +4,7 @@ #include "ui/gl/gl_fence_android_native_fence_sync.h" +#include "base/memory/ptr_util.h" #include "ui/gfx/gpu_fence_handle.h" #include "ui/gl/gl_surface_egl.h"
diff --git a/ui/gl/gl_fence_egl.cc b/ui/gl/gl_fence_egl.cc index 536346f..5973b6e9 100644 --- a/ui/gl/gl_fence_egl.cc +++ b/ui/gl/gl_fence_egl.cc
@@ -4,6 +4,7 @@ #include "ui/gl/gl_fence_egl.h" +#include "base/memory/ptr_util.h" #include "ui/gl/egl_util.h" #include "ui/gl/gl_bindings.h"
diff --git a/ui/gl/gl_image_native_pixmap.cc b/ui/gl/gl_image_native_pixmap.cc index 2210431..f86defd7 100644 --- a/ui/gl/gl_image_native_pixmap.cc +++ b/ui/gl/gl_image_native_pixmap.cc
@@ -9,6 +9,7 @@ #include "ui/gfx/buffer_format_util.h" #include "ui/gl/egl_util.h" #include "ui/gl/gl_context.h" +#include "ui/gl/gl_enums.h" #include "ui/gl/gl_surface_egl.h" #define FOURCC(a, b, c, d) \ @@ -160,7 +161,8 @@ } if (!ValidInternalFormat(internalformat_, format)) { - LOG(ERROR) << "Invalid internalformat: " << internalformat_ + LOG(ERROR) << "Invalid internalformat: " + << GLEnums::GetStringEnum(internalformat_) << " for format: " << gfx::BufferFormatToString(format); return false; } @@ -269,7 +271,7 @@ if (num_planes > 0 && static_cast<size_t>(num_planes) != gfx::NumberOfPlanesForBufferFormat(format)) { LOG(ERROR) << "Invalid number of planes: " << num_planes - << " for format: " << static_cast<int>(format); + << " for format: " << gfx::BufferFormatToString(format); return gfx::NativePixmapHandle(); } @@ -278,8 +280,9 @@ // This can happen if RGBX is implemented using RGBA. Otherwise there is // a real mistake from the user and we have to fail. if (internalformat_ == GL_RGB && format != gfx::BufferFormat::RGBA_8888) { - LOG(ERROR) << "Invalid internalformat: 0x" << std::hex << internalformat_ - << " for format: " << static_cast<int>(format); + LOG(ERROR) << "Invalid internalformat: " + << GLEnums::GetStringEnum(internalformat_) + << " for format: " << gfx::BufferFormatToString(format); return gfx::NativePixmapHandle(); } }
diff --git a/ui/ozone/demo/ozone_demo.cc b/ui/ozone/demo/ozone_demo.cc index fc98990..ed283ba6 100644 --- a/ui/ozone/demo/ozone_demo.cc +++ b/ui/ozone/demo/ozone_demo.cc
@@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <iostream> #include <utility> #include "base/at_exit.h" @@ -41,6 +42,7 @@ const char kDisableGpu[] = "disable-gpu"; const char kDisableSurfaceless[] = "disable-surfaceless"; +const char kHelp[] = "help"; const char kWindowSize[] = "window-size"; @@ -341,6 +343,25 @@ logging::LoggingSettings settings; logging::InitLogging(settings); + if (base::CommandLine::ForCurrentProcess()->HasSwitch(kHelp)) { + std::cout << + "Usage:\n\n" + " --enable-drm-atomic Use the atomic KMS API\n" + " --disable-gpu Force software rendering\n" + " --disable-surfaceless Don't use surfaceless EGL\n" + " --window-size=WIDTHxHEIGHT Specify window size\n" + " --use-ddl Use SkDeferredDisplayList\n" + " --partial-primary-plane " + "Use smaller than fullscreen primary plane\n" + " --enable-overlay Use an overlay plane\n" + " --disable-primary-plane Don't use the primary plane\n"; + + // TODO(hoegsberg): We should add a little more help text about how these + // options interact and depend on each other. + + exit(EXIT_SUCCESS); + } + // Initialize tracing. if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kTraceToConsole)) {
diff --git a/ui/ozone/demo/surfaceless_skia_renderer.cc b/ui/ozone/demo/surfaceless_skia_renderer.cc index fef66df..1833f6f 100644 --- a/ui/ozone/demo/surfaceless_skia_renderer.cc +++ b/ui/ozone/demo/surfaceless_skia_renderer.cc
@@ -184,7 +184,7 @@ overlay_buffer_[i]->Initialize(gr_context_.get(), gfx::kNullAcceleratedWidget, overlay_size); SkCanvas* sk_canvas = overlay_buffer_[i]->sk_surface()->getCanvas(); - sk_canvas->clear(SkColorSetARGB(255, 255 * i, 255, 0)); + sk_canvas->clear(SkColorSetARGB(96, 255 * i, 255, 0)); } }
diff --git a/ui/strings/translations/ui_strings_am.xtb b/ui/strings/translations/ui_strings_am.xtb index 9ab7dee..b894467a 100644 --- a/ui/strings/translations/ui_strings_am.xtb +++ b/ui/strings/translations/ui_strings_am.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">ስቀል</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">የሚመከሩ መተግበሪያዎች</translation> +<translation id="1368832886055348810">ከግራ ወደ ቀኝ</translation> <translation id="1398853756734560583">አስፋ</translation> <translation id="1413622004203049571">ከ<ph name="NOTIFIER_NAME" /> የሚመጡ ማሳወቂያዎችን አሰናክል</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 ደቂቃ እና }one{# ደቂቃዎች እና }other{# ደቂቃዎች እና }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">የኮከብ ደረጃ <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 ሰዓት እና }one{# ሰዓቶች እና }other{# ሰዓቶች እና }}</translation> <translation id="1842960171412779397">ምረጥ</translation> +<translation id="1859234291848436338">የአፃፃፍ አቅጣጫ</translation> <translation id="1860796786778352021">ማሳወቂያ ዝጋ</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 ዓመት ቀርቷል}one{# ዓመቶች ቀርተዋል}other{# ዓመቶች ቀርተዋል}}</translation> <translation id="6945221475159498467">ይምረጡ</translation> <translation id="6965382102122355670">እሺ</translation> +<translation id="6974053822202609517">ከቀኝ ወደ ግራ</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">የመሆን ዕድላቸው ከፍ ያለ ነው</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> ተጨማሪ</translation> <translation id="8730621377337864115">ተከናውኗል</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1ሰ}one{#ሰ}other{#ሰ}}</translation> +<translation id="8798099450830957504">እንደወረደ</translation> <translation id="8806053966018712535">አቃፊ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">ምስልን አብራራ</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> ኪባ</translation>
diff --git a/ui/strings/translations/ui_strings_ar.xtb b/ui/strings/translations/ui_strings_ar.xtb index cd1b2af..90660e1 100644 --- a/ui/strings/translations/ui_strings_ar.xtb +++ b/ui/strings/translations/ui_strings_ar.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">تحميل</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">تطبيقات مقترحة</translation> +<translation id="1368832886055348810">من اليسار لليمين</translation> <translation id="1398853756734560583">تكبير</translation> <translation id="1413622004203049571">تعطيل الإشعارات من <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{دقيقة واحدة و }zero{# من الدقائق و }two{دقيقتان (#) و }few{# دقائق و }many{# دقيقة و }other{# من الدقائق و }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">تقييم بالنجوم <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{ساعة واحدة و }zero{# من الساعات و }two{ساعتان (#) و }few{# ساعات و }many{# ساعة و }other{# من الساعات و }}</translation> <translation id="1842960171412779397">الاختيار</translation> +<translation id="1859234291848436338">اتجاه الكتابة</translation> <translation id="1860796786778352021">إغلاق الإشعار</translation> <translation id="1871244248791675517">مفتاح Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{تتبقى سنة واحدة}zero{تتبقى # سنة}two{تتبقى سنتين (#)}few{تتبقى # سنوات}many{تتبقى # سنةً}other{تتبقى # سنة}}</translation> <translation id="6945221475159498467">تحديد</translation> <translation id="6965382102122355670">موافق</translation> +<translation id="6974053822202609517">من اليمين لليسار</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">التطبيقات التي يرجح النقر عليها</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" />+ أخرى</translation> <translation id="8730621377337864115">تم</translation> <translation id="8772073294905169192">{HOURS,plural, =1{ساعة واحدة}zero{# ساعة}two{ساعتان (#)}few{# ساعات}many{# ساعةً}other{# ساعة}}</translation> +<translation id="8798099450830957504">الافتراضي</translation> <translation id="8806053966018712535">مجلد <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">إضافة تعليق توضيحي على الصورة</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> كيلوبايت</translation>
diff --git a/ui/strings/translations/ui_strings_bg.xtb b/ui/strings/translations/ui_strings_bg.xtb index c1c0c33..3246b175 100644 --- a/ui/strings/translations/ui_strings_bg.xtb +++ b/ui/strings/translations/ui_strings_bg.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Качване</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ПРЕПОРЪЧАНИ ПРИЛОЖЕНИЯ</translation> +<translation id="1368832886055348810">Отляво надясно</translation> <translation id="1398853756734560583">Увеличаване</translation> <translation id="1413622004203049571">Деактивиране на известията от <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 минута и }other{# минути и }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Оценка със звезди: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 час и }other{# часа и }}</translation> <translation id="1842960171412779397">Избиране</translation> +<translation id="1859234291848436338">Посока на писане</translation> <translation id="1860796786778352021">Затваряне на известието</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Остава 1 година}other{Остават # години}}</translation> <translation id="6945221475159498467">Изберете</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Отдясно наляво</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">НАЙ-ВЕРОЯТЕН ИЗБОР</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ още <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Готово</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 ч}other{# ч}}</translation> +<translation id="8798099450830957504">По подразбиране</translation> <translation id="8806053966018712535">Папка „<ph name="FOLDER_NAME" />“</translation> <translation id="883911313571074303">Добавяне на пояснение към изображението</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KБ</translation>
diff --git a/ui/strings/translations/ui_strings_bn.xtb b/ui/strings/translations/ui_strings_bn.xtb index c9d19fdc..6092f75 100644 --- a/ui/strings/translations/ui_strings_bn.xtb +++ b/ui/strings/translations/ui_strings_bn.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">আপলোড</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">প্রস্তাবিত অ্যাপ</translation> +<translation id="1368832886055348810">বাঁ থেকে ডান</translation> <translation id="1398853756734560583">বড় করুন</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> এর থেকে বিজ্ঞপ্তিগুলি অক্ষম করুন</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{১ মিনিট এবং }one{# মিনিট এবং }other{# মিনিট এবং }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144"><ph name="RATING_SCORE" /> তারা রেটিং দিন</translation> <translation id="1830179671306812954">{HOURS,plural, =1{১ ঘণ্টা এবং }one{# ঘণ্টা এবং }other{# ঘণ্টা এবং }}</translation> <translation id="1842960171412779397">বেছে নিন</translation> +<translation id="1859234291848436338">লিখন নির্দেশনা</translation> <translation id="1860796786778352021">বিজ্ঞপ্তি বন্ধ করা হয়েছে</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{১ বছর বাকি}one{# বছর বাকি}other{# বছর বাকি}}</translation> <translation id="6945221475159498467">নির্বাচন</translation> <translation id="6965382102122355670">ঠিক আছে</translation> +<translation id="6974053822202609517">ডান থেকে বামে</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">সবথেকে বেশি সম্ভাবনা</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">আরও <ph name="NUMBER" />টি</translation> <translation id="8730621377337864115">হয়ে গেছে</translation> <translation id="8772073294905169192">{HOURS,plural, =1{১ ঘণ্টা}one{# ঘণ্টা}other{# ঘণ্টা}}</translation> +<translation id="8798099450830957504">ডিফল্ট</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> ফোল্ডার</translation> <translation id="883911313571074303">চিত্রের জন্য টিকা লিখুন</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ca.xtb b/ui/strings/translations/ui_strings_ca.xtb index ab96638..123a421f 100644 --- a/ui/strings/translations/ui_strings_ca.xtb +++ b/ui/strings/translations/ui_strings_ca.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Penja</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APLICACIONS RECOMANADES</translation> +<translation id="1368832886055348810">D'esquerra a dreta</translation> <translation id="1398853756734560583">Maximitza</translation> <translation id="1413622004203049571">Desactiva les notificacions de <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minut i }other{# minuts i }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Puntuació en estrelles: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hora i }other{# hores i }}</translation> <translation id="1842960171412779397">selecciona</translation> +<translation id="1859234291848436338">Direcció de l'escriptura</translation> <translation id="1860796786778352021">Tanca la notificació</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{D'aquí a 1 any}other{D'aquí a # anys}}</translation> <translation id="6945221475159498467">Selecciona</translation> <translation id="6965382102122355670">D'acord</translation> +<translation id="6974053822202609517">De dreta a esquerra</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">LES MÉS PROBABLES</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">i <ph name="NUMBER" /> més</translation> <translation id="8730621377337864115">Fet</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Predeterminat</translation> <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Afegeix una anotació a la imatge</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_cs.xtb b/ui/strings/translations/ui_strings_cs.xtb index ec35eae..6f29903f 100644 --- a/ui/strings/translations/ui_strings_cs.xtb +++ b/ui/strings/translations/ui_strings_cs.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Nahrát</translation> <translation id="1293699935367580298">Klávesa Esc</translation> <translation id="1306549533752902673">DOPORUČENÉ APLIKACE</translation> +<translation id="1368832886055348810">Zleva doprava</translation> <translation id="1398853756734560583">Maximalizovat</translation> <translation id="1413622004203049571">Deaktivovat oznámení ze služby <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuta a }few{# minuty a }many{# minuty a }other{# minut a }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Hodnocení hvězdičkami: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hodina a }few{# hodiny a }many{# hodiny a }other{# hodin a }}</translation> <translation id="1842960171412779397">zvolit</translation> +<translation id="1859234291848436338">Směr textu</translation> <translation id="1860796786778352021">Zavřít oznámení</translation> <translation id="1871244248791675517">Klávesa Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{zbývá 1 rok}few{zbývají # roky}many{zbývá # roku}other{zbývá # let}}</translation> <translation id="6945221475159498467">Vybrat</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Zprava doleva</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">NEJPRAVDĚPODOBNĚJŠÍ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">a ještě <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Hotovo</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}few{# h}many{# h}other{# h}}</translation> +<translation id="8798099450830957504">Výchozí</translation> <translation id="8806053966018712535">Složka <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Přidat k obrázku poznámku</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_da.xtb b/ui/strings/translations/ui_strings_da.xtb index 2c0d416..ee8ab08 100644 --- a/ui/strings/translations/ui_strings_da.xtb +++ b/ui/strings/translations/ui_strings_da.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Upload</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ANBEFALEDE APPS</translation> +<translation id="1368832886055348810">Venstre til højre</translation> <translation id="1398853756734560583">Maksimér</translation> <translation id="1413622004203049571">Deaktiver underretninger fra <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minut og }one{# minutter og }other{# minutter og }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Antal stjerner <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 time og }one{# timer og }other{# timer og }}</translation> <translation id="1842960171412779397">vælg</translation> +<translation id="1859234291848436338">Skriveretning</translation> <translation id="1860796786778352021">Luk underretning</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Der er 1 år tilbage}one{Der er # år tilbage}other{Der er # år tilbage}}</translation> <translation id="6945221475159498467">Vælg</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Højre til venstre</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">HØJST SANDSYNLIGT</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> mere</translation> <translation id="8730621377337864115">Udfør</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 t}one{# t}other{# t}}</translation> +<translation id="8798099450830957504">Standard</translation> <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Annoter billede</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_de.xtb b/ui/strings/translations/ui_strings_de.xtb index 0f9135c..e9afedf5 100644 --- a/ui/strings/translations/ui_strings_de.xtb +++ b/ui/strings/translations/ui_strings_de.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Hochladen</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">EMPFOHLENE APPS</translation> +<translation id="1368832886055348810">Rechtsläufig</translation> <translation id="1398853756734560583">Vergrößern</translation> <translation id="1413622004203049571">Benachrichtigungen von <ph name="NOTIFIER_NAME" /> deaktivieren</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 Minute und }other{# Minuten und }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Bewertung <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 Stunde und }other{# Stunden und }}</translation> <translation id="1842960171412779397">auswählen</translation> +<translation id="1859234291848436338">Schreibrichtung</translation> <translation id="1860796786778352021">Benachrichtigung schließen</translation> <translation id="1871244248791675517">Einfg</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{noch 1 Jahr}other{noch # Jahre}}</translation> <translation id="6945221475159498467">Auswählen</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Linksläufig</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">HOHE WAHRSCHEINLICHKEIT</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> weitere</translation> <translation id="8730621377337864115">Fertig</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Standardeinstellung</translation> <translation id="8806053966018712535">Ordner <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Bild mit Anmerkung versehen</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_el.xtb b/ui/strings/translations/ui_strings_el.xtb index 319b9aa..e29550e 100644 --- a/ui/strings/translations/ui_strings_el.xtb +++ b/ui/strings/translations/ui_strings_el.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Μεταφόρτωση</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ</translation> +<translation id="1368832886055348810">Από αριστερά προς τα δεξιά</translation> <translation id="1398853756734560583">Μεγιστοποίηση</translation> <translation id="1413622004203049571">Απενεργοποίηση ειδοποιήσεων από <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 λεπτό και }other{# λεπτά και }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Αξιολόγηση με αστέρια <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 ώρα και }other{# ώρες και }}</translation> <translation id="1842960171412779397">επιλογή</translation> +<translation id="1859234291848436338">Κατεύθυνση γραφής</translation> <translation id="1860796786778352021">Κλείσιμο ειδοποίησης</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Απομένει 1 χρόνος}other{Απομένουν # χρόνια}}</translation> <translation id="6945221475159498467">Επιλογή</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Από δεξιά προς τα αριστερά</translation> <translation id="7052633198403197513">Πλήκτρο F1</translation> <translation id="7130207228079676353">ΔΗΜΟΦΙΛΕΣΤΕΡΕΣ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> ακόμη</translation> <translation id="8730621377337864115">Ολοκληρώθηκε</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1ώρ.}other{#ώρ.}}</translation> +<translation id="8798099450830957504">Προεπιλογή</translation> <translation id="8806053966018712535">Φάκελος <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Σχολιασμός εικόνας</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_en-GB.xtb b/ui/strings/translations/ui_strings_en-GB.xtb index b9587a6..981a353 100644 --- a/ui/strings/translations/ui_strings_en-GB.xtb +++ b/ui/strings/translations/ui_strings_en-GB.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Upload</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">RECOMMENDED APPS</translation> +<translation id="1368832886055348810">Left to Right</translation> <translation id="1398853756734560583">Maximise</translation> <translation id="1413622004203049571">Disable notifications from <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minute and }other{# minutes and }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Star rating <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hour and }other{# hours and }}</translation> <translation id="1842960171412779397">select</translation> +<translation id="1859234291848436338">Writing Direction</translation> <translation id="1860796786778352021">Notification close</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 year left}other{# years left}}</translation> <translation id="6945221475159498467">Select</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Right to Left</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MOST LIKELY</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> more</translation> <translation id="8730621377337864115">Done</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1h}other{#h}}</translation> +<translation id="8798099450830957504">Default</translation> <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Annotate image</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_es-419.xtb b/ui/strings/translations/ui_strings_es-419.xtb index a56892c..6898f4a6 100644 --- a/ui/strings/translations/ui_strings_es-419.xtb +++ b/ui/strings/translations/ui_strings_es-419.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Cargar</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APPS RECOMENDADAS</translation> +<translation id="1368832886055348810">De izquierda a derecha</translation> <translation id="1398853756734560583">Maximizar</translation> <translation id="1413622004203049571">Inhabilitar notificaciones de <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuto y }other{# minutos y }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Calificación por estrellas <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hora y }other{# horas y }}</translation> <translation id="1842960171412779397">seleccionar</translation> +<translation id="1859234291848436338">Sentido de la escritura</translation> <translation id="1860796786778352021">Cerrar notificación</translation> <translation id="1871244248791675517">Insert</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Queda 1 año}other{Quedan # años}}</translation> <translation id="6945221475159498467">Seleccionar</translation> <translation id="6965382102122355670">Aceptar</translation> +<translation id="6974053822202609517">De derecha a izquierda</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MUY PROBABLES</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> más</translation> <translation id="8730621377337864115">Listo</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Predeterminado</translation> <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Escribir en la imagen</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_es.xtb b/ui/strings/translations/ui_strings_es.xtb index 76c0a1e..382e27ba 100644 --- a/ui/strings/translations/ui_strings_es.xtb +++ b/ui/strings/translations/ui_strings_es.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Subir</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APLICACIONES RECOMENDADAS</translation> +<translation id="1368832886055348810">De izquierda a derecha</translation> <translation id="1398853756734560583">Maximizar</translation> <translation id="1413622004203049571">Inhabilitar notificaciones de <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuto y }other{# minutos y }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Valoración por estrellas <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hora y }other{# horas y }}</translation> <translation id="1842960171412779397">seleccionar</translation> +<translation id="1859234291848436338">Sentido de la escritura</translation> <translation id="1860796786778352021">Cerrar notificación</translation> <translation id="1871244248791675517">Insert</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Queda 1 año}other{Quedan # años}}</translation> <translation id="6945221475159498467">Seleccionar</translation> <translation id="6965382102122355670">Aceptar</translation> +<translation id="6974053822202609517">De derecha a izquierda</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MÁS PROBABLES</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> más</translation> <translation id="8730621377337864115">Listo</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Predeterminado</translation> <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Anotar imagen</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_et.xtb b/ui/strings/translations/ui_strings_et.xtb index c927730..644d83f8 100644 --- a/ui/strings/translations/ui_strings_et.xtb +++ b/ui/strings/translations/ui_strings_et.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Laadi üles</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">SOOVITATUD RAKENDUSED</translation> +<translation id="1368832886055348810">Left to Right (Vasakult paremale)</translation> <translation id="1398853756734560583">Maksimeeri</translation> <translation id="1413622004203049571">Keela märguanded: <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minut ja }other{# minutit ja }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Tärnhinnang <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 tund ja }other{# tundi ja }}</translation> <translation id="1842960171412779397">vali</translation> +<translation id="1859234291848436338">Writing Direction (Kirjutamise suund)</translation> <translation id="1860796786778352021">Märguande sulgemine</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 aasta jäänud}other{# aastat jäänud}}</translation> <translation id="6945221475159498467">Vali</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Right to Left (Paremalt vasakule)</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">KÕIGE TÕENÄOLISEMAD</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">ja veel <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Valmis</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1h}other{#h}}</translation> +<translation id="8798099450830957504">Vaikimisi</translation> <translation id="8806053966018712535">Kaust <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Lisa kujutisele märkused</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_fa.xtb b/ui/strings/translations/ui_strings_fa.xtb index 6136a6a..9f1a67779 100644 --- a/ui/strings/translations/ui_strings_fa.xtb +++ b/ui/strings/translations/ui_strings_fa.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">بارگذاری</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">برنامههای توصیهشده</translation> +<translation id="1368832886055348810">چپ به راست</translation> <translation id="1398853756734560583">بزرگ کردن</translation> <translation id="1413622004203049571">غیرفعال کردن اعلانها از <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{۱ دقیقه و }one{# دقیقه و }other{# دقیقه و }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">رتبهبندی ستارهای <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{۱ ساعت و }one{# ساعت و }other{# ساعت و }}</translation> <translation id="1842960171412779397">انتخاب</translation> +<translation id="1859234291848436338">جهت نوشتن</translation> <translation id="1860796786778352021">بستن اعلان</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />٪</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{۱ سال باقی مانده است}one{#سال باقی مانده است}other{#سال باقی مانده است}}</translation> <translation id="6945221475159498467">انتخاب</translation> <translation id="6965382102122355670">قبول</translation> +<translation id="6974053822202609517">راست به چپ</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">به احتمال خیلی زیاد</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> مورد دیگر</translation> <translation id="8730621377337864115">تمام</translation> <translation id="8772073294905169192">{HOURS,plural, =1{۱ ساعت}one{# ساعت}other{# ساعت}}</translation> +<translation id="8798099450830957504">پیشفرض</translation> <translation id="8806053966018712535">پوشه <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">حاشیهنویسی تصویر</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> کیلوبایت</translation>
diff --git a/ui/strings/translations/ui_strings_fi.xtb b/ui/strings/translations/ui_strings_fi.xtb index ce42e80..3210aeeb 100644 --- a/ui/strings/translations/ui_strings_fi.xtb +++ b/ui/strings/translations/ui_strings_fi.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Lähetä</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">SOVELLUSSUOSITUKSET</translation> +<translation id="1368832886055348810">Vasemmalta oikealle</translation> <translation id="1398853756734560583">Suurenna</translation> <translation id="1413622004203049571">Poista ilmoitukset käytöstä sovellukselta <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuutti ja }other{# minuuttia ja }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Tähtiluokitus: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 tunti ja }other{# tuntia ja }}</translation> <translation id="1842960171412779397">Valitse</translation> +<translation id="1859234291848436338">Kirjoitussuunta</translation> <translation id="1860796786778352021">Ilmoitus sulje</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 vuosi jäljellä}other{# vuotta jäljellä}}</translation> <translation id="6945221475159498467">Valitse</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Oikealta vasemmalle</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">TODENNÄKÖISIMMÄT</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> lisää</translation> <translation id="8730621377337864115">Valmis</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Oletus</translation> <translation id="8806053966018712535">Kansio <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Lisää kuvaan muistiinpano</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kt</translation>
diff --git a/ui/strings/translations/ui_strings_fil.xtb b/ui/strings/translations/ui_strings_fil.xtb index 1b65c59f..4e50892 100644 --- a/ui/strings/translations/ui_strings_fil.xtb +++ b/ui/strings/translations/ui_strings_fil.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">I-upload</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">MGA INIREREKOMENDANG APP</translation> +<translation id="1368832886055348810">Kaliwa papuntang Kanan</translation> <translation id="1398853756734560583">Maximize</translation> <translation id="1413622004203049571">I-disable ang mga notification mula sa <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuto at }one{# minuto at }other{# na minuto at }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Star na rating <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 oras at }one{# oras at }other{# na oras at }}</translation> <translation id="1842960171412779397">piliin</translation> +<translation id="1859234291848436338">Pagsulat ng Direksyon</translation> <translation id="1860796786778352021">Isara ang notification</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 taon ang natitira}one{# taon ang natitira}other{# na taon ang natitira}}</translation> <translation id="6945221475159498467">Pumili</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Kanan papuntang Kaliwa</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">PINAKAMALAMANG</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> pa</translation> <translation id="8730621377337864115">Tapos na</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 oras}one{# oras}other{# na oras}}</translation> +<translation id="8798099450830957504">Default</translation> <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">I-annotate ang larawan</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_fr.xtb b/ui/strings/translations/ui_strings_fr.xtb index 73a3a0b..eb1ff67 100644 --- a/ui/strings/translations/ui_strings_fr.xtb +++ b/ui/strings/translations/ui_strings_fr.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Importer</translation> <translation id="1293699935367580298">Échap</translation> <translation id="1306549533752902673">APPLICATIONS RECOMMANDÉES</translation> +<translation id="1368832886055348810">De gauche à droite</translation> <translation id="1398853756734560583">Agrandir</translation> <translation id="1413622004203049571">Désactiver les notifications <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minute et }one{# minute et }other{# minutes et }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Note : <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 heure et }one{# heure et }other{# heures et }}</translation> <translation id="1842960171412779397">sélectionner</translation> +<translation id="1859234291848436338">Sens de l'écriture</translation> <translation id="1860796786778352021">Fermer la notification</translation> <translation id="1871244248791675517">Insér.</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 an restant}one{# an restant}other{# ans restants}}</translation> <translation id="6945221475159498467">Sélectionner</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">De droite à gauche</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">CLIC PROBABLE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> autres</translation> <translation id="8730621377337864115">OK</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}one{# h}other{# h}}</translation> +<translation id="8798099450830957504">Par défaut</translation> <translation id="8806053966018712535">Dossier <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Annoter l'image</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> Ko</translation>
diff --git a/ui/strings/translations/ui_strings_gu.xtb b/ui/strings/translations/ui_strings_gu.xtb index 75a78fb..5cdeb04 100644 --- a/ui/strings/translations/ui_strings_gu.xtb +++ b/ui/strings/translations/ui_strings_gu.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">અપલોડ કરો</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ભલામણ કરેલ ઍપ</translation> +<translation id="1368832886055348810">ડાબેથી જમણે</translation> <translation id="1398853756734560583">મોટું કરો</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> તરફથી સૂચનાઓ અક્ષમ કરો</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 મિનિટ અને }one{# મિનિટ અને }other{# મિનિટ અને }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">સ્ટાર રેટિંગ <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 કલાક અને }one{# કલાક અને }other{# કલાક અને }}</translation> <translation id="1842960171412779397">પસંદ કરો</translation> +<translation id="1859234291848436338">લેખનના દિશાનિર્દેશ</translation> <translation id="1860796786778352021">સૂચના બંધ છે</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 વર્ષ બાકી}one{# વર્ષ બાકી}other{# વર્ષ બાકી}}</translation> <translation id="6945221475159498467">પસંદ કરો</translation> <translation id="6965382102122355670">બરાબર, સમજાઇ ગયું</translation> +<translation id="6974053822202609517">જમણેથી ડાબે</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">સૌથી વધુ શક્ય</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> વધુ</translation> <translation id="8730621377337864115">થઈ ગયું</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 ક}one{# ક}other{# ક}}</translation> +<translation id="8798099450830957504">ડિફૉલ્ટ</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> ફોલ્ડર</translation> <translation id="883911313571074303">છબીમાં ટીકા કરો</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_hi.xtb b/ui/strings/translations/ui_strings_hi.xtb index 079c3ed2..da13a29a 100644 --- a/ui/strings/translations/ui_strings_hi.xtb +++ b/ui/strings/translations/ui_strings_hi.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">अपलोड करें</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">सुझाए गए ऐप्लिकेशन</translation> +<translation id="1368832886055348810">बाएं से दाएं</translation> <translation id="1398853756734560583">बड़ा करें</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> से सूचनाएं अक्षम करें</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 मिनट और }one{# मिनट और }other{# मिनट और }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">तारा रेटिंग <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 घंटा और }one{# घंटे और }other{# घंटे और }}</translation> <translation id="1842960171412779397">चुनें</translation> +<translation id="1859234291848436338">लिखने के निर्देश</translation> <translation id="1860796786778352021">सूचना बंद करें</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 वर्ष शेष}one{# वर्ष शेष}other{# वर्ष शेष}}</translation> <translation id="6945221475159498467">चुनें</translation> <translation id="6965382102122355670">ठीक है</translation> +<translation id="6974053822202609517">दाएं से बाएं</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">सबसे अधिक संभावना है</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> और</translation> <translation id="8730621377337864115">पूर्ण</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1h}one{#h}other{#h}}</translation> +<translation id="8798099450830957504">सामान्य</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> फ़ोल्डर</translation> <translation id="883911313571074303">व्याख्या चित्र</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_hr.xtb b/ui/strings/translations/ui_strings_hr.xtb index db65fb6e..7b2a822 100644 --- a/ui/strings/translations/ui_strings_hr.xtb +++ b/ui/strings/translations/ui_strings_hr.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Prenesi</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">PREPORUČENE APLIKACIJE</translation> +<translation id="1368832886055348810">Slijeva udesno</translation> <translation id="1398853756734560583">Maksimiziraj</translation> <translation id="1413622004203049571">Onemogući obavijesti pošiljatelja <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuta i }one{# minuta i }few{# minute i }other{# minuta i }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Broj zvjezdica: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 sat i }one{# sat i }few{# sata i }other{# sati i }}</translation> <translation id="1842960171412779397">odaberi</translation> +<translation id="1859234291848436338">Smjer pisanja</translation> <translation id="1860796786778352021">Zatvaranje obavijesti</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Još godinu dana}one{Još # godinu}few{Još # godine}other{Još # godina}}</translation> <translation id="6945221475159498467">Odaberi</translation> <translation id="6965382102122355670">U redu</translation> +<translation id="6974053822202609517">Zdesna ulijevo</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">NAJVJEROJATNIJE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">Još <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Gotovo</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}one{# h}few{# h}other{# h}}</translation> +<translation id="8798099450830957504">Zadano</translation> <translation id="8806053966018712535">Mapa <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Dodaj napomenu slici</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_hu.xtb b/ui/strings/translations/ui_strings_hu.xtb index 6ee16ccf..2f32935 100644 --- a/ui/strings/translations/ui_strings_hu.xtb +++ b/ui/strings/translations/ui_strings_hu.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Feltöltés</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">AJÁNLOTT ALKALMAZÁSOK</translation> +<translation id="1368832886055348810">Balról jobbra</translation> <translation id="1398853756734560583">Teljes méret</translation> <translation id="1413622004203049571">A(z) <ph name="NOTIFIER_NAME" /> értesítéseinek kikapcsolása</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 perc és }other{# perc és }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144"><ph name="RATING_SCORE" /> csillagos értékelés</translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 óra és }other{# óra és }}</translation> <translation id="1842960171412779397">Kiválasztás</translation> +<translation id="1859234291848436338">Írás iránya</translation> <translation id="1860796786778352021">Értesítés bezárása</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{hátralévő idő: 1 év}other{hátralévő idő: # év}}</translation> <translation id="6945221475159498467">Kiválasztás</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Jobbról balra</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">NAGY VALÓSZÍNŰSÉGGEL</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">és <ph name="NUMBER" /> további</translation> <translation id="8730621377337864115">Kész</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 ó}other{# ó}}</translation> +<translation id="8798099450830957504">Alapértelmezett</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> mappa</translation> <translation id="883911313571074303">Megjegyzés fűzése a képhez</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_id.xtb b/ui/strings/translations/ui_strings_id.xtb index db2d7dab..0108f38 100644 --- a/ui/strings/translations/ui_strings_id.xtb +++ b/ui/strings/translations/ui_strings_id.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Upload</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APLIKASI YANG DIREKOMENDASIKAN</translation> +<translation id="1368832886055348810">Kiri ke Kanan</translation> <translation id="1398853756734560583">Perbesar</translation> <translation id="1413622004203049571">Nonaktifkan pemberitahuan dari <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 menit dan }other{# menit dan }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Skor bintang <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 jam dan }other{# jam dan }}</translation> <translation id="1842960171412779397">pilih</translation> +<translation id="1859234291848436338">Arah Penulisan</translation> <translation id="1860796786778352021">Tutup pemberitahuan</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 tahun lagi}other{# tahun lagi}}</translation> <translation id="6945221475159498467">Pilih</translation> <translation id="6965382102122355670">Oke</translation> +<translation id="6974053822202609517">Kanan ke Kiri</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MUNGKIN DICARI</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> lagi</translation> <translation id="8730621377337864115">Selesai</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1j}other{#j}}</translation> +<translation id="8798099450830957504">Default</translation> <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Gambar anotasi</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_it.xtb b/ui/strings/translations/ui_strings_it.xtb index a626c7f..f5a2723 100644 --- a/ui/strings/translations/ui_strings_it.xtb +++ b/ui/strings/translations/ui_strings_it.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Carica</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APP CONSIGLIATE</translation> +<translation id="1368832886055348810">Da sinistra a destra</translation> <translation id="1398853756734560583">Ingrandisci</translation> <translation id="1413622004203049571">Disabilita notifiche da <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuto e }other{# minuti e }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Valutazione a stelle: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 ora e }other{# ore e }}</translation> <translation id="1842960171412779397">seleziona</translation> +<translation id="1859234291848436338">Direzione di scrittura</translation> <translation id="1860796786778352021">Chiusura notifica</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 anno rimasto}other{# anni rimasti}}</translation> <translation id="6945221475159498467">Seleziona</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Da destra a sinistra</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">PIÙ PROBABILI</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ altre <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Fine</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Predefinito</translation> <translation id="8806053966018712535">Cartella <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Annota immagine</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_iw.xtb b/ui/strings/translations/ui_strings_iw.xtb index 4dd83044..2ad9e6f 100644 --- a/ui/strings/translations/ui_strings_iw.xtb +++ b/ui/strings/translations/ui_strings_iw.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">העלה</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">אפליקציות מומלצות</translation> +<translation id="1368832886055348810">משמאל לימין</translation> <translation id="1398853756734560583">הגדל</translation> <translation id="1413622004203049571">השבת הודעות מאת <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{דקה אחת ו }two{# דקות ו }many{# דקות ו }other{# דקות ו }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">דירוג כוכבים: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{שעה אחת ו }two{שעתיים ו }many{# שעות ו }other{# שעות ו }}</translation> <translation id="1842960171412779397">בחר</translation> +<translation id="1859234291848436338">כיוון כתיבה</translation> <translation id="1860796786778352021">סגירת הודעה</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652">%<ph name="NUMBER" /></translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{נותרה שנה אחת}two{נותרו שנתיים}many{נותרו # שנים}other{נותרו # שנים}}</translation> <translation id="6945221475159498467">בחר</translation> <translation id="6965382102122355670">אישור</translation> +<translation id="6974053822202609517">מימין לשמאל</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">סבירות גבוהה</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">ועוד <ph name="NUMBER" /></translation> <translation id="8730621377337864115">בוצע</translation> <translation id="8772073294905169192">{HOURS,plural, =1{שעה}two{# שע}many{# שע}other{# שע}}</translation> +<translation id="8798099450830957504">ברירת מחדל</translation> <translation id="8806053966018712535">תיקייה <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">רשום הערה לתמונה</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ja.xtb b/ui/strings/translations/ui_strings_ja.xtb index 24059a6..bb1ef128 100644 --- a/ui/strings/translations/ui_strings_ja.xtb +++ b/ui/strings/translations/ui_strings_ja.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">アップロード</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">おすすめのアプリ</translation> +<translation id="1368832886055348810">左から右</translation> <translation id="1398853756734560583">最大化</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> からの通知を無効にする</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 分 }other{# 分 }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">評価 <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 時間 }other{# 時間 }}</translation> <translation id="1842960171412779397">選択</translation> +<translation id="1859234291848436338">文章の方向</translation> <translation id="1860796786778352021">通知を閉じる</translation> <translation id="1871244248791675517">Insert</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{残り 1 年}other{残り # 年}}</translation> <translation id="6945221475159498467">選択</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">右から左</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">これですか?</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">他 <ph name="NUMBER" /> 件</translation> <translation id="8730621377337864115">完了</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1時間}other{#時間}}</translation> +<translation id="8798099450830957504">既定</translation> <translation id="8806053966018712535">フォルダ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">画像に注釈を付ける</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_kn.xtb b/ui/strings/translations/ui_strings_kn.xtb index 6a3bd64e..878e0e8d 100644 --- a/ui/strings/translations/ui_strings_kn.xtb +++ b/ui/strings/translations/ui_strings_kn.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">ಅಪ್ಲೋಡ್</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ಶಿಫಾರಸು ಮಾಡಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು</translation> +<translation id="1368832886055348810">ಎಡದಿಂದ ಬಲಕ್ಕೆ</translation> <translation id="1398853756734560583">ಗರಿಷ್ಠಗೊಳಿಸು</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> ಅವರ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 ನಿಮಿಷ ಮತ್ತು }one{# ನಿಮಿಷಗಳು ಮತ್ತು }other{# ನಿಮಿಷಗಳು ಮತ್ತು }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">ಸ್ಟಾರ್ ರೇಟಿಂಗ್ <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 ಗಂಟೆ ಮತ್ತು }one{# ಗಂಟೆಗಳು ಮತ್ತು }other{# ಗಂಟೆಗಳು ಮತ್ತು }}</translation> <translation id="1842960171412779397">ಆಯ್ಕೆ ಮಾಡಿ</translation> +<translation id="1859234291848436338">ಬರವಣಿಗೆ ನಿರ್ದೇಶನ</translation> <translation id="1860796786778352021">ಅಧಿಸೂಚನೆ ಮುಚ್ಚು</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 ವರ್ಷ ಉಳಿದಿದೆ}one{# ವರ್ಷಗಳು ಉಳಿದಿವೆ}other{# ವರ್ಷಗಳು ಉಳಿದಿವೆ}}</translation> <translation id="6945221475159498467">ಆಯ್ಕೆಮಾಡಿ</translation> <translation id="6965382102122355670">ಸರಿ</translation> +<translation id="6974053822202609517">ಬಲದಿಂದ ಎಡಕ್ಕೆ</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">ಹೆಚ್ಚಿನ ಸಾಧ್ಯತೆ ಇದೆ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ <ph name="NUMBER" /> ಇನ್ನಷ್ಟು</translation> <translation id="8730621377337864115">ಮುಗಿದಿದೆ</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1ಗಂ}one{#ಗಂ}other{#ಗಂ}}</translation> +<translation id="8798099450830957504">ಡಿಫಾಲ್ಟ್</translation> <translation id="8806053966018712535">ಫೋಲ್ಡರ್ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">ಚಿತ್ರವನ್ನು ಟಿಪ್ಪಣಿ ಮಾಡಿ</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ko.xtb b/ui/strings/translations/ui_strings_ko.xtb index d15ca10..b6945d13 100644 --- a/ui/strings/translations/ui_strings_ko.xtb +++ b/ui/strings/translations/ui_strings_ko.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">업로드</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">추천 앱</translation> +<translation id="1368832886055348810">왼쪽에서 오른쪽으로</translation> <translation id="1398853756734560583">최대화</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" />의 알림 사용 중지</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1분 }other{#분 }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">별표 평점: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1시간 }other{#시간 }}</translation> <translation id="1842960171412779397">선택</translation> +<translation id="1859234291848436338">쓰기 방향</translation> <translation id="1860796786778352021">알림 닫기</translation> <translation id="1871244248791675517">Insert</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1년 남음}other{#년 남음}}</translation> <translation id="6945221475159498467">선택</translation> <translation id="6965382102122355670">확인</translation> +<translation id="6974053822202609517">오른쪽에서 왼쪽으로</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">사용할 만한 앱</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" />개</translation> <translation id="8730621377337864115">완료</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1시간}other{#시간}}</translation> +<translation id="8798099450830957504">기본값</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> 폴더</translation> <translation id="883911313571074303">이미지에 주석 달기</translation> <translation id="8901569739625249689"><ph name="QUANTITY" />KB</translation>
diff --git a/ui/strings/translations/ui_strings_lt.xtb b/ui/strings/translations/ui_strings_lt.xtb index 3eb999c..4d9a22a 100644 --- a/ui/strings/translations/ui_strings_lt.xtb +++ b/ui/strings/translations/ui_strings_lt.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Įkelti</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">REKOMENDUOJAMOS PROGRAMOS</translation> +<translation id="1368832886055348810">Iš kairės į dešinę</translation> <translation id="1398853756734560583">Išskleisti</translation> <translation id="1413622004203049571">Išjungti pranešimus nuo <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minutė ir }one{# minutė ir }few{# minutės ir }many{# minutės ir }other{# minučių ir }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Įvertinimas žvaigždutėmis <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 valanda ir }one{# valanda ir }few{# valandos ir }many{# valandos ir }other{# valandų ir }}</translation> <translation id="1842960171412779397">pasirinkti</translation> +<translation id="1859234291848436338">Rašymo nurodymas</translation> <translation id="1860796786778352021">Uždaryti pranešimus</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Liko 1 metai}one{Liko # metai}few{Liko # metai}many{Liko # metų}other{Liko # metų}}</translation> <translation id="6945221475159498467">Pasirinkti</translation> <translation id="6965382102122355670">Gerai</translation> +<translation id="6974053822202609517">Iš dešinės į kairę</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">TIKRIAUSIAI SPUSTELĖJAMOS PROGRAMOS</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">Dar <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Atlikta</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 val.}one{# val.}few{# val.}many{# val.}other{# val.}}</translation> +<translation id="8798099450830957504">Numatytasis</translation> <translation id="8806053966018712535">Aplankas „<ph name="FOLDER_NAME" />“</translation> <translation id="883911313571074303">Komentuoti vaizdą</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_lv.xtb b/ui/strings/translations/ui_strings_lv.xtb index bb4d85e..7db927c 100644 --- a/ui/strings/translations/ui_strings_lv.xtb +++ b/ui/strings/translations/ui_strings_lv.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Augšupielādēt</translation> <translation id="1293699935367580298">Atsolis</translation> <translation id="1306549533752902673">IETEIKTĀS LIETOTNES</translation> +<translation id="1368832886055348810">No kreisās uz labo pusi</translation> <translation id="1398853756734560583">Maksimizēt</translation> <translation id="1413622004203049571">Atspējot paziņojumu saņemšanu no: <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minūte un }zero{# minūtes un }one{# minūte un }other{# minūtes un }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Sākt vērtēt <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 stunda un }zero{# stundas un }one{# stunda un }other{# stundas un }}</translation> <translation id="1842960171412779397">Atlasiet</translation> +<translation id="1859234291848436338">Rakstīšanas virziens</translation> <translation id="1860796786778352021">Paziņojuma aizvēršana</translation> <translation id="1871244248791675517">Iespraušana</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Atlicis 1 gads}zero{Atlikuši # gadi}one{Atlicis # gads}other{Atlikuši # gadi}}</translation> <translation id="6945221475159498467">Atlasīt</translation> <translation id="6965382102122355670">Labi</translation> +<translation id="6974053822202609517">No labās uz kreiso pusi</translation> <translation id="7052633198403197513">taustiņš F1</translation> <translation id="7130207228079676353">VISTICAMĀK</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">vēl <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Gatavs</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}zero{# h}one{# h}other{# h}}</translation> +<translation id="8798099450830957504">Noklusējums</translation> <translation id="8806053966018712535">Mape <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Anotēt attēlu</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ml.xtb b/ui/strings/translations/ui_strings_ml.xtb index 8cb420f5..526a3b5 100644 --- a/ui/strings/translations/ui_strings_ml.xtb +++ b/ui/strings/translations/ui_strings_ml.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">അപ്ലോഡുചെയ്യുക</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ശുപാർശിത ആപ്പുകൾ</translation> +<translation id="1368832886055348810">ഇടതുനിന്ന് വലത്തേക്ക്</translation> <translation id="1398853756734560583">വലുതാക്കുക</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> എന്നതിൽ നിന്നുള്ള അറിയിപ്പുകൾ പ്രവർത്തനരഹിതമാക്കുക</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{ഒരു മിനിറ്റും }other{# മിനിറ്റും }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">നക്ഷത്ര റേറ്റിംഗ് <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{ഒരു മണിക്കൂറും }other{# മണിക്കൂറും }}</translation> <translation id="1842960171412779397">തിരഞ്ഞെടുക്കൂ</translation> +<translation id="1859234291848436338">എഴുതേണ്ട ദിശ</translation> <translation id="1860796786778352021">അറിയിപ്പ് അടയ്ക്കൽ</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{ഒരു വർഷം ശേഷിക്കുന്നു}other{# വർഷം ശേഷിക്കുന്നു}}</translation> <translation id="6945221475159498467">തിരഞ്ഞെടുക്കുക</translation> <translation id="6965382102122355670">ശരി</translation> +<translation id="6974053822202609517">വലത്ത് നിന്ന് ഇടത്തേക്ക്</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">ഏറ്റവും കൂടുതൽ പേർ ലൈക്കുചെയ്തത്</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> എണ്ണം കൂടി</translation> <translation id="8730621377337864115">പൂർത്തിയാക്കി</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 മണിക്കൂർ}other{# മണിക്കൂർ}}</translation> +<translation id="8798099450830957504">സ്ഥിരസ്ഥിതി</translation> <translation id="8806053966018712535">ഫോൾഡർ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">ചിത്രം വ്യാഖ്യാനിക്കുക</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_mr.xtb b/ui/strings/translations/ui_strings_mr.xtb index ac1865f3..e7183f8 100644 --- a/ui/strings/translations/ui_strings_mr.xtb +++ b/ui/strings/translations/ui_strings_mr.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">अपलोड करा</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">शिफारस केलेले अॅप्स</translation> +<translation id="1368832886055348810">डावीकडून उजवीकडे</translation> <translation id="1398853756734560583">वाढवा</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> वरील सूचना अक्षम करा</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 मिनिट आणि }one{# मिनिट आणि }other{# मिनिटे आणि }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144"><ph name="RATING_SCORE" /> तारे रेटिंग</translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 तास आणि }one{# तास आणि }other{# तास आणि }}</translation> <translation id="1842960171412779397">निवडा</translation> +<translation id="1859234291848436338">लिहिण्याची दिशा</translation> <translation id="1860796786778352021">सूचना बंद</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 वर्ष राहिले}one{# वर्ष राहिले}other{# वर्षे राहिली}}</translation> <translation id="6945221475159498467">निवडा</translation> <translation id="6965382102122355670">ठीक आहे</translation> +<translation id="6974053822202609517">उजवीकडून डावीकडे</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">सर्वाधिक शक्यता</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+आणखी <ph name="NUMBER" /></translation> <translation id="8730621377337864115">पूर्ण झाले</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1ता}one{#ता}other{#ता}}</translation> +<translation id="8798099450830957504">डीफॉल्ट</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> फोल्डर</translation> <translation id="883911313571074303">प्रतिमेवर भाष्य करा</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ms.xtb b/ui/strings/translations/ui_strings_ms.xtb index a8787ef..5a20a93 100644 --- a/ui/strings/translations/ui_strings_ms.xtb +++ b/ui/strings/translations/ui_strings_ms.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Muat naik</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APL YANG DISYORKAN</translation> +<translation id="1368832886055348810">Kiri ke Kanan</translation> <translation id="1398853756734560583">Maksimumkan</translation> <translation id="1413622004203049571">Lumpuhkan pemberitahuan daripada <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minit dan }other{# minit dan }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Penilaian <ph name="RATING_SCORE" /> bintang</translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 jam dan }other{# jam dan }}</translation> <translation id="1842960171412779397">pilih</translation> +<translation id="1859234291848436338">Arah Penulisan</translation> <translation id="1860796786778352021">Tutup Pemberitahuan</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Berbaki 1 tahun}other{Berbaki # tahun}}</translation> <translation id="6945221475159498467">Pilih</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Kanan ke Kiri</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">KEMUNGKINAN BESAR</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> lagi</translation> <translation id="8730621377337864115">Selesai</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1j}other{#j}}</translation> +<translation id="8798099450830957504">Lalai</translation> <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Anotasikan imej</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_nl.xtb b/ui/strings/translations/ui_strings_nl.xtb index 8dde3b8c..da8d16c 100644 --- a/ui/strings/translations/ui_strings_nl.xtb +++ b/ui/strings/translations/ui_strings_nl.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Uploaden</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">AANBEVOLEN APPS</translation> +<translation id="1368832886055348810">Links naar rechts</translation> <translation id="1398853756734560583">Maximaliseren</translation> <translation id="1413622004203049571">Meldingen van <ph name="NOTIFIER_NAME" /> uitschakelen</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuut en }other{# minuten en }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Sterbeoordeling <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 uur en }other{# uur en }}</translation> <translation id="1842960171412779397">Selecteren</translation> +<translation id="1859234291848436338">Schrijfrichting</translation> <translation id="1860796786778352021">Melding sluiten</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Nog 1 jaar}other{Nog # jaar}}</translation> <translation id="6945221475159498467">Selecteren</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Rechts naar links</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MEEST WAARSCHIJNLIJK</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ nog <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Gereed</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 u}other{# u}}</translation> +<translation id="8798099450830957504">Standaard</translation> <translation id="8806053966018712535">Map <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Afbeelding annoteren</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_no.xtb b/ui/strings/translations/ui_strings_no.xtb index 3cb3008..5bee9eb 100644 --- a/ui/strings/translations/ui_strings_no.xtb +++ b/ui/strings/translations/ui_strings_no.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Last opp</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ANBEFALTE APPER</translation> +<translation id="1368832886055348810">Venstre til høyre</translation> <translation id="1398853756734560583">Maksimer</translation> <translation id="1413622004203049571">Deaktiver varsler fra <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minutt og }other{# minutter og }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Stjernerangering <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 time og }other{# timer og }}</translation> <translation id="1842960171412779397">velg</translation> +<translation id="1859234291848436338">Skriveretning</translation> <translation id="1860796786778352021">Lukk varsel</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 år igjen}other{# år igjen}}</translation> <translation id="6945221475159498467">Velg</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Høyre til venstre</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MEST SANNSYNLIG</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ <ph name="NUMBER" /> til</translation> <translation id="8730621377337864115">Ferdig</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 t}other{# t}}</translation> +<translation id="8798099450830957504">Standard</translation> <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Kommenter bildet</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_pl.xtb b/ui/strings/translations/ui_strings_pl.xtb index 9d1c016..e05a2a8 100644 --- a/ui/strings/translations/ui_strings_pl.xtb +++ b/ui/strings/translations/ui_strings_pl.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Prześlij</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">POLECANE APLIKACJE</translation> +<translation id="1368832886055348810">Od lewej do prawej</translation> <translation id="1398853756734560583">Maksymalizuj</translation> <translation id="1413622004203049571">Wyłącz powiadomienia z <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuta i }few{# minuty i }many{# minut i }other{# minuty i }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Ocena w gwiazdkach: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 godzina i }few{# godziny i }many{# godzin i }other{# godziny i }}</translation> <translation id="1842960171412779397">wybierz</translation> +<translation id="1859234291848436338">Kierunek pisania</translation> <translation id="1860796786778352021">Zamknięcie powiadomienia</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Pozostał rok}few{Pozostały # lata}many{Pozostało # lat}other{Pozostało # roku}}</translation> <translation id="6945221475159498467">Wybierz</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Od prawej do lewej</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">NAJBARDZIEJ PRAWDOPODOBNE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">i jeszcze <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Gotowe</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 godz.}few{# godz.}many{# godz.}other{# godz.}}</translation> +<translation id="8798099450830957504">Domyślny</translation> <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Dodaj notatkę na grafice</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_pt-BR.xtb b/ui/strings/translations/ui_strings_pt-BR.xtb index a715736..19c877c 100644 --- a/ui/strings/translations/ui_strings_pt-BR.xtb +++ b/ui/strings/translations/ui_strings_pt-BR.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Fazer upload</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APPS RECOMENDADOS</translation> +<translation id="1368832886055348810">Da esquerda para a direita</translation> <translation id="1398853756734560583">Maximizar</translation> <translation id="1413622004203049571">Desativar notificações de <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{Um minuto e }one{# minutos e }other{# minutos e }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Avaliação com <ph name="RATING_SCORE" /> estrelas</translation> <translation id="1830179671306812954">{HOURS,plural, =1{Uma hora e }one{# horas e }other{# horas e }}</translation> <translation id="1842960171412779397">selecione</translation> +<translation id="1859234291848436338">Direção de Gravação</translation> <translation id="1860796786778352021">Fechar notificação</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 ano restante}one{# ano restante}other{# anos restantes}}</translation> <translation id="6945221475159498467">Selecionar</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Da direita para a esquerda</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MUITO PROVAVELMENTE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">mais <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Concluído</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}one{# h}other{# h}}</translation> +<translation id="8798099450830957504">Padrão</translation> <translation id="8806053966018712535">Pasta <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Fazer anotações na imagem</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_pt-PT.xtb b/ui/strings/translations/ui_strings_pt-PT.xtb index 0dbfd02..b36cc3028 100644 --- a/ui/strings/translations/ui_strings_pt-PT.xtb +++ b/ui/strings/translations/ui_strings_pt-PT.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Carregar</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APLICAÇÕES RECOMENDADAS</translation> +<translation id="1368832886055348810">Da esquerda para a direita</translation> <translation id="1398853756734560583">Maximizar</translation> <translation id="1413622004203049571">Desativar notificações de <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minuto e }other{# minutos e }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Classificação de <ph name="RATING_SCORE" /> estrelas</translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 hora e }other{# horas e }}</translation> <translation id="1842960171412779397">seleccionar</translation> +<translation id="1859234291848436338">Direcção da escrita</translation> <translation id="1860796786778352021">Fechar notificação</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Falta 1 ano}other{Faltam # anos}}</translation> <translation id="6945221475159498467">Selecionar</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Da direita para a esquerda</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MUITO PROVAVELMENTE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /></translation> <translation id="8730621377337864115">Concluído</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}other{# h}}</translation> +<translation id="8798099450830957504">Predefinição</translation> <translation id="8806053966018712535">Pasta <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Anotar imagem</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_ro.xtb b/ui/strings/translations/ui_strings_ro.xtb index d8c2168..3c42b40 100644 --- a/ui/strings/translations/ui_strings_ro.xtb +++ b/ui/strings/translations/ui_strings_ro.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Încărcați</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">APLICAȚII RECOMANDATE</translation> +<translation id="1368832886055348810">De la stânga la dreapta</translation> <translation id="1398853756734560583">Maximizează</translation> <translation id="1413622004203049571">Dezactivați notificările de la <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{Un minut și }few{# minute și }other{# de minute și }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Evaluare cu stele: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{O oră și }few{# ore și }other{# de ore și }}</translation> <translation id="1842960171412779397">selectează</translation> +<translation id="1859234291848436338">Direcție de scriere</translation> <translation id="1860796786778352021">Buton de închidere a notificării</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 an rămas}few{# ani rămași}other{# de ani rămași}}</translation> <translation id="6945221475159498467">Selectează</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">De la dreapta la stânga</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">CEL MAI PROBABIL DE ACCESAT</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">Peste <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Terminat</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}few{# h}other{# h}}</translation> +<translation id="8798099450830957504">Prestabilit</translation> <translation id="8806053966018712535">Dosarul <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Adnotează imaginea</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KO</translation>
diff --git a/ui/strings/translations/ui_strings_ru.xtb b/ui/strings/translations/ui_strings_ru.xtb index c70c9eb..97fe0421 100644 --- a/ui/strings/translations/ui_strings_ru.xtb +++ b/ui/strings/translations/ui_strings_ru.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Загрузить</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">РЕКОМЕНДУЕМЫЕ ПРИЛОЖЕНИЯ</translation> +<translation id="1368832886055348810">Слева направо</translation> <translation id="1398853756734560583">Развернуть</translation> <translation id="1413622004203049571">Отключить уведомления от <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 минута }one{# минута }few{# минуты }many{# минут }other{# минуты }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Оценка: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 час }one{# час }few{# часа }many{# часов }other{# часа }}</translation> <translation id="1842960171412779397">выбрать</translation> +<translation id="1859234291848436338">Направление письма</translation> <translation id="1860796786778352021">Закрыть уведомление</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{остался 1 год}one{остался # год}few{осталось # года}many{осталось # лет}other{осталось # года}}</translation> <translation id="6945221475159498467">Выбрать</translation> <translation id="6965382102122355670">ОК</translation> +<translation id="6974053822202609517">Справа налево</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">САМЫЕ ПОДХОДЯЩИЕ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">Ещё <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Готово</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 ч.}one{# ч.}few{# ч.}many{# ч.}other{# ч.}}</translation> +<translation id="8798099450830957504">По умолчанию</translation> <translation id="8806053966018712535">Папка <ph name="FOLDER_NAME" />.</translation> <translation id="883911313571074303">Добавить примечание к изображению</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> КБ</translation>
diff --git a/ui/strings/translations/ui_strings_sk.xtb b/ui/strings/translations/ui_strings_sk.xtb index 6060f95..3a94063 100644 --- a/ui/strings/translations/ui_strings_sk.xtb +++ b/ui/strings/translations/ui_strings_sk.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Nahrať</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ODPORÚČANÉ APLIKÁCIE</translation> +<translation id="1368832886055348810">Zľava doprava</translation> <translation id="1398853756734560583">Maximalizovať</translation> <translation id="1413622004203049571">Zakázať upozornenia od <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minúta a }few{# minúty a }many{# minúty a }other{# minút a }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Hodnotenie: <ph name="RATING_SCORE" /> hviezd.</translation> <translation id="1830179671306812954">{HOURS,plural, =1{Pred 1 hodinou a }few{Pred # hodinami a }many{Pred # hodinou a }other{Pred # hodinami a }}</translation> <translation id="1842960171412779397">vybrať</translation> +<translation id="1859234291848436338">Smer písania</translation> <translation id="1860796786778352021">Zavrieť upozornenie</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{zostáva 1 rok}few{zostávajú # roky}many{zostáva # roka}other{zostáva # rokov}}</translation> <translation id="6945221475159498467">Vybrať</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Sprava doľava</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">S NAJVÄČŠOU PRAVDEPODOBNOSŤOU</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">ďalšie (<ph name="NUMBER" />)</translation> <translation id="8730621377337864115">Hotovo</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 h}few{# h}many{# h}other{# h}}</translation> +<translation id="8798099450830957504">Predvolené</translation> <translation id="8806053966018712535">Priečinok <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Pridať k obrázku poznámku</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_sl.xtb b/ui/strings/translations/ui_strings_sl.xtb index c6e4422..591b1139 100644 --- a/ui/strings/translations/ui_strings_sl.xtb +++ b/ui/strings/translations/ui_strings_sl.xtb
@@ -7,6 +7,7 @@ <translation id="1243314992276662751">Prenesi</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">PRIPOROČENE APLIKACIJE</translation> +<translation id="1368832886055348810">Od leve proti desni</translation> <translation id="1398853756734560583">Povečaj</translation> <translation id="1413622004203049571">Izklop obvestil za <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 min in }one{# min in }two{# min in }few{# min in }other{# min in }}</translation> @@ -19,6 +20,7 @@ <translation id="1812519734428420144">Ocena z zvezdicami (<ph name="RATING_SCORE" />)</translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 h in }one{# h in }two{# h in }few{# h in }other{# h in }}</translation> <translation id="1842960171412779397">izberi</translation> +<translation id="1859234291848436338">Smer pisanja</translation> <translation id="1860796786778352021">Zapri obvestilo</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1901303067676059328">Izberi &vse</translation> @@ -116,6 +118,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Še 1 leto}one{Še # leto}two{Še # leti}few{Še # leta}other{Še # let}}</translation> <translation id="6945221475159498467">Izberi</translation> <translation id="6965382102122355670">V redu</translation> +<translation id="6974053822202609517">Od desne proti levi</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">NAJVERJETNEJŠE</translation> <translation id="7222373446505536781">F11</translation> @@ -145,6 +148,7 @@ <translation id="8602707065186045623">Datoteka <ph name="SAVEAS_EXTENSION_TYPE" /> (.<ph name="SAVEAS_EXTENSION_NAME" />)</translation> <translation id="8677655579646609597"><ph name="QUANTITY" /> KB/s</translation> <translation id="8730621377337864115">Končano</translation> +<translation id="8798099450830957504">Privzeto</translation> <translation id="8806053966018712535">Mapa <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Dodaj pripis sliki</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_sr.xtb b/ui/strings/translations/ui_strings_sr.xtb index 97b5c97..627845e 100644 --- a/ui/strings/translations/ui_strings_sr.xtb +++ b/ui/strings/translations/ui_strings_sr.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Отпреми</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ПРЕПОРУЧЕНЕ АПЛИКАЦИЈЕ</translation> +<translation id="1368832886055348810">Слева надесно</translation> <translation id="1398853756734560583">Увећај</translation> <translation id="1413622004203049571">Онемогући обавештења од <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 минут и }one{# минут и }few{# минута и }other{# минута и }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Оцена у звездицама: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 сат и }one{# сат и }few{# сата и }other{# сати и }}</translation> <translation id="1842960171412779397">изабери</translation> +<translation id="1859234291848436338">Writing Direction (Смер писања)</translation> <translation id="1860796786778352021">Затвори обавештење</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Још 1 година}one{Још # година}few{Још # године}other{Још # година}}</translation> <translation id="6945221475159498467">Изабери</translation> <translation id="6965382102122355670">Потврди</translation> +<translation id="6974053822202609517">Здесна налево</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">НАЈВЕРОВАТНИЈЕ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">и још <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Готово</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 с}one{# с}few{# с}other{# с}}</translation> +<translation id="8798099450830957504">Подразумевано</translation> <translation id="8806053966018712535">Директоријум <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Додај напомену у слику</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_sv.xtb b/ui/strings/translations/ui_strings_sv.xtb index 62285d2d..e3d4f9aa 100644 --- a/ui/strings/translations/ui_strings_sv.xtb +++ b/ui/strings/translations/ui_strings_sv.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Ladda upp</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">REKOMMENDERADE APPAR</translation> +<translation id="1368832886055348810">Vänster till höger</translation> <translation id="1398853756734560583">Maximera</translation> <translation id="1413622004203049571">Inaktivera aviseringar från <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 minut och }other{# minuter och }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Betyg <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 timme och }other{# timmar och }}</translation> <translation id="1842960171412779397">välj</translation> +<translation id="1859234291848436338">Skrivriktning</translation> <translation id="1860796786778352021">Meddelande om stängning</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 år kvar}other{# år kvar}}</translation> <translation id="6945221475159498467">Välj</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Höger till vänster</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">MEST TROLIGA</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">och <ph name="NUMBER" /> till</translation> <translation id="8730621377337864115">Klart</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 tim}other{# tim}}</translation> +<translation id="8798099450830957504">Standard</translation> <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Kommentera bild</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
diff --git a/ui/strings/translations/ui_strings_sw.xtb b/ui/strings/translations/ui_strings_sw.xtb index 80f9c4d..2f6ee97b 100644 --- a/ui/strings/translations/ui_strings_sw.xtb +++ b/ui/strings/translations/ui_strings_sw.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Pakia</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">PROGRAMU ZINAZOPENDEKEZWA</translation> +<translation id="1368832886055348810">Kushoto hadi Kulia</translation> <translation id="1398853756734560583">Tanua</translation> <translation id="1413622004203049571">Zima arifa kutoka <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{Dakika 1 na }other{Dakika # na }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Ukadiriaji wa nyota <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{Saa 1 na }other{Saa # na }}</translation> <translation id="1842960171412779397">chagua</translation> +<translation id="1859234291848436338">Mwelekeo wa Maandishi</translation> <translation id="1860796786778352021">Funga arifa</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Umesalia mwaka 1}other{Imesalia miaka #}}</translation> <translation id="6945221475159498467">Chagua</translation> <translation id="6965382102122355670">Sawa</translation> +<translation id="6974053822202609517">Kulia hadi Kushoto</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">UNAZOWEZA KUBOFYA SANA</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> zaidi</translation> <translation id="8730621377337864115">Nimemaliza</translation> <translation id="8772073294905169192">{HOURS,plural, =1{Saa 1}other{Saa #}}</translation> +<translation id="8798099450830957504">Chaguo Msingi</translation> <translation id="8806053966018712535">Folda ya <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Eleza kuhusu picha</translation> <translation id="8901569739625249689">KB <ph name="QUANTITY" /></translation>
diff --git a/ui/strings/translations/ui_strings_ta.xtb b/ui/strings/translations/ui_strings_ta.xtb index 29d8a2e..597e8aaf 100644 --- a/ui/strings/translations/ui_strings_ta.xtb +++ b/ui/strings/translations/ui_strings_ta.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">பதிவேற்று</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">பரிந்துரைக்கப்படும் பயன்பாடுகள்</translation> +<translation id="1368832886055348810">இடமிருந்து வலம்</translation> <translation id="1398853756734560583">பெரிதாக்கு</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> இடமிருந்து வரும் அறிவிப்புகளை முடக்கு</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 நிமிடம், }other{# நிமிடங்கள், }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">நட்சத்திர மதிப்பீடு <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 மணிநேரம், }other{# மணிநேரம், }}</translation> <translation id="1842960171412779397">தேர்ந்தெடு</translation> +<translation id="1859234291848436338">எழுதும் திசை</translation> <translation id="1860796786778352021">அறிவிப்பை மூடு</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 ஆண்டு உள்ளது}other{# ஆண்டுகள் உள்ளன}}</translation> <translation id="6945221475159498467">தேர்ந்தெடு</translation> <translation id="6965382102122355670">சரி</translation> +<translation id="6974053822202609517">வலமிருந்து இடம்</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">அதிகச் சாத்தியமுள்ளவை</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">மேலும் <ph name="NUMBER" /></translation> <translation id="8730621377337864115">முடிந்தது</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1ம}other{#ம}}</translation> +<translation id="8798099450830957504">இயல்புநிலை</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> கோப்புறை</translation> <translation id="883911313571074303">படத்தைக் குறிப்பிடு</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> கி.பை.</translation>
diff --git a/ui/strings/translations/ui_strings_te.xtb b/ui/strings/translations/ui_strings_te.xtb index 33d36ad..71d53c9 100644 --- a/ui/strings/translations/ui_strings_te.xtb +++ b/ui/strings/translations/ui_strings_te.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">అప్లోడ్ చేయి</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">సిఫార్సు చేసిన యాప్లు</translation> +<translation id="1368832886055348810">ఎడమ నుండి కుడికి</translation> <translation id="1398853756734560583">గరిష్ఠీకరించు</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> నుండి వచ్చే నోటిఫికేషన్లను నిలిపివేయి</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 నిమిషం మరియు }other{# నిమిషాలు మరియు }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">నక్షత్ర రేటింగ్ <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 గంట మరియు }other{# గంటలు మరియు }}</translation> <translation id="1842960171412779397">ఎంచుకోండి</translation> +<translation id="1859234291848436338">వ్రాసే దిశ</translation> <translation id="1860796786778352021">నోటిఫికేషన్ను మూసివేయి</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 సంవత్సరం మిగిలి ఉంది}other{# సంవత్సరాలు మిగిలి ఉన్నాయి}}</translation> <translation id="6945221475159498467">ఎంచుకోండి</translation> <translation id="6965382102122355670">సరే</translation> +<translation id="6974053822202609517">కుడి నుండి ఎడమకు</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">అత్యంత ఇష్టపడేవి</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ మరో <ph name="NUMBER" /></translation> <translation id="8730621377337864115">పూర్తయింది</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1గం}other{#గం}}</translation> +<translation id="8798099450830957504">డిఫాల్ట్</translation> <translation id="8806053966018712535">ఫోల్డర్ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">చిత్రాన్ని అనులేఖించు</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_th.xtb b/ui/strings/translations/ui_strings_th.xtb index 5cfe28b..2003c93 100644 --- a/ui/strings/translations/ui_strings_th.xtb +++ b/ui/strings/translations/ui_strings_th.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">อัปโหลด</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">แอปแนะนำ</translation> +<translation id="1368832886055348810">ซ้ายไปขวา</translation> <translation id="1398853756734560583">ย่อ</translation> <translation id="1413622004203049571">ปิดการแจ้งเตือนจาก <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 นาทีกับอีก }other{# นาทีกับอีก }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">เริ่มให้คะแนน <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 ชั่วโมงกับอีก }other{# ชั่วโมงกับอีก }}</translation> <translation id="1842960171412779397">เลือก</translation> +<translation id="1859234291848436338">การเขียนเส้นทาง</translation> <translation id="1860796786778352021">ปิดการแจ้งเตือน</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{เหลือ 1 ปี}other{เหลือ # ปี}}</translation> <translation id="6945221475159498467">เลือก</translation> <translation id="6965382102122355670">ตกลง</translation> +<translation id="6974053822202609517">ขวาไปซ้าย</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">น่าจะใช้มากที่สุด</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">และอีก <ph name="NUMBER" /> รายการ</translation> <translation id="8730621377337864115">เสร็จสิ้น</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 ชม.}other{# ชม.}}</translation> +<translation id="8798099450830957504">ค่าเริ่มต้น</translation> <translation id="8806053966018712535">โฟลเดอร์ <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">ใส่หมายเหตุในรูปภาพ</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_tr.xtb b/ui/strings/translations/ui_strings_tr.xtb index 6e95c9c..f336d86f 100644 --- a/ui/strings/translations/ui_strings_tr.xtb +++ b/ui/strings/translations/ui_strings_tr.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Yükle</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">ÖNERİLEN UYGULAMALAR</translation> +<translation id="1368832886055348810">Soldan Sağa</translation> <translation id="1398853756734560583">Büyüt</translation> <translation id="1413622004203049571"><ph name="NOTIFIER_NAME" /> bildirimlerini devre dışı bırak</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 dakika ve }other{# dakika ve }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Yıldız puanı <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 saat }other{# saat ve }}</translation> <translation id="1842960171412779397">seç</translation> +<translation id="1859234291848436338">Yazma Yönü</translation> <translation id="1860796786778352021">Bildirimi kapat</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652">%<ph name="NUMBER" /></translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{1 yıl kaldı}other{# yıl kaldı}}</translation> <translation id="6945221475159498467">Seç</translation> <translation id="6965382102122355670">Tamam</translation> +<translation id="6974053822202609517">Sağdan Sola</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">BÜYÜK İHTİMALLE</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204"><ph name="NUMBER" /> öğe daha</translation> <translation id="8730621377337864115">Bitti</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 sa.}other{# sa.}}</translation> +<translation id="8798099450830957504">Varsayılan</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> klasörü</translation> <translation id="883911313571074303">Resme açıklama ekle</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_uk.xtb b/ui/strings/translations/ui_strings_uk.xtb index b95f3c2..71f3525 100644 --- a/ui/strings/translations/ui_strings_uk.xtb +++ b/ui/strings/translations/ui_strings_uk.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Завантажити</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">РЕКОМЕНДОВАНІ ПРОГРАМИ</translation> +<translation id="1368832886055348810">Зліва направо</translation> <translation id="1398853756734560583">Збільшити</translation> <translation id="1413622004203049571">Вимкнути сповіщення від <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 хвилина та }one{# хвилина та }few{# хвилини та }many{# хвилин і }other{# хвилини та }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Рейтинг у зірочках: <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 година та }one{# година та }few{# години та }many{# годин і }other{# години та }}</translation> <translation id="1842960171412779397">вибрати</translation> +<translation id="1859234291848436338">Напрямок письма</translation> <translation id="1860796786778352021">Закрити сповіщення</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" />%</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Залишився 1 рік}one{Залишився # рік}few{Залишилося # роки}many{Залишилося # років}other{Залишилося # року}}</translation> <translation id="6945221475159498467">Вибрати</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Справа наліво</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">НАЙІМОВІРНІШЕ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">і ще <ph name="NUMBER" /></translation> <translation id="8730621377337864115">Готово</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 год}one{# год}few{# год}many{# год}other{# год}}</translation> +<translation id="8798099450830957504">За умовчанням</translation> <translation id="8806053966018712535">Папка <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Додати нотатку до зображення</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> КБ</translation>
diff --git a/ui/strings/translations/ui_strings_vi.xtb b/ui/strings/translations/ui_strings_vi.xtb index ad605d73..259ae3ee 100644 --- a/ui/strings/translations/ui_strings_vi.xtb +++ b/ui/strings/translations/ui_strings_vi.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">Tải lên</translation> <translation id="1293699935367580298">Thoát</translation> <translation id="1306549533752902673">ỨNG DỤNG ĐƯỢC ĐỀ XUẤT</translation> +<translation id="1368832886055348810">Trái sang Phải</translation> <translation id="1398853756734560583">Phóng to</translation> <translation id="1413622004203049571">Tắt thông báo từ <ph name="NOTIFIER_NAME" /></translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 phút và }other{# phút và }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">Xếp hạng theo sao <ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 giờ và }other{# giờ và }}</translation> <translation id="1842960171412779397">chọn</translation> +<translation id="1859234291848436338">Hướng Ghi</translation> <translation id="1860796786778352021">Đóng thông báo</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{Còn 1 năm}other{Còn # năm}}</translation> <translation id="6945221475159498467">Chọn</translation> <translation id="6965382102122355670">OK</translation> +<translation id="6974053822202609517">Phải sang Trái</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">RẤT CÓ THỂ</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+<ph name="NUMBER" /> mục khác</translation> <translation id="8730621377337864115">Hoàn tất</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 giờ}other{# giờ}}</translation> +<translation id="8798099450830957504">Mặc định</translation> <translation id="8806053966018712535">Thư mục <ph name="FOLDER_NAME" /></translation> <translation id="883911313571074303">Chú thích hình ảnh</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_zh-CN.xtb b/ui/strings/translations/ui_strings_zh-CN.xtb index 1a3e11e..e93db9ad 100644 --- a/ui/strings/translations/ui_strings_zh-CN.xtb +++ b/ui/strings/translations/ui_strings_zh-CN.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">上传</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">推荐的应用</translation> +<translation id="1368832886055348810">从左向右</translation> <translation id="1398853756734560583">最大化</translation> <translation id="1413622004203049571">停用来自“<ph name="NOTIFIER_NAME" />”的通知</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 分钟 }other{# 分钟 }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">星级:<ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 小时 }other{# 小时 }}</translation> <translation id="1842960171412779397">选中</translation> +<translation id="1859234291848436338">书写方向</translation> <translation id="1860796786778352021">关闭通知</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{还有 1 年的时间}other{还有 # 年的时间}}</translation> <translation id="6945221475159498467">选择</translation> <translation id="6965382102122355670">确定</translation> +<translation id="6974053822202609517">从右向左</translation> <translation id="7052633198403197513">F1</translation> <translation id="7130207228079676353">很可能会点击的应用</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">+ 另外 <ph name="NUMBER" /> 项</translation> <translation id="8730621377337864115">完成</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 小时}other{# 小时}}</translation> +<translation id="8798099450830957504">默认</translation> <translation id="8806053966018712535">文件夹“<ph name="FOLDER_NAME" />”</translation> <translation id="883911313571074303">为图片添加注释</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/strings/translations/ui_strings_zh-TW.xtb b/ui/strings/translations/ui_strings_zh-TW.xtb index 182f1b6..3a15c3d 100644 --- a/ui/strings/translations/ui_strings_zh-TW.xtb +++ b/ui/strings/translations/ui_strings_zh-TW.xtb
@@ -8,6 +8,7 @@ <translation id="1243314992276662751">上傳</translation> <translation id="1293699935367580298">Esc</translation> <translation id="1306549533752902673">推薦應用程式</translation> +<translation id="1368832886055348810">由左至右</translation> <translation id="1398853756734560583">放到最大</translation> <translation id="1413622004203049571">停用「<ph name="NOTIFIER_NAME" />」的通知</translation> <translation id="1591184457164800433">{MINUTES,plural, =1{1 分鐘 }other{# 分鐘 }}</translation> @@ -21,6 +22,7 @@ <translation id="1812519734428420144">星級評等:<ph name="RATING_SCORE" /></translation> <translation id="1830179671306812954">{HOURS,plural, =1{1 小時 }other{# 小時 }}</translation> <translation id="1842960171412779397">選取</translation> +<translation id="1859234291848436338">文字方向</translation> <translation id="1860796786778352021">通知關閉</translation> <translation id="1871244248791675517">Ins</translation> <translation id="1884435127456172652"><ph name="NUMBER" /> %</translation> @@ -122,6 +124,7 @@ <translation id="6917971086528278418">{YEARS,plural, =1{還剩 1 年}other{還剩 # 年}}</translation> <translation id="6945221475159498467">選取</translation> <translation id="6965382102122355670">確定</translation> +<translation id="6974053822202609517">由右至左</translation> <translation id="7052633198403197513">F1 鍵</translation> <translation id="7130207228079676353">最有可能選擇的應用程式</translation> <translation id="7222373446505536781">F11</translation> @@ -155,6 +158,7 @@ <translation id="8725488761726303204">還有另外 <ph name="NUMBER" /> 個清單項目</translation> <translation id="8730621377337864115">完成</translation> <translation id="8772073294905169192">{HOURS,plural, =1{1 小時}other{# 小時}}</translation> +<translation id="8798099450830957504">預設</translation> <translation id="8806053966018712535"><ph name="FOLDER_NAME" />資料夾</translation> <translation id="883911313571074303">為圖片加註</translation> <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
diff --git a/ui/views/accessibility/ax_window_obj_wrapper.cc b/ui/views/accessibility/ax_window_obj_wrapper.cc index 68aaca3..5a5ca2d 100644 --- a/ui/views/accessibility/ax_window_obj_wrapper.cc +++ b/ui/views/accessibility/ax_window_obj_wrapper.cc
@@ -151,4 +151,11 @@ } } +void AXWindowObjWrapper::OnWindowVisibilityChanged(aura::Window* window, + bool visible) { + AXAuraObjCache::GetInstance()->FireEvent( + AXAuraObjCache::GetInstance()->GetOrCreate(window_), + ax::mojom::Event::kStateChanged); +} + } // namespace views
diff --git a/ui/views/accessibility/ax_window_obj_wrapper.h b/ui/views/accessibility/ax_window_obj_wrapper.h index a1f5834..9904dc4 100644 --- a/ui/views/accessibility/ax_window_obj_wrapper.h +++ b/ui/views/accessibility/ax_window_obj_wrapper.h
@@ -48,6 +48,7 @@ void OnWindowPropertyChanged(aura::Window* window, const void* key, intptr_t old) override; + void OnWindowVisibilityChanged(aura::Window* window, bool visible) override; private: aura::Window* window_;
diff --git a/ui/views/accessibility/native_view_accessibility_base.cc b/ui/views/accessibility/native_view_accessibility_base.cc index 8208441..255cf47 100644 --- a/ui/views/accessibility/native_view_accessibility_base.cc +++ b/ui/views/accessibility/native_view_accessibility_base.cc
@@ -61,6 +61,9 @@ } // namespace +// static +int32_t NativeViewAccessibilityBase::fake_focus_view_id_ = 0; + NativeViewAccessibilityBase::NativeViewAccessibilityBase(View* view) : ViewAccessibility(view) { ax_node_ = ui::AXPlatformNode::Create(this); @@ -226,10 +229,31 @@ return GetNativeObject(); } +void NativeViewAccessibilityBase::OnAutofillShown() { + // When the autofill is shown, treat it and the currently selected item as + // focused, even though the actual focus is in the browser's currently + // focused textfield. + DCHECK(!fake_focus_view_id_) << "Cannot have more that one fake focus."; + fake_focus_view_id_ = GetUniqueId().Get(); + ui::AXPlatformNode::OnAutofillShown(); +} + +void NativeViewAccessibilityBase::OnAutofillHidden() { + DCHECK(fake_focus_view_id_ == GetUniqueId().Get()) + << "Cannot clear fake focus on an object that did not have fake focus."; + fake_focus_view_id_ = 0; + ui::AXPlatformNode::OnAutofillHidden(); +} + gfx::NativeViewAccessible NativeViewAccessibilityBase::GetFocus() { FocusManager* focus_manager = view()->GetFocusManager(); View* focused_view = focus_manager ? focus_manager->GetFocusedView() : nullptr; + if (fake_focus_view_id_) { + ui::AXPlatformNode* ax_node = GetFromNodeID(fake_focus_view_id_); + if (ax_node) + return ax_node->GetNativeViewAccessible(); + } return focused_view ? focused_view->GetNativeViewAccessible() : nullptr; }
diff --git a/ui/views/accessibility/native_view_accessibility_base.h b/ui/views/accessibility/native_view_accessibility_base.h index dd5da4b..637708b2 100644 --- a/ui/views/accessibility/native_view_accessibility_base.h +++ b/ui/views/accessibility/native_view_accessibility_base.h
@@ -37,6 +37,8 @@ // ViewAccessibility: gfx::NativeViewAccessible GetNativeObject() override; void NotifyAccessibilityEvent(ax::mojom::Event event_type) override; + void OnAutofillShown() override; + void OnAutofillHidden() override; // ui::AXPlatformNodeDelegate const ui::AXNodeData& GetData() const override; @@ -77,6 +79,11 @@ mutable ui::AXNodeData data_; + // This allows UI popups like autofill to act as if they are focused in the + // exposed platform accessibility API, even though true focus remains in + // underlying content. + static int32_t fake_focus_view_id_; + DISALLOW_COPY_AND_ASSIGN(NativeViewAccessibilityBase); };
diff --git a/ui/views/accessibility/native_view_accessibility_win.cc b/ui/views/accessibility/native_view_accessibility_win.cc index eefa122..86cb139a 100644 --- a/ui/views/accessibility/native_view_accessibility_win.cc +++ b/ui/views/accessibility/native_view_accessibility_win.cc
@@ -24,7 +24,6 @@ #include "ui/base/win/accessibility_misc_utils.h" #include "ui/base/win/atl_module.h" #include "ui/views/controls/button/button.h" -#include "ui/views/focus/focus_manager.h" #include "ui/views/widget/widget.h" #include "ui/views/win/hwnd_util.h" #include "ui/wm/core/window_util.h"
diff --git a/ui/views/accessibility/view_accessibility.h b/ui/views/accessibility/view_accessibility.h index 8dc947b..6a366b4c 100644 --- a/ui/views/accessibility/view_accessibility.h +++ b/ui/views/accessibility/view_accessibility.h
@@ -51,6 +51,9 @@ void OverrideDescription(const std::string& description); void OverrideIsLeaf(); // Force this node to be treated as a leaf node. + virtual void OnAutofillShown(){}; + virtual void OnAutofillHidden(){}; + virtual gfx::NativeViewAccessible GetNativeObject(); virtual void NotifyAccessibilityEvent(ax::mojom::Event event_type) {}
diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc index d02b6487..be15588 100644 --- a/ui/views/controls/textfield/textfield.cc +++ b/ui/views/controls/textfield/textfield.cc
@@ -2080,7 +2080,9 @@ GetInputMethod()->OnCaretBoundsChanged(this); if (touch_selection_controller_) touch_selection_controller_->SelectionChanged(); - NotifyAccessibilityEvent(ax::mojom::Event::kTextSelectionChanged, true); + // Screen reader users don't expect notifications about unfocused textfields. + if (HasFocus()) + NotifyAccessibilityEvent(ax::mojom::Event::kTextSelectionChanged, true); } void Textfield::OnBeforeUserAction() {
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc index 5cfb980..fc2c11f2 100644 --- a/ui/views/controls/textfield/textfield_unittest.cc +++ b/ui/views/controls/textfield/textfield_unittest.cc
@@ -286,6 +286,15 @@ event_flags_ = 0; } + void OnAccessibilityEvent(ax::mojom::Event event_type) override { + if (event_type == ax::mojom::Event::kTextSelectionChanged) + ++accessibility_selection_fired_count_; + } + + int GetAccessibilitySelectionFiredCount() { + return accessibility_selection_fired_count_; + } + private: // views::View override: void OnKeyEvent(ui::KeyEvent* event) override { @@ -310,6 +319,7 @@ bool key_handled_ = false; bool key_received_ = false; int event_flags_ = 0; + int accessibility_selection_fired_count_ = 0; base::WeakPtrFactory<TestTextfield> weak_ptr_factory_{this}; @@ -3438,4 +3448,28 @@ } #endif // defined(OS_MACOSX) +TEST_F(TextfieldTest, AccessibilitySelectionEvents) { + const std::string& kText = "abcdef"; + InitTextfield(); + textfield_->SetText(ASCIIToUTF16(kText)); + EXPECT_TRUE(textfield_->HasFocus()); + int previous_selection_fired_count = + textfield_->GetAccessibilitySelectionFiredCount(); + textfield_->SelectAll(false); + EXPECT_LT(previous_selection_fired_count, + textfield_->GetAccessibilitySelectionFiredCount()); + previous_selection_fired_count = + textfield_->GetAccessibilitySelectionFiredCount(); + + // No selection event when textfield blurred, even though text is + // deselected. + widget_->GetFocusManager()->ClearFocus(); + EXPECT_FALSE(textfield_->HasFocus()); + textfield_->ClearSelection(); + EXPECT_FALSE(textfield_->HasSelection()); + // Has not changed. + EXPECT_EQ(previous_selection_fired_count, + textfield_->GetAccessibilitySelectionFiredCount()); +} + } // namespace views