#
# Copyright (C) 2021 The Android Open Source Project
#
# 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.
#
add.string.resource.intention.text=Extract string resource
extract.dimension.intention.text=Extract dimension resource
implement.parcelable.intention.text=Add Parcelable Implementation
remove.parcelable.intention.text=Remove Parcelable Implementation
redo.parcelable.intention.text=Replace Parcelable Implementation
add.dependency.intention.text=Add library dependency
android.add.broadcast.receiver.to.manifest.intention.text=Add broadcast receiver to manifest
android.add.activity.to.manifest.intention.text=Add activity to manifest
android.add.service.to.manifest.intention.text=Add service to manifest
android.name.extract.color.resource.intention.text=Extract color resource
android.override.resource.in.intention.text=Override Resource in {0}
android.convert.to.data.binding.layout.intention.text=Convert to data binding layout
package.not.found.error=Package is not specified in the manifest file
cannot.resolve.flag.error=Cannot resolve flag
cannot.resolve.format.error=Cannot resolve format
cannot.resolve.color.literal.error=Cannot resolve color ''{0}''
cannot.resolve.float.literal.error=Cannot resolve float ''{0}''
create.value.resource.quickfix.name=Create value resource ''{0}'' in ''{1}''
create.value.resource.intention.name=Create {0} value resource ''{1}''
create.file.resource.quickfix.name=Create resource file ''{0}'' in {1}
create.file.resource.intention.name=Create {0} resource file ''{1}''
quick.fixes.family=Android Quick Fixes
not.resource.file.error=File {0} is not resource file
check.resource.dir.error=Cannot find resource directory for module {0}
choose.device.dialog.title=Select Deployment Target
select.platform.error=Please select Android SDK
avd.manager.arm.images=ARM Images
avd.manager.x86.images=x86 Images
package.name.must.contain.2.ids.error=A package name must contain 2 segments (i.e. com.example)
run.error.apk.not.valid=The current project can not be run
run.error.apk.not.signed=The apk for your currently selected variant cannot be signed. \
  Please specify a signing configuration for this variant ({0}).
not.valid.activity.name.error=Not a valid Activity name "{0}"
specify.package.name.error=A package name must be specified
not.valid.package.name.error=Not a valid package name "{0}"
cant.find.activity.class.error=Cannot find android.app.Activity class
cant.find.class.error=Cannot find {0} class
activity.class.not.specified.error=Activity class not specified
not.activity.subclass.error={0} is not an Activity subclass or alias
no.facet.error=No Android facet found for {0}
no.provider.type.error=Complication Data Source has no supported type declaration in the manifest.
provider.type.empty=Type is not specified for slot "{0}".
provider.type.mismatch.error=Complication Data Source cannot provide type {0}.
provider.type.invalid.error=Complication Data Source type \"{0}\" does not exist.
provider.type.manifest.not.available=Manifest information is not available right now.
provider.module.not.chosen=Module is not chosen.
provider.slots.empty.error=No Complication slots added.
warning.level.title=Warning
verbose.level.title=Verbose
info.level.title=Info
debug.level.title=Debug
error.level.title=Error
assert.level.title=Assert
select.target.dialog.text=Please select Android Target
default.activity.not.found.error=Default Activity not found
specific.activity.not.launchable.error=The activity must be exported or contain an intent-filter
activity.not.declared.in.manifest=The activity ''{0}'' is not declared in AndroidManifest.xml
new.typed.resource.command.name=New {0} resource file
new.typed.resource.dialog.title=New {0} Resource File
new.file.dialog.text=Enter a new file name
new.typed.resource.action.description=Create a new {0} resource file
new.typed.resource.action.title={0} Resource File
new.resource.action.title=Android Resource File
new.resource.dir.action.title=Android Resource Directory
new.resource.action.description=Create new resource file
new.resource.command.name=New Resource File
new.resource.dialog.title=New Resource File
new.resource.dir.command.name=New Resource Directory
new.resource.dir.dialog.title=New Resource Directory
new.sampledata.dir.action.title=Sample Data Directory
new.sampledata.dir.action.description=Create new Sample Data directory
resource.explorer.copy.value.title=Copy Value
resource.explorer.copy.value.description=Copy resource value to the clipboard
resource.manager.expand.section=Expand
resource.manager.collapse.section=Collapse
no.android.targets.error=Cannot find any Android targets in this SDK
android.run.configuration.type.name=Android App
android.run.configuration.run=Run {0}
android.run.configuration.generate.baseline.profile=Generate Baseline Profile
android.watchface.configuration.type.name=Wear OS Watch Face Service (deprecated)
android.declarative.watchface.configuration.type.name=Wear OS Watch Face
android.declarative.watchface.configuration.type.description=Wear OS Declarative WatchFace configuration
android.tile.configuration.type.name=Wear OS Tile
android.complication.configuration.type.name=Wear OS Complication
android.run.configuration.type.description=Android launch/debug configuration
android.test.run.configuration.type.name=Android Instrumented Tests
android.test.run.configuration.type.description=Android Instrumented Tests configuration
android.baseline.profile.run.configuration.type.name=Android Baseline Profile
android.baseline.profile.run.configuration.type.description=Android Baseline Profile run configuration
android.baseline.profile.run.configuration.group.variants.title=Variants
android.baseline.profile.run.configuration.group.variants.current=Generate the baseline profile for the current variant
android.baseline.profile.run.configuration.group.variants.allvariants=Generate the baseline profile for all variants
android.run.configuration.loading=Loading\u2026
android.run.configuration.synchronization.warning=Can't edit configuration while Project is synchronizing
android.run.configuration.package.label=Pac&kage
android.run.configuration.module.label=Module:
android.run.configuration.watchface=Watch Face
android.run.configuration.tile=Tile
android.run.configuration.complication=Provider
android.run.configuration.complication.launch.options=Complication Launch Options
android.run.configuration.complication.will.run.in.debug=The selected complications will run in a debug watch face installed on the device.
android.run.configuration.complication.slots.title=Complication Slots
android.run.configuration.complication.slots.no.type.supported=No type is supported by this slot
android.run.configuration.complication.slots.updating=Updating slots
android.run.configuration.wear.version.affects.debugging = Warning: Wear devices running API level 26 and below may kill background \
   services if they take too long to respond, which can affect debugging. To avoid this, use a device running API level 28 or higher.
android.run.configuration.class.label=C&lass
android.run.configuration.method.label=Me&thod
android.run.configuration.all.in.module.radio=&All in Module
android.run.configuration.all.in.package.radio=All &in Package
android.run.configuration.class.radio=Cla&ss
android.run.configuration.wear.install.flags=Install Flags:
android.run.configuration.wear.module.not.chosen=Module is not chosen
android.run.configuration.wear.component.not.chosen={0} is not chosen
android.run.configuration.wear.component.not.found={0} not found
android.browse.test.class.dialog.title=Select Test class
android.run.configuration.method.radio=M&ethod
android.test.run.configuration.instrumentation.label=Instrumentation class:
android.browse.instrumentation.class.dialog.title=Select Instrumentation class
cannot.find.testcase.error=Cannot find junit.framework.TestCase class
android.run.configuration.logcat.skip.content.label=&Clear log before launch
android.generate.signed.app.bundle.or.apk.action.text=Generate Signed App Bundle or APK\u2026
android.file.not.exist.error=File {0} doesn''t exist
android.confirm.password.label=&Confirm:
android.dictionary.name=Android Dictionary
android.export.package.passwords.not.match.error=Passwords do not match
android.export.package.specify.keystore.location.error=Please specify keystore location
android.export.package.specify.key.password.error=Please specify password for key
android.export.package.specify.key.store.password.error=Please specify password for key store
android.export.package.specify.password.error=Please specify password
android.export.package.incorrect.password.length=Password must be at least 6 characters
android.cannot.find.file.error=Cannot find file {0}
android.export.package.keystore.error.title=Keystore loading error
android.export.package.key.validity.label=&Validity (years):
android.export.package.key.certificate.name.label=&First and Last Name:
android.export.package.organization.unit.label=&Organizational Unit:
android.export.package.city.label=City or &Locality:
android.export.package.state.label=S&tate or Province:
android.export.package.country.code.label=Country Code (&XX):
android.export.package.specify.key.alias.error=Please specify key alias
android.export.package.specify.certificate.field.error=At least one Certificate issuer field is required to be non-empty
android.export.package.organization.label=O&rganization:
android.cannot.create.new.key.error=Cannot create new key or keystore
android.create.new.key.error.prefix=Key was created with errors:
android.extract.package.choose.keystore.title=Choose keystore file
android.export.package.destination.akp.label=&Destination APK path:
android.extract.package.cannot.find.key.error=Cannot find key {0}
android.extract.package.specify.apk.path.error=Please specify destination APK path
android.extract.package.task.title=Generating APK file
android.export.package.wizard.title=Generate Signed App Bundle or APK
android.export.package.bundle.description=<html>\
  Generate a signed app bundle for upload to app stores for the following benefits: \
  <ul>\
  <li>Smaller download size</li>\
  <li>On-demand app features</li>\
  <li>Asset-only modules</li>\
  </ul>\
  </html>
android.export.package.bundle.gradle.error=Generating signed Bundle requires you to update the Android Gradle plugin to version 3.2.0 or higher.
android.export.package.bundle.key.export=Export encrypted key for enrolling published apps in
android.export.package.bundle.key.export.error.title=Exporting Encrypted Key Failed
android.export.package.bundle.key.export.error.description=Unable to export encrypted key, please fix the issues and try again.\n\nDetails: {0}.
android.export.package.success.message=File {0} was successfully created
android.apk.sign.gradle.no.model=Missing Gradle Project Information. Please check if the IDE successfully synchronized its state with \
  the Gradle Project Model.
android.apk.sign.gradle.missing.destination=Please specify destination folder for the signed {0}
android.apk.sign.gradle.invalid.destination=The destination folder does not exist or is not writeable
android.apk.sign.gradle.missing.variants=Please select the build variants to build and sign
android.apk.sign.gradle.no.variants=No build variants defined
file.must.be.under.module.error=Cannot compute relative path for {0}
android.cannot.create.file.error=Cannot create file {0}
android.cannot.create.dir.error=Cannot create directory {0}
android.run.configuration.not.supported=Run configuration {0} is not supported in the current project. Cannot obtain the location of APK files.
android.run.configuration.not.supported.applicationid=Run configuration {0} is not supported in the current project. Cannot obtain the application ID.
android.run.configuration.not.supported.package=Run configuration {0} is not supported in the current project. Cannot obtain the package.
android.run.configuration.debug.surface.warn=Warning: The chosen Wear device may kill background services if they take too long to \
  respond, which can affect debugging. To avoid this, please update the Wear OS companion app on your device to the latest version.
android.apt.settings.title=R.java and Manifest.java files
android.dest.directory.title=Director&y for generated files\:
android.generate.r.java.by.res.dir=Use res&ource directory specified at "Structure" section
android.use.custom.r.java.source.dir=Use custo&m resource directory\:
android.as.wizard.welcome.dialog.title=Android Studio Setup Wizard
android.ij.wizard.welcome.dialog.title=Android Support Plugin Setup Wizard
android.wizard.new.activity.title=New Android Activity
android.wizard.new.journey.title=New Journey Test
android.wizard.new.fragment.title=New Android Fragment
android.wizard.new.component.title=New Android Component
android.wizard.config.activity.title=Configure Activity
android.wizard.config.journey.title=Configure Journey
android.wizard.config.component.title=Configure Component
android.wizard.config.fragment.title=Configure Fragment
android.wizard.action.new.component=Create a new {0}
android.wizard.action.requires.minsdk={0} (Requires minSdk >= {1})
android.wizard.action.requires.aidlEnabled={0} (Requires setting the buildFeatures.aidl to true in the Gradle build files)
android.wizard.action.requires.androidx={0} (Requires AndroidX support)
android.wizard.action.requires.new.agp={0} (Requires Android Gradle plugin {1} or newer)
android.wizard.module.presentable.name=Android
android.wizard.module.description=Android modules are used for developing apps to run on the <b>Android</b> operating system.<br>\
  An <b>Android</b> module consists of one or more <b>Activities</b> and may support a number of form-factors<br>\
  including <b>Phone and Tablet</b>, <b>Wear</b> and <b>Android Auto</b>.
