? 950452-11.patch
? 950452-12.patch
? p.patch
Index: l10n_community/editor-rtl.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/editor-rtl.css,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 editor-rtl.css
--- l10n_community/editor-rtl.css	25 Jun 2010 08:01:04 -0000	1.1.2.1
+++ l10n_community/editor-rtl.css	4 Dec 2010 00:07:53 -0000
@@ -5,18 +5,18 @@
 }
 
 li.translation {
-  padding:4px 20px 4px 0;
-  clear:right;
+  direction: rtl;
+  padding: 4px 20px 4px 0;
+  clear: right;
 }
 
 li.translation > .selector {
   left: auto;
-  right:2px;
+  right: 2px;
 }
 
-
 .l10n-table ul.actions {
-  float:left;
+  float: left;
 }
   .l10n-table ul.actions {
     float: left;
@@ -24,30 +24,30 @@ li.translation > .selector {
     margin-left:4px;
   }
   .l10n-table ul.actions li {
-    float:left;
-    padding:0 4px 4px 0;
+    float: left;
+    padding: 0 4px 4px 0;
   }
   .l10n-table ul.actions li.declined label {
-    background:url(images/decline.png) no-repeat left top;
+    background: url(images/decline.png) no-repeat left top;
   }
   .l10n-table ul.actions li.edit label {
-    background:url(images/edit-rtl.png) no-repeat left top;
+    background: url(images/edit-rtl.png) no-repeat left top;
   }
   li.translation.is-declined > .actions li.declined label {
     background-image:url(images/undecline-rtl.png);
   }
 
 li.translation > .author {
-  padding-left:0;
-  padding-right:10px;
+  padding-left: 0;
+  padding-right: 10px;
 }
-    li.new-translation .l10n-string {
-      margin-right:0;
-      margin-left:6px;
-    }
+  li.new-translation .l10n-string {
+    margin-right: 0;
+    margin-left: 6px;
+  }
   li.new-translation textarea {
-    clear:right;
+    clear: right;
   }
   li.filter-match, label.filter-match {
     border-width: 0 0 1px 1px;
-  }
+  }
\ No newline at end of file
Index: l10n_community/editor.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/editor.css,v
retrieving revision 1.1.2.13
diff -u -p -r1.1.2.13 editor.css
--- l10n_community/editor.css	29 Jul 2010 12:34:49 -0000	1.1.2.13
+++ l10n_community/editor.css	4 Dec 2010 00:07:54 -0000
@@ -1,35 +1,37 @@
 /* $Id: editor.css,v 1.1.2.13 2010/07/29 12:34:49 goba Exp $ */
 
 body {
-  font-family:Verdana;
-  font-size:12px;
+  font-family: Verdana;
+  font-size: 12px;
 }
 
 
 #l10n-community-translate-form .sticky-header {
-  z-index:2;
+  z-index: 2;
 }
 
 .l10n-table .form-item {
-  margin:0;
-  padding:0;
+  margin: 0;
+  padding: 0;
 }
 
 .l10n-table {
   margin: 1em 0;
 }
 .l10n-table td {
-  vertical-align:top;
+  vertical-align: top;
   padding: 0.5em;
 }
 
-.l10n-table ul { margin:0; padding:0; }
-
+.l10n-table ul {
+  margin: 0;
+  padding: 0;
+}
 .l10n-table li {
   list-style: none;
   background: none;
-  padding:0;
-  margin:0;
+  padding: 0;
+  margin: 0;
 }
 
 #l10n-show-ids {
