aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Comuni <fabrix.xm@gmail.com>2011-01-28 10:08:39 +0100
committerFabio Comuni <fabrix.xm@gmail.com>2011-01-28 10:08:39 +0100
commitbf8dadb9700fd0600a38116bf03588883350aab1 (patch)
treea0f4c07381c9c32aff694ecceaad37bf5fdf8aa4
parent444d82a5328433fbe48e18b928d35218905a756c (diff)
parent5d77bd9489763721b8f3e4a51c8cef1181276157 (diff)
downloadvolse-hubzilla-bf8dadb9700fd0600a38116bf03588883350aab1.tar.gz
volse-hubzilla-bf8dadb9700fd0600a38116bf03588883350aab1.tar.bz2
volse-hubzilla-bf8dadb9700fd0600a38116bf03588883350aab1.zip
Merge remote branch 'friendika-master/master'
-rw-r--r--addon/java_upload/java_upload.php72
-rw-r--r--addon/java_upload/jumploader_z.jarbin0 -> 962772 bytes
-rw-r--r--addon/js_upload/js_upload.php178
-rw-r--r--boot.php6
-rw-r--r--htconfig.php8
-rw-r--r--include/bbcode.php6
-rw-r--r--jumploader_z.jarbin1250394 -> 0 bytes
-rw-r--r--mod/photos.php110
-rw-r--r--util/extract.php2
-rw-r--r--util/strings.php15
-rw-r--r--view/en/htconfig.tpl6
-rw-r--r--view/fr/head.tpl2
-rw-r--r--view/fr/profile_listing_header.tpl4
-rw-r--r--view/fr/registrations.tpl2
-rw-r--r--view/fr/strings.php665
-rw-r--r--view/photos_upload.tpl35
-rw-r--r--view/theme/default/style.css3
-rw-r--r--view/theme/duepuntozero/style.css4
18 files changed, 666 insertions, 452 deletions
diff --git a/addon/java_upload/java_upload.php b/addon/java_upload/java_upload.php
index 92cd5326e..8b8a57604 100644
--- a/addon/java_upload/java_upload.php
+++ b/addon/java_upload/java_upload.php
@@ -1,5 +1,77 @@
<?php
+/**
+ *
+ * Java photo uploader, uses Jumploader
+ *
+ * WARNING: This module currently has privacy issues.
+ * The java package does not pass the permissions array intact and could lead to
+ * photos being seen by people that were excluded from seeing them.
+ *
+ */
+
+
+function java_upload_install() {
+ register_hook('photo_upload_form', 'addon/java_upload/java_upload.php', 'java_upload_form');
+ register_hook('photo_post_init', 'addon/java_upload/java_upload.php', 'java_upload_post_init');
+ register_hook('photo_post_end', 'addon/java_upload/java_upload.php', 'java_upload_post_end');
+}
+
+
+function java_upload_uninstall() {
+ unregister_hook('photo_upload_form', 'addon/java_upload/java_upload.php', 'java_upload_form');
+ unregister_hook('photo_post_init', 'addon/java_upload/java_upload.php', 'java_upload_post_init');
+ unregister_hook('photo_post_end', 'addon/java_upload/java_upload.php', 'java_upload_post_end');
+}
+
+
+function java_upload_form(&$a,&$b) {
+
+ $uploadurl = $b['post_url'];
+ $sessid = session_id();
+ $archive = $a->get_baseurl() . '/addon/java_upload/jumploader_z.jar';
+ $filestext = t('Select files to upload: ');
+
+ $nojava = t('Use the following controls only if the Java uploader [above] fails to launch.');
+
+ $b['default_upload'] = true;
+
+
+$b['addon_text'] .= <<< EOT
+
+ <div id="photos-upload-select-files-text">$filestext</div>
+
+ <div id="photos_upload_applet_wrapper">
+ <applet name="jumpLoaderApplet"
+ code="jmaster.jumploader.app.JumpLoaderApplet.class"
+ archive="$archive"
+ width="700"
+ height="600"
+ mayscript >
+ <param name="uc_uploadUrl" value="$uploadurl" />
+ <param name="uc_uploadFormName" value="photos-upload-form" />
+ <param name="gc_loggingLeveL" value="FATAL" />
+ <param name="uc_fileParameterName" value="userfile" />
+ <param name="uc_cookie" value="PHPSESSID=$sessid; path=/;" />
+ <param name="vc_disableLocalFileSystem" value="false" />
+ <param name="vc_uploadViewMenuBarVisible" value="false" />
+ <param name="vc_mainViewFileListViewVisible" value="true" />
+ <param name="vc_mainViewFileListViewHeightPercent" value="50" />
+ <param name="vc_mainViewFileTreeViewVisible" value="true" />
+ <param name="vc_mainViewFileTreeViewWidthPercent" value="35" />
+ <param name="vc_lookAndFeel" value="system" />
+
+ </applet>
+
+ </div>
+
+ <div id="photos-upload-no-java-message" >
+ $nojava
+ </div>
+
+EOT;
+
+}
diff --git a/addon/java_upload/jumploader_z.jar b/addon/java_upload/jumploader_z.jar
new file mode 100644
index 000000000..30a85a33f
--- /dev/null
+++ b/addon/java_upload/jumploader_z.jar
Binary files differ
diff --git a/addon/js_upload/js_upload.php b/addon/js_upload/js_upload.php
index 143f9ba33..dc2dc37dc 100644
--- a/addon/js_upload/js_upload.php
+++ b/addon/js_upload/js_upload.php
@@ -1,20 +1,98 @@
<?php
+/**
+ *
+ * JavaScript Photo/Image Uploader
+ *
+ * Uses Valum 'qq' Uploader.
+ * Module Author: Chris Case
+ *
+ * Prior to enabling, ensure that you have a directory 'uploads'
+ * which is writable by the web server.
+ *
+ */
+
function js_upload_install() {
- register_hooks('photo_post_init', 'addon/js_upload/js_upload.php', 'js_upload_post_init');
- register_hooks('photo_post_file', 'addon/js_upload/js_upload.php', 'js_upload_post_file');
- register_hooks('photo_post_end', 'addon/js_upload/js_upload.php', 'js_upload_post_end');
+ register_hook('photo_upload_form', 'addon/js_upload/js_upload.php', 'js_upload_form');
+ register_hook('photo_post_init', 'addon/js_upload/js_upload.php', 'js_upload_post_init');
+ register_hook('photo_post_file', 'addon/js_upload/js_upload.php', 'js_upload_post_file');
+ register_hook('photo_post_end', 'addon/js_upload/js_upload.php', 'js_upload_post_end');
}
function js_upload_uninstall() {
- register_hooks('photo_post_init', 'addon/js_upload/js_upload.php', 'js_upload_post_init');
- register_hooks('photo_post_file', 'addon/js_upload/js_upload.php', 'js_upload_post_file');
- register_hooks('photo_post_end', 'addon/js_upload/js_upload.php', 'js_upload_post_end');
+ unregister_hook('photo_upload_form', 'addon/js_upload/js_upload.php', 'js_upload_form');
+ unregister_hook('photo_post_init', 'addon/js_upload/js_upload.php', 'js_upload_post_init');
+ unregister_hook('photo_post_file', 'addon/js_upload/js_upload.php', 'js_upload_post_file');
+ unregister_hook('photo_post_end', 'addon/js_upload/js_upload.php', 'js_upload_post_end');
+}
+
+
+function js_upload_form(&$a,&$b) {
+
+ $b['default_upload'] = false;
+
+ $b['addon_text'] .= '<link href="' . $a->get_baseurl() . '/addon/js_upload/file-uploader/client/fileuploader.css" rel="stylesheet" type="text/css">';
+ $b['addon_text'] .= '<script src="' . $a->get_baseurl() . '/addon/js_upload/file-uploader/client/fileuploader.js" type="text/javascript"></script>';
+
+ $b['addon_text'] .= <<< EOT
+
+ <div id="file-uploader-demo1">
+ <noscript>
+ <p>Please enable JavaScript to use file uploader.</p>
+ <!-- or put a simple form for upload here -->
+ </noscript>
+ </div>
+
+<script type="text/javascript">
+var uploader = null;
+function getSelected(opt) {
+ var selected = new Array();
+ var index = 0;
+ for (var intLoop = 0; intLoop < opt.length; intLoop++) {
+ if ((opt[intLoop].selected) ||
+ (opt[intLoop].checked)) {
+ index = selected.length;
+ //selected[index] = new Object;
+ selected[index] = opt[intLoop].value;
+ //selected[index] = intLoop;
+ }
+ }
+ return selected;
+ }
+function createUploader() {
+ uploader = new qq.FileUploader({
+ element: document.getElementById('file-uploader-demo1'),
+ action: '{$b['post_url']}',
+ debug: true,
+ onSubmit: function(id,filename) {
+
+ uploader.setParams( {
+ newalbum : document.getElementById('photos-upload-newalbum').value,
+ album : document.getElementById('photos-upload-album-select').value,
+ group_allow : getSelected(document.getElementById('group_allow')).join(','),
+ contact_allow : getSelected(document.getElementById('contact_allow')).join(','),
+ group_deny : getSelected(document.getElementById('group_deny')).join(','),
+ contact_deny : getSelected(document.getElementById('contact_deny')).join(',')
+ });
+ }
+ });
}
+// in your app create uploader as soon as the DOM is ready
+// don't wait for the window to load
+window.onload = createUploader;
+
+
+</script>
+
+EOT;
+
+
+}
+
function js_upload_post_init(&$a,&$b) {
// list of valid extensions, ex. array("jpeg", "xml", "bmp")
@@ -26,7 +104,9 @@ function js_upload_post_init(&$a,&$b) {
$sizeLimit = 6 * 1024 * 1024;
$uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
- $result = $uploader->handleUpload('uploads/');
+
+ $result = $uploader->handleUpload();
+
// to pass data through iframe you will need to encode all html tags
$a->data['upload_jsonresponse'] = htmlspecialchars(json_encode($result), ENT_NOQUOTES);
@@ -36,22 +116,26 @@ function js_upload_post_init(&$a,&$b) {
killme();
}
+ $a->data['upload_result'] = $result;
}
-function js_upload_photo_post_file(&$a,&$b) {
+function js_upload_post_file(&$a,&$b) {
+
+ $result = $a->data['upload_result'];
- $b['src'] = 'uploads/'.$result['filename'];
+ $b['src'] = $result['path'];
$b['filename'] = $result['filename'];
- $b['filesize'] = filesize($src);
+ $b['filesize'] = filesize($b['src']);
+
}
-function js_upload_photo_post_end(&$a,&$b) {
+function js_upload_post_end(&$a,&$b) {
+logger('upload_post_end');
if(x($a->data,'upload_jsonresponse')) {
echo $a->data['upload_jsonresponse'];
- @unlink($src);
killme();
}
@@ -62,30 +146,36 @@ function js_upload_photo_post_end(&$a,&$b) {
* Handle file uploads via XMLHttpRequest
*/
class qqUploadedFileXhr {
+
+ private $pathnm = '';
+
/**
- * Save the file to the specified path
+ * Save the file in the temp dir.
* @return boolean TRUE on success
*/
- function save($path) {
+ function save() {
$input = fopen("php://input", "r");
- $temp = tmpfile();
+ $this->pathnm = tempnam(sys_get_temp_dir(),'frn');
+ $temp = fopen($this->pathnm,"w");
$realSize = stream_copy_to_stream($input, $temp);
+
fclose($input);
+ fclose($temp);
if ($realSize != $this->getSize()){
return false;
}
-
- $target = fopen($path, "w");
- fseek($temp, 0, SEEK_SET);
- stream_copy_to_stream($temp, $target);
- fclose($target);
-
return true;
}
+
+ function getPath() {
+ return $this->pathnm;
+ }
+
function getName() {
return $_GET['qqfile'];
}
+
function getSize() {
if (isset($_SERVER["CONTENT_LENGTH"])){
return (int)$_SERVER["CONTENT_LENGTH"];
@@ -98,17 +188,24 @@ class qqUploadedFileXhr {
/**
* Handle file uploads via regular form post (uses the $_FILES array)
*/
+
class qqUploadedFileForm {
+
+
/**
* Save the file to the specified path
* @return boolean TRUE on success
*/
- function save($path) {
- if(!move_uploaded_file($_FILES['qqfile']['tmp_name'], $path)){
- return false;
- }
+
+
+ function save() {
return true;
}
+
+ function getPath() {
+ return $_FILES['qqfile']['tmp_name'];
+ }
+
function getName() {
return $_FILES['qqfile']['name'];
}
@@ -116,6 +213,7 @@ class qqUploadedFileForm {
return $_FILES['qqfile']['size'];
}
}
+
class qqFileUploader {
private $allowedExtensions = array();
private $sizeLimit = 10485760;
@@ -136,6 +234,7 @@ class qqFileUploader {
} else {
$this->file = false;
}
+
}
private function checkServerSettings(){
@@ -162,10 +261,7 @@ class qqFileUploader {
/**
* Returns array('success'=>true) or array('error'=>'error message')
*/
- function handleUpload($uploadDirectory, $replaceOldFile = FALSE){
- if (!is_writable($uploadDirectory)){
- return array('error' => t('Server error. Upload directory isn't writable.'));
- }
+ function handleUpload(){
if (!$this->file){
return array('error' => t('No files were uploaded.'));
@@ -192,7 +288,7 @@ class qqFileUploader {
$pathinfo = pathinfo($this->file->getName());
$filename = $pathinfo['filename'];
- //$filename = md5(uniqid());
+
$ext = $pathinfo['extension'];
if($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)){
@@ -200,18 +296,18 @@ class qqFileUploader {
return array('error' => t('File has an invalid extension, it should be one of ') . $these . '.');
}
- if(!$replaceOldFile){
- /// don't overwrite previous files that were uploaded
- while (file_exists($uploadDirectory . $filename . '.' . $ext)) {
- $filename .= rand(10, 99);
- }
- }
-
- if ($this->file->save($uploadDirectory . $filename . '.' . $ext)){
- return array('success'=>true,'filename' => $filename . '.' . $ext);
+ if ($this->file->save()){
+ return array(
+ 'success'=>true,
+ 'path' => $this->file->getPath(),
+ 'filename' => $filename . '.' . $ext
+ );
} else {
- return array('error'=> t('Could not save uploaded file.') .
- t('The upload was cancelled, or server error encountered'),'filename' => $filename . '.' . $ext);
+ return array(
+ 'error'=> t('Upload was cancelled, or server error encountered'),
+ 'path' => $this->file->getPath(),
+ 'filename' => $filename . '.' . $ext
+ );
}
}
diff --git a/boot.php b/boot.php
index adb1b96f8..3cc98cc9b 100644
--- a/boot.php
+++ b/boot.php
@@ -3,7 +3,7 @@
set_time_limit(0);
define ( 'BUILD_ID', 1033 );
-define ( 'FRIENDIKA_VERSION', '2.01.1006' );
+define ( 'FRIENDIKA_VERSION', '2.10.0902' );
define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
define ( 'EOL', "<br />\r\n" );
@@ -1692,7 +1692,7 @@ function get_tags($s) {
$s = preg_replace('/\[code\](.*?)\[\/code\]/sm','',$s);
- if(preg_match_all('/([@#][^ \x0D\x0A,:?]*)([ \x0D\x0A,:?]|$)/',$s,$match)) {
+ if(preg_match_all('/([@#][^ \x0D\x0A,:?]+)([ \x0D\x0A,:?]|$)/',$s,$match)) {
foreach($match[1] as $match) {
if(strstr($match,"]")) {
// we might be inside a bbcode color tag - leave it alone
@@ -1878,7 +1878,7 @@ function aes_encrypt($val,$ky)
if(! function_exists('linkify')) {
function linkify($s) {
- $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\%]*)/", ' <a href="$1" >$1</a>', $s);
+ $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\%]*)/", ' <a href="$1" target="external-link">$1</a>', $s);
return($s);
}}
diff --git a/htconfig.php b/htconfig.php
index 6f6e3faf9..13c065e69 100644
--- a/htconfig.php
+++ b/htconfig.php
@@ -64,4 +64,12 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com';
$a->config['system']['rino_encrypt'] = true;
+
+// Addons or plugins are configured here.
+// This is a comma seperated list of addons to enable. Example:
+// $a->config['system']['addon'] = 'js_upload,randplace,oembed';
+
+$a->config['system']['addon'] = 'js_upload';
+
+
\ No newline at end of file
diff --git a/include/bbcode.php b/include/bbcode.php
index 9e5f5a371..8382cc804 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -22,10 +22,10 @@ function bbcode($Text) {
// Perform URL Search
- $Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\%]+)/", ' <a href="$2" >$2</a>', $Text);
+ $Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\%]+)/", ' <a href="$2" target="external-link">$2</a>', $Text);
- $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="$1" >$1</a>', $Text);
- $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="$1" >$2</a>', $Text);
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="$1" target="external-link">$1</a>', $Text);
+ $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="$1" target="external-link">$2</a>', $Text);
//$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
diff --git a/jumploader_z.jar b/jumploader_z.jar
deleted file mode 100644
index 9ef2abd89..000000000
--- a/jumploader_z.jar
+++ /dev/null
Binary files differ
diff --git a/mod/photos.php b/mod/photos.php
index e811ca395..2a55fa5e9 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1,5 +1,4 @@
<?php
-
require_once('include/Photo.php');
require_once('include/items.php');
require_once('include/acl_selectors.php');
@@ -49,9 +48,18 @@ function photos_init(&$a) {
-
function photos_post(&$a) {
+logger('mod/photos.php: photos_post(): begin' , 'LOGGER_DEBUG');
+
+foreach($_REQUEST AS $key => $val) {
+ logger('mod/photos.php: photos_post(): $_REQUEST key: ' . $key . ' val: ' . $val , 'LOGGER_DEBUG');
+}
+
+foreach($_FILES AS $key => $val) {
+ logger('mod/photos.php: photos_post(): $_FILES key: ' . $key . ' val: ' . $val , 'LOGGER_DEBUG');
+}
+
$can_post = false;
$visitor = 0;
@@ -466,18 +474,20 @@ function photos_post(&$a) {
}
- // default post action - upload a photo
+ /**
+ * default post action - upload a photo
+ */
- if(! x($_FILES,'userfile'))
- killme();
+ call_hooks('photo_post_init', $_POST);
- if($_POST['partitionCount'])
- $java_upload = true;
- else
- $java_upload = false;
+ /**
+ * Determine the album to use
+ */
+
+ $album = notags(trim($_REQUEST['album']));
+ $newalbum = notags(trim($_REQUEST['newalbum']));
- $album = notags(trim($_POST['album']));
- $newalbum = notags(trim($_POST['newalbum']));
+ logger('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , 'LOGGER_DEBUG');
if(! strlen($album)) {
if(strlen($newalbum))
@@ -486,6 +496,16 @@ function photos_post(&$a) {
$album = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y');
}
+ /**
+ *
+ * We create a wall item for every photo, but we don't want to
+ * overwhelm the data stream with a hundred newly uploaded photos.
+ * So we will make one photo (the first one uploaded to this album)
+ * visible by default, the rest will become visible over time when and if
+ * they acquire comments, likes, dislikes, and/or tags
+ *
+ */
+
$r = q("SELECT * FROM `photo` WHERE `album` = '%s' AND `uid` = %d",
dbesc($album),
intval($page_owner_uid)
@@ -495,15 +515,25 @@ function photos_post(&$a) {
else
$visible = 0;
+ $str_group_allow = perms2str(((is_array($_REQUEST['group_allow'])) ? $_REQUEST['group_allow'] : explode(',',$_REQUEST['group_allow'])));
+ $str_contact_allow = perms2str(((is_array($_REQUEST['contact_allow'])) ? $_REQUEST['contact_allow'] : explode(',',$_REQUEST['contact_allow'])));
+ $str_group_deny = perms2str(((is_array($_REQUEST['group_deny'])) ? $_REQUEST['group_deny'] : explode(',',$_REQUEST['group_deny'])));
+ $str_contact_deny = perms2str(((is_array($_REQUEST['contact_deny'])) ? $_REQUEST['contact_deny'] : explode(',',$_REQUEST['contact_deny'])));
+
+ $ret = array('src' => '', 'filename' => '', 'filesize' => 0);
- $str_group_allow = perms2str($_POST['group_allow']);
- $str_contact_allow = perms2str($_POST['contact_allow']);
- $str_group_deny = perms2str($_POST['group_deny']);
- $str_contact_deny = perms2str($_POST['contact_deny']);
+ call_hooks('photo_post_file',$ret);
- $src = $_FILES['userfile']['tmp_name'];
- $filename = basename($_FILES['userfile']['name']);
- $filesize = intval($_FILES['userfile']['size']);
+ if(x($ret,'src') && x($ret,'filesize')) {
+ $src = $ret['src'];
+ $filename = $ret['filename'];
+ $filesize = $ret['filesize'];
+ }
+ else {
+ $src = $_FILES['userfile']['tmp_name'];
+ $filename = basename($_FILES['userfile']['name']);
+ $filesize = intval($_FILES['userfile']['size']);
+ }
$maximagesize = get_config('system','maximagesize');
@@ -513,10 +543,13 @@ function photos_post(&$a) {
return;
}
+ logger('mod/photos.php: photos_post(): loading the contents of ' . $src , 'LOGGER_DEBUG');
+
$imagedata = @file_get_contents($src);
$ph = new Photo($imagedata);
if(! $ph->is_valid()) {
+ logger('mod/photos.php: photos_post(): unable to process image' , 'LOGGER_DEBUG');
notice( t('Unable to process image.') . EOL );
@unlink($src);
killme();
@@ -524,7 +557,7 @@ function photos_post(&$a) {
@unlink($src);
- $width = $ph->getWidth();
+ $width = $ph->getWidth();
$height = $ph->getHeight();
$smallest = 0;
@@ -534,6 +567,7 @@ function photos_post(&$a) {
$r = $ph->store($page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
if(! $r) {
+ logger('mod/photos.php: photos_post(): image store failed' , 'LOGGER_DEBUG');
notice( t('Image upload failed.') . EOL );
killme();
}
@@ -555,7 +589,6 @@ function photos_post(&$a) {
// Create item container
-
$arr = array();
$arr['uid'] = $page_owner_uid;
@@ -584,14 +617,13 @@ function photos_post(&$a) {
$item_id = item_store($arr);
- if(! $java_upload) {
- goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
- return; // NOTREACHED
- }
+ call_hooks('photo_post_end',intval($item_id));
- killme();
- return; // NOTREACHED
+ // addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook
+ // if they do not wish to be redirected
+ goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+ // NOTREACHED
}
@@ -737,6 +769,22 @@ function photos_content(&$a) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
$albumselect .= '</select>';
+
+ $uploader = '';
+
+ $ret = array('post_url' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'],
+ 'addon_text' => $uploader,
+ 'default_upload' => true);
+
+
+ call_hooks('photo_upload_form',$ret);
+
+ $default_upload = '<input type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" >
+ <input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>';
+
+
+
+
$tpl = load_view_file('view/photos_upload.tpl');
$o .= replace_macros($tpl,array(
'$pagename' => t('Upload Photos'),
@@ -744,14 +792,13 @@ function photos_content(&$a) {
'$nickname' => $a->data['user']['nickname'],
'$newalbum' => t('New album name: '),
'$existalbumtext' => t('or existing album name: '),
- '$filestext' => t('Select files to upload: '),
'$albumselect' => $albumselect,
'$permissions' => t('Permissions'),
'$aclselect' => (($visitor) ? '' : populate_acl($a->user, $celeb)),
- '$archive' => $a->get_baseurl() . '/jumploader_z.jar',
- '$nojava' => t('Use the following controls only if the Java uploader [above] fails to launch.'),
- '$uploadurl' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'],
- '$submit' => t('Submit')
+ '$uploader' => $ret['addon_text'],
+ '$default' => (($ret['default_upload']) ? $default_upload : ''),
+ '$uploadurl' => $ret['post_url']
+
));
return $o;
@@ -1154,3 +1201,4 @@ function photos_content(&$a) {
$o .= paginate($a);
return $o;
}
+
diff --git a/util/extract.php b/util/extract.php
index bb16a47da..92ec8501c 100644
--- a/util/extract.php
+++ b/util/extract.php
@@ -3,7 +3,7 @@
$arr = array();
$files = array('index.php','boot.php');
- $files = array_merge($files,glob('mod/*'),glob('include/*'));
+ $files = array_merge($files,glob('mod/*'),glob('include/*'),glob('addon/*/*'));
foreach($files as $file) {
diff --git a/util/strings.php b/util/strings.php
index 8b58a6b7a..5233c5619 100644
--- a/util/strings.php
+++ b/util/strings.php
@@ -163,6 +163,7 @@ $a->strings['Private Message'] = 'Private Message';
$a->strings['This is you'] = 'This is you';
$a->strings['View $name\'s profile'] = 'View $name\'s profile';
$a->strings['Item has been removed.'] = 'Item has been removed.';
+$a->strings['Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.'] = 'Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.';
$a->strings['The profile address specified does not provide adequate information.'] = 'The profile address specified does not provide adequate information.';
$a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Limited profile. This person will be unable to receive direct/personal notifications from you.';
$a->strings['Unable to retrieve contact information.'] = 'Unable to retrieve contact information.';
@@ -211,7 +212,6 @@ $a->strings['Send invitations'] = 'Send invitations';
$a->strings['Enter email addresses, one per line:'] = 'Enter email addresses, one per line:';
$a->strings['Your message:'] = 'Your message:';
$a->strings['Please join my social network on '] = 'Please join my social network on ';
-$a->strings["\r\n"] = "\r\n";
$a->strings['To accept this invitation, please visit:'] = 'To accept this invitation, please visit:';
$a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Once you have registered, please connect with me via my profile page at:';
$a->strings['Unable to locate original post.'] = 'Unable to locate original post.';
@@ -287,9 +287,7 @@ $a->strings['No photos selected'] = 'No photos selected';
$a->strings['Upload Photos'] = 'Upload Photos';
$a->strings['New album name: '] = 'New album name: ';
$a->strings['or existing album name: '] = 'or existing album name: ';
-$a->strings['Select files to upload: '] = 'Select files to upload: ';
$a->strings['Permissions'] = 'Permissions';
-$a->strings['Use the following controls only if the Java uploader [above] fails to launch.'] = 'Use the following controls only if the Java uploader [above] fails to launch.';
$a->strings['Edit Album'] = 'Edit Album';
$a->strings['View Photo'] = 'View Photo';
$a->strings['Photo not available'] = 'Photo not available';
@@ -340,7 +338,6 @@ $a->strings['Your registration is pending approval by the site owner.'] = 'Your
$a->strings["You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.";
$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.';
$a->strings["Your OpenID \x28optional\x29: "] = "Your OpenID \x28optional\x29: ";
-$a->strings['Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.'] = 'Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.';
$a->strings['Registration'] = 'Registration';
$a->strings['Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '] = 'Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': ';
$a->strings['Your Email Address: '] = 'Your Email Address: ';
@@ -467,6 +464,16 @@ $a->strings['Uncertain'] = 'Uncertain';
$a->strings['Complicated'] = 'Complicated';
$a->strings['Don\'t care'] = 'Don\'t care';
$a->strings['Ask me'] = 'Ask me';
+$a->strings['Facebook status update failed.'] = 'Facebook status update failed.';
+$a->strings['Select files to upload: '] = 'Select files to upload: ';
+$a->strings['Use the following controls only if the Java uploader [above] fails to launch.'] = 'Use the following controls only if the Java uploader [above] fails to launch.';
+$a->strings['No files were uploaded.'] = 'No files were uploaded.';
+$a->strings['Uploaded file is empty'] = 'Uploaded file is empty';
+$a->strings['Uploaded file is too large'] = 'Uploaded file is too large';
+$a->strings['File has an invalid extension, it should be one of '] = 'File has an invalid extension, it should be one of ';
+$a->strings['Upload was cancelled, or server error encountered'] = 'Upload was cancelled, or server error encountered';
+$a->strings['Randplace Settings'] = 'Randplace Settings';
+$a->strings['Enable Randplace Plugin'] = 'Enable Randplace Plugin';
$a->strings['Africa/Abidjan'] = 'Africa/Abidjan';
$a->strings['Africa/Accra'] = 'Africa/Accra';
$a->strings['Africa/Addis_Ababa'] = 'Africa/Addis_Ababa';
diff --git a/view/en/htconfig.tpl b/view/en/htconfig.tpl
index c7c19bf69..0182dbe5c 100644
--- a/view/en/htconfig.tpl
+++ b/view/en/htconfig.tpl
@@ -62,3 +62,9 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com';
$a->config['system']['rino_encrypt'] = true;
+// Addons or plugins are configured here.
+// This is a comma seperated list of addons to enable. Example:
+// $a->config['system']['addon'] = 'js_upload,randplace,oembed';
+
+$a->config['system']['addon'] = 'js_upload';
+
diff --git a/view/fr/head.tpl b/view/fr/head.tpl
index 04dd39bdb..81011f422 100644
--- a/view/fr/head.tpl
+++ b/view/fr/head.tpl
@@ -11,7 +11,7 @@
<script type="text/javascript" src="$baseurl/include/main.js" ></script>
<script>
- function confirmDelete() { return confirm("Delete this item?"); }
+ function confirmDelete() { return confirm("Effacer cet élément?"); }
function commentOpen(obj,id) {
if(obj.value == 'Comment') {
obj.value = '';
diff --git a/view/fr/profile_listing_header.tpl b/view/fr/profile_listing_header.tpl
index d4b139a69..70393e1bc 100644
--- a/view/fr/profile_listing_header.tpl
+++ b/view/fr/profile_listing_header.tpl
@@ -1,8 +1,8 @@
<h1>Profiles</h1>
<p id="profile-listing-desc" >
-<a href="profile_photo" >Change profile photo</a>
+<a href="profile_photo" >Changer la photo du profil</a>
</p>
<div id="profile-listing-new-link-wrapper" >
-<a href="profiles/new" id="profile-listing-new-link" name="Create New Profile" >Create New Profile</a>
+<a href="profiles/new" id="profile-listing-new-link" name="Create New Profile" >Créer un nouveau profil</a>
</div>
diff --git a/view/fr/registrations.tpl b/view/fr/registrations.tpl
index c8646043e..73bc3883e 100644
--- a/view/fr/registrations.tpl
+++ b/view/fr/registrations.tpl
@@ -1 +1 @@
-<li>$fullname ($email) : <a href="$approvelink">Approve</a> - <a href="$denylink">Deny</a></li>
+<li>$fullname ($email) : <a href="$approvelink">Approuver</a> - <a href="$denylink">Refuser</a></li>
diff --git a/view/fr/strings.php b/view/fr/strings.php
index b67599555..c64bba1b7 100644
--- a/view/fr/strings.php
+++ b/view/fr/strings.php
@@ -1,13 +1,13 @@
<?php
$a->strings['Not Found'] = 'Non trouvé';
-$a->strings['Page not found.' ] = 'Page introuvable.' ;
+$a->strings['Page not found.'] = 'Page introuvable.';
$a->strings['Permission denied'] = 'Permission refusée';
$a->strings['Permission denied.'] = 'Permission refusée.';
$a->strings['Nickname or Email address: '] = 'Pseudo ou adresse email: ';
$a->strings['Password: '] = 'Mot de passe: ';
$a->strings['Login'] = 'Connexion';
$a->strings['Nickname/Email/OpenID: '] = 'Pseudo/Email/OpenID: ';
-$a->strings["Password \x28if not OpenID\x29: "] = "Mot de passe \x28sauf pour OpenID\x29: ";
+$a->strings['Password (if not OpenID): '] = 'Mot de passe (sauf pour OpenID): ';
$a->strings['Forgot your password?'] = 'Mot de passe oublié?';
$a->strings['Password Reset'] = 'Réinitialiser le mot de passe';
$a->strings['prev'] = 'prev';
@@ -55,9 +55,9 @@ $a->strings['October'] = 'Octobre';
$a->strings['November'] = 'Novembre';
$a->strings['December'] = 'Décembre';
$a->strings['Birthdays this week:'] = 'Anniversaires cette semaine:';
-$a->strings["\x28Adjusted for local time\x29"] = "\x28Ajustés pour le fuseau horaire local\x29";
+$a->strings['(Adjusted for local time)'] = '(Ajustés pour le fuseau horaire local)';
$a->strings['[today]'] = '[aujourd\'hui]';
-$a->strings["Invite Friends"] = "Inviter des amis";
+$a->strings['Invite Friends'] = 'Inviter des amis';
$a->strings['Connect/Follow [profile address]'] = 'Relier/Suivre [adresse du profil]';
$a->strings['Example: bob@example.com, http://example.com/barbara'] = 'Exemple: bob@example.com, http://example.com/barbara';
$a->strings['Follow'] = 'Suivre';
@@ -100,10 +100,10 @@ $a->strings['Edit contact'] = 'Éditer le contact';
$a->strings['Profile not found.'] = 'Profil introuvable.';
$a->strings['Response from remote site was not understood.'] = 'Réponse du site distant incomprise.';
$a->strings['Unexpected response from remote site: '] = 'Réponse inattendue du site distant: ';
-$a->strings["Confirmation completed successfully."] = "Confirmation achevée avec succès.";
+$a->strings['Confirmation completed successfully.'] = 'Confirmation achevée avec succès.';
$a->strings['Remote site reported: '] = 'Alerte du site distant: ';
-$a->strings["Temporary failure. Please wait and try again."] = "Échec temporaire. Merci de recommencer ultérieurement.";
-$a->strings["Introduction failed or was revoked."] = "Introduction échouée ou annulée.";
+$a->strings['Temporary failure. Please wait and try again.'] = 'Échec temporaire. Merci de recommencer ultérieurement.';
+$a->strings['Introduction failed or was revoked.'] = 'Introduction échouée ou annulée.';
$a->strings['Unable to set contact photo.'] = 'Impossible de définir la photo du contact.';
$a->strings['is now friends with'] = 'est désormais relié à';
$a->strings['No user record found for '] = 'Pas d\'utilisateur trouvé pour ';
@@ -113,35 +113,34 @@ $a->strings['Contact record was not found for you on our site.'] = 'Pas d\'entrÃ
$a->strings['The ID provided by your system is a duplicate on our system. It should work if you try again.'] = 'L\'identifiant fourni par votre système fait doublon sur le notre. Cela peut fonctionner si vous réessayez.';
$a->strings['Unable to set your contact credentials on our system.'] = 'Impossible de vous définir des permissions sur notre système.';
$a->strings['Unable to update your contact profile details on our system'] = 'Impossible de mettre les détails de votre profil à jour sur notre système';
-$a->strings["Connection accepted at "] = "Connexion acceptée à ";
+$a->strings['Connection accepted at '] = 'Connexion acceptée à ';
$a->strings['Administrator'] = 'Administrateur';
$a->strings['New mail received at '] = 'Nouvel email reçu à ';
$a->strings[' commented on an item at '] = ' a commenté une entrée à ';
-$a->strings[" commented on an item at "] = " a commenté une entrée à ";
$a->strings[' welcomes '] = ' accueille ';
-$a->strings["This introduction has already been accepted."] = "Cette introduction a déjà été acceptée.";
+$a->strings['This introduction has already been accepted.'] = 'Cette introduction a déjà été acceptée.';
$a->strings['Profile location is not valid or does not contain profile information.'] = 'L\'emplacement du profil est invalide ou ne contient pas de profil valide.';
$a->strings['Warning: profile location has no identifiable owner name.'] = 'Attention: l\'emplacement du profil n\'a pas de nom identifiable.';
$a->strings['Warning: profile location has no profile photo.'] = 'Attention: l\'emplacement du profil n\'a pas de photo de profil.';
-$a->strings[' required parameter'] = ' paramêtre(s) requis';
-$a->strings[" was "] = " était ";
-$a->strings["s were "] = "étaient ";
-$a->strings["not found at the given location."] = "introuvable(s) à l\'emplacement indiqué.";
-$a->strings["Introduction complete."] = "Phase de présentation achevée.";
+$a->strings[' required parameter'] = ' paramètre(s) requis';
+$a->strings[' was '] = ' était ';
+$a->strings['s were '] = 'étaient ';
+$a->strings['not found at the given location.'] = 'introuvable(s) à l\'emplacement indiqué.';
+$a->strings['Introduction complete.'] = 'Phase de présentation achevée.';
$a->strings['Unrecoverable protocol error.'] = 'Erreur de protocole non-récupérable.';
$a->strings['Profile unavailable.'] = 'Profil indisponible.';
$a->strings[' has received too many connection requests today.'] = ' a reçu trop de requêtes de connexion aujourd\'hui.';
$a->strings['Spam protection measures have been invoked.'] = 'Des mesures de protection contre le spam ont été déclenchées.';
$a->strings['Friends are advised to please try again in 24 hours.'] = 'Les relations sont encouragées à attendre 24 heures pour recommencer.';
-$a->strings["Invalid locator"] = "Localisateur invalide";
-$a->strings["Unable to resolve your name at the provided location."] = "Impossible de résoudre votre nom à l\'emplacement fourni.";
+$a->strings['Invalid locator'] = 'Localisateur invalide';
+$a->strings['Unable to resolve your name at the provided location.'] = 'Impossible de résoudre votre nom à l\'emplacement fourni.';
$a->strings['You have already introduced yourself here.'] = 'Vous vous êtes déjà présenté ici.';
-$a->strings['Apparently you are already friends with .'] = 'Apparently you are already friends with .';
+$a->strings['Apparently you are already friends with .'] = 'Apparemment vous êtes déjà relié à .';
$a->strings['Invalid profile URL.'] = 'URL de profil invalide.';
$a->strings['Disallowed profile URL.'] = 'URL de profil interdite.';
$a->strings['Your introduction has been sent.'] = 'Votre présentation a été envoyée.';
-$a->strings["Please login to confirm introduction."] = "Connectez-vous pour confirmer l\'introduction.";
-$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Identité incorrecte actuellement connectée. Merci de vous connecter à <strong>ce</strong> profil.";
+$a->strings['Please login to confirm introduction.'] = 'Connectez-vous pour confirmer l\'introduction.';
+$a->strings['Incorrect identity currently logged in. Please login to <strong>this</strong> profile.'] = 'Identité incorrecte actuellement connectée. Merci de vous connecter à <strong>ce</strong> profil.';
$a->strings['[Name Withheld]'] = '[Nom non publié]';
$a->strings['Friend/Connection Request'] = 'Requête de relation/amitié';
$a->strings['Please answer the following:'] = 'Merci de répondre à ce qui suit:';
@@ -152,8 +151,8 @@ $a->strings['Add a personal note:'] = 'Ajouter une note personnelle:';
$a->strings['Please enter your profile address from one of the following supported social networks:'] = 'Merci d\'entrer l\'adresse de votre profil sur l\'une de ces réseaux sociaux:';
$a->strings['Friendika'] = 'Friendika';
$a->strings['StatusNet/Federated Social Web'] = 'StatusNet/Federated Social Web';
-$a->strings["Private \x28secure\x29 network"] = "Réseau privé \x28sécurisé\x29";
-$a->strings["Public \x28insecure\x29 network"] = "Réseau public \x28non-sécurisé\x29";
+$a->strings['Private (secure) network'] = 'Réseau privé (sécurisé)';
+$a->strings['Public (insecure) network'] = 'Réseau public (non-sécurisé)';
$a->strings['Your profile address:'] = 'Votre adresse de profil:';
$a->strings['Submit Request'] = 'Envoyer la requête';
$a->strings['Cancel'] = 'Annuler';
@@ -166,222 +165,221 @@ $a->strings['Item has been removed.'] = 'Cet élément a été enlevé.';
$a->strings['The profile address specified does not provide adequate information.'] = 'L\'adresse de profil indiquée ne fournit par les informations adéquates.';
$a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Profil limité. Cette personne ne sera pas capable de recevoir des notifications directes/personnelles de votre part.';
$a->strings['Unable to retrieve contact information.'] = 'Impossible de récupérer les informations du contact.';
-$a->strings['following'] = 'following'; // FIXME
+$a->strings['following'] = 'following';
$a->strings['Group created.'] = 'Groupe créé.';
$a->strings['Could not create group.'] = 'Impossible de créer le groupe.';
$a->strings['Group not found.'] = 'Groupe introuvable.';
-$a->strings['Group name changed.'] = 'Group renommé.';
+$a->strings['Group name changed.'] = 'Groupe renommé.';
$a->strings['Membership list updated.'] = 'Liste des membres mise à jour.';
$a->strings['Group removed.'] = 'Groupe enlevé.';
$a->strings['Unable to remove group.'] = 'Impossible d\'enlever le groupe';
$a->strings['Delete'] = 'Supprimer';
-$a->strings["Welcome to "] = "Bienvenue à ";
+$a->strings['Welcome to '] = 'Bienvenue à ';
$a->strings['Could not create/connect to database.'] = 'Impossible de créer/atteindre la base de données.';
$a->strings['Connected to database.'] = 'Connecté à la base de données.';
$a->strings['Database import succeeded.'] = 'Import de base achevé avec succès.';
-$a->strings['IMPORTANT: You will need to [manually] setup a scheduled task for the poller.'] = 'IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le \'poller\'.'; // FIXME
-$a->strings['Please see the file "INSTALL.txt".'] = 'Référez-vous au fichier "INSTALL.txt".';
+$a->strings['IMPORTANT: You will need to [manually] setup a scheduled task for the poller.'] = 'IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le \'poller\'.';
+$a->strings['Please see the file "INSTALL.txt".'] = 'Référez-vous au fichier \"INSTALL.txt\".';
$a->strings['Database import failed.'] = 'Import de base échoué.';
-$a->strings['You may need to import the file "database.sql" manually using phpmyadmin or mysql.'] = 'Vous pourriez avoir besoin d\'importer le fichier "database.sql" manuellement au moyen de phpmyadmin ou de la commande mysql.';
+$a->strings['You may need to import the file "database.sql" manually using phpmyadmin or mysql.'] = 'Vous pourriez avoir besoin d\'importer le fichier \"database.sql\" manuellement au moyen de phpmyadmin ou de la commande mysql.';
$a->strings['Welcome to Friendika.'] = 'Bienvenue sur Friendika.';
$a->strings['Submit'] = 'Envoyer';
-$a->strings['Could not find a command line version of PHP in the web server PATH.'] = 'Impossible de trouver la version "ligne de commande" de PHP dans le PATH du serveur web.';
+$a->strings['Could not find a command line version of PHP in the web server PATH.'] = 'Impossible de trouver la version \"ligne de commande\" de PHP dans le PATH du serveur web.';
$a->strings['This is required. Please adjust the configuration file .htconfig.php accordingly.'] = 'Ceci est requis. Merci d\'ajuster la configuration dans le fichier .htconfig.php en conséquence.';
-$a->strings['The command line version of PHP on your system does not have "register_argc_argv" enabled.'] = 'La version "ligne de commande" de PHP de votre système n\'a pas "register_argc_argv" d\'activé.';
+$a->strings['The command line version of PHP on your system does not have "register_argc_argv" enabled.'] = 'La version \"ligne de commande\" de PHP de votre système n\'a pas \"register_argc_argv\" d\'activé.';
$a->strings['This is required for message delivery to work.'] = 'Ceci est requis pour que la livraison des messages fonctionne.';
-$a->strings['Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'] = 'Erreur: la fonction "openssl_pkey_new" de ce système ne permet pas de générer des clés de chiffrement';
-$a->strings['If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".'] = 'Si vous utilisez Windows, merci de vous réferer à "http://www.php.net/manual/en/openssl.installation.php".';
-$a->strings['Error: Apache webserver mod-rewrite module is required but not installed.'] = 'Erreur: Le module "rewrite" du serveur web Apache est requis mais pas installé.';
-$a->strings['Error: libCURL PHP module required but not installed.'] = 'Erreur: Le module PHP "libCURL" est requis mais pas installé.';
-$a->strings['Error: GD graphics PHP module with JPEG support required but not installed.'] = 'Erreur: Le module PHP "GD" disposant du support JPEG est requis mais pas installé.';
-$a->strings['Error: openssl PHP module required but not installed.'] = 'Erreur: Le module PHP "openssl" est requis mais pas installé.';
-$a->strings['Error: mysqli PHP module required but not installed.'] = 'Erreur: Le module PHP "mysqli" est requis mais pas installé.';
-// TODO
-$a->strings['The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.'] = 'The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.';
-$a->strings['This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.'] = 'This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.';
-$a->strings['Please check with your site documentation or support people to see if this situation can be corrected.'] = 'Please check with your site documentation or support people to see if this situation can be corrected.';
-$a->strings['If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.'] = 'If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.';
-$a->strings['The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'] = 'The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.';
-$a->strings['Errors encountered creating database tables.'] = 'Errors encountered creating database tables.';
+$a->strings['Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'] = 'Erreur: la fonction \"openssl_pkey_new\" de ce système ne permet pas de générer des clés de chiffrement';
+$a->strings['If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".'] = 'Si vous utilisez Windows, merci de vous réferer à \"http://www.php.net/manual/en/openssl.installation.php\".';
+$a->strings['Error: Apache webserver mod-rewrite module is required but not installed.'] = 'Erreur: Le module \"rewrite\" du serveur web Apache est requis mais pas installé.';
+$a->strings['Error: libCURL PHP module required but not installed.'] = 'Erreur: Le module PHP \"libCURL\" est requis mais pas installé.';
+$a->strings['Error: GD graphics PHP module with JPEG support required but not installed.'] = 'Erreur: Le module PHP \"GD\" disposant du support JPEG est requis mais pas installé.';
+$a->strings['Error: openssl PHP module required but not installed.'] = 'Erreur: Le module PHP \"openssl\" est requis mais pas installé.';
+$a->strings['Error: mysqli PHP module required but not installed.'] = 'Erreur: Le module PHP \"mysqli\" est requis mais pas installé.';
+$a->strings['The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.'] = 'L\'installeur web doit être en mesure de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais il en est incapable.';
+$a->strings['This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.'] = 'Le plus souvent, il s\'agit d\'un problème de permission. Le serveur web peut ne pas être capable d\'écrire dans votre répertoire - alors que vous-même le pouvez.';
+$a->strings['Please check with your site documentation or support people to see if this situation can be corrected.'] = 'Merci de vérifier - avec la documentation ou le support de votre hébergement - que la situation peut être corrigée.';
+$a->strings['If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.'] = 'Dans le cas contraire, vous pouvez pratiquer une installation manuelle. Référez-vous au fichier \"INSTALL.txt\" pour les instructions.';
+$a->strings['The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'] = 'Le fichier de configuration de la base (\".htconfig.php\") ne peut être créé. Merci d\'utiliser le texte ci-joint pour créer ce fichier à la racine de votre hébergement.';
+$a->strings['Errors encountered creating database tables.'] = 'Des erreurs ont été signalées lors de la création des tables.';
$a->strings[' : '] = ' : ';
-$a->strings['Not a valid email address.'] = 'Not a valid email address.';
-$a->strings['Please join my network on '] = 'Please join my network on ';
-$a->strings['Message delivery failed.'] = 'Message delivery failed.';
-$a->strings[' messages sent.'] = ' messages sent.';
-$a->strings['Send invitations'] = 'Send invitations';
-$a->strings['Enter email addresses, one per line:'] = 'Enter email addresses, one per line:';
-$a->strings['Your message:'] = 'Your message:';
-$a->strings['Please join my social network on '] = 'Please join my social network on ';
-$a->strings["\r\n"] = "\r\n";
-$a->strings['To accept this invitation, please visit:'] = 'To accept this invitation, please visit:';
-$a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Once you have registered, please connect with me via my profile page at:';
-$a->strings['Unable to locate original post.'] = 'Unable to locate original post.';
-$a->strings['Empty post discarded.'] = 'Empty post discarded.';
-$a->strings['Wall Photos'] = 'Wall Photos';
-$a->strings[" commented on your item at "] = " commented on your item at ";
-$a->strings[" posted on your profile wall at "] = " posted on your profile wall at ";
+$a->strings['Not a valid email address.'] = 'Ceci n\'est pas une adresse email valide.';
+$a->strings['Please join my network on '] = 'Rejoignez mon réseau sur ';
+$a->strings['Message delivery failed.'] = 'L\'acheminement du message a échoué.';
+$a->strings[' messages sent.'] = ' messages envoyés.';
+$a->strings['Send invitations'] = 'Envoyer des invitations';
+$a->strings['Enter email addresses, one per line:'] = 'Entrez les adresses email, une par ligne:';
+$a->strings['Your message:'] = 'Votre message:';
+$a->strings['Please join my social network on '] = 'Rejoignez mon réseau social sur ';
+$a->strings['\r\n'] = '';
+$a->strings['To accept this invitation, please visit:'] = 'Pour accepter cette invitation, rendez vous sur:';
+$a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Une fois inscrit, connectez-vous à la page de mon profil sur:';
+$a->strings['Unable to locate original post.'] = 'Impossible de localiser l\'article original.';
+$a->strings['Empty post discarded.'] = 'Article vide défaussé.';
+$a->strings['Wall Photos'] = 'Photos du mur';
+$a->strings[' commented on your item at '] = ' a commenté votre élément de ';
+$a->strings[' posted on your profile wall at '] = ' a posté sur votre mur à \r\n';
$a->strings['photo'] = 'photo';
-$a->strings['status'] = 'status';
-$a->strings['likes'] = 'likes';
-$a->strings['doesn\'t like'] = 'doesn\'t like';
+$a->strings['status'] = 'statut';
+$a->strings['likes'] = 'aime';
+$a->strings['doesn\'t like'] = 'n\'aime pas';
$a->strings['\'s'] = '\'s';
-$a->strings['Remote privacy information not available.'] = 'Remote privacy information not available.';
-$a->strings['Visible to:'] = 'Visible to:';
-$a->strings['Password reset requested at '] = 'Password reset requested at ';
-$a->strings['No recipient selected.'] = 'No recipient selected.';
-$a->strings['[no subject]'] = '[no subject]';
-$a->strings['Unable to locate contact information.'] = 'Unable to locate contact information.';
-$a->strings['Message sent.'] = 'Message sent.';
-$a->strings['Message could not be sent.'] = 'Message could not be sent.';
+$a->strings['Remote privacy information not available.'] = 'Informations de confidentialité indisponibles.';
+$a->strings['Visible to:'] = 'Visible par:';
+$a->strings['Password reset requested at '] = 'Réinitialisation de mot de passe demandée par ';
+$a->strings['No recipient selected.'] = 'Pas de destinataire sélectionné.';
+$a->strings['[no subject]'] = '[pas de sujet]';
+$a->strings['Unable to locate contact information.'] = 'Impossible de localiser les informations du contact.';
+$a->strings['Message sent.'] = 'Message envoyé.';
+$a->strings['Message could not be sent.'] = 'Impossible d\'envoyer le message.';
$a->strings['Messages'] = 'Messages';
-$a->strings['Inbox'] = 'Inbox';
-$a->strings['Outbox'] = 'Outbox';
-$a->strings['New Message'] = 'New Message';
-$a->strings['Message deleted.'] = 'Message deleted.';
-$a->strings['Conversation removed.'] = 'Conversation removed.';
-$a->strings['Send Private Message'] = 'Send Private Message';
-$a->strings['To:'] = 'To:';
-$a->strings['Subject:'] = 'Subject:';
-$a->strings['Upload photo'] = 'Upload photo';
-$a->strings['Insert web link'] = 'Insert web link';
-$a->strings['Please wait'] = 'Please wait';
-$a->strings['No messages.'] = 'No messages.';
-$a->strings['Delete conversation'] = 'Delete conversation';
-$a->strings['Message not available.'] = 'Message not available.';
-$a->strings['Delete message'] = 'Delete message';
-$a->strings['Send Reply'] = 'Send Reply';
-$a->strings['Normal View'] = 'Normal View';
-$a->strings['New Item View'] = 'New Item View';
-$a->strings['No such group'] = 'No such group';
-$a->strings['Group is empty'] = 'Group is empty';
-$a->strings['Group: '] = 'Group: ';
-$a->strings['View in context'] = 'View in context';
-$a->strings['Invalid request identifier.'] = 'Invalid request identifier.';
-$a->strings['Discard'] = 'Discard';
-$a->strings['Ignore'] = 'Ignore';
-$a->strings['Show Ignored Requests'] = 'Show Ignored Requests';
-$a->strings['Hide Ignored Requests'] = 'Hide Ignored Requests';
-$a->strings['Claims to be known to you: '] = 'Claims to be known to you: ';
-$a->strings['yes'] = 'yes';
-$a->strings['no'] = 'no';
-$a->strings['Notification type: '] = 'Notification type: ';
-$a->strings['Friend/Connect Request'] = 'Friend/Connect Request';
-$a->strings['New Follower'] = 'New Follower';
-$a->strings['Approve'] = 'Approve';
-$a->strings['No notifications.'] = 'No notifications.';
-$a->strings['No registrations.'] = 'No registrations.';
-$a->strings['Login failed.'] = 'Login failed.';
-$a->strings["Welcome back "] = "Welcome back ";
-$a->strings['Photo Albums'] = 'Photo Albums';
-$a->strings['Contact Photos'] = 'Contact Photos';
-$a->strings['Contact information unavailable'] = 'Contact information unavailable';
-$a->strings['Profile Photos'] = 'Profile Photos';
-$a->strings['Album not found.'] = 'Album not found.';
-$a->strings['Delete Album'] = 'Delete Album';
-$a->strings['Delete Photo'] = 'Delete Photo';
-$a->strings['was tagged in a'] = 'was tagged in a';
-$a->strings['by'] = 'by';
-$a->strings['Image exceeds size limit of '] = 'Image exceeds size limit of ';
-$a->strings['Unable to process image.'] = 'Unable to process image.';
-$a->strings['Image upload failed.'] = 'Image upload failed.';
-$a->strings['No photos selected'] = 'No photos selected';
-$a->strings['Upload Photos'] = 'Upload Photos';
-$a->strings['New album name: '] = 'New album name: ';
-$a->strings['or existing album name: '] = 'or existing album name: ';
-$a->strings['Select files to upload: '] = 'Select files to upload: ';
+$a->strings['Inbox'] = 'Messages entrants';
+$a->strings['Outbox'] = 'Messages sortants';
+$a->strings['New Message'] = 'Nouveau message';
+$a->strings['Message deleted.'] = 'Message supprimé.';
+$a->strings['Conversation removed.'] = 'Conversation supprimée.';
+$a->strings['Send Private Message'] = 'Envoyer un message privé';
+$a->strings['To:'] = 'À:';
+$a->strings['Subject:'] = 'Sujet:';
+$a->strings['Upload photo'] = 'Joindre photo';
+$a->strings['Insert web link'] = 'Insérer lien web';
+$a->strings['Please wait'] = 'Patientez';
+$a->strings['No messages.'] = 'Aucun message.';
+$a->strings['Delete conversation'] = 'Effacer conversation';
+$a->strings['Message not available.'] = 'Message indisponible.';
+$a->strings['Delete message'] = 'Effacer message';
+$a->strings['Send Reply'] = 'Répondre';
+$a->strings['Normal View'] = 'Vue normale';
+$a->strings['New Item View'] = 'Vue des nouveautés';
+$a->strings['No such group'] = 'Groupe inexistant';
+$a->strings['Group is empty'] = 'Groupe vide';
+$a->strings['Group: '] = 'Groupe: ';
+$a->strings['View in context'] = 'Voir dans le contexte';
+$a->strings['Invalid request identifier.'] = 'Identifiant de demande invalide.';
+$a->strings['Discard'] = 'Défausser';
+$a->strings['Ignore'] = 'Ignorer';
+$a->strings['Show Ignored Requests'] = 'Voir les demandes ignorées';
+$a->strings['Hide Ignored Requests'] = 'Cacher les demandes ignorées';
+$a->strings['Claims to be known to you: '] = 'Prétend que vous le connaissez: ';
+$a->strings['yes'] = 'oui';
+$a->strings['no'] = 'non';
+$a->strings['Notification type: '] = 'Type de notification: ';
+$a->strings['Friend/Connect Request'] = 'Demande de connexion/relation';
+$a->strings['New Follower'] = 'Nouvel abonné';
+$a->strings['Approve'] = 'Approuver';
+$a->strings['No notifications.'] = 'Pas de notification.';
+$a->strings['No registrations.'] = 'Pas d\'inscriptions.';
+$a->strings['Login failed.'] = 'Échec de connexion.';
+$a->strings['Welcome back '] = 'Bienvenue à nouveau ';
+$a->strings['Photo Albums'] = 'Albums photo';
+$a->strings['Contact Photos'] = 'Photos du contact';
+$a->strings['Contact information unavailable'] = 'Informations de contact indisponibles';
+$a->strings['Profile Photos'] = 'Photos du profil';
+$a->strings['Album not found.'] = 'Album introuvable.';
+$a->strings['Delete Album'] = 'Effacer l\'album';
+$a->strings['Delete Photo'] = 'Effacer la photo';
+$a->strings['was tagged in a'] = 'a été identifié dans';
+$a->strings['by'] = 'par';
+$a->strings['Image exceeds size limit of '] = 'L\'image dépasse la taille maximale de ';
+$a->strings['Unable to process image.'] = 'Impossible de traiter l\'image.';
+$a->strings['Image upload failed.'] = 'L\'envoi de l\'image a échoué.';
+$a->strings['No photos selected'] = 'Aucune photo sélectionnée';
+$a->strings['Upload Photos'] = 'Envoyer des photos';
+$a->strings['New album name: '] = 'Nom du nouvel album: ';
+$a->strings['or existing album name: '] = 'ou nom d\'un album existant: ';
+$a->strings['Select files to upload: '] = 'Choisir les fichiers à envoyer: ';
$a->strings['Permissions'] = 'Permissions';
-$a->strings['Use the following controls only if the Java uploader [above] fails to launch.'] = 'Use the following controls only if the Java uploader [above] fails to launch.';
-$a->strings['Edit Album'] = 'Edit Album';
-$a->strings['View Photo'] = 'View Photo';
-$a->strings['Photo not available'] = 'Photo not available';
-$a->strings['Edit photo'] = 'Edit photo';
-$a->strings['View Full Size'] = 'View Full Size';
-$a->strings['Tags: '] = 'Tags: ';
-$a->strings['[Remove any tag]'] = '[Remove any tag]';
-$a->strings['Caption'] = 'Caption';
-$a->strings['Add a Tag'] = 'Add a Tag';
-$a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'] = 'Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping';
-$a->strings['Recent Photos'] = 'Recent Photos';
-$a->strings['Upload New Photos'] = 'Upload New Photos';
-$a->strings['View Album'] = 'View Album';
-$a->strings['Image uploaded but image cropping failed.'] = 'Image uploaded but image cropping failed.';
-$a->strings['Image size reduction [175] failed.'] = 'Image size reduction [175] failed.';
-$a->strings['Image size reduction [80] failed.'] = 'Image size reduction [80] failed.';
-$a->strings['Image size reduction [48] failed.'] = 'Image size reduction [48] failed.';
-$a->strings['Unable to process image'] = 'Unable to process image';
-$a->strings['Image uploaded successfully.'] = 'Image uploaded successfully.';
-$a->strings['Image size reduction [640] failed.'] = 'Image size reduction [640] failed.';
-$a->strings['Profile Name is required.'] = 'Profile Name is required.';
-$a->strings['Profile updated.'] = 'Profile updated.';
-$a->strings['Profile deleted.'] = 'Profile deleted.';
-$a->strings['Profile-'] = 'Profile-';
-$a->strings['New profile created.'] = 'New profile created.';
-$a->strings['Profile unavailable to clone.'] = 'Profile unavailable to clone.';
-$a->strings['This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.'] = 'This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.';
+$a->strings['Use the following controls only if the Java uploader [above] fails to launch.'] = 'Utilisez le formulaire suivant uniquement si l\'applet Java [ci-dessus] ne parvient pas à se lancer.';
+$a->strings['Edit Album'] = 'Éditer l\'album';
+$a->strings['View Photo'] = 'Voir la photo';
+$a->strings['Photo not available'] = 'Photo indisponible';
+$a->strings['Edit photo'] = 'Éditer la photo';
+$a->strings['View Full Size'] = 'Voir en taille réelle';
+$a->strings['Tags: '] = 'Étiquettes: ';
+$a->strings['[Remove any tag]'] = '[Retirer toutes les étiquettes]';
+$a->strings['Caption'] = 'Titre';
+$a->strings['Add a Tag'] = 'Ajouter une étiquette';
+$a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'] = 'Exemples: @bob, @Barbara_Jensen, @jim@example.com, #Californie, #vacances';
+$a->strings['Recent Photos'] = 'Photos récentes';
+$a->strings['Upload New Photos'] = 'Envoyer de nouvelles photos';
+$a->strings['View Album'] = 'Voir l\'album';
+$a->strings['Image uploaded but image cropping failed.'] = 'Image envoyée, mais impossible de la retailler.';
+$a->strings['Image size reduction [175] failed.'] = 'Réduction de taille d\'image [175] échouée.';
+$a->strings['Image size reduction [80] failed.'] = 'Réduction de taille d\'image [80] échouée.';
+$a->strings['Image size reduction [48] failed.'] = 'Réduction de taille d\'image [48] échouée.';
+$a->strings['Unable to process image'] = 'Impossible de traiter l\'image';
+$a->strings['Image uploaded successfully.'] = 'Image envoyée avec succès.';
+$a->strings['Image size reduction [640] failed.'] = 'Réduction de taille d\'image [640] échouée.';
+$a->strings['Profile Name is required.'] = 'Le nom du profil est requis.';
+$a->strings['Profile updated.'] = 'Profil mis à jour.';
+$a->strings['Profile deleted.'] = 'Profil supprimé.';
+$a->strings['Profile-'] = 'Profil-';
+$a->strings['New profile created.'] = 'Nouveau profil créé.';
+$a->strings['Profile unavailable to clone.'] = 'Ce profil ne peut être cloné.';
+$a->strings['This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.'] = 'Ceci est votre profil <strong>public</strong>.<br />Il <strong>peut</strong> être visible par n\'importe quel utilisateur d\'Internet.';
$a->strings['Age: '] = 'Age: ';
-$a->strings['Profile Image'] = 'Profile Image';
-$a->strings['Invalid OpenID url'] = 'Invalid OpenID url';
-$a->strings['Please enter the required information.'] = 'Please enter the required information.';
-$a->strings['Please use a shorter name.'] = 'Please use a shorter name.';
-$a->strings['Name too short.'] = 'Name too short.';
-$a->strings["That doesn\'t appear to be your full \x28First Last\x29 name."] = "That doesn\'t appear to be your full \x28First Last\x29 name.";
-$a->strings['Your email domain is not among those allowed on this site.'] = 'Your email domain is not among those allowed on this site.';
-$a->strings['Cannot use that email.'] = 'Cannot use that email.';
-$a->strings['Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.'] = 'Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.';
-$a->strings['Nickname is already registered. Please choose another.'] = 'Nickname is already registered. Please choose another.';
-$a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'SERIOUS ERROR: Generation of security keys failed.';
-$a->strings['An error occurred during registration. Please try again.'] = 'An error occurred during registration. Please try again.';
-$a->strings['An error occurred creating your default profile. Please try again.'] = 'An error occurred creating your default profile. Please try again.';
-$a->strings['Registration details for '] = 'Registration details for ';
-$a->strings['Registration successful. Please check your email for further instructions.'] = 'Registration successful. Please check your email for further instructions.';
-$a->strings['Failed to send email message. Here is the message that failed.'] = 'Failed to send email message. Here is the message that failed.';
-$a->strings['Your registration can not be processed.'] = 'Your registration can not be processed.';
-$a->strings['Registration request at '] = 'Registration request at ';
-$a->strings['Your registration is pending approval by the site owner.'] = 'Your registration is pending approval by the site owner.';
-$a->strings["You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.";
-$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.';
-$a->strings["Your OpenID \x28optional\x29: "] = "Your OpenID \x28optional\x29: ";
-$a->strings['Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.'] = 'Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.';
-$a->strings['Registration'] = 'Registration';
-$a->strings['Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '] = 'Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': ';
-$a->strings['Your Email Address: '] = 'Your Email Address: ';
-$a->strings['Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.'] = 'Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.';
-$a->strings['Choose a nickname: '] = 'Choose a nickname: ';
-$a->strings['Register'] = 'Register';
-$a->strings['Please login.'] = 'Please login.';
-$a->strings['Registration revoked for '] = 'Registration revoked for ';
-$a->strings['Account approved.'] = 'Account approved.';
-$a->strings['Passwords do not match. Password unchanged.'] = 'Passwords do not match. Password unchanged.';
-$a->strings['Empty passwords are not allowed. Password unchanged.'] = 'Empty passwords are not allowed. Password unchanged.';
-$a->strings['Password changed.'] = 'Password changed.';
-$a->strings['Password update failed. Please try again.'] = 'Password update failed. Please try again.';
-$a->strings[' Please use a shorter name.'] = ' Please use a shorter name.';
-$a->strings[' Name too short.'] = ' Name too short.';
-$a->strings[' Not valid email.'] = ' Not valid email.';
-$a->strings[' Cannot change to that email.'] = ' Cannot change to that email.';
-$a->strings['Settings updated.'] = 'Settings updated.';
-$a->strings['Plugin Settings'] = 'Plugin Settings';
-$a->strings['Account Settings'] = 'Account Settings';
-$a->strings['No Plugin settings configured'] = 'No Plugin settings configured';
+$a->strings['Profile Image'] = 'Image du profil';
+$a->strings['Invalid OpenID url'] = 'Adresse OpenID invalide';
+$a->strings['Please enter the required information.'] = 'Entrez les informations requises.';
+$a->strings['Please use a shorter name.'] = 'Utilisez un nom plus court.';
+$a->strings['Name too short.'] = 'Nom trop court.';
+$a->strings['That doesn\'t appear to be your full (First Last) name.'] = '';
+$a->strings['Your email domain is not among those allowed on this site.'] = 'Votre domaine email n\'est pas autorisé sur ce site.';
+$a->strings['Cannot use that email.'] = 'Impossible d\'utiliser cet email.';
+$a->strings['Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.'] = 'Votre \"pseudo\" peut seulement contenir les caractères \"a-z\", \"0-9\", \"-\", and \"_\", et doit commencer par une lettre.';
+$a->strings['Nickname is already registered. Please choose another.'] = 'Pseudo déjà utilisé. Merci d\'en choisir un autre.';
+$a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'ERREUR SÉRIEUSE: La génération des clés de sécurité a échoué.';
+$a->strings['An error occurred during registration. Please try again.'] = 'Une erreur est survenue lors de l\'inscription. Merci de recommencer.';
+$a->strings['An error occurred creating your default profile. Please try again.'] = 'Une erreur est survenue lors de la création de votre profil par défaut. Merci de recommencer.';
+$a->strings['Registration details for '] = 'Détails de l\'inscription pour ';
+$a->strings['Registration successful. Please check your email for further instructions.'] = 'Inscription réussie. Vérifiez vos emails pour la suite des instructions.';
+$a->strings['Failed to send email message. Here is the message that failed.'] = 'Impossible d\'envoyer un email. Voici le message qui a échoué.';
+$a->strings['Your registration can not be processed.'] = 'Votre inscription ne peut être traitée.';
+$a->strings['Registration request at '] = 'Inscription demandée par ';
+$a->strings['Your registration is pending approval by the site owner.'] = 'Votre inscription attend une validation du propriétaire du site.';
+$a->strings['You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking \'Register\'.'] = 'Vous pouvez (si vous le souhaitez) remplir ce formulaire via OpenID. Fournissez votre OpenID et cliquez \"S\'inscrire\"';
+$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'Si vous n\'êtes pas familier avec OpenID, laissez ce champ vide et remplissez le reste.';
+$a->strings['Your OpenID (optional): '] = 'Votre OpenID (facultatif): ';
+$a->strings['Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.'] = 'Le contenu est partagé suivant les termes de la licence <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a>.';
+$a->strings['Registration'] = 'Inscription';
+$a->strings['Your Full Name (e.g. Joe Smith): '] = 'Votre nom cmplet (p.ex. Michel Dupont): ';
+$a->strings['Your Email Address: '] = 'Votre adresse email: ';
+$a->strings['Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.'] = 'Choisissez un pseudo pour votre profil. Il devra commencer avec une lettre. L\'identifiant global de votre profil sera \'<strong>pseudo@$sitename</strong>\'.';
+$a->strings['Choose a nickname: '] = 'Choisir un pseudo: ';
+$a->strings['Register'] = 'S\'inscrire';
+$a->strings['Please login.'] = 'Merci de vous connecter.';
+$a->strings['Registration revoked for '] = 'Inscription révoquée pour ';
+$a->strings['Account approved.'] = 'Inscription validée.';
+$a->strings['Passwords do not match. Password unchanged.'] = 'Les mots de passe ne correspondent pas. Aucun changement appliqué.';
+$a->strings['Empty passwords are not allowed. Password unchanged.'] = 'Les mots de passe vides sont interdits. Aucun changement appliqué.';
+$a->strings['Password changed.'] = 'Mots de passe changés.';
+$a->strings['Password update failed. Please try again.'] = 'Le changement de mot de passe a échoué. Merci de recommencer.';
+$a->strings[' Please use a shorter name.'] = ' Merci d\'utiliser un nom plus court.';
+$a->strings[' Name too short.'] = ' Nom trop court.';
+$a->strings[' Not valid email.'] = ' Email invalide.';
+$a->strings[' Cannot change to that email.'] = ' Impossible de changer pour cet email.';
+$a->strings['Settings updated.'] = 'Réglages mis à jour.';
+$a->strings['Plugin Settings'] = 'Réglages des extensions';
+$a->strings['Account Settings'] = 'Réglages du compte';
+$a->strings['No Plugin settings configured'] = 'Pas de réglages d\'extensions configurés';
$a->strings['OpenID: '] = 'OpenID: ';
-$a->strings["&nbsp;\x28Optional\x29 Allow this OpenID to login to this account."] = "&nbsp;\x28Optional\x29 Allow this OpenID to login to this account.";
-$a->strings['Profile is <strong>not published</strong>.'] = 'Profile is <strong>not published</strong>.';
-$a->strings['Default Post Permissions'] = 'Default Post Permissions';
-$a->strings['Tag removed'] = 'Tag removed';
-$a->strings['Remove Item Tag'] = 'Remove Item Tag';
-$a->strings['Select a tag to remove: '] = 'Select a tag to remove: ';
-$a->strings['Remove'] = 'Remove';
-$a->strings['No contacts.'] = 'No contacts.';
-$a->strings['Visible To:'] = 'Visible To:';
-$a->strings['Groups'] = 'Groups';
-$a->strings['Except For:'] = 'Except For:';
-$a->strings['Logged out.'] = 'Logged out.';
-$a->strings['Unknown | Not categorised'] = 'Unknown | Not categorised';
-$a->strings['Block immediately'] = 'Block immediately';
-$a->strings['Shady, spammer, self-marketer'] = 'Shady, spammer, self-marketer';
-$a->strings['Known to me, but no opinion'] = 'Known to me, but no opinion';
-$a->strings['OK, probably harmless'] = 'OK, probably harmless';
-$a->strings['Reputable, has my trust'] = 'Reputable, has my trust';
+$a->strings['&nbsp;(Optional) Allow this OpenID to login to this account.'] = ' (Facultatif) Autoriser cet OpenID à se connecter à ce compte.';
+$a->strings['Profile is <strong>not published</strong>.'] = 'Ce profil n\'est <strong>pas publié</strong>.';
+$a->strings['Default Post Permissions'] = 'Permissions par défaut sur les articles';
+$a->strings['Tag removed'] = 'Étiquette enlevée';
+$a->strings['Remove Item Tag'] = 'Enlever l\'étiquette de l\'élément';
+$a->strings['Select a tag to remove: '] = 'Choisir une étiquette à enlever: ';
+$a->strings['Remove'] = 'Enlever';
+$a->strings['No contacts.'] = 'Aucun contact.';
+$a->strings['Visible To:'] = 'Visible par:';
+$a->strings['Groups'] = 'Groupes';
+$a->strings['Except For:'] = 'Sauf pour:';
+$a->strings['Logged out.'] = 'Déconnecté.';
+$a->strings['Unknown | Not categorised'] = 'Inconnu | Non-classé';
+$a->strings['Block immediately'] = 'Bloquer immédiatement';
+$a->strings['Shady, spammer, self-marketer'] = 'Douteux, spammeur, accro à l\'auto-promotion';
+$a->strings['Known to me, but no opinion'] = 'Connu de moi, mais sans opinion';
+$a->strings['OK, probably harmless'] = 'OK, probablement inoffensif';
+$a->strings['Reputable, has my trust'] = 'Réputé, a toute ma confiance';
$a->strings['Frequently'] = 'Fréquemment';
$a->strings['Hourly'] = 'Toutes les heures';
$a->strings['Twice daily'] = 'Deux fois par jour';
@@ -422,7 +420,7 @@ $a->strings['Currently Female'] = 'Actuellement féminin';
$a->strings['Mostly Male'] = 'Principalement masculin';
$a->strings['Mostly Female'] = 'Principalement féminin';
$a->strings['Transgender'] = 'Transgenre';
-$a->strings['Intersex'] = 'Intersexe';
+$a->strings['Intersex'] = 'Inter-sexe';
$a->strings['Transsexual'] = 'Transsexuel';
$a->strings['Hermaphrodite'] = 'Hermaphrodite';
$a->strings['Neuter'] = 'Neutre';
@@ -435,30 +433,30 @@ $a->strings['Gay'] = 'Gay';
$a->strings['Lesbian'] = 'Lesbienne';
$a->strings['No Preference'] = 'Sans préférence';
$a->strings['Bisexual'] = 'Bisexuel';
-$a->strings['Autosexual'] = 'Autosexuel';
+$a->strings['Autosexual'] = 'Auto-sexuel';
$a->strings['Abstinent'] = 'Abstinent';
$a->strings['Virgin'] = 'Vierge';
$a->strings['Deviant'] = 'Déviant';
$a->strings['Fetish'] = 'Fétichiste';
-$a->strings['Oodles'] = 'Oodles'; //FIXME
-$a->strings['Nonsexual'] = 'Nonsexuel';
+$a->strings['Oodles'] = 'Oodles';
+$a->strings['Nonsexual'] = 'Non-sexuel';
$a->strings['Single'] = 'Célibataire';
-$a->strings['Lonely'] = 'Ésseulé';
+$a->strings['Lonely'] = 'Esseulé';
$a->strings['Available'] = 'Disponible';
$a->strings['Unavailable'] = 'Indisponible';
$a->strings['Dating'] = 'Dans une relation';
$a->strings['Unfaithful'] = 'Infidèle';
$a->strings['Sex Addict'] = 'Accro au sexe';
$a->strings['Friends'] = 'Amis';
-$a->strings['Friends/Benefits'] = 'Amis par intérêt'; //FIXME
-$a->strings['Casual'] = 'Casual'; //FIXME
+$a->strings['Friends/Benefits'] = 'Amis par intérêt';
+$a->strings['Casual'] = 'Casual';
$a->strings['Engaged'] = 'Fiancé';
$a->strings['Married'] = 'Marié';
$a->strings['Partners'] = 'Partenaire';
$a->strings['Cohabiting'] = 'En cohabitation';
$a->strings['Happy'] = 'Heureux';
$a->strings['Not Looking'] = 'Sans recherche';
-$a->strings['Swinger'] = 'Swinger'; //FIXME
+$a->strings['Swinger'] = 'Échangiste';
$a->strings['Betrayed'] = 'Trahi(e)';
$a->strings['Separated'] = 'Séparé';
$a->strings['Unstable'] = 'Instable';
@@ -466,12 +464,12 @@ $a->strings['Divorced'] = 'Divorcé';
$a->strings['Widowed'] = 'Veuf/Veuve';
$a->strings['Uncertain'] = 'Incertain';
$a->strings['Complicated'] = 'Compliqué';
-$a->strings['Don\'t care'] = 'S\'en désinteresse'; //FIXME
+$a->strings['Don\'t care'] = 'S\'en désintéresse';
$a->strings['Ask me'] = 'Me demander';
$a->strings['Africa/Abidjan'] = 'Afrique/Abidjan';
$a->strings['Africa/Accra'] = 'Afrique/Accra';
-$a->strings['Africa/Addis_Ababa'] = 'Afrique/Addis_Ababa';
-$a->strings['Africa/Algiers'] = 'Afrique/Algiers';
+$a->strings['Africa/Addis_Ababa'] = 'Afrique/Addis-Abeba';
+$a->strings['Africa/Algiers'] = 'Afrique/Alger';
$a->strings['Africa/Asmara'] = 'Afrique/Asmara';
$a->strings['Africa/Asmera'] = 'Afrique/Asmera';
$a->strings['Africa/Bamako'] = 'Afrique/Bamako';
@@ -486,7 +484,7 @@ $a->strings['Africa/Casablanca'] = 'Afrique/Casablanca';
$a->strings['Africa/Ceuta'] = 'Afrique/Ceuta';
$a->strings['Africa/Conakry'] = 'Afrique/Conakry';
$a->strings['Africa/Dakar'] = 'Afrique/Dakar';
-$a->strings['Africa/Dar_es_Salaam'] = 'Afrique/Dar_es_Salaam';
+$a->strings['Africa/Dar_es_Salaam'] = 'Afrique/Dar-es-Salaam';
$a->strings['Africa/Djibouti'] = 'Afrique/Djibouti';
$a->strings['Africa/Douala'] = 'Afrique/Douala';
$a->strings['Africa/El_Aaiun'] = 'Afrique/El_Aaiun';
@@ -500,7 +498,7 @@ $a->strings['Africa/Kigali'] = 'Afrique/Kigali';
$a->strings['Africa/Kinshasa'] = 'Afrique/Kinshasa';
$a->strings['Africa/Lagos'] = 'Afrique/Lagos';
$a->strings['Africa/Libreville'] = 'Afrique/Libreville';
-$a->strings['Africa/Lome'] = 'Afrique/Lome';
+$a->strings['Africa/Lome'] = 'Afrique/Lomé';
$a->strings['Africa/Luanda'] = 'Afrique/Luanda';
$a->strings['Africa/Lubumbashi'] = 'Afrique/Lubumbashi';
$a->strings['Africa/Lusaka'] = 'Afrique/Lusaka';
@@ -508,16 +506,16 @@ $a->strings['Africa/Malabo'] = 'Afrique/Malabo';
$a->strings['Africa/Maputo'] = 'Afrique/Maputo';
$a->strings['Africa/Maseru'] = 'Afrique/Maseru';
$a->strings['Africa/Mbabane'] = 'Afrique/Mbabane';
-$a->strings['Africa/Mogadishu'] = 'Afrique/Mogadishu';
+$a->strings['Africa/Mogadishu'] = 'Afrique/Mogadiscio';
$a->strings['Africa/Monrovia'] = 'Afrique/Monrovia';
$a->strings['Africa/Nairobi'] = 'Afrique/Nairobi';
-$a->strings['Africa/Ndjamena'] = 'Afrique/Ndjamena';
+$a->strings['Africa/Ndjamena'] = 'Afrique/N\'Djamena';
$a->strings['Africa/Niamey'] = 'Afrique/Niamey';
$a->strings['Africa/Nouakchott'] = 'Afrique/Nouakchott';
$a->strings['Africa/Ouagadougou'] = 'Afrique/Ouagadougou';
$a->strings['Africa/Porto-Novo'] = 'Afrique/Porto-Novo';
$a->strings['Africa/Sao_Tome'] = 'Afrique/Sao_Tome';
-$a->strings['Africa/Timbuktu'] = 'Afrique/Timbuktu';
+$a->strings['Africa/Timbuktu'] = 'Afrique/Tombouctou';
$a->strings['Africa/Tripoli'] = 'Afrique/Tripoli';
$a->strings['Africa/Tunis'] = 'Afrique/Tunis';
$a->strings['Africa/Windhoek'] = 'Afrique/Windhoek';
@@ -526,26 +524,26 @@ $a->strings['America/Anchorage'] = 'Amérique/Anchorage';
$a->strings['America/Anguilla'] = 'Amérique/Anguilla';
$a->strings['America/Antigua'] = 'Amérique/Antigua';
$a->strings['America/Araguaina'] = 'Amérique/Araguaina';
-$a->strings['America/Argentina/Buenos_Aires'] = 'Amérique/Argentina/Buenos_Aires';
-$a->strings['America/Argentina/Catamarca'] = 'Amérique/Argentina/Catamarca';
-$a->strings['America/Argentina/ComodRivadavia'] = 'Amérique/Argentina/ComodRivadavia';
-$a->strings['America/Argentina/Cordoba'] = 'Amérique/Argentina/Cordoba';
-$a->strings['America/Argentina/Jujuy'] = 'Amérique/Argentina/Jujuy';
-$a->strings['America/Argentina/La_Rioja'] = 'Amérique/Argentina/La_Rioja';
-$a->strings['America/Argentina/Mendoza'] = 'Amérique/Argentina/Mendoza';
-$a->strings['America/Argentina/Rio_Gallegos'] = 'Amérique/Argentina/Rio_Gallegos';
-$a->strings['America/Argentina/Salta'] = 'Amérique/Argentina/Salta';
-$a->strings['America/Argentina/San_Juan'] = 'Amérique/Argentina/San_Juan';
-$a->strings['America/Argentina/San_Luis'] = 'Amérique/Argentina/San_Luis';
-$a->strings['America/Argentina/Tucuman'] = 'Amérique/Argentina/Tucuman';
-$a->strings['America/Argentina/Ushuaia'] = 'Amérique/Argentina/Ushuaia';
+$a->strings['America/Argentina/Buenos_Aires'] = 'Amérique/Argentine/Buenos_Aires';
+$a->strings['America/Argentina/Catamarca'] = 'Amérique/Argentine/Catamarca';
+$a->strings['America/Argentina/ComodRivadavia'] = 'Amérique/Argentine/ComodRivadavia';
+$a->strings['America/Argentina/Cordoba'] = 'Amérique/Argentine/Cordoba';
+$a->strings['America/Argentina/Jujuy'] = 'Amérique/Argentine/Jujuy';
+$a->strings['America/Argentina/La_Rioja'] = 'Amérique/Argentine/La_Rioja';
+$a->strings['America/Argentina/Mendoza'] = 'Amérique/Argentine/Mendoza';
+$a->strings['America/Argentina/Rio_Gallegos'] = 'Amérique/Argentine/Rio_Gallegos';
+$a->strings['America/Argentina/Salta'] = 'Amérique/Argentine/Salta';
+$a->strings['America/Argentina/San_Juan'] = 'Amérique/Argentine/San_Juan';
+$a->strings['America/Argentina/San_Luis'] = 'Amérique/Argentine/San_Luis';
+$a->strings['America/Argentina/Tucuman'] = 'Amérique/Argentine/Tucuman';
+$a->strings['America/Argentina/Ushuaia'] = 'Amérique/Argentine/Ushuaia';
$a->strings['America/Aruba'] = 'Amérique/Aruba';
$a->strings['America/Asuncion'] = 'Amérique/Asuncion';
$a->strings['America/Atikokan'] = 'Amérique/Atikokan';
$a->strings['America/Atka'] = 'Amérique/Atka';
$a->strings['America/Bahia'] = 'Amérique/Bahia';
$a->strings['America/Barbados'] = 'Amérique/Barbados';
-$a->strings['America/Belem'] = 'Amérique/Belem';
+$a->strings['America/Belem'] = 'Amérique/Bélem';
$a->strings['America/Belize'] = 'Amérique/Belize';
$a->strings['America/Blanc-Sablon'] = 'Amérique/Blanc-Sablon';
$a->strings['America/Boa_Vista'] = 'Amérique/Boa_Vista';
@@ -565,12 +563,12 @@ $a->strings['America/Coral_Harbour'] = 'Amérique/Coral_Harbour';
$a->strings['America/Cordoba'] = 'Amérique/Cordoba';
$a->strings['America/Costa_Rica'] = 'Amérique/Costa_Rica';
$a->strings['America/Cuiaba'] = 'Amérique/Cuiaba';
-$a->strings['America/Curacao'] = 'Amérique/Curacao';
+$a->strings['America/Curacao'] = 'Amérique/Curaçao';
$a->strings['America/Danmarkshavn'] = 'Amérique/Danmarkshavn';
$a->strings['America/Dawson'] = 'Amérique/Dawson';
$a->strings['America/Dawson_Creek'] = 'Amérique/Dawson_Creek';
$a->strings['America/Denver'] = 'Amérique/Denver';
-$a->strings['America/Detroit'] = 'Amérique/Detroit';
+$a->strings['America/Detroit'] = 'Amérique/Détroit';
$a->strings['America/Dominica'] = 'Amérique/Dominica';
$a->strings['America/Edmonton'] = 'Amérique/Edmonton';
$a->strings['America/Eirunepe'] = 'Amérique/Eirunepe';
@@ -601,7 +599,7 @@ $a->strings['America/Indiana/Winamac'] = 'Amérique/Indiana/Winamac';
$a->strings['America/Indianapolis'] = 'Amérique/Indianapolis';
$a->strings['America/Inuvik'] = 'Amérique/Inuvik';
$a->strings['America/Iqaluit'] = 'Amérique/Iqaluit';
-$a->strings['America/Jamaica'] = 'Amérique/Jamaica';
+$a->strings['America/Jamaica'] = 'Amérique/Jamaïque';
$a->strings['America/Jujuy'] = 'Amérique/Jujuy';
$a->strings['America/Juneau'] = 'Amérique/Juneau';
$a->strings['America/Kentucky/Louisville'] = 'Amérique/Kentucky/Louisville';
@@ -633,8 +631,8 @@ $a->strings['America/New_York'] = 'Amérique/New_York';
$a->strings['America/Nipigon'] = 'Amérique/Nipigon';
$a->strings['America/Nome'] = 'Amérique/Nome';
$a->strings['America/Noronha'] = 'Amérique/Noronha';
-$a->strings['America/North_Dakota/Center'] = 'Amérique/North_Dakota/Center';
-$a->strings['America/North_Dakota/New_Salem'] = 'Amérique/North_Dakota/New_Salem';
+$a->strings['America/North_Dakota/Center'] = 'Amérique/Dakota du nord/Center';
+$a->strings['America/North_Dakota/New_Salem'] = 'Amérique/Dakota du nord/New_Salem';
$a->strings['America/Ojinaga'] = 'Amérique/Ojinaga';
$a->strings['America/Panama'] = 'Amérique/Panama';
$a->strings['America/Pangnirtung'] = 'Amérique/Pangnirtung';
@@ -659,7 +657,7 @@ $a->strings['America/Santo_Domingo'] = 'Amérique/Santo_Domingo';
$a->strings['America/Sao_Paulo'] = 'Amérique/Sao_Paulo';
$a->strings['America/Scoresbysund'] = 'Amérique/Scoresbysund';
$a->strings['America/Shiprock'] = 'Amérique/Shiprock';
-$a->strings['America/St_Barthelemy'] = 'Amérique/St_Barthelemy';
+$a->strings['America/St_Barthelemy'] = 'Amérique/Saint_Barthélemy';
$a->strings['America/St_Johns'] = 'Amérique/St_Johns';
$a->strings['America/St_Kitts'] = 'Amérique/St_Kitts';
$a->strings['America/St_Lucia'] = 'Amérique/St_Lucia';
@@ -689,7 +687,7 @@ $a->strings['Antarctica/Rothera'] = 'Antarctique/Rothera';
$a->strings['Antarctica/South_Pole'] = 'Antarctique/Pôle Sud';
$a->strings['Antarctica/Syowa'] = 'Antarctique/Syowa';
$a->strings['Antarctica/Vostok'] = 'Antarctique/Vostok';
-$a->strings['Arctic/Longyearbyen'] = 'Arctic/Longyearbyen';
+$a->strings['Arctic/Longyearbyen'] = 'Arctique/Longyearbyen';
$a->strings['Asia/Aden'] = 'Asie/Aden';
$a->strings['Asia/Almaty'] = 'Asie/Almaty';
$a->strings['Asia/Amman'] = 'Asie/Amman';
@@ -702,7 +700,7 @@ $a->strings['Asia/Baghdad'] = 'Asie/Baghdad';
$a->strings['Asia/Bahrain'] = 'Asie/Bahrain';
$a->strings['Asia/Baku'] = 'Asie/Baku';
$a->strings['Asia/Bangkok'] = 'Asie/Bangkok';
-$a->strings['Asia/Beirut'] = 'Asie/Beirut';
+$a->strings['Asia/Beirut'] = 'Asie/Beyrouth';
$a->strings['Asia/Bishkek'] = 'Asie/Bishkek';
$a->strings['Asia/Brunei'] = 'Asie/Brunei';
$a->strings['Asia/Calcutta'] = 'Asie/Calcutta';
@@ -711,37 +709,37 @@ $a->strings['Asia/Chongqing'] = 'Asie/Chongqing';
$a->strings['Asia/Chungking'] = 'Asie/Chungking';
$a->strings['Asia/Colombo'] = 'Asie/Colombo';
$a->strings['Asia/Dacca'] = 'Asie/Dacca';
-$a->strings['Asia/Damascus'] = 'Asie/Damascus';
+$a->strings['Asia/Damascus'] = 'Asie/Damas';
$a->strings['Asia/Dhaka'] = 'Asie/Dhaka';
$a->strings['Asia/Dili'] = 'Asie/Dili';
-$a->strings['Asia/Dubai'] = 'Asie/Dubai';
+$a->strings['Asia/Dubai'] = 'Asie/Dubaï';
$a->strings['Asia/Dushanbe'] = 'Asie/Dushanbe';
$a->strings['Asia/Gaza'] = 'Asie/Gaza';
$a->strings['Asia/Harbin'] = 'Asie/Harbin';
$a->strings['Asia/Ho_Chi_Minh'] = 'Asie/Ho_Chi_Minh';
$a->strings['Asia/Hong_Kong'] = 'Asie/Hong_Kong';
$a->strings['Asia/Hovd'] = 'Asie/Hovd';
-$a->strings['Asia/Irkutsk'] = 'Asie/Irkutsk';
+$a->strings['Asia/Irkutsk'] = 'Asie/Irkoutsk';
$a->strings['Asia/Istanbul'] = 'Asie/Istanbul';
$a->strings['Asia/Jakarta'] = 'Asie/Jakarta';
$a->strings['Asia/Jayapura'] = 'Asie/Jayapura';
-$a->strings['Asia/Jerusalem'] = 'Asie/Jerusalem';
-$a->strings['Asia/Kabul'] = 'Asie/Kabul';
+$a->strings['Asia/Jerusalem'] = 'Asie/Jérusalem';
+$a->strings['Asia/Kabul'] = 'Asie/Kaboul';
$a->strings['Asia/Kamchatka'] = 'Asie/Kamchatka';
$a->strings['Asia/Karachi'] = 'Asie/Karachi';
$a->strings['Asia/Kashgar'] = 'Asie/Kashgar';
-$a->strings['Asia/Kathmandu'] = 'Asie/Kathmandu';
-$a->strings['Asia/Katmandu'] = 'Asie/Katmandu';
+$a->strings['Asia/Kathmandu'] = 'Asie/Katmandou';
+$a->strings['Asia/Katmandu'] = 'Asie/Katmandou';
$a->strings['Asia/Kolkata'] = 'Asie/Kolkata';
$a->strings['Asia/Krasnoyarsk'] = 'Asie/Krasnoyarsk';
$a->strings['Asia/Kuala_Lumpur'] = 'Asie/Kuala_Lumpur';
$a->strings['Asia/Kuching'] = 'Asie/Kuching';
-$a->strings['Asia/Kuwait'] = 'Asie/Kuwait';
+$a->strings['Asia/Kuwait'] = 'Asie/Koweït';
$a->strings['Asia/Macao'] = 'Asie/Macao';
$a->strings['Asia/Macau'] = 'Asie/Macau';
$a->strings['Asia/Magadan'] = 'Asie/Magadan';
-$a->strings['Asia/Makassar'] = 'Asie/Makassar';
-$a->strings['Asia/Manila'] = 'Asie/Manila';
+$a->strings['Asia/Makassar'] = 'Asie/Macassar';
+$a->strings['Asia/Manila'] = 'Asie/Manille';
$a->strings['Asia/Muscat'] = 'Asie/Muscat';
$a->strings['Asia/Nicosia'] = 'Asie/Nicosia';
$a->strings['Asia/Novokuznetsk'] = 'Asie/Novokuznetsk';
@@ -755,43 +753,43 @@ $a->strings['Asia/Qatar'] = 'Asie/Qatar';
$a->strings['Asia/Qyzylorda'] = 'Asie/Qyzylorda';
$a->strings['Asia/Rangoon'] = 'Asie/Rangoon';
$a->strings['Asia/Riyadh'] = 'Asie/Riyadh';
-$a->strings['Asia/Saigon'] = 'Asie/Saigon';
+$a->strings['Asia/Saigon'] = 'Asie/Saïgon';
$a->strings['Asia/Sakhalin'] = 'Asie/Sakhalin';
-$a->strings['Asia/Samarkand'] = 'Asie/Samarkand';
-$a->strings['Asia/Seoul'] = 'Asie/Seoul';
+$a->strings['Asia/Samarkand'] = 'Asie/Samarcande';
+$a->strings['Asia/Seoul'] = 'Asie/Séoul';
$a->strings['Asia/Shanghai'] = 'Asie/Shanghai';
-$a->strings['Asia/Singapore'] = 'Asie/Singapore';
+$a->strings['Asia/Singapore'] = 'Asie/Singapour';
$a->strings['Asia/Taipei'] = 'Asie/Taipei';
$a->strings['Asia/Tashkent'] = 'Asie/Tashkent';
-$a->strings['Asia/Tbilisi'] = 'Asie/Tbilisi';
-$a->strings['Asia/Tehran'] = 'Asie/Tehran';
+$a->strings['Asia/Tbilisi'] = 'Asie/Tbilissi';
+$a->strings['Asia/Tehran'] = 'Asie/Téhéran';
$a->strings['Asia/Tel_Aviv'] = 'Asie/Tel_Aviv';
$a->strings['Asia/Thimbu'] = 'Asie/Thimbu';
$a->strings['Asia/Thimphu'] = 'Asie/Thimphu';
$a->strings['Asia/Tokyo'] = 'Asie/Tokyo';
$a->strings['Asia/Ujung_Pandang'] = 'Asie/Ujung_Pandang';
-$a->strings['Asia/Ulaanbaatar'] = 'Asie/Ulaanbaatar';
-$a->strings['Asia/Ulan_Bator'] = 'Asie/Ulan_Bator';
+$a->strings['Asia/Ulaanbaatar'] = 'Asie/Oulan-Bator';
+$a->strings['Asia/Ulan_Bator'] = 'Asie/Oulan-Bator';
$a->strings['Asia/Urumqi'] = 'Asie/Urumqi';
$a->strings['Asia/Vientiane'] = 'Asie/Vientiane';
$a->strings['Asia/Vladivostok'] = 'Asie/Vladivostok';
$a->strings['Asia/Yakutsk'] = 'Asie/Yakutsk';
$a->strings['Asia/Yekaterinburg'] = 'Asie/Yekaterinburg';
-$a->strings['Asia/Yerevan'] = 'Asie/Yerevan';
-$a->strings['Atlantic/Azores'] = 'Atlantique/Azores';
-$a->strings['Atlantic/Bermuda'] = 'Atlantique/Bermuda';
-$a->strings['Atlantic/Canary'] = 'Atlantique/Canary';
-$a->strings['Atlantic/Cape_Verde'] = 'Atlantique/Cape_Verde';
+$a->strings['Asia/Yerevan'] = 'Asie/Erevan';
+$a->strings['Atlantic/Azores'] = 'Atlantique/Acores';
+$a->strings['Atlantic/Bermuda'] = 'Atlantique/Bermudes';
+$a->strings['Atlantic/Canary'] = 'Atlantique/Canaries';
+$a->strings['Atlantic/Cape_Verde'] = 'Atlantique/Cap_Vert';
$a->strings['Atlantic/Faeroe'] = 'Atlantique/Faeroe';
$a->strings['Atlantic/Faroe'] = 'Atlantique/Faroe';
$a->strings['Atlantic/Jan_Mayen'] = 'Atlantique/Jan_Mayen';
$a->strings['Atlantic/Madeira'] = 'Atlantique/Madeira';
$a->strings['Atlantic/Reykjavik'] = 'Atlantique/Reykjavik';
$a->strings['Atlantic/South_Georgia'] = 'Atlantique/South_Georgia';
-$a->strings['Atlantic/St_Helena'] = 'Atlantique/St_Helena';
+$a->strings['Atlantic/St_Helena'] = 'Atlantique/Sainte_Hélène';
$a->strings['Atlantic/Stanley'] = 'Atlantique/Stanley';
$a->strings['Australia/ACT'] = 'Australie/ACT';
-$a->strings['Australia/Adelaide'] = 'Australie/Adelaide';
+$a->strings['Australia/Adelaide'] = 'Australie/Adélaïde';
$a->strings['Australia/Brisbane'] = 'Australie/Brisbane';
$a->strings['Australia/Broken_Hill'] = 'Australie/Broken_Hill';
$a->strings['Australia/Canberra'] = 'Australie/Canberra';
@@ -803,15 +801,15 @@ $a->strings['Australia/LHI'] = 'Australie/LHI';
$a->strings['Australia/Lindeman'] = 'Australie/Lindeman';
$a->strings['Australia/Lord_Howe'] = 'Australie/Lord_Howe';
$a->strings['Australia/Melbourne'] = 'Australie/Melbourne';
-$a->strings['Australia/North'] = 'Australie/North';
+$a->strings['Australia/North'] = 'Australie/Nord';
$a->strings['Australia/NSW'] = 'Australie/NSW';
$a->strings['Australia/Perth'] = 'Australie/Perth';
$a->strings['Australia/Queensland'] = 'Australie/Queensland';
-$a->strings['Australia/South'] = 'Australie/South';
+$a->strings['Australia/South'] = 'Australie/Sud';
$a->strings['Australia/Sydney'] = 'Australie/Sydney';
-$a->strings['Australia/Tasmania'] = 'Australie/Tasmania';
+$a->strings['Australia/Tasmania'] = 'Australie/Tasmanie';
$a->strings['Australia/Victoria'] = 'Australie/Victoria';
-$a->strings['Australia/West'] = 'Australie/West';
+$a->strings['Australia/West'] = 'Australie/Ouest';
$a->strings['Australia/Yancowinna'] = 'Australie/Yancowinna';
$a->strings['Brazil/Acre'] = 'Brésil/Acre';
$a->strings['Brazil/DeNoronha'] = 'Brésil/DeNoronha';
@@ -819,8 +817,8 @@ $a->strings['Brazil/East'] = 'Brésil/Est';
$a->strings['Brazil/West'] = 'Brésil/Ouest';
$a->strings['Canada/Atlantic'] = 'Canada/Atlantique';
$a->strings['Canada/Central'] = 'Canada/Central';
-$a->strings['Canada/East-Saskatchewan'] = 'Canada/East-Saskatchewan';
-$a->strings['Canada/Eastern'] = 'Canada/Eastern';
+$a->strings['Canada/East-Saskatchewan'] = 'Canada/Est-Saskatchewan';
+$a->strings['Canada/Eastern'] = 'Canada/Est';
$a->strings['Canada/Mountain'] = 'Canada/Mountain';
$a->strings['Canada/Newfoundland'] = 'Canada/Terre-Neuve';
$a->strings['Canada/Pacific'] = 'Canada/Pacifique';
@@ -828,7 +826,7 @@ $a->strings['Canada/Saskatchewan'] = 'Canada/Saskatchewan';
$a->strings['Canada/Yukon'] = 'Canada/Yukon';
$a->strings['CET'] = 'CET';
$a->strings['Chile/Continental'] = 'Chili/Continental';
-$a->strings['Chile/EasterIsland'] = 'Chili/EasterIsland';
+$a->strings['Chile/EasterIsland'] = 'Chili/Île de Pâques';
$a->strings['CST6CDT'] = 'CST6CDT';
$a->strings['Cuba'] = 'Cuba';
$a->strings['EET'] = 'EET';
@@ -872,37 +870,37 @@ $a->strings['Etc/Universal'] = 'Etc/Universel';
$a->strings['Etc/UTC'] = 'Etc/UTC';
$a->strings['Etc/Zulu'] = 'Etc/Zulu';
$a->strings['Europe/Amsterdam'] = 'Europe/Amsterdam';
-$a->strings['Europe/Andorra'] = 'Europe/Andorra';
-$a->strings['Europe/Athens'] = 'Europe/Athens';
+$a->strings['Europe/Andorra'] = 'Europe/Andorre';
+$a->strings['Europe/Athens'] = 'Europe/Athènes';
$a->strings['Europe/Belfast'] = 'Europe/Belfast';
$a->strings['Europe/Belgrade'] = 'Europe/Belgrade';
$a->strings['Europe/Berlin'] = 'Europe/Berlin';
$a->strings['Europe/Bratislava'] = 'Europe/Bratislava';
-$a->strings['Europe/Brussels'] = 'Europe/Brussels';
-$a->strings['Europe/Bucharest'] = 'Europe/Bucharest';
+$a->strings['Europe/Brussels'] = 'Europe/Bruxelles';
+$a->strings['Europe/Bucharest'] = 'Europe/Bucarest';
$a->strings['Europe/Budapest'] = 'Europe/Budapest';
-$a->strings['Europe/Chisinau'] = 'Europe/Chisinau';
-$a->strings['Europe/Copenhagen'] = 'Europe/Copenhagen';
+$a->strings['Europe/Chisinau'] = 'Europe/Chişinău';
+$a->strings['Europe/Copenhagen'] = 'Europe/Copenhague';
$a->strings['Europe/Dublin'] = 'Europe/Dublin';
$a->strings['Europe/Gibraltar'] = 'Europe/Gibraltar';
-$a->strings['Europe/Guernsey'] = 'Europe/Guernsey';
+$a->strings['Europe/Guernsey'] = 'Europe/Guernesey';
$a->strings['Europe/Helsinki'] = 'Europe/Helsinki';
-$a->strings['Europe/Isle_of_Man'] = 'Europe/Isle_of_Man';
+$a->strings['Europe/Isle_of_Man'] = 'Europe/ÃŽle_de_Man';
$a->strings['Europe/Istanbul'] = 'Europe/Istanbul';
$a->strings['Europe/Jersey'] = 'Europe/Jersey';
$a->strings['Europe/Kaliningrad'] = 'Europe/Kaliningrad';
$a->strings['Europe/Kiev'] = 'Europe/Kiev';
-$a->strings['Europe/Lisbon'] = 'Europe/Lisbon';
+$a->strings['Europe/Lisbon'] = 'Europe/Lisbonne';
$a->strings['Europe/Ljubljana'] = 'Europe/Ljubljana';
-$a->strings['Europe/London'] = 'Europe/London';
+$a->strings['Europe/London'] = 'Europe/Londres';
$a->strings['Europe/Luxembourg'] = 'Europe/Luxembourg';
$a->strings['Europe/Madrid'] = 'Europe/Madrid';
$a->strings['Europe/Malta'] = 'Europe/Malta';
$a->strings['Europe/Mariehamn'] = 'Europe/Mariehamn';
$a->strings['Europe/Minsk'] = 'Europe/Minsk';
$a->strings['Europe/Monaco'] = 'Europe/Monaco';
-$a->strings['Europe/Moscow'] = 'Europe/Moscow';
-$a->strings['Europe/Nicosia'] = 'Europe/Nicosia';
+$a->strings['Europe/Moscow'] = 'Europe/Moscou';
+$a->strings['Europe/Nicosia'] = 'Europe/Nicosie';
$a->strings['Europe/Oslo'] = 'Europe/Oslo';
$a->strings['Europe/Paris'] = 'Europe/Paris';
$a->strings['Europe/Podgorica'] = 'Europe/Podgorica';
@@ -917,15 +915,15 @@ $a->strings['Europe/Skopje'] = 'Europe/Skopje';
$a->strings['Europe/Sofia'] = 'Europe/Sofia';
$a->strings['Europe/Stockholm'] = 'Europe/Stockholm';
$a->strings['Europe/Tallinn'] = 'Europe/Tallinn';
-$a->strings['Europe/Tirane'] = 'Europe/Tirane';
+$a->strings['Europe/Tirane'] = 'Europe/Tirana';
$a->strings['Europe/Tiraspol'] = 'Europe/Tiraspol';
$a->strings['Europe/Uzhgorod'] = 'Europe/Uzhgorod';
$a->strings['Europe/Vaduz'] = 'Europe/Vaduz';
$a->strings['Europe/Vatican'] = 'Europe/Vatican';
-$a->strings['Europe/Vienna'] = 'Europe/Vienna';
+$a->strings['Europe/Vienna'] = 'Europe/Vienne';
$a->strings['Europe/Vilnius'] = 'Europe/Vilnius';
$a->strings['Europe/Volgograd'] = 'Europe/Volgograd';
-$a->strings['Europe/Warsaw'] = 'Europe/Warsaw';
+$a->strings['Europe/Warsaw'] = 'Europe/Varsovie';
$a->strings['Europe/Zagreb'] = 'Europe/Zagreb';
$a->strings['Europe/Zaporozhye'] = 'Europe/Zaporozhye';
$a->strings['Europe/Zurich'] = 'Europe/Zurich';
@@ -937,20 +935,20 @@ $a->strings['GMT+0'] = 'GMT+0';
$a->strings['GMT-0'] = 'GMT-0';
$a->strings['GMT0'] = 'GMT0';
$a->strings['Greenwich'] = 'Greenwich';
-$a->strings['Hongkong'] = 'Hongkong';
+$a->strings['Hongkong'] = 'Hong-Kong';
$a->strings['HST'] = 'HST';
$a->strings['Iceland'] = 'Islande';
$a->strings['Indian/Antananarivo'] = 'Océan Indien/Antananarivo';
$a->strings['Indian/Chagos'] = 'Océan Indien/Chagos';
$a->strings['Indian/Christmas'] = 'Océan Indien/Christmas';
$a->strings['Indian/Cocos'] = 'Océan Indien/Cocos';
-$a->strings['Indian/Comoro'] = 'Océan Indien/Comoro';
+$a->strings['Indian/Comoro'] = 'Océan Indien/Comores';
$a->strings['Indian/Kerguelen'] = 'Océen Indien/Kerguelen';
$a->strings['Indian/Mahe'] = 'Océan Indien/Mahe';
$a->strings['Indian/Maldives'] = 'Océan Indien/Maldives';
-$a->strings['Indian/Mauritius'] = 'Océan Indien/Mauritius';
+$a->strings['Indian/Mauritius'] = 'Océan Indien/Île Maurice';
$a->strings['Indian/Mayotte'] = 'Océan Indien/Mayotte';
-$a->strings['Indian/Reunion'] = 'OcéanIndien/Réunion';
+$a->strings['Indian/Reunion'] = 'Océan Indien/Réunion';
$a->strings['Iran'] = 'Iran';
$a->strings['Israel'] = 'Israël';
$a->strings['Jamaica'] = 'Jamaïque';
@@ -960,7 +958,7 @@ $a->strings['Libya'] = 'Libye';
$a->strings['MET'] = 'MET';
$a->strings['Mexico/BajaNorte'] = 'Mexique/BajaNorte';
$a->strings['Mexico/BajaSur'] = 'Mexique/BajaSur';
-$a->strings['Mexico/General'] = 'Mexique/General';
+$a->strings['Mexico/General'] = 'Mexique/Général';
$a->strings['MST'] = 'MST';
$a->strings['MST7MDT'] = 'MST7MDT';
$a->strings['Navajo'] = 'Navajo';
@@ -980,32 +978,32 @@ $a->strings['Pacific/Gambier'] = 'Pacifique/Gambier';
$a->strings['Pacific/Guadalcanal'] = 'Pacifique/Guadalcanal';
$a->strings['Pacific/Guam'] = 'Pacifique/Guam';
$a->strings['Pacific/Honolulu'] = 'Pacifique/Honolulu';
-$a->strings['Pacific/Johnston'] = 'Pacific/Johnston';
-$a->strings['Pacific/Kiritimati'] = 'Pacific/Kiritimati';
-$a->strings['Pacific/Kosrae'] = 'Pacific/Kosrae';
-$a->strings['Pacific/Kwajalein'] = 'Pacific/Kwajalein';
-$a->strings['Pacific/Majuro'] = 'Pacific/Majuro';
-$a->strings['Pacific/Marquesas'] = 'Pacific/Marquesas';
-$a->strings['Pacific/Midway'] = 'Pacific/Midway';
-$a->strings['Pacific/Nauru'] = 'Pacific/Nauru';
-$a->strings['Pacific/Niue'] = 'Pacific/Niue';
-$a->strings['Pacific/Norfolk'] = 'Pacific/Norfolk';
-$a->strings['Pacific/Noumea'] = 'Pacific/Noumea';
-$a->strings['Pacific/Pago_Pago'] = 'Pacific/Pago_Pago';
-$a->strings['Pacific/Palau'] = 'Pacific/Palau';
-$a->strings['Pacific/Pitcairn'] = 'Pacific/Pitcairn';
-$a->strings['Pacific/Ponape'] = 'Pacific/Ponape';
-$a->strings['Pacific/Port_Moresby'] = 'Pacific/Port_Moresby';
-$a->strings['Pacific/Rarotonga'] = 'Pacific/Rarotonga';
-$a->strings['Pacific/Saipan'] = 'Pacific/Saipan';
-$a->strings['Pacific/Samoa'] = 'Pacific/Samoa';
-$a->strings['Pacific/Tahiti'] = 'Pacific/Tahiti';
-$a->strings['Pacific/Tarawa'] = 'Pacific/Tarawa';
-$a->strings['Pacific/Tongatapu'] = 'Pacific/Tongatapu';
-$a->strings['Pacific/Truk'] = 'Pacific/Truk';
-$a->strings['Pacific/Wake'] = 'Pacific/Wake';
-$a->strings['Pacific/Wallis'] = 'Pacific/Wallis';
-$a->strings['Pacific/Yap'] = 'Pacific/Yap';
+$a->strings['Pacific/Johnston'] = 'Pacifique/Johnston';
+$a->strings['Pacific/Kiritimati'] = 'Pacifique/Kiritimati';
+$a->strings['Pacific/Kosrae'] = 'Pacifique/Kosrae';
+$a->strings['Pacific/Kwajalein'] = 'Pacifique/Kwajalein';
+$a->strings['Pacific/Majuro'] = 'Pacifique/Majuro';
+$a->strings['Pacific/Marquesas'] = 'Pacifique/Marquesas';
+$a->strings['Pacific/Midway'] = 'Pacifique/Midway';
+$a->strings['Pacific/Nauru'] = 'Pacifique/Nauru';
+$a->strings['Pacific/Niue'] = 'Pacifique/Niue';
+$a->strings['Pacific/Norfolk'] = 'Pacifique/Norfolk';
+$a->strings['Pacific/Noumea'] = 'Pacifique/Nouméa';
+$a->strings['Pacific/Pago_Pago'] = 'Pacifique/Pago_Pago';
+$a->strings['Pacific/Palau'] = 'Pacifique/Palau';
+$a->strings['Pacific/Pitcairn'] = 'Pacifique/Pitcairn';
+$a->strings['Pacific/Ponape'] = 'Pacifique/Ponape';
+$a->strings['Pacific/Port_Moresby'] = 'Pacifique/Port_Moresby';
+$a->strings['Pacific/Rarotonga'] = 'Pacifique/Rarotonga';
+$a->strings['Pacific/Saipan'] = 'Pacifique/Saipan';
+$a->strings['Pacific/Samoa'] = 'Pacifique/Samoa';
+$a->strings['Pacific/Tahiti'] = 'Pacifique/Tahiti';
+$a->strings['Pacific/Tarawa'] = 'Pacifique/Tarawa';
+$a->strings['Pacific/Tongatapu'] = 'Pacifique/Tongatapu';
+$a->strings['Pacific/Truk'] = 'Pacifique/Truk';
+$a->strings['Pacific/Wake'] = 'Pacifique/Wake';
+$a->strings['Pacific/Wallis'] = 'Pacifique/Wallis';
+$a->strings['Pacific/Yap'] = 'Pacifique/Yap';
$a->strings['Poland'] = 'Pologne';
$a->strings['Portugal'] = 'Portugal';
$a->strings['PRC'] = 'PRC';
@@ -1022,7 +1020,7 @@ $a->strings['US/Arizona'] = 'US/Arizona';
$a->strings['US/Central'] = 'US/Central';
$a->strings['US/East-Indiana'] = 'US/East-Indiana';
$a->strings['US/Eastern'] = 'US/Eastern';
-$a->strings['US/Hawaii'] = 'US/Hawaii';
+$a->strings['US/Hawaii'] = 'US/Hawaï';
$a->strings['US/Indiana-Starke'] = 'US/Indiana-Starke';
$a->strings['US/Michigan'] = 'US/Michigan';
$a->strings['US/Mountain'] = 'US/Mountain';
@@ -1033,3 +1031,4 @@ $a->strings['UTC'] = 'UTC';
$a->strings['W-SU'] = 'W-SU';
$a->strings['WET'] = 'WET';
$a->strings['Zulu'] = 'Zulu';
+?>
diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl
index 8a9dc3c68..2dbcddefd 100644
--- a/view/photos_upload.tpl
+++ b/view/photos_upload.tpl
@@ -23,41 +23,12 @@
</div>
- <div id="photos-upload-select-files-text">$filestext</div>
-
- <div id="photos_upload_applet_wrapper">
- <applet name="jumpLoaderApplet"
- code="jmaster.jumploader.app.JumpLoaderApplet.class"
- archive="$archive"
- width="700"
- height="600"
- mayscript >
- <param name="uc_uploadUrl" value="$uploadurl" />
- <param name="uc_uploadFormName" value="photos-upload-form" />
- <param name="gc_loggingLeveL" value="FATAL" />
- <param name="uc_fileParameterName" value="userfile" />
- <param name="uc_cookie" value="PHPSESSID=$sessid; path=/;" />
- <param name="vc_disableLocalFileSystem" value="false" />
- <param name="vc_uploadViewMenuBarVisible" value="false" />
- <param name="vc_mainViewFileListViewVisible" value="true" />
- <param name="vc_mainViewFileListViewHeightPercent" value="50" />
- <param name="vc_mainViewFileTreeViewVisible" value="true" />
- <param name="vc_mainViewFileTreeViewWidthPercent" value="35" />
- <param name="vc_lookAndFeel" value="system" />
-
- </applet>
-
- </div>
+ <div id="photos-upload-spacer"></div>
- <div id="photos-upload-no-java-message" >
- $nojava
- </div>
+ $uploader
- <input type="file" name="userfile" />
+ $default
- <div class="photos-upload-submit-wrapper" >
- <input type="submit" name="submit" value="$submit" id="photos-upload-submit" />
- </div>
<div class="photos-upload-end" ></div>
</form>
diff --git a/view/theme/default/style.css b/view/theme/default/style.css
index 6e643d4fe..3ef63e265 100644
--- a/view/theme/default/style.css
+++ b/view/theme/default/style.css
@@ -1727,6 +1727,9 @@ a.mail-list-link {
#photos-upload-album-select {
float: left;
}
+#photos-upload-spacer {
+ margin-top: 25px;
+}
#photos-upload-new-end, #photos-upload-exist-end {
clear: both;
}
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index 1f713f28d..59a5bf88a 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -1600,6 +1600,10 @@ a.mail-list-link {
#photos-upload-album-select {
float: left;
}
+
+#photos-upload-spacer {
+ margin-top: 25px;
+}
#photos-upload-new-end, #photos-upload-exist-end {
clear: both;
}