android.wizard.module.import.eclipse.title=Import Eclipse ADT Project
android.wizard.module.import.gradle.title=Import Gradle Project
android.wizard.module.import.gradle.description=Import an existing Gradle project as a module
android.wizard.module.import.source.title=Import Module from Source
android.wizard.module.import.source.browse.title=Select Source Location
android.wizard.module.import.source.browse.description=Select existing ADT or Gradle project to import as a new subproject
android.wizard.module.import.source.browse.invalid.location=Path does not exist
android.wizard.module.import.source.browse.taken.location=This location is already imported
android.wizard.module.import.source.browse.bad.modules.1=Unable to find sources for subproject %1$s.\nThis may result in missing dependencies.
android.wizard.module.import.source.browse.bad.modules.2=Unable to find sources for subprojects %1$s and %2$s.\nThis may result in missing dependencies.
android.wizard.module.import.source.browse.bad.modules.more=Unable to find sources for %1$s and %2$d more subprojects.\nThis may result in missing dependencies.
android.wizard.module.import.source.browse.cant.import=Specify location of the Gradle or Android Eclipse project
android.wizard.module.import.source.browse.error=Internal error, please check the IDE log
android.wizard.module.new.module.menu=New Module\u2026
android.wizard.module.new.module.menu.description=Adds a new module to the project
android.wizard.module.new.module.title=Create New Module
android.wizard.module.new.module.header=Select a Module Type
android.wizard.module.new.mobile=Phone \\& Tablet
android.wizard.module.new.mobile.description=Creates a new Android phone and tablet module.
android.wizard.module.new.library=Android Library
android.wizard.module.new.library.description=Creates a new Android library.
android.wizard.module.new.native.library=Android Native Library
android.wizard.module.new.native.library.description=Creates a new Android native library.
android.wizard.module.new.kotlin.multiplatform.library=Kotlin Multiplatform Shared Module
android.wizard.module.new.kotlin.multiplatform.library.description=Creates a new Kotlin multiplatform shared library module.
android.wizard.module.new.dynamic.module=Dynamic Feature
android.wizard.module.new.dynamic.module.description=Creates a new Android App Bundle module that can be dynamically delivered.
android.wizard.module.new.dynamic.module.instant=Instant Dynamic Feature
android.wizard.module.new.dynamic.module.instant.description=Creates a new Android module that will be delivered as an instant app.
android.wizard.module.new.dynamic.select.base=Please select a project base module
android.wizard.module.new.dynamic.download.options=Module Download Options
android.wizard.module.new.automotive=Car
android.wizard.module.new.automotive.description=Creates a new Android Auto or Android Automotive OS module.
android.wizard.module.new.wear=Wear OS
android.wizard.module.new.wear.description=Creates a new Wear OS module.
android.wizard.module.new.tv=Television
android.wizard.module.new.tv.description=Creates a new Android TV module.
android.wizard.module.new.java.or.kotlin.library=Java or Kotlin Library
android.wizard.module.new.java.or.kotlin.library.description=Creates a new Java or Kotlin library.
android.wizard.module.new.google.cloud=Google Cloud
android.wizard.module.new.baselineprofiles.module.app=Baseline Profile Generator
android.wizard.module.new.baselineprofiles.module.description=The Baseline Profile Generator is a module that helps you generate and benchmark a baseline profile for your app.
android.wizard.module.new.baselineprofiles.module.description.extra=A Baseline Profile is a file generated by running the generator class in this module, \
  which contains hints for Android Runtime (ART) to optimize included code paths through Ahead of Time (AOT) compilation.\
  \ It can improve the performance of your app by up to 30%. <a href="http://d.android.com/baseline-profiles">Learn more</a>
android.wizard.module.help.baselineprofiles.target.module.description=Select an application you would like to generate Baseline Profiles for
android.wizard.module.help.baselineprofiles.usegmd.description=Add Gradle Managed Device configurations to use in your continuous integration builds or from the command-line, in order to generate baseline profiles under a fully managed and controlled environment. <a href=\"https://developer.android.com/studio/test/gradle-managed-devices\">Learn more</a>
android.wizard.module.help.baselineprofiles.minversionrequired=Your project is using an unsupported version of androidx.benchmark. Please update to the minimum required version 1.2.2.
android.wizard.project.help.buildconfigurationlanguage.description=Configures build scripts to build the module and whether it's configured using Gradle Version Catalogs
android.wizard.module.help.buildconfigurationlanguage.description=Configures build scripts to build the module
android.wizard.module.new.benchmark.module.app=Benchmark
android.wizard.module.new.benchmark.module.description=Creates a new benchmark module.
android.wizard.module.config.title=Configure your module
android.wizard.module.config.new.base.missing=<No Base Module found>
android.wizard.module.help.choose=Help me choose
android.wizard.module.help.loading=loading
android.wizard.module.help.refreshing=Loading Stats\u2026
android.wizard.module.help.name=To place the module in a sub folder use the syntax: :subfolder:module_name, for example :libraries:lib1
android.wizard.module.help.benchmark.module.type=The type of benchmarks to run. See https://d.android.com/benchmark for more information.\n\
  \n\
  Microbenchmarks - measure CPU performance and allocations for small sections of code you want to optimize.\n\
  \n\
  Macrobenchmarks - measure and inspect startup and scrolling performance of your app.
android.wizard.module.help.benchmark.target.module=Select an application you would like to benchmark
android.wizard.module.package.too.long=Package name is too long
android.wizard.module.will.not.use.version.catalog=New module will not use Version Catalog information
android.wizard.project.create.error=Error in New Project Wizard
android.wizard.project.new.choose=Select a Project Template
android.wizard.project.new.configure=Configure Your Project
android.wizard.project.loading.sdks=Looking for SDKs available for download\u2026
android.wizard.project.loading.stats.fail=Failed to load stats. Value may be out of date.
android.wizard.activity.add=Add an Activity to {0}
android.wizard.activity.add.cpp.docslinktext=See documentation
android.wizard.activity.not.found=No activity template was selected
android.wizard.activity.invalid.min.sdk=Selected activity template has a minimum SDK level of {0}.
android.wizard.activity.invalid.androidx=Selected activity template requires project with androidx.* dependencies.
android.wizard.activity.invalid.needs.kotlin=Selected activity template requires Kotlin.
android.wizard.fragment.add=Add a Fragment to {0}
android.wizard.fragment.invalid.androidx=Selected fragment template requires project with androidx.* dependencies.
android.wizard.fragment.invalid.needs.kotlin=Selected fragment template requires Kotlin.
android.wizard.fragment.invalid.min.sdk=Selected fragment template has a minimum SDK level of {0}.
android.wizard.fragment.not.found=No fragment template was selected
android.wizard.language.combo.header=Source Language
android.wizard.target.source.set.header=Target Source Set
android.wizard.language.combo.empty=(Select a language)
android.wizard.language.combo.tooltip=The programming language used for code generation
android.wizard.buildConfigurationLanguage.combo.tooltip=The build configuration language used for build scripts
android.wizard.cppStandard.combo.tooltip=The C++ standard used for the native module
android.wizard.validate.invalid.class.name=Please enter a valid class name
android.wizard.validate.empty.module.name=Please enter a valid module name
android.wizard.validate.module.already.exists=Module "{0}" already exists
android.wizard.validate.module.illegal.character=Illegal character ''{0}'' in Module name ''{1}''
android.wizard.validate.module.needs.androidx=Project needs to be converted to androidx.* dependencies
android.wizard.validate.module.needs.new.agp=Compose requires Android Gradle plugin {0} or newer
android.wizard.validate.module.needs.new.agp.kts=Kts requires Android Gradle plugin {0} or newer
android.wizard.validate.module.needs.new.agp.macro.benchmark=Macrobenchmark requires Android Gradle plugin {0} or newer
android.wizard.validate.module.needs.new.agp.baseline.profiles=Baseline Profile requires Android Gradle plugin {0} or newer
android.wizard.validate.module.sync.needed.baseline.profiles=Gradle sync needs to be completed first
android.wizard.validate.module.not.present.baseline.profiles=No valid target module available
android.wizard.validate.module.empty.package.name.baseline.profiles=Empty package name
android.wizard.validate.module.invalid.application.baseline.profiles=Target application is not an Android app
android.wizard.validate.module.invalid.application.id.baseline.profiles=Target application does not have a valid application ID
android.wizard.validate.module.same.package.name.baseline.profiles=Package name is the same as target module's application ID
android.wizard.validate.project.illegal.character=Illegal character ''{0}'' in Project name ''{1}''
android.wizard.validate.empty.application.name=Please enter an application name (shown in launcher), or a descriptive name for your library
android.wizard.validate.lowercase.application.name=The application name for most apps begins with an uppercase letter
android.wizard.validate.select.language=Please select a language
android.wizard.validate.select.compose.sdk=Compose requires Android SDK 31 or newer to be installed
android.wizard.validate.kgp.version.for.kmp.module=Kotlin Gradle Plugin version {0} or later is required
android.wizard.validate.agp.version.for.kmp.module=Android Gradle Plugin version {0} or later is required
android.invalid.sdk.message=Your Android SDK path is invalid. Please update it in <a href="#">Settings</a>.
android.facet.editor.is.library.checkbox=Li&brary module
android.run.sdk.manager.action.text=SDK Manager
android.sdk.manager.installer.panel.title=SDK Component Installer
android.sdk.manager.installer.panel.description=Completing Requested Actions
android.sdk.manager.installer.install.finished=Please wait until the requested actions are completed.
android.sdk.manager.installer.install.error=Requested actions did not complete successfully. See the IDE log for details.
copy.resources.from.artifacts.setting=R&un "process-resources" Maven task before Make
android.apk.settings.title=Resources Packaging
android.inspections.group.name=Android
android.inspections.dom.name=Android Resources Validation
android.inspections.root.tag.name=Android XML root tag validation
android.inspections.unknown.attribute.name=Unknown Android XML attribute
android.inspections.unknown.attribute.message=Unknown attribute {0}
android.compile.messages.generating.r.java.content.name=Generating sources
android.new.component.action.title.non.gradle=Android Component
android.new.component.action.description=Create a new Android object from the Other category
android.new.component.action.command.name=New Android Component
android.new.component.dialog.activity.item=Activity
android.new.component.dialog.fragment.item=Fragment
android.new.component.dialog.service.item=Service
android.new.component.dialog.broadcast.receiver.item=Broadcast Receiver
android.new.component.dialog.broadcast.remote.interface=Remote Interface
android.dex.compiler.vm.options.title=Android DX Compiler VM Options
android.proguard.vm.options.title=Android ProGuard VM Options
android.run.configuration.general.tab.title=General
android.run.configuration.misc.tab.title=Miscellaneous
android.facet.settings.apk.path.label=A&PK path:
android.facet.settings.compile.resources.by.ide=&Generate by IDE
android.export.package.new.key.alias.label=&Alias:
android.key.password.label=Pa&ssword:
android.cannot.debug.noDebugPermissions=Cannot debug application from module {0} on device {1}.\n\
  This application does not have the ''debuggable'' attribute enabled in its manifest.\n\
  If you have manually set it in the manifest, then remove it and let the IDE automatically assign it.\n\
  If you are using Gradle, make sure that your current variant is debuggable.