@@ -42,8 +44,8 @@ body {
   text-decoration: none;
 }
 td.source {
-  width:45%;
-  direction:ltr;
+  width: 45%;
+  direction: ltr;
 }
   td.source .l10n-sid {
     padding-right: 6px;
@@ -54,191 +56,192 @@ td.source {
   }
 
   td.source .l10n-usage {
-    padding:0 6px 6px 16px;
-    font-size:10px;
-    line-height:12px;
+    padding: 0 6px 6px 16px;
+    font-size: 10px;
+    line-height: 12px;
   }
   td.source .l10n-usage .l10n-more-info {
     padding-left: 16px;
   }
   td.source .l10n-usage .l10n-more-link {
-    font-size:10px;
-    text-decoration:none;
-    color:#000;
-    opacity:0.4;
+    font-size: 10px;
+    text-decoration: none;
+    color: #000;
+    opacity: 0.4;
   }
   td.source .l10n-usage .l10n-more-link:before {
-    content:"▾ ";
+    content: "▾ ";
   }
   td.source .l10n-usage .l10n-more-link:hover,
   td.source .l10n-usage .l10n-more-link:active {
-    color:#666;
+    color: #666;
   }
   td.source .l10n-usage li {
     list-style-type:disc;
-    background:none;
-    margin:0 0 0 22px;
-    padding:0;
+    background: none;
+    margin: 0 0 0 22px;
+    padding: 0;
   }
 
 li.translation {
-  padding:4px 0 4px 20px; /* LTR */
-  clear:left; /* LTR */
-  position:relative;
+  padding: 4px 0 4px 20px; /* LTR */
+  clear: left; /* LTR */
+  position: relative;
   -webkit-transition: opacity 0.2s ease-out;
 }
 
 li.translation > .selector {
-  position:absolute;
-  left:2px; /* LTR */
-  top:5px;
-  margin:0;
+  position: absolute;
+  left: 2px; /* LTR */
+  top: 5px;
+  margin: 0;
 }
 
 
 .l10n-table ul.actions {
-  float:right; /* LTR */
+  float: right; /* LTR */
 }
-  li.translation.is-active > .actions li.declined { display:none; }
+  li.translation.is-active > .actions li.declined { display: none; }
   .l10n-table ul.actions {
-    overflow:hidden;
+    overflow: hidden;
     float: right; /* LTR */
-    margin-right:4px; /* LTR */
-    -webkit-user-select:none;
+    margin-right: 4px; /* LTR */
+    -webkit-user-select: none;
   }
   .l10n-table ul.actions li {
-    float:right; /* LTR */
-    font-size:80%;
-    line-height:20px;
-    padding:0 0 4px 4px; /* LTR */
+    float: right; /* LTR */
+    font-size: 80%;
+    line-height: 20px;
+    padding: 0 0 4px 4px; /* LTR */
   }
   .l10n-table ul.actions li label {
-    width:16px;
-    height:16px;
-    overflow:hidden;
-    display:block;
-    text-indent:-1000px;
-    opacity:0.6;
-    cursor:pointer;
+    width: 16px;
+    height: 16px;
+    overflow: hidden;
+    display: block;
+    text-indent: -1000px;
+    opacity: 0.6;
+    cursor: pointer;
   }
   .l10n-table ul.actions li label:active {
-    position:relative; top:1px;
+    position: relative;
+    top: 1px;
   }
   .l10n-table ul.actions li.declined label {
-    background:url(images/decline.png) no-repeat right top; /* LTR */
+    background: url(images/decline.png) no-repeat right top; /* LTR */
   }
   .l10n-table ul.actions li.edit label {
-    background:url(images/edit.png) no-repeat right top; /* LTR */
+    background: url(images/edit.png) no-repeat right top; /* LTR */
   }
   li.translation.is-declined > .actions li.declined label {
-    background-image:url(images/undecline.png); /* LTR */
+    background-image: url(images/undecline.png); /* LTR */
   }
   li.translation:hover > .actions li label {
-    opacity:1;
+    opacity: 1;
   }
 
   .l10n-string > br {
-    display:block;
-    content:"";
-    height:1px;
-    background:#CCC;
-    margin:2px 0;
+    display: block;
+    content: "";
+    height: 1px;
+    background: #CCC;
+    margin: 2px 0;
   }
 
 li.translation .l10n-string,
 td.source .l10n-string {
-  display:block;
-  line-height:16px;
+  display: block;
+  line-height: 16px;
 }
   li.translation .l10n-string > span,
   td.source .l10n-string > span {
-    white-space:pre-wrap;
+    white-space: pre-wrap;
     -webkit-transition: opacity 0.2s ease-out;
   }
   li.translation.is-declined .l10n-string {
-    color:#999;
-    height:16px;
-    overflow:hidden;
-    text-decoration:line-through;
+    color: #999;
+    height: 16px;
+    overflow: hidden;
+    text-decoration: line-through;
   }
   li.translation.no-translation .l10n-string span {
-    font-style:italic;
-    color:#666;
+    font-style: italic;
+    color: #666;
   }
 
 
 li.translation > .author {
-  font-size:10px;
-  padding-left:10px; /* LTR */
-  line-height:12px;
-  color:#999;
+  font-size: 10px;
+  padding-left: 10px; /* LTR */
+  line-height: 12px;
+  color: #999;
 }
   li.translation.is-declined > .author {
-    display:none;
+    display: none;
   }
   li.translation > .author a {
-    color:#666;
+    color: #666;
   }
   li.translation > .author span[title] {
-    cursor:pointer;
+    cursor: pointer;
   }
 
 
   li.new-translation:not(.focused):not(.has-content):not(.is-active) > .l10n-string {
-    display:none;
+    display: none;
   }
   li.new-translation.has-content > .actions {
-      display:block;
+      display: block;
     }
     li.new-translation .l10n-string {
-      display:block;
-      margin-bottom:4px;
-      margin-right:6px; /* LTR */
+      display: block;
+      margin-bottom: 4px;
+      margin-right: 6px; /* LTR */
     }
     li.new-translation .l10n-string > span:after {
-      content:"*";
-      color:#E09010;
+      content: "*";
+      color: #E09010;
     }
     li.new-translation .l10n-string > span:empty:after {
-      content:attr(data-empty);
-      font-style:italic;
-      color:#666;
+      content: attr(data-empty);
+      font-style: italic;
+      color: #666;
     }
   li.new-translation > .form-item ~ .form-item {
-    margin-top:5px;
+    margin-top: 5px;
   }
   li.new-translation:not(.has-content):not(.focused) > .form-item ~ .form-item {
-    display:none;
+    display: none;
   }
   li.new-translation textarea {
-    height:60px;
-    clear:left; /* LTR */
-    width:100%;
-    padding:0;
-    margin:0;
-    font-size:100%;
-    font-family:inherit;
+    height: 60px;
+    clear: left; /* LTR */
+    width: 100%;
+    padding: 0;
+    margin: 0;
+    font-size: 100%;
+    font-family: inherit;
     -webkit-transition: height 0.2s ease-out;
   }
   li.new-translation:not(.focused) textarea:not(:focus):hover {
-    opacity:0.75;
+    opacity: 0.75;
   }
   li.new-translation:not(.focused) .grippie {
-    visibility:hidden;
-    margin-bottom:-9px;
+    visibility: hidden;
+    margin-bottom: -9px;
   }
   li.new-translation textarea:not(:focus) {
-    height:19px !important;
-    overflow:hidden;
-    resize:none;
+    height: 19px !important;
+    overflow: hidden;
+    resize: none;
   }
   li.new-translation:not(.focused) textarea {
-    opacity:0.5 !important;
+    opacity: 0.5 !important;
   }
   li.new-translation.focused textarea {
-    opacity:1;
-    position:relative;
-    z-index:1;
+    opacity: 1;
+    position: relative;
+    z-index: 1;
   }
   li.filter-match, label.filter-match {
     -moz-border-radius: 4px;
@@ -258,58 +261,58 @@ span.l10n-nl::after,
 em.l10n-placeholder,
 code
  {
-  font-family:Menlo, Monaco, Consolas, "Lucida Console", monospace;
-  font-size:12px;
-  line-height:14px;
+  font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
+  font-size: 12px;
+  line-height: 14px;
 }
 
 
 
 
 .l10n-string span.l10n-nl::after {
-  content:"¬";
-  opacity:0.4;
-  line-height:19px;
-  vertical-align:top;
+  content: "¬";
+  opacity: 0.4;
+  line-height: 19px;
+  vertical-align: top;
 }
 
 
 .l10n-string code,
 .l10n-string em.l10n-placeholder {
-  background:transparent;
-  padding:0 1px;
-  margin:0 -1px;
-  -webkit-border-radius:4px;
-  -moz-border-radius:4px;
-  border:1px solid transparent;
-  font-style:normal;
+  background: transparent;
+  padding: 0 1px;
+  margin: 0 -1px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border: 1px solid transparent;
+  font-style: normal;
 }
 
 tr:hover .l10n-string code,
 tr:hover .l10n-string em.l10n-placeholder {
-  background:rgba(0,0,0,0.05);
+  background: rgba(0,0,0,0.05);
 }
 
 tr:hover .l10n-string em.l10n-placeholder {
 }
 
 tr:hover .l10n-string em.l10n-placeholder.highlight {
-border-color:rgba(0,0,0,0.2);
-  background:rgba(0,0,0,0.1);
+border-color: rgba(0,0,0,0.2);
+  background: rgba(0,0,0,0.1);
 }
 
 .l10n-string code em.l10n-placeholder {
-  top:0;
+  top: 0;
 }
 
 .l10n-string span.worddiff-del del,
 .l10n-string span.worddiff-ins ins {
   text-decoration: none;
-  border:1px solid transparent;
-  -webkit-border-radius:4px;
-  -moz-border-radius:4px;
-  padding:0;
-  margin:0 -1px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  padding: 0;
+  margin: 0 -1px;
 }
 
 .l10n-string > span.worddiff-del { background: #FFD8D8; }
Index: l10n_community/l10n_community-rtl.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/l10n_community-rtl.css,v
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.2 l10n_community-rtl.css
--- l10n_community/l10n_community-rtl.css	25 Oct 2010 11:32:36 -0000	1.1.2.2
+++ l10n_community/l10n_community-rtl.css	4 Dec 2010 00:07:54 -0000
@@ -44,16 +44,12 @@ div.admin .l10n-next-action {
 }
 
 #autocomplete {
-  text-align:right;
+  text-align: right;
 }
 
 #edit-release {
-  text-align:right;
-  text-indent:-0.5em;
+  text-align: right;
+  text-indent: -0.5em;
 }
 
-/* Existing translations and editing UI */
-td.translation label.l10n-string,
-td.translation textarea {
-  direction: rtl;
-}
+/* Existing translations and editing UI */
\ No newline at end of file
Index: l10n_community/l10n_community.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/l10n_community.module,v
retrieving revision 1.1.2.23.2.66.2.22
diff -u -p -r1.1.2.23.2.66.2.22 l10n_community.module
--- l10n_community/l10n_community.module	1 Sep 2010 15:40:21 -0000	1.1.2.23.2.66.2.22
+++ l10n_community/l10n_community.module	4 Dec 2010 00:07:56 -0000
@@ -306,6 +306,17 @@ function l10n_community_init() {
     // For the translation overview pages. This is used to present admin page like panels.
     drupal_add_css(drupal_get_path('module', 'system') .'/admin.css', 'module');
   }
+
+  // Check if language is RTL
+  if (array_key_exists(arg(2), locale_language_list())) {
+    $langcode = arg(2);
+    $language = l10n_community_get_language($langcode);
+
+    // Add RTL style if the current language's direction is RTL
+    if ($language->direction == LANGUAGE_RTL) {
+      drupal_add_css(drupal_get_path('module', 'l10n_community') .'/l10n_community-rtl.css', 'module');
+    }
+  }
 }
 
 /**
Index: l10n_community/translate.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/translate.inc,v
retrieving revision 1.1.2.7.2.31.2.27
diff -u -p -r1.1.2.7.2.31.2.27 translate.inc
--- l10n_community/translate.inc	24 Jun 2010 16:00:59 -0000	1.1.2.7.2.31.2.27
+++ l10n_community/translate.inc	4 Dec 2010 00:07:57 -0000
@@ -245,6 +245,11 @@ function l10n_community_translate_page($
   l10n_community_add_url_modifiers($langcode, $filters);
   $strings = l10n_community_get_strings($langcode, $filters, $filters['limit']);
 
+  // Add RTL style if the current language's direction is RTL
+  if ($language->direction == LANGUAGE_RTL) {
+    drupal_add_css(drupal_get_path('module', 'l10n_community') .'/editor-rtl.css');
+  }
+
   // Set the most appropriate title.
   if ($filters['project']) {
     drupal_set_title(t('Translate %project to @language', array('%project' => $filters['project']->title, '@language' => t($language->name))));
