diff --git a/core/modules/locale/locale.batch.inc b/core/modules/locale/locale.batch.inc
index f2e7330..2fa3d9c 100644
--- a/core/modules/locale/locale.batch.inc
+++ b/core/modules/locale/locale.batch.inc
@@ -25,7 +25,7 @@
  * @param string $langcode
  *   Language code of the language for which to check the translation.
  * @param array $options
- *   Optional, an array with options that can have the following elements:
+ *   An array with options that can have the following elements:
  *   - 'finish_feedback': Whether or not to give feedback to the user when the
  *     batch is finished. Optional, defaults to TRUE.
  *   - 'use_remote': Whether or not to check the remote translation file.
@@ -33,7 +33,7 @@
  * @param array $context
  *   The batch context.
  */
-function locale_translation_batch_status_check($project, $langcode, $options = array(), &$context) {
+function locale_translation_batch_status_check($project, $langcode, array $options, &$context) {
   $failure = $checked = FALSE;
   $options += array(
     'finish_feedback' => TRUE,
diff --git a/core/modules/locale/locale.bulk.inc b/core/modules/locale/locale.bulk.inc
index f1fe8e8..3de91d9 100644
--- a/core/modules/locale/locale.bulk.inc
+++ b/core/modules/locale/locale.bulk.inc
@@ -25,15 +25,18 @@
  *   - 'finish_feedback': Whether or not to give feedback to the user when the
  *     batch is finished. Optional, defaults to TRUE.
  *
- * @param $force
+ * @param bool $force
  *   (optional) Import all available files, even if they were imported before.
  *
+ * @return array|bool
+ *   The batch structure, or FALSE if no files used to build the batch.
+ *
  * @todo
  *   Integrate with update status to identify projects needed and integrate
  *   l10n_update functionality to feed in translation files alike.
  *   See http://drupal.org/node/1191488.
  */
-function locale_translate_batch_import_files($options, $force = FALSE) {
+function locale_translate_batch_import_files(array $options, $force = FALSE) {
   $options += array(
     'overwrite_options' => array(),
     'customized' => LOCALE_NOT_CUSTOMIZED,
@@ -72,16 +75,16 @@ function locale_translate_batch_import_files($options, $force = FALSE) {
  * Get interface translation files present in the translations directory.
  *
  * @param array $projects
- *   Project names from which to get the translation files and history.
- *   Defaults to all projects.
+ *   (optional) Project names from which to get the translation files and
+ *   history. Defaults to all projects.
  * @param array $langcodes
- *   Language codes from which to  get the translation files and history.
- *   Defaults to all languagues
+ *   (optional) Language codes from which to  get the translation files and
+ *   history. Defaults to all languages.
  *
  * @return array
  *   An array of interface translation files keyed by their URI.
  */
-function locale_translate_get_interface_translation_files($projects = array(), $langcodes = array()) {
+function locale_translate_get_interface_translation_files(array $projects = array(), array $langcodes = array()) {
   module_load_include('compare.inc', 'locale');
   $files = array();
   $projects = $projects ? $projects : array_keys(locale_translation_get_projects());
@@ -110,7 +113,7 @@ function locale_translate_get_interface_translation_files($projects = array(), $
 /**
  * Build a locale batch from an array of files.
  *
- * @param $files
+ * @param array $files
  *   Array of file objects to import.
  *
  * @param array $options
@@ -126,10 +129,10 @@ function locale_translate_get_interface_translation_files($projects = array(), $
  *   - 'finish_feedback': Whether or not to give feedback to the user when the
  *     batch is finished. Optional, defaults to TRUE.
  *
- * @return
+ * @return array|bool
  *   A batch structure or FALSE if $files was empty.
  */
-function locale_translate_batch_build($files, $options) {
+function locale_translate_batch_build(array $files, array $options) {
   $options += array(
     'overwrite_options' => array(),
     'customized' => LOCALE_NOT_CUSTOMIZED,
@@ -183,10 +186,10 @@ function locale_translate_batch_build($files, $options) {
  *   - 'message': Alternative message to display during import. Note, this must
  *     be sanitized text.
  *
- * @param $context
+ * @param array $context
  *   Contains a list of files imported.
  */
-function locale_translate_batch_import($file, $options, &$context) {
+function locale_translate_batch_import($file, array $options, array &$context) {
   // Merge the default values in the $options array.
   $options += array(
     'overwrite_options' => array(),
@@ -264,10 +267,10 @@ function locale_translate_batch_import($file, $options, &$context) {
 /**
  * Batch callback: Save data of imported files.
  *
- * @param $context
+ * @param array $context
  *   Contains a list of imported files.
  */
-function locale_translate_batch_import_save($context) {
+function locale_translate_batch_import_save(array $context) {
   if (isset($context['results']['files'])) {
     foreach ($context['results']['files'] as $file) {
       // Update the file history if both project and version are known. This
@@ -341,8 +344,11 @@ function locale_translate_batch_refresh(array &$context) {
 
 /**
  * Finished callback of system page locale import batch.
+ *
+ * @param bool $success
+ * @param array $results
  */
-function locale_translate_batch_finished($success, $results) {
+function locale_translate_batch_finished($success, array $results) {
   $logger = \Drupal::logger('locale');
   if ($success) {
     $additions = $updates = $deletes = $skips = $config = 0;
@@ -398,10 +404,10 @@ function locale_translate_batch_finished($success, $results) {
 /**
  * Creates a file object and populates the timestamp property.
  *
- * @param $filepath
+ * @param string $filepath
  *   The filepath of a file to import.
  *
- * @return
+ * @return object
  *   An object representing the file.
  */
 function locale_translate_file_create($filepath) {
@@ -429,7 +435,7 @@ function locale_translate_file_create($filepath) {
  * @return object
  *   Modified file object.
  */
-function locale_translate_file_attach_properties($file, $options = array()) {
+function locale_translate_file_attach_properties($file, array $options = array()) {
   // If $file is a file entity, convert it to a stdClass.
   if ($file instanceof FileInterface) {
     $file = (object) array(
@@ -470,17 +476,17 @@ function locale_translate_file_attach_properties($file, $options = array()) {
  * Deletes interface translation files and translation history records.
  *
  * @param array $projects
- *   Project names from which to delete the translation files and history.
- *   Defaults to all projects.
+ *   (optional) Project names from which to delete the translation files and
+ *   history. Defaults to all projects.
  * @param array $langcodes
- *   Language codes from which to delete the translation files and history.
- *   Defaults to all languagues
+ *   (optional) Language codes from which to delete the translation files and
+ *   history. Defaults to all languages.
  *
- * @return boolean
+ * @return bool
  *   TRUE if files are removed successfully. FALSE if one or more files could
  *   not be deleted.
  */
-function locale_translate_delete_translation_files($projects = array(), $langcodes = array()) {
+function locale_translate_delete_translation_files(array $projects = array(), array $langcodes = array()) {
   $fail = FALSE;
   locale_translation_file_history_delete($projects, $langcodes);
 
@@ -512,7 +518,7 @@ function locale_translate_delete_translation_files($projects = array(), $langcod
  * @return array
  *   The batch definition.
  */
-function locale_config_batch_update_components(array $options, $langcodes = array(), $components = array()) {
+function locale_config_batch_update_components(array $options, array $langcodes = array(), array $components = array()) {
   $langcodes = $langcodes ? $langcodes : array_keys(locale_translatable_language_list());
   if ($langcodes && $names = \Drupal\locale\Locale::config()->getComponentNames($components)) {
     return locale_config_batch_build($names, $langcodes, $options);
@@ -536,7 +542,7 @@ function locale_config_batch_update_components(array $options, $langcodes = arra
  *
  * @see locale_config_batch_refresh_name()
  */
-function locale_config_batch_build(array $names, array $langcodes, $options = array()) {
+function locale_config_batch_build(array $names, array $langcodes, array $options = array()) {
   $options += array('finish_feedback' => TRUE);
   $i = 0;
   $batch_names = array();
@@ -571,8 +577,8 @@ function locale_config_batch_build(array $names, array $langcodes, $options = ar
 /**
  * Performs configuration translation refresh as a batch step.
  *
- * @param string $name
- *   Name of configuration object to update.
+ * @param array $names
+ *   An array of names of configuration objects to update.
  * @param array $langcodes
  *   (optional) Array of language codes to update. Defaults to all languages.
  * @param array $context
@@ -627,7 +633,7 @@ function locale_config_batch_finished($success, array $results) {
  * @return int
  *   Number of configuration objects retranslated.
  */
-function locale_config_update_multiple(array $names, $langcodes = array()) {
+function locale_config_update_multiple(array $names, array $langcodes = array()) {
   $langcodes = $langcodes ? $langcodes : array_keys(locale_translatable_language_list());
   $count = 0;
   foreach ($names as $name) {
diff --git a/core/modules/locale/locale.pages.inc b/core/modules/locale/locale.pages.inc
index 8a07c4c..ccb5cda 100644
--- a/core/modules/locale/locale.pages.inc
+++ b/core/modules/locale/locale.pages.inc
@@ -245,7 +245,7 @@ function locale_translation_language_table($form_element) {
  * @return string
  *   The string which contains debug information.
  */
-function _locale_translation_status_debug_info($source) {
+function _locale_translation_status_debug_info(array $source) {
   $remote_path = isset($source->files['remote']->uri) ? $source->files['remote']->uri : '';
   $local_path = isset($source->files['local']->uri) ? $source->files['local']->uri : '';
 
@@ -271,10 +271,13 @@ function _locale_translation_status_debug_info($source) {
  *   An associative array containing:
  *   - form: The form that contains the language information.
  *
+ * @return string
+ *   The themed output.
+ *
  * @see locale_translate_edit_form()
  * @ingroup themeable
  */
-function theme_locale_translate_edit_form_strings($variables) {
+function theme_locale_translate_edit_form_strings(array $variables) {
   $output = '';
   $form = $variables['form'];
   $header = array(
@@ -323,7 +326,7 @@ function theme_locale_translate_edit_form_strings($variables) {
  *
  * @see locale_translation_status_form()
  */
-function template_preprocess_locale_translation_update_info(&$variables) {
+function template_preprocess_locale_translation_update_info(array &$variables) {
   $details = array();
 
   // Build output for available updates.
@@ -375,13 +378,13 @@ function template_preprocess_locale_translation_update_info(&$variables) {
  *
  * Default template: locale-translation-last-check.html.twig.
  *
- * @param $variables
+ * @param array $variables
  *   An associative array containing:
  *   - last: The timestamp when the site last checked for available updates.
  *
  * @see locale_translation_status_form()
  */
-function template_preprocess_locale_translation_last_check(&$variables) {
+function template_preprocess_locale_translation_last_check(array &$variables) {
   $last = $variables['last'];
   $variables['last_checked'] = ($last != NULL);
   $variables['time'] = format_interval(REQUEST_TIME - $last);
diff --git a/core/modules/locale/locale.translation.inc b/core/modules/locale/locale.translation.inc
index fab2a21..022c49f 100644
--- a/core/modules/locale/locale.translation.inc
+++ b/core/modules/locale/locale.translation.inc
@@ -41,7 +41,7 @@
  * disabled this function will return the last known module state. The status
  * will only be updated once Update module is enabled.
  *
- *  @params array $project_names
+ *  @param array $project_names
  *    Array of names of the projects to get.
  *
  * @return array
@@ -49,7 +49,7 @@
  *
  * @see locale_translation_build_projects()
  */
-function locale_translation_get_projects($project_names = array()) {
+function locale_translation_get_projects(array $project_names = array()) {
   $projects = &drupal_static(__FUNCTION__, array());
 
   if (empty($projects)) {
@@ -98,7 +98,7 @@ function locale_translation_clear_cache_projects() {
  *
  * @see locale_translation_source_build()
  */
-function locale_translation_load_sources($projects = NULL, $langcodes = NULL) {
+function locale_translation_load_sources(array $projects = NULL, array $langcodes = NULL) {
   $sources = array();
   $projects = $projects ? $projects : array_keys(locale_translation_get_projects());
   $langcodes = $langcodes ? $langcodes : array_keys(locale_translatable_language_list());
@@ -128,7 +128,7 @@ function locale_translation_load_sources($projects = NULL, $langcodes = NULL) {
  *
  * @see locale_translation_source_build()
  */
-function locale_translation_build_sources($projects = array(), $langcodes = array()) {
+function locale_translation_build_sources(array $projects = array(), array $langcodes = array()) {
   $sources = array();
   $projects = locale_translation_get_projects($projects);
   $langcodes = $langcodes ? $langcodes : array_keys(locale_translatable_language_list());
@@ -158,7 +158,7 @@ function locale_translation_build_sources($projects = array(), $langcodes = arra
  * @param object $source
  *   Translation source object.
  *
- * @return stdClass
+ * @return object
  *   Source file object of the po file, updated with:
  *   - "uri": File name and path.
  *   - "timestamp": Last updated time of the po file.
@@ -190,7 +190,8 @@ function locale_translation_source_check_file($source) {
  * @param string $langcode
  *   Language code.
  * @param string $filename
- *   File name of translation file. May contain placeholders.
+ *   (optional) File name of translation file. May contain placeholders.
+ *   Defaults to the default translation filename from the settings.
  *
  * @return object
  *   Source object:
@@ -367,7 +368,7 @@ function locale_cron_fill_queue() {
  * @param string $uri
  *   The URI or URI pattern of the file.
  *
- * @return boolean
+ * @return bool
  *   TRUE if the $uri is a remote file.
  */
 function _locale_translation_file_is_remote($uri) {
@@ -389,7 +390,7 @@ function _locale_translation_file_is_remote($uri) {
  * @param object $source2
  *   Source object of available update.
  *
- * @return integer
+ * @return int
  *   - "LOCALE_TRANSLATION_SOURCE_COMPARE_LT": $source1 < $source2 OR $source1
  *     is missing.
  *   - "LOCALE_TRANSLATION_SOURCE_COMPARE_EQ":  $source1 == $source2 OR both
diff --git a/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php b/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
index d822f10..cf2f4af 100644
--- a/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
+++ b/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
@@ -311,10 +311,10 @@ function testConfigPoFile() {
   /**
    * Helper function: import a standalone .po file in a given language.
    *
-   * @param $contents
+   * @param string $contents
    *   Contents of the .po file to import.
-   * @param $options
-   *   Additional options to pass to the translation import form.
+   * @param array $options
+   *   (optional) Additional options to pass to the translation import form.
    */
   function importPoFile($contents, array $options = array()) {
     $name = tempnam('temporary://', "po_") . '.po';
diff --git a/core/modules/locale/src/Tests/LocalePluralFormatTest.php b/core/modules/locale/src/Tests/LocalePluralFormatTest.php
index c8adf97..731600a 100644
--- a/core/modules/locale/src/Tests/LocalePluralFormatTest.php
+++ b/core/modules/locale/src/Tests/LocalePluralFormatTest.php
@@ -270,9 +270,9 @@ function testPluralEditExport() {
   /**
    * Imports a standalone .po file in a given language.
    *
-   * @param $contents
+   * @param string $contents
    *   Contents of the .po file to import.
-   * @param $options
+   * @param array $options
    *   Additional options to pass to the translation import form.
    */
   function importPoFile($contents, array $options = array()) {
diff --git a/core/modules/locale/src/Tests/LocaleUpdateBase.php b/core/modules/locale/src/Tests/LocaleUpdateBase.php
index a7895b9..19880c3 100644
--- a/core/modules/locale/src/Tests/LocaleUpdateBase.php
+++ b/core/modules/locale/src/Tests/LocaleUpdateBase.php
@@ -74,7 +74,7 @@ protected function setTranslationsDirectory($path) {
   /**
    * Adds a language.
    *
-   * @param $langcode
+   * @param string $langcode
    *   The language code of the language to add.
    */
   protected function addLanguage($langcode) {
@@ -91,14 +91,14 @@ protected function addLanguage($langcode) {
    *   Path of the file relative to the public file path.
    * @param string $filename
    *   Name of the file to create.
-   * @param integer $timestamp
+   * @param int $timestamp
    *   Timestamp to set the file to. Defaults to current time.
    * @param array $translations
    *   Array of source/target value translation strings. Only singular strings
    *   are supported, no plurals. No double quotes are allowed in source and
    *   translations strings.
    */
-  protected function makePoFile($path, $filename, $timestamp = NULL, $translations = array()) {
+  protected function makePoFile($path, $filename, $timestamp = NULL, array $translations = array()) {
     $timestamp = $timestamp ? $timestamp : REQUEST_TIME;
     $path = 'public://' . $path;
     $text = '';