android.cannot.run.library.project.error=The module cannot be Android library
android.compilation.error.specify.platform=[{0}] Android SDK is not specified or cannot be parsed
android.compilation.error.manifest.not.found=[{0}] AndroidManifest.xml file not found. Please, check Android facet settings.
android.compilation.error.apt.gen.not.specified=AAPT destination directory not specified for module {0}
android.new.component.dialog.application.item=Application
android.sdk.missing.title=SDK Problem
android.sdk.missing.msg=Your Android SDK is missing, out of date or corrupted.
android.sdk.open.manager=Open SDK Manager
android.sdk.presentable.name=Android SDK
android.sdk.configure.jdk.error=Please configure internal JDK
no.jdk.for.android.found.error=No Java SDK of appropriate version found. In addition to the Android SDK, you need to define a JDK 1.5, 1.6 or 1.7
cannot.parse.sdk.error=Cannot parse Android SDK
ddms.corrupted.error=Warning: Some processes are not showing because there is no debug information available for them. \
  This may be due to other applications currently running, such as Intellij with the Android plugin, or another instance \
  of Android Studio from a different channel (Beta or Canary). Please close these applications to ensure all processes are displayed.\
  If no applications are running, try to disconnect/reconnect the device and cycle adb server via `adb kill-server`.
android.font.file.type.description=Font
android.import.dependencies.error.message.header=Importing finished with errors:
android.import.dependencies.add.module.dependency.task.title=Add dependency {0} --> {1}
android.import.dependencies.new.module.task.title=Create library module {0} in {1}
android.import.dependencies.import.module.task.title=Import library module {0} from {1}
android.import.dependencies.dialog.title=Import Android Dependencies From Property Files
android.import.dependencies.source.roots.dialog.title=Import Source Roots
android.import.dependencies.source.roots.dialog.label=Choose source roots to add to your project
android.suggested.dependency.action.family.name=Add library dependency
android.suggested.dependency.action.name.prefix=Add dependency on {0}
android.suggested.import.action.family.name=Add library dependency and import
android.suggested.import.action.name.prefix=Add dependency on {0} and import
android.suggested.imports.title=Suggested Imports
android.layout.screenview.action.description=Show {0} Surface
android.layout.preview.edit.configuration.available.qualifiers.label=A&vailable qualifiers:
android.layout.preview.edit.configuration.chosen.qualifiers.label=C&hosen qualifiers:
new.resource.dir.action.name=Creating resource directory "{0}"
new.resource.action.name=Creating resource file "{0}"
android.extended.device.chooser.avd.label=&Android virtual device:
deployment.target.not.found=No target device found.
deployment.failed.splitapk.nomatch=The currently selected variant "{0}" uses split APKs, but none of the {1} split apks are compatible \
  with the current device with ABIs "{2}".
deployment.failed.reason.different.signature=the device already has an application with the same package but a different signature
deployment.failed.reason.dexopt=the device possibly has stale dexed jars that don't match the current version (dexopt error)
deployment.failed.reason.version.downgrade=the device already has a newer version of this application
deployment.failed.uninstall.prompt.text=Installation failed since {0}.\n\
  In order to proceed, you have to uninstall the existing application.\n\n\
  WARNING: Uninstalling will remove the application data!\n\n\
  Do you want to uninstall the existing application?
deployment.failed.uninstall.prompt.generic.text=Installation failed with message {0}.\n\
  It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.\n\n\
  WARNING: Uninstalling will remove the application data!\n\n\
  Do you want to uninstall the existing application?
deployment.failed.uninstall.prompt.androidthings.text=Your apk and other installed packages \
  have intent IOT_LAUNCHER. Only one apk with that intent may be installed at a time. Try \
  uninstalling those packages before installing your apk.\n\n\
  WARNING: Uninstalling will remove the application data!\n\n\
  Do you want to uninstall the following applications?\n\
  {0}
deployment.failed.uninstall.prompt.androidthings.errortext=Failed to uninstall the following \
  packages:\n\
  {0}
deployment.failed.reason.devicedisconnected=Installation failed because the device "{0}" disconnected.
deployment.failed.reason.oldersdk=Installation failed since app''s minSdkVersion is newer than device''s API level ({0}).\n\
  Please update your app''s minSdkVersion.
deployment.failed.title=Application Installation Failed
deployment.failed.no.certificates.explanation=Installation failed since the APK was either not signed, or signed incorrectly.\n\
  If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.
android.inspections.non.constant.res.ids.in.switch.name=Non-constant resource ID in a switch statement
android.inspections.non.constant.res.ids.in.switch.message=Resource IDs cannot be used in a switch statement in Android library modules
android.emulator=Emulator
android.ddms.nodevices=[none]

android.ddms.actions.terminate.vm=Terminate Application
android.ddms.actions.terminate.vm.description=Terminates selected Android Application
android.ddms.actions.screenshot=Screen capture
android.ddms.actions.screenshot.title=Screen Capture
android.ddms.actions.screenshot.description=Obtain a screenshot from the device
android.ddms.actions.screenshot.copied.to.clipboard=Image copied to clipboard
android.ddms.actions.screenrecord=Screen Record
android.ddms.actions.screenrecord.description=Record a video of the device display
android.ddms.actions.layoutinspector.title=Layout Inspector
android.ddms.actions.layoutinspector.title.legacy=Legacy Layout Inspector
android.ddms.actions.layoutinspector.description=Inspect Layout for the selected window
android.ddms.actions.layoutinspector.description.disabled=Inspect layout disabled while debugging
android.ddms.actions.layoutinspector.windowpicker=Select Window
android.ddms.actions.layoutinspector.notification.group=Layout Inspector
android.ddms.actions.layoutinspector.notification.title=Layout Inspector
android.ddms.actions.layoutinspector.dumpdisplay.notification.success=Display List info written to logcat.
android.ddms.actions.layoutinspector.dumpdisplay.notification.nonode=Failed to retrieve display list info, could not find target node.
android.ddms.actions.layoutinspector.dumpdisplay.notification.failure=Failed to retrieve display list info due to exception: {0}
android.ddms.actions.layoutinspector.update.notification.failure=Failed to update image from device.
android.ddms.actions.layoutinspector.menu.show.bound=Show layout bounds
android.ddms.actions.layoutinspector.menu.dump.display=Dump DisplayList
android.ddms.notification.layoutinspector.reboot.live.inspector=Unable to detect a live inspection service. To enable live inspections, restart the device.
android.ddms.screenshot.task.step.obtain=Obtaining screenshot from device\u2026
android.ddms.screenshot.task.step.load=Loading screenshot into memory\u2026
android.ddms.screenshot.task.error1=Unexpected error while obtaining screenshot from device: {0}
android.ddms.screenshot.task.error.invalid.bpp=Unsupported image (bits per pixel = {0}) received from device
android.ddms.screenshot.save.error=Unexpected error while saving screenshot: {0}
android.ddms.screenshot.generic.error=Unexpected error while obtaining screenshot: {0}
android.ddms.screenshot.save.title=Save as PNG
android.ddms.screenshot.save.ok.button.text=Save
android.ddms.screenshot.image.processor.task.title=Updating image
android.ddms.screenrecord.options.ok.button.text=Start Recording
android.ddms.screenrecorder.options.info=<html>Screen Recorder can record the device's display for a maximum of 3 minutes.</html>
android.ddms.screenrecorder.options.bit.rate=Bit Rate (Mbps):
android.ddms.screenrecorder.options.bit.rate.invalid=Bit Rate must be an integer.
android.ddms.screenrecorder.options.resolution=Resolution (% of native):
android.ddms.screenrecorder.options.show.taps=Show Taps
android.ddms.screenrecorder.options.show.taps.tooltip=Show visual feedback for taps
android.ddms.screenrecorder.options.use.emulator.recording=Use Emulator Recording (webm)
android.ddms.screenrecorder.options.use.emulator.recording.tooltip=Record using the emulator recording API. If unchecked, will use adb recording instead.
android.emulator.settings.incompatible.snapshot.policy.delete=Delete automatically
android.emulator.settings.incompatible.snapshot.policy.ask=Ask before deleting
android.emulator.settings.incompatible.snapshot.policy.ignore=Do not delete
android.facet.settings.custom.debug.keystore.label=C&ustom debug keystore\:
android.export.package.run.proguard.label=Run &ProGuard
android.facet.settings.pack.test.sources=Include test code and resources into APK
android.safeargs.fix.import=Import
android.inspections.element.not.allowed.name=Android XML element is not allowed
android.inspections.nav.file=Navigation file
android.inspections.nav.name.not.valid=''{0}'' is not a valid destination for tag ''{1}''
android.inspections.unresolvable.tag=Unresolvable tag
element.cannot.resolve=Cannot resolve class {0}
android.facet.settings.run.proguard=Run ProGuard when building debug APK
file.name.not.specified.error=File name is not specified
root.element.not.specified.error=Root element is not specified
directory.not.specified.error=Directory is not specified
android.manifest.merger.not.supported.error=Manifest merging is not supported. Please, reconfigure your manifest files
android.extract.style.title=Extract Android Style
android.inline.style.title=Inline Android Style
android.inline.style.command.name=Inline Style ''{0}''
android.inline.style.inline.all.text=Inline &all references and remove the style
android.inline.style.inline.this.text=Inline &this usage and keep the style
android.inline.layout.command.name=Inline Layout File ''{0}''
android.inline.file.inline.all.text=Inline &all references and remove the file
android.inline.file.inline.this.text=Inline &this usage and keep the file
android.inline.layout.title=Inline Android Layout
android.autogeneration.notification.group=Android Autogeneration
android.find.style.applications.title=Use Style Where Possible
android.aapt.use.custom.package.name=Rename manifest pac&kage\:
android.psd.file.type.description=Adobe Photoshop Image
android.9patch.file.type.description=Android 9-Patch
android.9patch.creator.title=Create 9-Patch file\u2026
android.9patch.creator.save.title=Save As .9.png
android.9patch.creator.error=Unexpected error while creating 9-Patch file: {0}
android.9patch.creator.error.title=Create 9-Patch File
android.update.project.properties.dialog.text=The structure of following Android modules was changed:<br>{0}<br>Would you like to update related project.properties files?<br>\
  <a href="once">Only once</a><br><a href="always">Always for these modules</a><br><a href="never">Never for these modules</a>
android.update.project.properties.dialog.title=Update Property Files
error.report.at.b.android=<html>Error Submitting Feedback: {0}<br>\
  Consider creating an issue at \
  <a href="https://code.google.com/p/android/issues/list">Android Issue Tracker</a></html>
