diff --git a/documents/eclipse-foundation-be-bylaws-en.pdf b/documents/eclipse-foundation-be-bylaws-en.pdf
new file mode 100644
index 0000000..5a0a9f9
--- /dev/null
+++ b/documents/eclipse-foundation-be-bylaws-en.pdf
Binary files differ
diff --git a/documents/eclipse-foundation-be-bylaws-fr.pdf b/documents/eclipse-foundation-be-bylaws-fr.pdf
new file mode 100644
index 0000000..8f50074
--- /dev/null
+++ b/documents/eclipse-foundation-be-bylaws-fr.pdf
Binary files differ
diff --git a/documents/eclipse-foundation-membership-agreement.pdf b/documents/eclipse-foundation-membership-agreement.pdf
new file mode 100644
index 0000000..faacde1
--- /dev/null
+++ b/documents/eclipse-foundation-membership-agreement.pdf
Binary files differ
diff --git a/documents/eclipse_foundation-bylaws.pdf b/documents/eclipse-foundation-us-bylaws.pdf
similarity index 100%
rename from documents/eclipse_foundation-bylaws.pdf
rename to documents/eclipse-foundation-us-bylaws.pdf
Binary files differ
diff --git a/documents/eclipse_membership_agreement.pdf b/documents/eclipse-foundation-us-membership-agreement.pdf
similarity index 100%
rename from documents/eclipse_membership_agreement.pdf
rename to documents/eclipse-foundation-us-membership-agreement.pdf
Binary files differ
diff --git a/documents/index.php b/documents/index.php
index e313656..c2d1cdf 100644
--- a/documents/index.php
+++ b/documents/index.php
@@ -29,18 +29,20 @@
 $documents = array();
 $doc = new FoundationDocument();
 $doc->setTitle('Bylaws');
-$doc->setDescription('The Bylaws lay out the basic rules of governance of the Eclipse Foundation.');
-//$doc->setDescription('The Bylaws of our Delaware incorporated US organization can be found <a href="eclipse-foundation-inc-bylaws.pdf">here</a>.');
-//$doc->setLink('eclipse-foundation-be-bylaws.pdf');
-$doc->setLink('eclipse_foundation-bylaws.pdf');
+$doc->setDescription('The Bylaws lay out the basic rules of governance of the Eclipse Foundation.
+The <a href="eclipse-foundation-be-bylaws-fr.pdf">French</a> language version is the legal binding version of the Eclipse Foundation Bylaws.
+The <a href="eclipse-foundation-be-bylaws-en.pdf">English</a> translated version is provided as a convenience.');
+$doc->setDescription('The Bylaws of our Delaware incorporated US organization can be found <a href="eclipse-foundation-us-bylaws.pdf">here</a>.');
+$doc->setLink('eclipse-foundation-be-bylaws-en.pdf', 'English');
+$doc->setLink('eclipse-foundation-be-bylaws-fr.pdf', 'Fran&ccedil;ais');
+
 $documents['Governance Documents']['bylaws'] = $doc;
 
 $doc = new FoundationDocument();
 $doc->setTitle('Membership Agreement');
 $doc->setDescription('The Membership Agreement describes the rights and responsibilities for each class of member in the Eclipse Foundation.');
-//$doc->setDescription('The Membership Agreement for our Delaware incorporated US organization can be found <a href="eclipse-foundation-inc-membership-agreement.pdf">here</a>.');
-//$doc->setLink('eclipse-foundation-be-membership-agreement.pdf');
-$doc->setLink('eclipse_membership_agreement.pdf');
+$doc->setDescription('The Membership Agreement for our Delaware incorporated US organization can be found <a href="eclipse-foundation-us-membership-agreement.pdf">here</a>.');
+$doc->setLink('eclipse-foundation-membership-agreement.pdf');
 $documents['Governance Documents']['membership_agreement'] = $doc;
 
 $doc = new FoundationDocument();
@@ -55,14 +57,6 @@
 $doc->setLink('Eclipse_Antitrust_Policy.pdf');
 $documents['Governance Documents']['antitrust_policy'] = $doc;
 
-/*
-$doc = new FoundationDocument();
-$doc->setTitle('EPL (Eclipse Public License)');
-$doc->setDescription('The Eclipse Public License is the software license used by many Eclipse projects. The Eclipse Foundation is the agreement steward of the EPL.');
-$doc->setLink('epl-2.0/EPL-2.0.pdf');
-$documents['Governance Documents']['epl'] = $doc;
-*/
-
 $doc = new FoundationDocument();
 $doc->setTitle('Development Process');
 $doc->setDescription('The Eclipse Foundation Development Process (EDP) describes the fundamental rules for creating and governing projects at the Eclipse community.');
diff --git a/documents/src/FoundationDocument.class.php b/documents/src/FoundationDocument.class.php
index 3f14e08..341f724 100644
--- a/documents/src/FoundationDocument.class.php
+++ b/documents/src/FoundationDocument.class.php
@@ -28,18 +28,21 @@
     return implode('<br/><br/>', $this->description);
   }
 
-  public function setLink($url, $text = 'Read More') {
-    $this->links = array(
+  public function setLink($url, $text = 'Read more') {
+    $this->links[] = array(
       'url' => $url,
       'text' => $text
     );
   }
 
   public function getLink() {
-    if (empty($this->links)) {
-      return '';
+    $links = array();
+    if (!empty($this->links)) {
+      foreach ($this->links as $link) {
+        $links[] = '<a href="' . $link['url'] . '" class="btn-sm btn  btn-primary" style="width:100%; font-size:12px;">' . $link['text'] . '</a>';
+      }
     }
-    return '<a href="' . $this->links['url'] . '" class="btn-sm btn  btn-primary" style="width:100%; font-size:12px;">' . $this->links['text'] . '</a>';
+    return implode('<br/><br/>', $links);
   }
 
   public function getTableRow() {
