diff --git a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
index e4058ef..50dbf6f 100644
--- a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
@@ -1355,6 +1355,7 @@ protected function renderAsLink($alter, $text, $tokens) {
       'entity_type' => NULL,
       'fragment' => NULL,
       'language' => NULL,
+      'path_processing' => TRUE,
       'query' => [],
     );
 
diff --git a/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php b/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
index 4488032..0bd4078 100644
--- a/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
@@ -7,6 +7,8 @@
 
 namespace Drupal\views\Tests\Handler;
 
+use Drupal\language\Entity\ConfigurableLanguage;
+
 /**
  * Tests the dropbutton field handler.
  *
@@ -27,7 +29,7 @@ class FieldDropButtonTest extends HandlerTestBase {
    *
    * @var array
    */
-  public static $modules = array('node');
+  public static $modules = array('node', 'locale');
 
   /**
    * {@inheritdoc}
@@ -51,6 +53,8 @@ public function testDropbutton() {
 
     $this->drupalGet('test-dropbutton');
     foreach ($nodes as $node) {
+      $result = $this->xpath('//div[contains(@class, views-field-nothing)]/span/a[contains(@href, :path) and text()=:title]', array(':path' => '/node/' . $node->id(), ':title' => t('Custom Text')));
+      $this->assertEqual(count($result), 1, 'Just one custom text was found.');
       $result = $this->xpath('//ul[contains(@class, dropbutton)]/li/a[contains(@href, :path) and text()=:title]', array(':path' => '/node/' . $node->id(), ':title' => $node->label()));
       $this->assertEqual(count($result), 1, 'Just one node title link was found.');
       $result = $this->xpath('//ul[contains(@class, dropbutton)]/li/a[contains(@href, :path) and text()=:title]', array(':path' => '/node/' . $node->id(), ':title' => t('Custom Text')));
@@ -66,4 +70,28 @@ public function testDropbutton() {
     $this->assertRaw('dropbutton.js');
   }
 
+  /**
+   * Tests dropbutton field with translation.
+   */
+  public function testDropbuttonWithTranslation() {
+    // Create some test nodes.
+    $nodes = array();
+    for ($i = 0; $i < 5; $i++) {
+      $nodes[] = $this->drupalCreateNode();
+    }
+
+    // Add the Italian language.
+    ConfigurableLanguage::createFromLangcode('it')->save();
+
+    $this->drupalGet('it/test-dropbutton');
+    foreach ($nodes as $node) {
+      $result = $this->xpath('//div[contains(@class, views-field-nothing)]/span/a[contains(@href, :path) and text()=:title]', array(':path' => '/it/node/' . $node->id(), ':title' => t('Custom Text')));
+      $this->assertEqual(count($result), 1, 'Just one custom text was found.');
+      $result = $this->xpath('//ul[contains(@class, dropbutton)]/li/a[contains(@href, :path) and text()=:title]', array(':path' => '/it/node/' . $node->id(), ':title' => $node->label()));
+      $this->assertEqual(count($result), 1, 'Just one node title link was found.');
+      $result = $this->xpath('//ul[contains(@class, dropbutton)]/li/a[contains(@href, :path) and text()=:title]', array(':path' => '/it/node/' . $node->id(), ':title' => t('Custom Text')));
+      $this->assertEqual(count($result), 1, 'Just one custom link was found.');
+    }
+  }
+
 }
diff --git a/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php b/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
index 66ba207..da19688 100644
--- a/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
+++ b/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
@@ -144,7 +144,7 @@ protected function setUp() {
     $route_provider->expects($this->any())
       ->method('getRouteByName')
       ->with('test_route')
-      ->willReturn(new Route('/test-path'));
+      ->willReturn(new Route('/test-path/{test}', ['test' => 123]));
 
     $this->urlGenerator = $this->getMock('Drupal\Core\Routing\UrlGeneratorInterface');
     $this->pathValidator = $this->getMock('Drupal\Core\Path\PathValidatorInterface');
@@ -495,8 +495,8 @@ public function providerTestRenderAsLinkWithUrlAndOptions() {
    * @dataProvider providerTestRenderAsLinkWithPathAndTokens
    * @covers ::renderAsLink
    */
-  public function testRenderAsLinkWithPathAndTokens($path, $tokens, $link_html) {
-    $alter = [
+  public function testRenderAsLinkWithPathAndTokens($path, $alter, $tokens, $link_html) {
+    $alter += [
       'make_link' => TRUE,
       'path' => $path,
     ];
@@ -520,6 +520,21 @@ public function testRenderAsLinkWithPathAndTokens($path, $tokens, $link_html) {
       ->with($build)
       ->willReturn('base:test-path/123');
 
+    $url = Url::fromRoute('test_route', ['test' => 123]);
+    $url->setUrlGenerator($this->urlGenerator);
+
+    $prefix = !empty($alter['language']) ? '/' . $alter['language']->getId() : '';
+
+    $this->urlGenerator->expects($this->once())
+      ->method('generateFromRoute')
+      ->with($url->getRouteName(), $url->getRouteParameters())
+      ->willReturn($prefix . '/test-path/123');
+
+    $this->pathValidator->expects($this->at(1))
+      ->method('getUrlIfValidWithoutAccessCheck')
+      ->with('test-path/123')
+      ->willReturn($url);
+
     $result = $field->advancedRender($row);
     $this->assertEquals($link_html, $result);
   }
@@ -536,15 +551,19 @@ public function providerTestRenderAsLinkWithPathAndTokens() {
 
     $data = [];
 
-    $data[] = ['test-path/{{foo}}', $tokens, $link_html];
-    $data[] = ['test-path/{{ foo}}', $tokens, $link_html];
-    $data[] = ['test-path/{{  foo}}', $tokens, $link_html];
-    $data[] = ['test-path/{{foo }}', $tokens, $link_html];
-    $data[] = ['test-path/{{foo  }}', $tokens, $link_html];
-    $data[] = ['test-path/{{ foo }}', $tokens, $link_html];
-    $data[] = ['test-path/{{  foo }}', $tokens, $link_html];
-    $data[] = ['test-path/{{ foo  }}', $tokens, $link_html];
-    $data[] = ['test-path/{{  foo  }}', $tokens, $link_html];
+    $data[] = ['test-path/{{foo}}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{ foo}}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{  foo}}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{foo }}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{foo  }}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{ foo }}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{  foo }}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{ foo  }}', [], $tokens, $link_html];
+    $data[] = ['test-path/{{  foo  }}', [], $tokens, $link_html];
+
+    $language = new Language(['id' => 'fr']);
+    $options = ['language' => $language];
+    $data[] = ['test-path/{{foo}}', $options, $tokens, '<a href="/fr/test-path/123" hreflang="fr">value</a>'];
 
     return $data;
   }