error.report.to.google.action=&Report to Google
android.refactoring.migrateto.namespaces.title=Migrate To Resource Namespaces\u2026
android.refactoring.migrateto.namespaces.progress.analyze.xml=Analyzing XML resource files\u2026
android.refactoring.migrateto.namespaces.progress.analyze.manifest=Analyzing manifest files\u2026
android.refactoring.migrateto.namespaces.progress.analyze.code=Analyzing code files\u2026
android.refactoring.migrateto.namespaces.progress.inferring=Inferring namespaces\u2026
android.refactoring.migrateto.nontransitiverclass.title=Migrate To Non-Transitive R Classes\u2026
android.refactoring.migrateto.nontransitiverclass.progress.findusages=Finding R class usages\u2026
android.refactoring.migrateto.nontransitiverclass.progress.inferring=Inferring package names\u2026
android.refactoring.migrateto.nontransitiverclass.progress.rewriting=Rewriting resource references\u2026
android.refactoring.migrateto.nontransitiverclass.error.old.agp.title=Unable To Perform Refactoring
android.refactoring.migrateto.nontransitiverclass.error.old.agp.message=Non-Transitive R Classes not available for projects using Android Gradle Plugin versions less than 4.2.0
android.refactoring.migrateto.nontransitiverclass.warning.uncommitted.changes=Project may contain uncommitted changes. Before proceeding you should commit or revert them.
android.refactoring.migrateto.nontransitiverclass.warning.recommend.upgrade=This feature is experimental in AGP version 4.2, upgrade to 7.0.0 or newer for best results.
android.refactoring.migrateto.defaulttargetsdktocompilesdkifunset.title=Migrate To Default TargetSdk To CompileSdk If Unset\u2026
android.refactoring.migrateto.defaulttargetsdktocompilesdkifunset.progress.findusages=Finding usages\u2026
android.refactoring.migrateto.defaulttargetsdktocompilesdkifunset.error.title=Unable to Perform Refactoring
android.refactoring.migrateto.defaulttargetsdktocompilesdkifunset.error.message=This refactoring can only be applied to an Android application or library project
android.refactoring.migrateto.resourceview.header=Resource references to migrate
android.refactoring.rtl.addsupport.title=Add Right-to-Left (RTL) Support
android.refactoring.rtl.addsupport.dialog.title=Add Right-to-Left (RTL) Support\u2026
android.refactoring.rtl.addsupport.dialog.ok.button.text=Run
android.refactoring.rtl.addsupport.dialog.apply.button.text=Press the "Do RTL Refactor" button at the bottom of the search results panel to proceed with the right-to-left (RTL) refactoring\n
android.refactoring.rtl.addsupport.dialog.label.text=This refactoring will add RTL support to your Android App.\n\nPlease check the following options:\n
android.refactoring.rtl.addsupport.dialog.option.label.update.manifest.text=Update AndroidManifest.xml
android.refactoring.rtl.addsupport.dialog.option.label.update.layouts.text=Update Layout Files
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.txt=Layout Options
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.replace.leftright.txt=Replace Left/Right Properties with Start/End Properties
android.refactoring.rtl.addsupport.dialog.option.label.layouts.options.generate.v17.txt=Generate -v17 Versions
android.refactoring.gradle.warning.rename.source.root=New source root name is NOT propagated<br/>to Gradle config automatically.<br/>You need to make corresponding<br/>change at *.gradle file(s) manually.
android.editor.settings.appearance.title=Android Editor
android.editor.settings.appearance.enable.flags.for.languages=Enable flags for languages
android.editor.settings.general.code.folding.string.references=String references
create.on.click.handler.intention.text=Create onClick event handler
android.inspections.on.click.missing.name=onClick handler is missing in the related activity
android.inspections.on.click.missing.problem=Method ''{0}'' is missing in ''{1}'' or has incorrect signature
android.inspections.on.click.missing.incorrect.signature=Method ''{0}'' in ''{1}'' has incorrect signature
exportable.AndroidFoldingSettings.presentable.name=Android Code Folding
android.gradle.link.appengine.outdated=Update 'appengine' plugin version.
android.component.entry.point=Android components
android.usageType.gradle.build.script=In Gradle build script
android.usageType.manifest=In Android manifest
android.usageType.resource.declaration.xml=Resource declaration in Android resources XML
android.usageType.resource.reference.xml=Resource reference Android resources XML
android.usageType.resource.reference.code=Resource reference in code
android.usageType.permission.reference.code=Permission reference in code
android.usageType.resource.file=Android resource file
android.usageType.gradle.properties.file=Gradle properties file
android.usageGroup.properties.new.flag=Properties flag to be added: {0}
android.usageGroup.resource.references.from.package=References to resources defined in {0}
android.local.properties.file.settings.tooltip=Open settings dialog to change directory

gradle.default.jdk.name=Default JDK
gradle.project.jdk.name=Project JDK
gradle.local.jdk.name=Gradle Local JDK
gradle.embedded.jdk.name=Embedded JDK
gradle.settings.jdk.browse.button.tooltip.text=Select JDK home directory
gradle.settings.jdk.component.label.text=Gradle JDK:
gradle.settings.jdk.edit.path.hint=Edit the JDK used by the Gradle daemon (background process). <a href=\"https://developer.android.com/build/jdks#jdk-config-in-studio\">Learn more</a>
gradle.settings.jdk.invalid.path.error=The Gradle JDK path specified is not a valid JDK home directory:\n{0}
gradle.settings.jdk.default.override.path.hint=Override the default Gradle JDK path used for Gradle daemon execution for newly created projects
gradle.settings.jdk.default.component.label.text=Default Gradle JDK:
gradle.settings.jvm.criteria.default.component.label.text=Default Gradle JVM criteria:

project.gradle.catalog.settings.dsl=Android Studio does not support Version Catalog entries defined in Gradle Settings DSL: consider specifying the version catalog entries in a Toml file.

gradle.settings.autoSync.settings.label=Project Sync mode
gradle.settings.autoSync.behavior.default=Always Sync projects automatically (default)
gradle.settings.autoSync.behavior.manual=Manual Sync with reminders
gradle.settings.autoSync.notification.message=Some of the {0} features using Gradle require syncing so it has up-to-date information about your project. Sync the project to ensure the best {0} experience. You can snooze those sync notifications.
gradle.settings.autoSync.notification.action.sync=Sync now
gradle.settings.autoSync.notification.action.enableAutoSync=Automatically Sync Projects
gradle.settings.autoSync.notification.action.snooze=Snooze until tomorrow
gradle.settings.autoSync.notification.action.snooze.long=Snooze for this project
gradle.settings.autoSync.dialog.title=Sync Project (recommended)
gradle.settings.autoSync.dialog.message=Some of the {0} features using Gradle require syncing so it has up-to-date information about your project. Sync the project to ensure the best {0} experience. You can snooze those sync notifications.
gradle.settings.autoSync.dialog.continue=Close
gradle.settings.autoSync.dialog.enable=Automatically Sync Projects
gradle.settings.autoSync.dialog.sync=Sync now
gradle.settings.autoSync.dialog.snooze=Snooze until tomorrow
gradle.settings.autoSync.dialog.snooze.long=Snooze for this project
gradle.settings.autoSync.note=Reminders snoozed until tomorrow.
gradle.settings.autoSync.note.specific=Reminders snoozed for {0}.

project.migrated.to.gradle.local.java.home.title=Gradle JDK configuration was moved
project.migrated.to.gradle.local.java.home.message=The ''{0}'' project JDK configuration is now set through the #GRADLE_LOCAL_JAVA_HOME macro. \
  This simplifies the JDK configuration experience and makes it more reliable. You can change this in the Gradle JDK settings.
project.migrated.to.gradle.local.java.home.info=Learn more
project.migrated.to.gradle.local.java.home.info.url=https://d.android.com/r/studio-ui/jdk-macro
project.migrated.to.gradle.local.java.home.button=Open Gradle JDK settings
project.sync.exception.gradle.project.jdk.invalid=The Gradle JVM is configured as #USE_PROJECT_JDK, but the Project JDK is invalid or not defined.
project.sync.exception.gradle.local.java.home.invalid=The path ({0}) selected under java.home on .gradle/config.properties file contains an invalid or corrupted JDK.
project.sync.exception.gradle.local.java.home.undefined=Undefined java.home on the project gradle/config.properties file when using the gradleJvm #GRADLE_LOCAL_JAVA_HOME macro.
project.sync.exception.gradle.properties.java.home.invalid=The path ({0}) selected under gradle.properties file contains an invalid or corrupted JDK.
project.sync.exception.gradle.properties.java.home.undefined=Undefined org.gradle.java.home on the gradle.properties file when using the gradleJvm #GRADLE_JAVA_HOME macro.
project.sync.exception.environment.variable.studio.gradle.jdk.undefined=Undefined environment variable STUDIO_GRADLE_JDK when using the gradleJvm STUDIO_GRADLE_JDK.
project.sync.exception.environment.variable.studio.gradle.jdk.invalid=The path ({0}) selected for the environment variable STUDIO_GRADLE_JDK contains an invalid or corrupted JDK.
project.sync.exception.environment.variable.java.home.invalid=The path ({0}) selected for the environment variable JAVA_HOME contains an invalid or corrupted JDK.
project.sync.exception.environment.variable.java.home.undefined=Undefined environment variable JAVA_HOME when using the gradleJvm #JAVA_HOME macro.
project.sync.exception.gradlejvm.table.entry.undefined=Undefined jdk.table.xml entry with the name:{0} located on the configuration folder for Android Studio.
project.sync.exception.gradlejvm.table.entry.java.home.undefined=Undefined javaHome element for the jdk.table.xml entry with name: {0} on the configuration folder for Android Studio.
project.sync.exception.gradlejvm.table.entry.java.home.invalid=The path ({0}) selected for jdk.table.xml entry with the name:{1} located on the configuration folder for Android Studio, contains an invalid or corrupted JDK.
project.sync.jdk.recovery.message=To mitigate the issue, this was changed to use the {0} ({1}).
project.sync.warning.multiple.gradle.daemons.message=<html>\
  Multiple Gradle daemons might be spawned because the Gradle JDK and JAVA_HOME locations are different.<br>\
  Project ''{0}'' is using the following JDK location when running Gradle:<br>\
  ''{1}''<br>\
  The system environment variable JAVA_HOME is:<br>\
  ''{2}''<br>\
  If you don't need to use different paths (or if JAVA_HOME is undefined), you \
  can avoid spawning multiple daemons by setting JAVA_HOME and the JDK location \
  to the same path.
project.sync.warning.multiple.gradle.daemons.url=https://docs.gradle.org/current/userguide/gradle_daemon.html#sec:why_is_there_more_than_one_daemon_process_on_my_machine
project.sync.unsupported.modules.detected.title=Unsupported Modules Detected
project.sync.unsupported.modules.detected.message=Compilation is not supported for the following modules: {0}. <br/><br/>\
  Unfortunately, you can''t have non-Gradle Java modules and Android-Gradle modules in one project. \
  If you didn''t add those intentionally, consider removing them by selecting the option below<br/>
project.sync.unsupported.modules.detected.button=Remove unsupported modules and re-sync
project.upgrade.studio.notification.title=Android Studio upgrade suggested
project.upgrade.studio.notification.body.same.channel.recommendation=Your project is configured with a compile SDK version that is not supported by this version of Android Studio ({0}). \
  You can upgrade to {1} or higher to have better IDE support for this project. <br/><br/> \
  Keep in mind that the update flow moves you to the latest version of Android Studio. If that version is several versions ahead, it may no longer support certain components or APIs used by your project.
project.upgrade.studio.notification.body.different.channel.recommendation=Your project is configured with a compile SDK version that is not supported by this version of Android Studio ({0}). \
  We recommend installing {1} or higher to work on this project. \
  You can also install versions of Android Studio alongside your current version using the \
  <a href=\"https://developer.android.com/studio/preview/install-preview#install_alongside_your_stable_version\"> following guide</a>.
project.upgrade.studio.notification.no.recommendation.title=Android Studio does not support the specified Android API level
project.upgrade.studio.notification.body.no.recommendation=Your project is configured with a compile SDK version that is not supported by this version of Android Studio ({0}). \
  Currently, there is no version of Android Studio that supports this compile SDK. You may experience issues while working on this project. \
  If you do, please file a bug by selecting <b>Help > Submit a Bug Report\u2026</b>.
project.upgrade.notification.title=Project update recommended
project.upgrade.notification.body=Android Gradle plugin version {0} has an upgrade available.  Start the AGP Upgrade Assistant to update this project''s AGP version.
project.upgrade.deprecated.notification.title=Project update strongly recommended
project.upgrade.deprecated.notification.body=Android Gradle plugin version {0} will not be supported in future versions of Android Studio.  Start the AGP Upgrade Assistant to update this project''s AGP version to at least {1}.
project.upgrade.agpUpgradeRefactoringProcessor.usageView.header=AGP Upgrade Assistant
project.upgrade.agpUpgradeRefactoringProcessor.commandName=Upgrade AGP version from {0} to {1}
project.upgrade.references.text=References considered
project.upgrade.usageView.tabText=Upgrade Usages
project.upgrade.usageView.need.reRun=Cannot perform upgrade. \n\
  There were changes in code after usages have been found. \n\
  Please perform usage search again.
project.upgrade.usageView.doAction=Complete &Upgrade
project.upgrade.agpVersionRefactoringProcessor.target.presentableText=Upgrading AGP Configuration
project.upgrade.agpVersionRefactoringProcessor.commandName=Upgrade AGP dependency from {0} to {1}
project.upgrade.agpVersionRefactoringProcessor.usageView.header=Upgrade AGP version from {0} to {1}
project.upgrade.agpVersionRefactoringProcessor.usageType=Update version string
project.upgrade.agpVersionUsageInfo.tooltipText=Update AGP version from {0} to {1}
project.upgrade.lintVersionUsageInfo.tooltipText=Update Android Lint version from {0} to {1}
project.upgrade.gMavenRepositoryRefactoringProcessor.commandName=Add google() GMaven to buildscript repositories
project.upgrade.gMavenRepositoryRefactoringProcessor.usageView.header=Add google() GMaven to buildscript repositories
project.upgrade.gMavenRepositoryRefactoringProcessor.usageType=Add GMaven declaration
project.upgrade.repositoriesNoGMavenUsageInfo.tooltipText=Add google() to buildscript repositories
project.upgrade.gradleVersionRefactoringProcessor.commandName=Upgrade Gradle version to {0}
project.upgrade.gradleVersionRefactoringProcessor.usageView.header=Upgrade Gradle version to {0}
project.upgrade.gradleVersionRefactoringProcessor.gradleUrlUsageType=Update Gradle distribution URL
project.upgrade.gradleVersionUsageInfo.tooltipText=Upgrade Gradle version to {0}
project.upgrade.java8DefaultRefactoringProcessor.commandName=Update default Java language level
project.upgrade.java8DefaultRefactoringProcessor.groupingName=Add directives to keep using Java 7
project.upgrade.java8DefaultRefactoringProcessor.usageView.header=Update default Java language level
project.upgrade.java8DefaultRefactoringProcessor.existingDirectiveUsageType=Existing language level directive (leave unchanged)
project.upgrade.java8DefaultRefactoringProcessor.acceptNewUsageType=Accept new default (leave unchanged)
project.upgrade.java8DefaultRefactoringProcessor.insertOldUsageType=Continue using Java 7 (insert language level directives)
project.upgrade.noLanguageLevelAction.acceptNewDefault=Accept the new default of Java 8
project.upgrade.noLanguageLevelAction.insertOldDefault=Insert directives to continue using Java 7
project.upgrade.javaLanguageLevelUsageInfo.tooltipText.insertOldDefault=insert explicit {0} to preserve previous behaviour
project.upgrade.javaLanguageLevelUsageInfo.tooltipText.acceptNewDefault=accept new default
project.upgrade.javaLanguageLevelUsageInfo.tooltipText.existing=preserve existing explicit {0}
project.upgrade.kotlinLanguageLevelUsageInfo.tooltipText.insertOldDefault=insert explicit {0} to preserve previous behaviour
project.upgrade.kotlinLanguageLevelUsageInfo.tooltipText.acceptNewDefault=accept new default
project.upgrade.kotlinLanguageLevelUsageInfo.tooltipText.existing=preserve existing explicit {0}
project.upgrade.compileRuntimeConfigurationRefactoringProcessor.commandName=Replace deprecated configurations
project.upgrade.compileRuntimeConfigurationRefactoringProcessor.usageView.header=Replace deprecated configurations
project.upgrade.compileRuntimeConfigurationRefactoringProcessor.renameConfigurationUsageType=Rename configuration
project.upgrade.compileRuntimeConfigurationRefactoringProcessor.changeDependencyConfigurationUsageType=Change dependency configuration
project.upgrade.obsoleteConfigurationDependencyUsageInfo.tooltipText=Update configuration from {0} to {1}
project.upgrade.obsoleteConfigurationConfigurationUsageInfo.tooltipText=Rename configuration from {0} to {1}
project.upgrade.fabricCrashlyticsRefactoringProcessor.usageView.header=Migrate crashlytics from fabric to firebase
project.upgrade.fabricCrashlyticsRefactoringProcessor.commandName=Migrate crashlytics from fabric to firebase
project.upgrade.fabricCrashlyticsRefactoringProcessor.removeFabricRepositoryUsageType=Remove the Fabric Maven repository
project.upgrade.fabricCrashlyticsRefactoringProcessor.addGmavenRepositoryUsageType=Add the Google maven repository
project.upgrade.fabricCrashlyticsRefactoringProcessor.removeFabricClasspathUsageType=Remove the dependency on the Fabric Gradle plugin
project.upgrade.fabricCrashlyticsRefactoringProcessor.addGoogleServicesClasspathUsageType=Add a dependency on the Google Services Gradle plugin
project.upgrade.fabricCrashlyticsRefactoringProcessor.addFirebaseCrashlyticsClasspathUsageType=Add a dependency on the Firebase Crashlytics Gradle plugin
project.upgrade.fabricCrashlyticsRefactoringProcessor.replaceFabricPluginUsageType=Replace the Fabric plugin with the Firebase Crashlytics plugin
project.upgrade.fabricCrashlyticsRefactoringProcessor.applyGoogleServicesPluginUsageType=Apply the Google Services plugin
project.upgrade.fabricCrashlyticsRefactoringProcessor.removeFabricCrashlyticsSdkUsageType=Remove the dependency on the Fabric SDK
project.upgrade.fabricCrashlyticsRefactoringProcessor.addFirebaseCrashlyticsSdkUsageType=Add a dependency on the Firebase Crashlytics SDK
project.upgrade.fabricCrashlyticsRefactoringProcessor.addGoogleAnalyticsSdkUsageType=Add a dependency on the Google Analytics SDK
project.upgrade.fabricCrashlyticsRefactoringProcessor.removeFabricNdkUsageType=Remove the Fabric NDK dependency
project.upgrade.fabricCrashlyticsRefactoringProcessor.addFirebaseCrashlyticsNdkUsageType=Add the Firebase Crashlytics NDK dependency
project.upgrade.fabricCrashlyticsRefactoringProcessor.removeCrashlyticsEnableNdkUsageType=Remove the enableNdk crashlytics flag
project.upgrade.fabricCrashlyticsRefactoringProcessor.addFirebaseCrashlyticsNativeSymbolUploadUsageType=Enable native symbol upload for the release buildType
project.upgrade.removeFabricMavenRepositoryUsageInfo.tooltipText=Remove the Fabric Maven repository
project.upgrade.addGoogleMavenRepositoryUsageInfo.tooltipText=Add the Google Maven repository
project.upgrade.removeFabricClasspathDependencyUsageInfo.tooltipText=Remove the dependency on the Fabric Gradle plugin
project.upgrade.addGoogleServicesClasspathDependencyUsageInfo.tooltipText=Add a dependency on the Google Services Gradle plugin
project.upgrade.addFirebaseCrashlyticsClasspathDependencyUsageInfo.tooltipText=Add a dependency on the Firebase Crashlytics Gradle plugin
project.upgrade.replaceFabricPluginUsageInfo.tooltipText=Replace the Fabric plugin with the Firebase Crashlytics plugin
project.upgrade.applyGoogleServicesPluginUsageInfo.tooltipText=Apply the Google Services plugin
project.upgrade.removeFabricCrashlyticsSdkUsageInfo.tooltipText=Remove the dependency on the Fabric SDK
project.upgrade.addFirebaseCrashlyticsSdkUsageInfo.tooltipText=Add a dependency on the Firebase Crashlytics SDK
project.upgrade.addGoogleAnalyticsSdkUsageInfo.tooltipText=Add a dependency on the Google Analytics SDK
project.upgrade.removeFabricNdkUsageInfo.tooltipText=Remove the Fabric NDK dependency
project.upgrade.addFirebaseCrashlyticsNdkUsageInfo.tooltipText=Add the Firebase Crashlytics NDK dependency
project.upgrade.removeCrashlyticsEnableNdkUsageInfo.tooltipText=Remove the enableNdk crashlytics flag
project.upgrade.addBuildTypeFirebaseCrashlyticsUsageInfo.tooltipText=Enable native symbol upload for the release buildType
project.upgrade.notifyCancelledUpgrade.title=Android Gradle Plugin Upgrade Cancelled
project.upgrade.notifyCancelledUpgrade.body=Start the AGP Upgrade Assistant to resume the upgrade.
project.upgrade.migrateToBuildFeaturesRefactoringProcessor.commandName=Migrate enabled booleans to buildFeatures
project.upgrade.migrateToBuildFeaturesRefactoringProcessor.usageView.header=Migrate enabled booleans to buildFeatures
project.upgrade.migrateToBuildFeaturesRefactoringProcessor.dataBindingEnabledUsageType=Migrate dataBinding enabled to buildFeatures
project.upgrade.migrateToBuildFeaturesRefactoringProcessor.viewBindingEnabledUsageType=Migrate viewBinding enabled to buildFeatures
project.upgrade.dataBindingEnabledUsageInfo.tooltipText=Migrate dataBinding enabled to buildFeatures
project.upgrade.viewBindingEnabledUsageInfo.tooltipText=Migrate viewBinding enabled to buildFeatures
project.upgrade.removeSourceSetJniRefactoringProcessor.commandName=Remove jni source directory from sourceSets
project.upgrade.removeSourceSetJniRefactoringProcessor.usageView.header=Remove jni source directory from sourceSets
project.upgrade.sourceSetJniUsageInfo.usageType=Remove jni from sourceSet
project.upgrade.sourceSetJniUsageInfo.tooltipText=Remove jni from sourceSet
project.upgrade.migrateToAndroidResourcesRefactoringProcessor.commandName=Migrate DSL properties from aaptOptions to androidResources
project.upgrade.migrateToAndroidResourcesRefactoringProcessor.usageView.header=Migrate from aaptOptions to androidResources
project.upgrade.migrateToAndroidResourcesRefactoringProcessor.move.usageType=Migrate properties to androidResources
project.upgrade.migrateToAndroidResourcesRefactoringProcessor.remove.usageType=Remove aaptOptions
project.upgrade.androidResourcesUsageInfo.move.tooltipText=Move usage from aaptOptions to androidResources
project.upgrade.androidResourcesUsageInfo.remove.tooltipText=Remove aaptOptions
project.upgrade.removeBuildTypeUseProguardRefactoringProcessor.commandName=Remove buildType useProguard setting
project.upgrade.removeBuildTypeUseProguardRefactoringProcessor.usageView.header=Remove buildType useProguard setting
project.upgrade.removeBuildTypeUseProguard.usageType=Remove useProguard setting
project.upgrade.removeBuildTypeUseProguard.tooltipText=Remove useProguard setting
project.upgrade.removeImplementationPropertiesRefactoringProcessor.commandName=Remove ignored configuration properties
project.upgrade.removeImplementationPropertiesRefactoringProcessor.usageView.header=Remove ignored configuration properties
project.upgrade.removeImplementationProperty.usageType=Remove property
project.upgrade.removeImplementationProperty.tooltipText=Remove property
project.upgrade.gradlePluginsRefactoringProcessor.commandName=Upgrade Gradle plugins
project.upgrade.gradlePluginsRefactoringProcessor.usageView.header=Upgrade Gradle plugins
project.upgrade.gradlePluginsRefactoringProcessor.wellKnownGradlePluginUsageType=Update version of Gradle plugin
project.upgrade.migrateToInstallationRefactoringProcessor.commandName=Migrate DSL properties from adbOptions to installation
project.upgrade.migrateToInstallationRefactoringProcessor.usageView.header=Migrate from adbOptions to installation
project.upgrade.migrateToInstallationRefactoringProcessor.move.usageType=Migrate properties to installation
project.upgrade.migrateToInstallationRefactoringProcessor.remove.usageType=Remove adbOptions
project.upgrade.installationUsageInfo.move.tooltipText=Move usage from adbOptions to installation
project.upgrade.installationUsageInfo.remove.tooltipText=Remove adbOptions
project.upgrade.migrateToEmulatorSnapshotsRefactoringProcessor.commandName=Migrate DSL properties from failureRetention to emulatorSnapshots
project.upgrade.migrateToEmulatorSnapshotsRefactoringProcessor.usageView.header=Migrate from failureRetention to emulatorSnapshots
project.upgrade.migrateToEmulatorSnapshotsRefactoringProcessor.move.usageType=Migrate properties to emulatorSnapshots
project.upgrade.migrateToEmulatorSnapshotsRefactoringProcessor.remove.usageType=Remove failureRetention
project.upgrade.emulatorSnapshotsUsageInfo.move.tooltipText=Move usage from failureRetention to emulatorSnapshots
project.upgrade.emulatorSnapshotsUsageInfo.remove.tooltipText=Remove failureRetention
project.upgrade.migrateToTestCoverageRefactoringProcessor.commandName=Migrate DSL properties from jacoco to testCoverage
project.upgrade.migrateToTestCoverageRefactoringProcessor.usageView.header=Migrate from jacoco to testCoverage
project.upgrade.migrateToTestCoverageRefactoringProcessor.move.usageType=Migrate properties to testCoverage
project.upgrade.migrateToTestCoverageRefactoringProcessor.remove.usageType=Remove jacoco
project.upgrade.migrateTestCoverageEnabledRefactoringProcessor.commandName=Migrate testCoverageEnabled to enableUnitTestCoverage and enableAndroidTestCoverage
project.upgrade.migrateTestCoverageEnabledRefactoringProcessor.usageView.header=Migrate testCoverageEnabled to enableUnitTestCoverage and enableAndroidTestCoverage
project.upgrade.migrateTestCoverageEnabledRefactoringProcessor.move.usageType=Migrate testCoverageEnabled to enableUnitTestCoverage and enableAndroidTestCoverage
project.upgrade.migrateTestCoverageEnabledRefactoringProcessor.move.tooltipText=Move usage from testCoverageEnabled to enableUnitTestCoverage and enableAndroidTestCoverage
project.upgrade.testCoverageUsageInfo.move.tooltipText=Move usage from jacoco to testCoverage
project.upgrade.testCoverageUsageInfo.remove.tooltipText=Remove jacoco
project.upgrade.migratePackagingOptionsRefactoringProcessor.commandName=Migrate packagingOptions DSL properties to sub-blocks
project.upgrade.migratePackagingOptionsRefactoringProcessor.usageView.header=Migrate packagingOptions to sub-blocks
project.upgrade.migratePackagingOptionsRefactoringProcessor.move.usageType=Move property
project.upgrade.migratePackagingOptionsRefactoringProcessor.move.tooltipText=Move property
project.upgrade.migratePackagingOptionsRefactoringProcessor.split.usageType=Split property between jniLibs and resources
project.upgrade.migratePackagingOptionsRefactoringProcessor.split.tooltipText=Split property between jniLibs and resources
project.upgrade.migratePackagingOptionsRefactoringProcessor.remove.usageType=Remove property (after splitting)
project.upgrade.migratePackagingOptionsRefactoringProcessor.remove.tooltipText=Remove property (after splitting)
project.upgrade.migrateToLintRefactoringProcessor.commandName=Migrate DSL properties from lintOptions to lint
project.upgrade.migrateToLintRefactoringProcessor.usageView.header=Migrate from lintOptions to lint
project.upgrade.migrateToLintRefactoringProcessor.move.usageType=Migrate properties to lint
project.upgrade.migrateToLintRefactoringProcessor.remove.usageType=Remove lintOptions
project.upgrade.lintOptionsUsageInfo.move.tooltipText=Move usage from lintOptions to lint
project.upgrade.lintOptionsUsageInfo.remove.tooltipText=Remove lintOptions
project.upgrade.rewriteDeprecatedOperatorsRefactoringProcessor.commandName=Rewrite deprecated operators
project.upgrade.rewriteDeprecatedOperatorsRefactoringProcessor.usageView.header=Rewrite deprecated operators
project.upgrade.rewriteDeprecatedOperatorsRefactoringProcessor.rewrite.usageType=Rewrite usages
project.upgrade.deprecatedOperatorUsageInfo.rewrite.tooltipText=Rewrite usage
project.upgrade.redundantPropertiesRefactoringProcessor.commandName=Remove redundant properties
project.upgrade.redundantPropertiesRefactoringProcessor.usageView.header=Remove redundant properties
project.upgrade.redundantProperties.usageType=Remove property
project.upgrade.redundantProperties.tooltipText=Remove property
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.commandName=Move package from Android manifest to build files
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.usageView.header=Move package from Android manifest to build files
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.removePackage.usageType=Remove package declaration
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.removePackage.tooltipText=Remove package declaration
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.addNamespace.usageType=Add namespace declaration
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.addNamespace.tooltipText=Add namespace declaration
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.addTestNamespace.usageType=Add testNamespace declaration
project.upgrade.androidManifestPackageToNamespaceRefactoringProcessor.addTestNamespace.tooltipText=Add testNamespace declaration
project.upgrade.r8FullModeDefaultRefactoringProcessor.commandName=Update default R8 processing mode
project.upgrade.r8FullModeDefaultRefactoringProcessor.groupingName=Add property to keep using R8 in compat mode
project.upgrade.r8FullModeDefaultRefactoringProcessor.usageView.header=Update default R8 processing mode
project.upgrade.r8FullModeDefaultRefactoringProcessor.existingDirectiveUsageType=Existing fullMode property (leave unchanged)
project.upgrade.r8FullModeDefaultRefactoringProcessor.acceptNewUsageType=Accept new default R8 mode (leave unchanged)
project.upgrade.r8FullModeDefaultRefactoringProcessor.insertOldUsageType=Continue using R8 in compat mode (insert property)
project.upgrade.noPropertyPresentAction.acceptNewDefault=Accept the new R8 default of full mode
project.upgrade.noPropertyPresentAction.insertOldDefault=Insert property to continue using R8 in compat mode
project.upgrade.r8FullModeDefaultUsageInfo.tooltipText.insertOldDefault=insert property to preserve previous behaviour
project.upgrade.r8FullModeDefaultUsageInfo.tooltipText.acceptNewDefault=accept new default
project.upgrade.r8FullModeDefaultUsageInfo.tooltipText.existing=preserve existing explicit property
project.upgrade.renderScriptDefaultRefactoringProcessor.commandName=Enable renderScript explicitly where needed
project.upgrade.renderScriptDefaultRefactoringProcessor.usageView.header=Explicitly enable renderScript build feature
project.upgrade.renderScriptDefaultRefactoringProcessor.enable.usageType=Insert renderScript directive
project.upgrade.renderScriptBuildFeature.enable.tooltipText=Enable renderScript in this module
project.upgrade.nonTransitiveRClassDefaultRefactoringProcessor.commandName=Preserve transitive R classes
project.upgrade.nonTransitiveRClassDefaultRefactoringProcessor.usageView.header=Preserve transitive R classes
project.upgrade.nonTransitiveRClassDefaultRefactoringProcessor.usageType=Insert android.nonTransitiveRClass property to preserve existing behavior
project.upgrade.nonTransitiveRClassUsageInfo.tooltipText=Insert android.nonTransitiveRClass property to preserve existing behavior
project.upgrade.nonConstantRClassDefaultRefactoringProcessor.commandName=Preserve constant R class values
project.upgrade.nonConstantRClassDefaultRefactoringProcessor.usageView.header=Preserve constant R class values
project.upgrade.nonConstantRClassDefaultRefactoringProcessor.usageType=Insert android.nonFinalRClass property to preserve existing behavior
project.upgrade.nonConstantRClassUsageInfo.tooltipText=Insert android.nonFinalRClass property to preserve existing behavior
project.upgrade.aidlDefaultRefactoringProcessor.commandName=Enable aidl explicitly where needed
project.upgrade.aidlDefaultRefactoringProcessor.usageView.header=Explicitly enable aidl build feature
project.upgrade.aidlDefaultRefactoringProcessor.enable.usageType=Insert aidl directive
project.upgrade.aidlBuildFeature.enable.tooltipText=Enable aidl in this module
project.upgrade.buildConfigDefaultRefactoringProcessor.commandName=Enable buildConfig build feature
project.upgrade.buildConfigDefaultRefactoringProcessor.usageView.header=Enable buildConfig build feature
project.upgrade.buildConfigDefaultRefactoringProcessor.enable.usageType=Preserve existing buildConfig behavior
project.upgrade.buildConfigBuildFeature.enable.tooltipText=Preserve existing buildConfig behavior
project.upgrade.resValuesDefaultRefactoringProcessor.commandName=Enable resValues build feature
project.upgrade.resValuesDefaultRefactoringProcessor.usageView.header=Enable resValues build feature
project.upgrade.resValuesDefaultRefactoringProcessor.enable.usageType=Preserve existing resValues behavior
project.upgrade.resValuesBuildFeature.enable.tooltipText=Preserve existing resValues behavior
project.upgrade.projectJdkRefactoringProcessor.commandName=Upgrade project JDK for running Gradle
project.upgrade.projectJdkRefactoringProcessor.usageView.header=Upgrade project JDK for running Gradle
project.upgrade.projectJdkRefactoringProcessor.enable.usageType=Upgrade project JDK
project.upgrade.projectJdkUsageInfo.tooltipText=Set project JDK
project.upgrade.gradleDaemonJvmCriteria.commandName=Upgrade Daemon JVM criteria to {0} Version
project.upgrade.gradleDaemonJvmCriteria.shortDescription=The new version of the Android Gradle Plugin requires a higher version of \
  the JDK than is currently configured for this project.\n\
  Update the project Gradle Daemon JVM criteria to the recommended version {0}.
project.upgrade.gradleDaemonJvmCriteria.usageView.header=Upgrade Daemon JVM criteria to {0} Version
project.upgrade.gradleDaemonJvmCriteria.enable.usageType=Upgrade Daemon JVM criteria to {0} Version
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.commandName=Move extractNativeLibs from Android manifest to build files
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.usageView.header=Move extractNativeLibs from Android manifest to build files
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.removeExtractNativeLibs.usageType=Remove extractNativeLibs declaration
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.removeExtractNativeLibs.tooltipText=Remove extractNativeLibs declaration
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.addUseLegacyPackaging.usageType=Add useLegacyPackaging declaration
project.upgrade.androidManifestExtractNativeLibsToUseLegacyPackagingRefactoringProcessor.addUseLegacyPackaging.tooltipText=Add useLegacyPackaging declaration
project.upgrade.androidManifestUseEmbeddedDexToUseLegacyPackagingRefactoringProcessor.commandName=Include useEmbeddedDex from Android manifest into build files
project.upgrade.androidManifestUseEmbeddedDexToUseLegacyPackagingRefactoringProcessor.usageView.header=Include useEmbeddedDex from Android manifest into build files
project.upgrade.androidManifestUseEmbeddedDexToUseLegacyPackagingRefactoringProcessor.addUseLegacyPackaging.usageType=Add useLegacyPackaging declaration
project.upgrade.androidManifestUseEmbeddedDexToUseLegacyPackagingRefactoringProcessor.addUseLegacyPackaging.tooltipText=Add useLegacyPackaging declaration
project.upgrade.dependencyConstraintsDefaultRefactoringProcessor.commandName=Enable Dependency Constraints
project.upgrade.dependencyConstraintsDefaultRefactoringProcessor.usageView.header=Enable dependency constraints
project.upgrade.dependencyConstraintsDefaultRefactoringProcessor.usage=Dependency Constraints
project.upgrade.dependencyConstraintsDefaultRefactoringProcessor.tooltipText=Add android.dependency.useConstraints property
project.upgrade.dependencyConstraintsDefaultRefactoringProcessor.shortDescription=The default value for\n\
  `android.dependency.useConstraints` is\n\
  changing, meaning that the Android Gradle Plugin will no longer\n\
  align runtime and compile classpaths\n\
  This is expected to improve performance. You can remove the\n\
  property from gradle.properties after the upgrade to switch to the\n\
  improved behavior.
project.upgrade.shadersDefaultRefactoringProcessor.commandName=Enable compilation of shaders folders explicitly where needed
project.upgrade.shadersDefaultRefactoringProcessor.usageView.header=Explicitly enable compilation of shaders folders
project.upgrade.shadersDefaultRefactoringProcessor.enable.usageType=Insert shaders directive
project.upgrade.shadersBuildFeature.enable.tooltipText=Enable compilation of shaders folders in this module
project.upgrade.useAndroidXDefaultRefactoringProcessor.commandName=Disable Usage of AndroidX Libraries
project.upgrade.useAndroidXDefaultRefactoringProcessor.usageView.header=Disable usage of AndroidX libraries
project.upgrade.useAndroidXDefaultRefactoringProcessor.enable.usageType=Preserve existing AndroidX behavior
project.upgrade.useAndroidXDefaultRefactoringProcessor.tooltipText=Preserve existing AndroidX behavior
project.upgrade.useAndroidXDefaultRefactoringProcessor.shortDescription=The default value for useAndroidX is changing, meaning that AndroidX libraries will\n\
  be available by default now. This processor adds a flag to preserve the previous\n\
  behavior (to not use AndroidX).

project.upgrade.useR8StrictModeForKeepRules.commandName=Disable R8 Strict Mode for Keep Rules
project.upgrade.useR8StrictModeForKeepRules.usageView.header=Disable R8 Strict Mode for Keep Rules
project.upgrade.useR8StrictModeForKeepRules.enable.usageType=Preserve existing R8 Strict Mode for Keep Rules behavior
project.upgrade.useR8StrictModeForKeepRules.tooltipText=Preserve existing R8 Strict Mode for Keep Rules behavior
project.upgrade.useR8StrictModeForKeepRules.shortDescription=The default value for R8 Strict Mode for Keep Rules is changing, meaning that R8 Strict Mode will\n\
  be enabled by default now. This processor adds a flag to preserve the previous\n\
  behavior (to not use the R8 Strict Mode for Keep Rules).

project.upgrade.useR8OptimizedResourceShrinking.commandName=Disable R8 Optimized Resource Shrinking
project.upgrade.useR8OptimizedResourceShrinking.usageView.header=Disable R8 Optimized Resource Shrinking
project.upgrade.useR8OptimizedResourceShrinking.enable.usageType=Preserve existing R8 Optimized Resource Shrinking behavior
project.upgrade.useR8OptimizedResourceShrinking.tooltipText=Preserve existing R8 Optimized Resource Shrinking behavior
project.upgrade.useR8OptimizedResourceShrinking.shortDescription=The default value for R8 Optimized Resource Shrinking is changing, meaning that R8 Optimized Resource Shrinking will\n\
  be enabled by default now. This processor adds a flag to preserve the previous\n\
  behavior (to not use the R8 Optimized Resource Shrinking).

project.upgrade.targetSdkDefaultsToCompileSdk.commandName=Disable targetSdk defaults to compileSdk
project.upgrade.targetSdkDefaultsToCompileSdk.usageView.header=Disable targetSdk defaults to compileSdk
project.upgrade.targetSdkDefaultsToCompileSdk.enable.usageType=Preserve existing targetSdk default value
project.upgrade.targetSdkDefaultsToCompileSdk.tooltipText=Preserve existing targetSdk default value
project.upgrade.targetSdkDefaultsToCompileSdk.shortDescription=The default value for targetSdk is changing, meaning that defaulting targetSdk to compileSdk will\n\
  be enabled by default now. This processor adds a flag to preserve the previous behavior (to default to minSdk)

project.upgrade.appCompileTimeRClass.commandName=Disable App Compile-Time R Class
project.upgrade.appCompileTimeRClass.usageView.header=Disable App Compile-Time R Class
project.upgrade.appCompileTimeRClass.enable.usageType=Preserve existing App Compile-Time R Class behavior
project.upgrade.appCompileTimeRClass.tooltipText=Preserve existing App Compile-Time R Class behavior
project.upgrade.appCompileTimeRClass.shortDescription=The default value for Enable App Compile-Time R Class is changing, meaning that App Compile-Time R Class will\n\
  be enabled by default now. This processor adds a flag to preserve the previous\n\
  behavior.
project.upgrade.jcenterToMavenCentral.commandName=Remove uses of jcenter
project.upgrade.jcenterToMavenCentral.usageView.header=Remove uses of jcenter
project.upgrade.jcenterToMavenCentral.removeJCenter.usageType=Remove unsupported jcenter repository declaration
project.upgrade.jcenterToMavenCentral.removeJCenter.tooltipText=Remove unsupported jcenter repository declaration
project.upgrade.jcenterToMavenCentral.insertMavenCentral.usageType=Insert mavenCentral repository declaration
project.upgrade.jcenterToMavenCentral.insertMavenCentral.tooltipText=Insert mavenCentral repository declaration


project.upgrade.buildTypesUnitTest.commandName=Continue Running Unit Tests for all Build Types
project.upgrade.buildTypesUnitTest.enable.usageType=Preserve existing unit test behavior for all build types
project.upgrade.buildTypesUnitTest.shortDescription=The default for running unit tests is changing to run them only for the tested build type\n\
  this processor adds a flag to preserve the previous behavior (running tests for all build types)\n\
  if unit tests for the 'release' build type are present.
project.upgrade.buildTypesUnitTest.tooltipText=Preserve existing unit test behavior for all build types
project.upgrade.buildTypesUnitTest.usageView.header=Continue Running Unit Tests for all Build Types

project.upgrade.disallowUsesSdkInManifest.commandName=Continue to allow <uses-sdk> in the main manifest
project.upgrade.disallowUsesSdkInManifest.enable.usageType=Preserve existing <uses-sdk> handling in the main manifest
project.upgrade.disallowUsesSdkInManifest.shortDescription=The default handling of <uses-sdk> in the main manifest is changing, \n\
  meaning that use of the tag will result in build errors.\n\
  This processor adds a flag to preserve the previous behavior (show warnings instead of errors).
project.upgrade.disallowUsesSdkInManifest.tooltipText=Preserve existing <uses-sdk> handling in the main manifest
project.upgrade.disallowUsesSdkInManifest.usageView.header=Continue to allow <uses-sdk> in the main manifest

project.upgrade.enforceUniquePackageNames.commandName=Allow non-unique package names
project.upgrade.enforceUniquePackageNames.usageView.header=Allow non-unique package names
project.upgrade.enforceUniquePackageNames.enable.usageType=Preserve unique package names behavior
project.upgrade.enforceUniquePackageNames.tooltipText=Preserve unique package names behavior
project.upgrade.enforceUniquePackageNames.shortDescription=The default value for Unique Pacakge Names is changing in 9.0. It will now be enabled\
  by default. This processor adds a flag to preserve the previous behavior.

project.upgrade.deprecatedLibraryTargetSdk.commandName=Remove deprecated Library base flavor targetSdk
project.upgrade.deprecatedLibraryTargetSdk.usageType=Remove deprecated Library base flavor targetSdk
project.upgrade.deprecatedLibraryTargetSdk.tooltipText=Remove deprecated Library base flavor targetSdk

connection.assistant.loading=Loading\u2026
connection.assistant.usb.no_devices.title=No USB device detected
connection.assistant.usb.no_devices.body=
connection.assistant.adb.no_devices.title=No Android devices detected.
connection.assistant.adb.no_devices.body=
connection.assistant.adb.devices=At least one Android device was detected.
connection.assistant.adb.failure=Unable to locate ADB.
connection.assistant.adb.unexpected=Unexpected error, please file a bug.
title.cannot.open.file=Cannot open file {0}
feedback.notifications.title=Thanks for the feedback!

whatsnew.action.custom.description=Learn about new features and improvements in the latest version of {0}

unsupported.jvm.dragndrop.message=Running on a JDK8 version affected by drag and drop issues (1.8.0_60 through 1.8.0_76). \
  See <a href="https://youtrack.jetbrains.com/issue/IDEA-146691">IDEA-146691</a> for details, and consider using a JDK outside the problematic range.
unsupported.jvm.openjdk.message=OpenJDK shows intermittent performance and UI issues. We recommend using the Oracle JRE/JDK.
unsupported.mac.intelonarm.message=Android Studio is running under Rosetta 2, \
  which may affect performance. We recommend using the official Apple silicon (arm64) version.
sys.health.too.many.exceptions=High number of internal exceptions has been detected. This indicates a serious problem with \
  the IDE. Please consider clean reinstall of Android Studio. If the problem persists, please report a bug by following \
  the link below.
sys.health.send.feedback=Send Feedback
heap.dump.snapshot.exception=Error while creating a heap dump. See idea.log for details.
heap.dump.snapshot.indicator.text=Capturing {0} heap dump
heap.dump.snapshot.indicator.low.memory.text=Low memory detected. Capturing {0} heap dump
heap.dump.snapshot.created=Heap dump has been created at {0}. It will be analyzed next time you start {1}.
heap.dump.snapshot.created.no.analysis=Heap dump has been created at {0}.
heap.dump.snapshot.error.check.log=Error while creating heap dump. Check idea.log for details.
heap.dump.snapshot.no.space=Not enough space to create a heap dump at {0}. Estimated size required for a heap dump: {1}MB, but only {2}MB is available.
heap.dump.snapshot.title=Capture Heap Dump
heap.dump.snapshot.task.title=Capturing Heap Dump
heap.dump.snapshot.already.pending=Memory report already pending. Restart {0} to start analysis.
heap.dump.analysis.exception=Error during heap dump analysis. See idea.log for details.
heap.dump.analysis.task.title=Preparing Memory Report
heap.dump.analysis.notification.title=Memory Use Report
heap.dump.analysis.notification.ready.content=Analysis complete.
heap.dump.analysis.notification.action.title=Review Report
heap.dump.analysis.notification.submitted.content=Thank you for submitting the report.
heap.dump.analysis.notification.submit.error.content=Error while submitting the report. See idea.log for details.
heap.dump.analysis.report.dialog.title=Memory Use Report
heap.dump.analysis.report.dialog.header=<html>{0} detected unusually high memory use.<br>\
  You can send the following memory use report to Google that will help the team investigate \
  the source of the problem.
heap.dump.analysis.report.dialog.footer=By submitting this report, you allow Google to collect and process this data \
  in accordance with <a href=\"http://www.google.com/policies/privacy/\">Google's Privacy Policy</a>.
heap.dump.analysis.report.dialog.action.send=Send
heap.dump.analysis.report.dialog.action.dont.send=Don't Send
heap.dump.snapshot.restart.dialog.title=Confirm Restart
heap.dump.snapshot.restart.dialog.message=Heap dump analysis requires Android Studio to restart. Do you wish to restart now?
heap.dump.snapshot.restart.dialog.restart.now=Restart Now
heap.dump.snapshot.restart.dialog.restart.later=Restart Later

memory.settings.restart.needed=Memory settings have been saved. For the new settings to take effect, \
  you will need to restart the IDE. Do you wish to restart now?
memory.settings.panel.top.message=Configure the maximum amount of RAM the OS should allocate for Android Studio processes, \
  such as the core IDE or Gradle daemon. Similar to allocating too little memory, \
  allocating too much memory might degrade performance.
memory.settings.ide.bottom.message=This is a global setting that applies to all projects you open using Android Studio. \
  You need to restart the IDE before any changes to its heap size take effect.
memory.settings.panel.use.recommended.values=Use recommended values
memory.settings.panel.ide.info=Based on the available memory and your current project, an IDE heap size of {0} is recommended.
memory.settings.panel.daemon.info=These settings apply only to the current project, and changes take effect only \
  after you rebuild your project (by selecting Build > Rebuild Project from the menu bar). After changing the heap \
  size and rebuilding your project, you may find daemons with old settings and stop them manually.
memory.settings.panel.show.daemons.info=Find existing Gradle daemon(s)
memory.settings.postsync.message=Increasing the maximum heap size from {0}MB to {1}MB could make the IDE perform better, \
  based on the available memory and your project size.
memory.settings.postsync.title={0} performance could be improved
memory.settings.postsync.save=Use recommended and restart
memory.settings.postsync.configure=Configure\u2026
memory.settings.postsync.do.not.ask.for.project=Don't ask for this project
memory.settings.postsync.do.not.show.again=Don't show again
memory.settings.has.user.properties=User Gradle properties specified in <i>{0}</i> are shared by projects and take priority over \
  project-level properties. To specify project-level maximum heap size for daemons, remove the <i>org.gradle.jvmargs</i> settings \
  in the user-level properties and open this panel again.
windows.ucrt.warn.message=Universal C Runtime for Windows is not installed. Platform tools, such as ADB, may not work.

virus.scanning.warn.message=Your anti-virus program might be impacting your build performance. Android Studio checked the following directories: {0}
virus.scanning.dont.show.again=Don't show again
virus.scanning.dont.show.again.this.project=Don't show again for this project

android.proxy.settings.dialog.title=Proxy Settings
android.proxy.settings.dialog.message=<html>\
  {0} is configured to use an HTTP proxy. Gradle may need these HTTP \
  proxy settings to access the Internet (e.g. for downloading dependencies.)<br/><br/>\
  Do you want to store the following HTTP settings into the global gradle.properties file?<br/><br/>\
  <b>Note:</b> You can manually set passwords in the gradle.properties file at your own risk.<br/><br/>\
  For more details, please refer to the \
  <a href=''https://developer.android.com/studio/intro/studio-config.html#proxy''>Android Studio documentation</a>.<br/><br/>
android.proxy.settings.dialog.no.ide.message=<html>\
  {0} is configured to not use an HTTP proxy, but Gradle is currently using these proxy settings \
  to access the Internet (e.g. for downloading dependencies.)<br/><br/>\
  Do you want to keep the current HTTP settings in the global gradle.properties file?<br/><br/>\
  <b>Note:</b> You can manually set passwords in the gradle.properties file at your own risk.<br/><br/>\
  For more details, please refer to the \
  <a href=''https://developer.android.com/studio/intro/studio-config.html#proxy''>Android Studio documentation</a>.<br/><br/>
label.download.location=Download location
android.application.title=Android application
android.final.package.element.type.name=Android Final Package
android.extract.package.error.0.message=Error: {0}
android.export.package.passwords.cannot.contain.quote.character=Passwords cannot contain quote character

live.edit.disable.all=None
live.edit.disable.all.description=Turn Live Edit off.

live.edit=Live Edit
live.edit.action.enable.title=Enable Live Edit
live.edit.action.disable.title=Disable Live Edit
live.edit.configurable.action.name=Configure Settings
live.edit.configurable.display.name=Live Edit
live.edit.configurable.display.name.comment=Feature that instantaneously reflects code changes made within composable functions of \
  a running Android app on emulators and physical devices. Settings changes to device/emulator will require application re-run. \
  <a href=\"https://developer.android.com/studio/run#live-edit\">Learn more</a>.
live.edit.configurable.enable.embedded.compiler=Use Embedded Compiler
live.edit.configurable.enable.debug.mode=Enable Debug mode
live.edit.configurable.enable.debug.mode.comment=Enable Live Edit interpreter tracing and disable Houdini exception cleaning
live.edit.configurable.enable.allow.structural.redefinition=Allow Class Structural Redefinition (EXPERIMENTAL)
live.edit.configurable.enable.allow.structural.redefinition.comment=Allow certain UNSAFE class structural redefinition while violating language semantics.
live.edit.configurable.enable.inline.analysis=Enable Source Inline Analysis
live.edit.configurable.enable.partial.recompose.comment=Enable Live Edit partial recomposition of @Composable functions
live.edit.configurable.refresh.rate=Refresh rate (ms)
live.edit.configurable.refresh.rate.comment=Adjust GUI code change detection interval
live.edit.advanced.settings.configurable.display.name=Live Edit Advanced Config
live.edit.tooltip.description=<html>Apply changes to Composables in your code immediately to the connected emulator or physical device.
live.edit.tooltip.url.label=Live Edit documentation
live.edit.mode.manual.onkey=Push Edits Manually ({0})
live.edit.mode.manual.onsave=Push Edits Manually on Save ({0})
live.edit.mode.automatic=Push Edits Automatically

live.literals=Live Edit of Compose Literals
live.literals.problems.dialog.title=Problems
live.literals.action.enable.title=Enable Live Edit of literals
live.literals.action.disable.title=Disable Live Edit of literals
live.literals.action.show.problems.title=Show Problems\u2026
live.literals.highlight.toggle.show.title=Enable literals decorations
live.literals.highlight.toggle.hide.title=Disable literals decorations
live.literals.highlight.toggle.title=Toggle literals decorations
live.literals.highlight.toggle.description=Toggle literals decorations in the editor
live.literals.is.enabled=Live Edit of literals: ON
live.literals.is.disabled=Live Edit of literals: OFF
live.literals.tooltip.description=<html>\
  Changes in certain literals in your code will be immediately reflected in \
  the emulator.<br/>\
  Use this icon to enable/disable the feature, \
  turn on editor markers, and see the status of \
  live edit of literals.
live.literals.tooltip.url.label=Live Edit of literals documentation
live.literals.configurable.display.name=Live Edit of Compose Literals
live.literals.configurable.select.live.literals=(deprecated) Live Edit of literals
live.literals.configurable.select.live.literals.comment=Updates literals used in composables in the emulators and physical devices in real time. \
  Building is required after enabling Live Edit of literals so the feature can work properly. \
  <a href=\"https://developer.android.com/jetpack/compose/tooling#live-edit-literals\">Learn more</a>.
live.literals.customize.appearance.title=Customize literals decorations\u2026

do.not.ask.for.this.session=Do not ask again for this session
updates.settings.channel.locked=

android.launch.task.clear.app.data.description=Clear App Storage
android.launch.task.clear.app.data.error=Failed to clear app storage for {0} on device {1}
android.launch.task.succeeded={0} succeeded
android.launch.task.succeeded.with.warnings={0} succeeded with {1} warnings

progress.downloading.0.files.text=Downloading {0} {0, choice, 1#file|2#files}...
progress.connecting.to.download.file.text=Connecting to ''{0}''...
progress.download.file.text=Downloading ''{0}'' from ''{1}''...
error.file.download.failed=Failed to download ''{0}'':\n{1}

android.launch.task.show.logcat=Open logcat panel for {0}\n
android.launch.task.show.logcat.emulator=emulator {0}
android.launch.task.show.logcat.unknown.version=Unknown Version
android.launch.task.show.logcat.unknown.avd=Unknown AVD Name
android.launch.task.show.logcat.unknown.manufacturer=Unknown Manufacturer
android.launch.task.show.logcat.unknown.model=Unknown Model

group.Android.MainToolbarRight.text=Android Main Toolbar Right
group.Android.InstantRunActions.text=Instant Run
group.Internal.Android.text=Android

low.memory.notification.title=Low memory
low.memory.notification.content=The IDE is running low on memory and this might affect performance. Please consider increasing the heap size.

essentials.mode.group=Essentials Mode
essentials.mode.notification.title=Essentials Mode is enabled
essentials.mode.notification.content = Essentials Mode may improve performance by limiting code highlighters and preview resource usage. \
  All highlighters will run on file saving actions.
essentials.mode.notification.ignore=ignore.essentials.mode.notification
essentials.mode.recommendation.title=Try Essentials Mode?
essentials.mode.recommendation.content=Switching to Essentials Mode may improve IDE performance. Background highlighters \
  and preview resources are limited until receiving a file saving action.

android.defender.config.prompt=<html>The IDE has detected Microsoft Defender with Real-Time Protection enabled. \
  It might severely degrade IDE performance. \
  It is recommended to make sure the following paths are added to the Defender folder exclusion list:<br>{0}<br><br> \
  If you previously excluded them either automatically or manually, please select "{2}". \
  Note: running "{1}" will ask for administrative privileges.</html>
android.defender.config.prompt.no.script=<html>The IDE has detected Microsoft Defender with Real-Time Protection enabled. \
  It might severely degrade IDE performance. \
  It is recommended to make sure the following paths are added to the Defender folder exclusion list:<br>{0}<br><br></html>
android.defender.config.failed=<html>Microsoft Defender configuration script failed. \
  Please look for "WindowsDefenderChecker" records in the log.<br><br> \
  Alternatively, you can try to configure Microsoft Defender manually.</html>
android.defender.config.failed.instructions=Configure manually
configurable.EssentialsModeSettingsPage.displayName=Essentials Mode
configurable.DeploymentConfigurable.displayName=Deployment
configurable.GradleCompilerSettingsConfigurable.displayName=Gradle-Android Compiler
advanced.setting.project.view.default=Set Project view as the default
group.advanced.settings.project.view=Project View
action.label.open.project.structure=Open project structure
action.label.code.style.notification.disable=Disable notification
action.label.code.style.notification.open.settings=Open code style settings
android.sdk.not.configured.notification=Android SDK is not configured for module ''{0}'' or corrupted
android.xml.code.style.notification=You can format your XML resources in the 'standard' Android way. Choose 'Set from... | Android' in the XML code style settings.
android.other.configuration=Other Configuration...
action.Android.DumpResourceTrace.text=Dump Resource Trace
action.Android.ToggleResourceTrace.text=Trace Resource Updates

action.ConvertToWebp.text=Convert to WebP\u2026
action.ConvertToWebp.description=Converts the PNG file to WebP

action.ConvertFromWebp.text=Convert to PNG\u2026
action.ConvertFromWebp.description=Converts the WebP file to PNG

android.project.open.permission.readonly.title=Write Permissions Issue
android.project.open.permission.readonly.message=This project folder has restricted write permissions. For full IDE functionality, \
  please grant write access to the directory and its contents before importing.

action.ReportProblem.text=Submit a Bug Report\u2026
action.ReportProblem.description=Submit a bug report to the Android Studio team
android.journeys.configuration.type.name=Journeys Test (experimental)
android.journeys.configuration.type.description=A Journeys-with-Gemini run configuration. This feature is experimental.
android.journeys.editor.toolbar.run.button.tooltip.enabled=Run Journey
android.journeys.editor.toolbar.run.button.tooltip.disabled.module=Run Journey (disabled): No Android module found
android.journeys.editor.toolbar.run.button.tooltip.disabled.build=Run Journey (disabled): No compatible build systems found
android.journeys.editor.toolbar.run.button.tooltip.disabled.indexing=Run Journey (disabled): Running Journeys is disabled during project indexing
android.journeys.editor.toolbar.run.button.tooltip.disabled.empty=Run Journey (disabled): Add actions to run the Journey
android.journeys.editor.error.loading.file=Error loading Journey file.
android.journeys.editor.error.parsing.file=Error parsing Journey file.

