Merge remote-tracking branch 'upstream/master' into windows
This commit is contained in:
commit
a3899d6b1f
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -44,6 +44,7 @@ SparkleLib/windows/GlobalAssemblyInfo.cs
|
|||
SparkleShare/sparkleshare
|
||||
po/sparkleshare.pot
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus-extension.py
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py
|
||||
gnome-doc-utils.make
|
||||
/sparkleshare-*
|
||||
data/plugins/*.xml
|
||||
|
|
21
NEWS
21
NEWS
|
@ -1,3 +1,24 @@
|
|||
0.4.0 for Linux and Mac (Sun Nov 12 2011):
|
||||
Hylke: It has been a while since the last release. Since so many
|
||||
things changed, and it being (softly) incompatible with 0.2, I decided
|
||||
to call it 0.4. Here are the most important improvements:
|
||||
|
||||
- Support OS X Lion
|
||||
- Revamped "Add Hosted Project..." dialog
|
||||
- First run tutorial
|
||||
- Clicking notifications opens the event log
|
||||
- Support for organisation/host plugins
|
||||
- Adding empty folders now works
|
||||
- More useful error reporting
|
||||
- Progress bar on the initial sync, and a button to cancel
|
||||
- Replace IRC by a custom protocol as the default notification system
|
||||
- Many many fixes for crashes and bugs
|
||||
|
||||
Travis:
|
||||
- Nautilus 3.x plugin
|
||||
- Bugfixes
|
||||
|
||||
|
||||
0.2.5 for Linux and Mac (Mon Jul 25 2011):
|
||||
|
||||
Hylke: Reimplement notes to be less buggy and backend independent. Polish
|
||||
|
|
9
README
9
README
|
@ -88,7 +88,7 @@ Just double-click the SparkleShare bundle.
|
|||
|
||||
# Build on Mac
|
||||
|
||||
Install Xcode, the Mono Framework, MonoDevelop and the MonoMac plugin (you find it in Add-in Manager).
|
||||
Install Xcode, the Mono Framework, MonoDevelop and the MonoMac plugin (you can find it in MonoDevelop => Add-in Manager).
|
||||
|
||||
You may need to adjust some environment variables to let the build environment tools find mono:
|
||||
|
||||
|
@ -108,10 +108,11 @@ Start the first part of the build:
|
|||
Now that you have compiled the libraries, open 'SparkleShare/Mac/SparkleShare.sln' in
|
||||
MonoDevelop and start the build.
|
||||
|
||||
To create the SparkleShare.app, select Project from the menu bar
|
||||
and click "Create Mac Installer..." Save the SparkleShare.app somewhere.
|
||||
To create the SparkleShare.app, make sure the project is focused and select Project from the menu bar
|
||||
and click "Create Mac Installer...". Make sure to select "Don't link assemblies".
|
||||
|
||||
Paste the contents of the following file in SparkleShare.app/Contents/MonoBundle/config:
|
||||
Save the SparkleShare.app somewhere. Paste the contents of
|
||||
the following file in SparkleShare.app/Contents/MonoBundle/config:
|
||||
https://raw.github.com/gist/1aeffa61bac73fc08eca/0c0f09ef9e36864c35f34fd5e8bf4f99886be193/gistfile1.txt
|
||||
|
||||
Copy /Library/Frameworks/Mono.framework/Versions/Current/lib/libintl.dylib
|
||||
|
|
|
@ -37,25 +37,31 @@ namespace SparkleLib {
|
|||
}
|
||||
|
||||
|
||||
private string identifier = null;
|
||||
|
||||
public override string Identifier {
|
||||
get {
|
||||
if (string.IsNullOrEmpty (this.identifier)) {
|
||||
|
||||
// Because git computes a hash based on content,
|
||||
// author, and timestamp; it is unique enough to
|
||||
// use the hash of the first commit as an identifier
|
||||
// for our folder
|
||||
SparkleGit git = new SparkleGit (LocalPath, "rev-list --reverse HEAD");
|
||||
git.Start ();
|
||||
// Because git computes a hash based on content,
|
||||
// author, and timestamp; it is unique enough to
|
||||
// use the hash of the first commit as an identifier
|
||||
// for our folder
|
||||
SparkleGit git = new SparkleGit (LocalPath, "rev-list --reverse HEAD");
|
||||
git.Start ();
|
||||
|
||||
// Reading the standard output HAS to go before
|
||||
// WaitForExit, or it will hang forever on output > 4096 bytes
|
||||
string output = git.StandardOutput.ReadToEnd ();
|
||||
git.WaitForExit ();
|
||||
// Reading the standard output HAS to go before
|
||||
// WaitForExit, or it will hang forever on output > 4096 bytes
|
||||
string output = git.StandardOutput.ReadToEnd ();
|
||||
git.WaitForExit ();
|
||||
|
||||
if (output.Length < 40)
|
||||
return null;
|
||||
if (output.Length < 40)
|
||||
return null;
|
||||
|
||||
return output.Substring (0, 40);
|
||||
this.identifier = output.Substring (0, 40);
|
||||
}
|
||||
|
||||
return this.identifier;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -113,17 +113,15 @@ namespace SparkleLib {
|
|||
if (string.IsNullOrEmpty (user_name))
|
||||
user_name = "Unknown";
|
||||
|
||||
TextWriter writer = new StreamWriter (FullPath);
|
||||
string n = Environment.NewLine;
|
||||
|
||||
writer.Write ("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + n +
|
||||
"<sparkleshare>" + n +
|
||||
" <user>" + n +
|
||||
" <name>" + user_name + "</name>" + n +
|
||||
" <email>Unknown</email>" + n +
|
||||
" </user>" + n +
|
||||
"</sparkleshare>");
|
||||
writer.Close ();
|
||||
string n = Environment.NewLine;
|
||||
File.WriteAllText (FullPath,
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + n +
|
||||
"<sparkleshare>" + n +
|
||||
" <user>" + n +
|
||||
" <name>" + user_name + "</name>" + n +
|
||||
" <email>Unknown</email>" + n +
|
||||
" </user>" + n +
|
||||
"</sparkleshare>");
|
||||
|
||||
SparkleHelpers.DebugInfo ("Config", "Created \"" + FullPath + "\"");
|
||||
}
|
||||
|
@ -276,10 +274,16 @@ namespace SparkleLib {
|
|||
List<string> hosts = new List<string> ();
|
||||
|
||||
foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) {
|
||||
Uri uri = new Uri (node_folder ["url"].InnerText);
|
||||
try {
|
||||
Uri uri = new Uri (node_folder ["url"].InnerText);
|
||||
|
||||
if ("git" != uri.UserInfo && !hosts.Contains (uri.UserInfo + "@" + uri.Host))
|
||||
hosts.Add (uri.UserInfo + "@" + uri.Host);
|
||||
if (uri.UserInfo != "git" && !hosts.Contains (uri.UserInfo + "@" + uri.Host))
|
||||
hosts.Add (uri.UserInfo + "@" + uri.Host);
|
||||
|
||||
} catch (UriFormatException) {
|
||||
SparkleHelpers.DebugInfo ("Config",
|
||||
"Ignoring badly formatted URI: " + node_folder ["url"].InnerText);
|
||||
}
|
||||
}
|
||||
|
||||
return hosts;
|
||||
|
|
|
@ -16,8 +16,10 @@
|
|||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Timers;
|
||||
using System.Linq;
|
||||
|
||||
namespace SparkleLib {
|
||||
|
||||
|
@ -50,7 +52,7 @@ namespace SparkleLib {
|
|||
// don't have your own. All data needed to connect is hashed and
|
||||
// we don't store any personal information ever
|
||||
|
||||
uri = "tcp://204.62.14.135:1986"; // TODO: announcements.sparkleshare.org
|
||||
uri = "tcp://notifications.sparkleshare.org:1986";
|
||||
}
|
||||
|
||||
Uri announce_uri = new Uri (uri);
|
||||
|
@ -80,7 +82,7 @@ namespace SparkleLib {
|
|||
listeners.Add (new SparkleListenerTcp (announce_uri, folder_identifier));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
SparkleHelpers.DebugInfo ("ListenerFactory", "Issued new listener for " + announce_uri);
|
||||
return (SparkleListenerBase) listeners [listeners.Count - 1];
|
||||
}
|
||||
|
@ -104,20 +106,21 @@ namespace SparkleLib {
|
|||
public event AnnouncementEventHandler Announcement;
|
||||
public delegate void AnnouncementEventHandler (SparkleAnnouncement announcement);
|
||||
|
||||
|
||||
public abstract void Connect ();
|
||||
public abstract void Announce (SparkleAnnouncement announcent);
|
||||
public abstract void AlsoListenTo (string folder_identifier);
|
||||
public abstract bool IsConnected { get; }
|
||||
|
||||
|
||||
protected List<string> channels = new List<string> ();
|
||||
protected List<SparkleAnnouncement> queue_up = new List<SparkleAnnouncement> ();
|
||||
protected List<SparkleAnnouncement> queue_down = new List<SparkleAnnouncement> ();
|
||||
protected List<string> channels = new List<string> ();
|
||||
protected Dictionary<string,List<SparkleAnnouncement>> recent_announcements = new Dictionary<string, List<SparkleAnnouncement>> ();
|
||||
protected int max_recent_announcements = 10;
|
||||
protected Dictionary<string, SparkleAnnouncement> queue_up = new Dictionary<string, SparkleAnnouncement> ();
|
||||
protected Dictionary<string,SparkleAnnouncement> queue_down = new Dictionary<string, SparkleAnnouncement> ();
|
||||
protected bool is_connecting;
|
||||
protected Uri server;
|
||||
protected Timer reconnect_timer = new Timer { Interval = 60 * 1000, Enabled = true };
|
||||
|
||||
|
||||
public SparkleListenerBase (Uri server, string folder_identifier)
|
||||
{
|
||||
this.server = server;
|
||||
|
@ -133,30 +136,23 @@ namespace SparkleLib {
|
|||
|
||||
public void AnnounceBase (SparkleAnnouncement announcement)
|
||||
{
|
||||
if (IsConnected) {
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Announcing to " + announcement.FolderIdentifier + " on " + this.server);
|
||||
if (!this.IsRecentAnnounement (announcement)) {
|
||||
if (IsConnected) {
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Announcing message " + announcement.Message + " to " + announcement.FolderIdentifier + " on " + this.server);
|
||||
|
||||
Announce (announcement);
|
||||
Announce (announcement);
|
||||
this.AddRecentAnnouncement (announcement);
|
||||
} else {
|
||||
SparkleHelpers.DebugInfo ("Listener", "Can't send message to " + this.server + ". Queuing message");
|
||||
this.queue_up [announcement.FolderIdentifier] = announcement;
|
||||
}
|
||||
|
||||
} else {
|
||||
SparkleHelpers.DebugInfo ("Listener", "Not connected to " + this.server + ". Queuing message");
|
||||
this.queue_up.Add (announcement);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public string NextQueueDownMessage (string folder_identifier)
|
||||
{
|
||||
foreach (SparkleAnnouncement announcement in this.queue_down.GetRange (0, this.queue_down.Count)) {
|
||||
if (announcement.FolderIdentifier.Equals (folder_identifier)) {
|
||||
string message = announcement.Message;
|
||||
this.queue_down.Remove (announcement);
|
||||
return message;
|
||||
}
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Already processed message " + announcement.Message + " to " + announcement.FolderIdentifier + " from " + this.server);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
@ -169,7 +165,7 @@ namespace SparkleLib {
|
|||
|
||||
public void OnConnected ()
|
||||
{
|
||||
SparkleHelpers.DebugInfo ("Listener", "Connected to " + Server);
|
||||
SparkleHelpers.DebugInfo ("Listener", "Listening for announcements on " + Server);
|
||||
|
||||
if (Connected != null)
|
||||
Connected ();
|
||||
|
@ -177,17 +173,19 @@ namespace SparkleLib {
|
|||
if (this.queue_up.Count > 0) {
|
||||
SparkleHelpers.DebugInfo ("Listener", "Delivering " + this.queue_up.Count + " queued messages...");
|
||||
|
||||
foreach (SparkleAnnouncement announcement in this.queue_up.GetRange(0, this.queue_up.Count)) {
|
||||
foreach (KeyValuePair<string, SparkleAnnouncement> item in this.queue_up) {
|
||||
SparkleAnnouncement announcement = item.Value;
|
||||
AnnounceBase (announcement);
|
||||
this.queue_up.Remove (announcement);
|
||||
}
|
||||
|
||||
this.queue_down.Clear ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void OnDisconnected ()
|
||||
{
|
||||
SparkleHelpers.DebugInfo ("Listener", "Disonnected from " + Server);
|
||||
SparkleHelpers.DebugInfo ("Listener", "Signal of " + Server + " lost");
|
||||
|
||||
if (Disconnected != null)
|
||||
Disconnected ();
|
||||
|
@ -196,15 +194,71 @@ namespace SparkleLib {
|
|||
|
||||
public void OnAnnouncement (SparkleAnnouncement announcement)
|
||||
{
|
||||
SparkleHelpers.DebugInfo ("Listener", "Got message from " + announcement.FolderIdentifier + " on " + this.server);
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Got message " + announcement.Message + " from " + announcement.FolderIdentifier + " on " + this.server);
|
||||
|
||||
this.queue_down.Add (announcement);
|
||||
if (IsRecentAnnounement(announcement) ){
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Ignoring previously processed message " + announcement.Message +
|
||||
" from " + announcement.FolderIdentifier + " on " + this.server);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
SparkleHelpers.DebugInfo ("Listener",
|
||||
"Processing message " + announcement.Message + " from " + announcement.FolderIdentifier + " on " + this.server);
|
||||
|
||||
AddRecentAnnouncement (announcement);
|
||||
this.queue_down [announcement.FolderIdentifier] = announcement;
|
||||
|
||||
if (Announcement != null)
|
||||
Announcement (announcement);
|
||||
}
|
||||
|
||||
|
||||
private bool IsRecentAnnounement (SparkleAnnouncement announcement)
|
||||
{
|
||||
if (!HasRecentAnnouncements (announcement.FolderIdentifier)) {
|
||||
return false;
|
||||
|
||||
} else {
|
||||
foreach (SparkleAnnouncement recent_announcement in GetRecentAnnouncements (announcement.FolderIdentifier)) {
|
||||
if (recent_announcement.Message.Equals (announcement.Message))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private List<SparkleAnnouncement> GetRecentAnnouncements (string folder_identifier)
|
||||
{
|
||||
if (!this.recent_announcements.ContainsKey (folder_identifier))
|
||||
this.recent_announcements [folder_identifier] = new List<SparkleAnnouncement> ();
|
||||
|
||||
return (List<SparkleAnnouncement>) this.recent_announcements [folder_identifier];
|
||||
}
|
||||
|
||||
|
||||
private void AddRecentAnnouncement (SparkleAnnouncement announcement)
|
||||
{
|
||||
List<SparkleAnnouncement> recent_announcements = this.GetRecentAnnouncements (announcement.FolderIdentifier);
|
||||
|
||||
if (!IsRecentAnnounement (announcement))
|
||||
recent_announcements.Add (announcement);
|
||||
|
||||
if (recent_announcements.Count > this.max_recent_announcements)
|
||||
recent_announcements.RemoveRange (0, (recent_announcements.Count - this.max_recent_announcements));
|
||||
}
|
||||
|
||||
|
||||
private bool HasRecentAnnouncements (string folder_identifier)
|
||||
{
|
||||
return this.recent_announcements.ContainsKey (folder_identifier);
|
||||
}
|
||||
|
||||
|
||||
public virtual void Dispose ()
|
||||
{
|
||||
this.reconnect_timer.Dispose ();
|
||||
|
@ -225,3 +279,4 @@ namespace SparkleLib {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace SparkleLib {
|
|||
public class SparkleListenerTcp : SparkleListenerBase {
|
||||
|
||||
private Thread thread;
|
||||
|
||||
|
||||
// these are shared
|
||||
private readonly Object mutex = new Object();
|
||||
private Socket socket;
|
||||
|
@ -93,11 +93,14 @@ namespace SparkleLib {
|
|||
|
||||
if (bytes_read > 0) {
|
||||
string received = Encoding.UTF8.GetString (bytes);
|
||||
string folder_identifier = received.Substring (0, received.IndexOf ("!"));
|
||||
string message = received.Substring (received.IndexOf ("!") + 1);
|
||||
|
||||
OnAnnouncement (new SparkleAnnouncement (folder_identifier, message));
|
||||
|
||||
string line = received.Substring (0, received.IndexOf ("\n"));
|
||||
if (!line.Contains ("!"))
|
||||
continue;
|
||||
string folder_identifier = line.Substring (0, line.IndexOf ("!"));
|
||||
string message = this.CleanMessage (line.Substring (line.IndexOf ("!") + 1));
|
||||
if (!folder_identifier.Equals("debug") &&
|
||||
!String.IsNullOrEmpty(message))
|
||||
OnAnnouncement (new SparkleAnnouncement (folder_identifier, message));
|
||||
} else {
|
||||
SparkleHelpers.DebugInfo ("ListenerTcp", "Error on socket");
|
||||
|
||||
|
@ -109,9 +112,9 @@ namespace SparkleLib {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SparkleHelpers.DebugInfo ("ListenerTcp", "Disconnected from " + Server.Host);
|
||||
|
||||
|
||||
} catch (SocketException e) {
|
||||
SparkleHelpers.DebugInfo ("ListenerTcp", "Could not connect to " + Server + ": " + e.Message);
|
||||
|
||||
|
@ -127,6 +130,7 @@ namespace SparkleLib {
|
|||
public override void AlsoListenTo (string folder_identifier)
|
||||
{
|
||||
string channel = folder_identifier;
|
||||
|
||||
if (!base.channels.Contains (channel)) {
|
||||
base.channels.Add (channel);
|
||||
|
||||
|
@ -136,13 +140,13 @@ namespace SparkleLib {
|
|||
string to_send = "subscribe " + folder_identifier + "\n";
|
||||
|
||||
try {
|
||||
|
||||
lock (this.mutex) {
|
||||
this.socket.Send (Encoding.UTF8.GetBytes (to_send));
|
||||
}
|
||||
|
||||
} catch (SocketException e) {
|
||||
SparkleHelpers.DebugInfo ("ListenerTcp", "Could not connect to " + Server + ": " + e.Message);
|
||||
OnDisconnected ();
|
||||
SparkleHelpers.DebugInfo ("ListenerTcp", "Could not connect to " + Server + ": " + e.Message);
|
||||
OnDisconnected ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -173,5 +177,10 @@ namespace SparkleLib {
|
|||
this.thread.Join ();
|
||||
base.Dispose ();
|
||||
}
|
||||
|
||||
private string CleanMessage(string message)
|
||||
{
|
||||
return message.Trim ().Replace ("\n", "").Replace ("\0", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ using System.IO;
|
|||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Timers;
|
||||
using System.Xml;
|
||||
|
||||
|
@ -41,12 +42,13 @@ namespace SparkleLib {
|
|||
|
||||
private SparkleWatcher watcher;
|
||||
private TimeSpan poll_interval;
|
||||
private Timer local_timer = new Timer () { Interval = 0.25 * 1000 };
|
||||
private Timer remote_timer = new Timer () { Interval = 10 * 1000 };
|
||||
private System.Timers.Timer local_timer = new System.Timers.Timer () { Interval = 0.25 * 1000 };
|
||||
private System.Timers.Timer remote_timer = new System.Timers.Timer () { Interval = 10 * 1000 };
|
||||
private DateTime last_poll = DateTime.Now;
|
||||
private List <double> sizebuffer = new List<double> ();
|
||||
private List<double> sizebuffer = new List<double> ();
|
||||
private bool has_changed = false;
|
||||
private Object change_lock = new Object ();
|
||||
private Object watch_lock = new Object ();
|
||||
|
||||
protected SparkleListenerBase listener;
|
||||
protected SyncStatus status;
|
||||
|
@ -116,12 +118,6 @@ namespace SparkleLib {
|
|||
|
||||
if (CheckForRemoteChanges ())
|
||||
SyncDownBase ();
|
||||
|
||||
string message;
|
||||
while ((message = this.listener.NextQueueDownMessage (identifier)) != null) {
|
||||
if (!message.Equals (CurrentRevision))
|
||||
SyncDownBase ();
|
||||
}
|
||||
}
|
||||
|
||||
// In the unlikely case that we haven't synced up our
|
||||
|
@ -138,6 +134,7 @@ namespace SparkleLib {
|
|||
|
||||
while (HasUnsyncedChanges)
|
||||
SyncUpBase ();
|
||||
|
||||
EnableWatching ();
|
||||
}
|
||||
|
||||
|
@ -244,18 +241,30 @@ namespace SparkleLib {
|
|||
{
|
||||
this.listener = SparkleListenerFactory.CreateListener (Name, Identifier);
|
||||
|
||||
if (this.listener.IsConnected) {
|
||||
this.poll_interval = this.long_interval;
|
||||
|
||||
new Thread (new ThreadStart (delegate {
|
||||
if (!IsSyncing && CheckForRemoteChanges ())
|
||||
SyncDownBase ();
|
||||
})).Start ();
|
||||
}
|
||||
|
||||
// Stop polling when the connection to the irc channel is succesful
|
||||
this.listener.Connected += delegate {
|
||||
this.poll_interval = this.long_interval;
|
||||
this.last_poll = DateTime.Now;
|
||||
|
||||
// Check for changes manually one more time
|
||||
if (CheckForRemoteChanges ())
|
||||
SyncDownBase ();
|
||||
if (!IsSyncing) {
|
||||
|
||||
// Push changes that were made since the last disconnect
|
||||
if (HasUnsyncedChanges)
|
||||
SyncUpBase ();
|
||||
// Check for changes manually one more time
|
||||
if (CheckForRemoteChanges ())
|
||||
SyncDownBase ();
|
||||
|
||||
// Push changes that were made since the last disconnect
|
||||
if (HasUnsyncedChanges)
|
||||
SyncUpBase ();
|
||||
}
|
||||
};
|
||||
|
||||
// Start polling when the connection to the irc channel is lost
|
||||
|
@ -271,22 +280,29 @@ namespace SparkleLib {
|
|||
if (announcement.FolderIdentifier.Equals (identifier) &&
|
||||
!announcement.Message.Equals (CurrentRevision)) {
|
||||
|
||||
if ((Status != SyncStatus.SyncUp) &&
|
||||
(Status != SyncStatus.SyncDown) &&
|
||||
!this.is_buffering) {
|
||||
while (this.IsSyncing)
|
||||
System.Threading.Thread.Sleep (100);
|
||||
|
||||
string message;
|
||||
while ((message = this.listener.NextQueueDownMessage (identifier)) != null) {
|
||||
if (!message.Equals (CurrentRevision))
|
||||
SyncDownBase ();
|
||||
}
|
||||
}
|
||||
SparkleHelpers.DebugInfo ("Listener", "Syncing due to announcement");
|
||||
SyncDownBase ();
|
||||
|
||||
} else {
|
||||
if (announcement.FolderIdentifier.Equals (identifier))
|
||||
SparkleHelpers.DebugInfo ("Listener", "Not syncing, message is for current revision");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Start listening
|
||||
if (!this.listener.IsConnected && !this.listener.IsConnecting) {
|
||||
if (!this.listener.IsConnected && !this.listener.IsConnecting)
|
||||
this.listener.Connect ();
|
||||
}
|
||||
|
||||
|
||||
private bool IsSyncing {
|
||||
get {
|
||||
return (Status == SyncStatus.SyncUp ||
|
||||
Status == SyncStatus.SyncDown ||
|
||||
this.is_buffering);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -297,7 +313,7 @@ namespace SparkleLib {
|
|||
if (this.has_changed) {
|
||||
if (this.sizebuffer.Count >= 4)
|
||||
this.sizebuffer.RemoveAt (0);
|
||||
|
||||
|
||||
DirectoryInfo dir_info = new DirectoryInfo (LocalPath);
|
||||
this.sizebuffer.Add (CalculateFolderSize (dir_info));
|
||||
|
||||
|
@ -309,7 +325,7 @@ namespace SparkleLib {
|
|||
SparkleHelpers.DebugInfo ("Local", "[" + Name + "] Changes have settled.");
|
||||
this.is_buffering = false;
|
||||
this.has_changed = false;
|
||||
|
||||
|
||||
DisableWatching ();
|
||||
while (AnyDifferences)
|
||||
SyncUpBase ();
|
||||
|
@ -485,6 +501,8 @@ namespace SparkleLib {
|
|||
if (SyncStatusChanged != null)
|
||||
SyncStatusChanged (SyncStatus.SyncDown);
|
||||
|
||||
string pre_sync_revision = CurrentRevision;
|
||||
|
||||
if (SyncDown ()) {
|
||||
SparkleHelpers.DebugInfo ("SyncDown", "[" + Name + "] Done");
|
||||
this.server_online = true;
|
||||
|
@ -492,24 +510,27 @@ namespace SparkleLib {
|
|||
if (SyncStatusChanged != null)
|
||||
SyncStatusChanged (SyncStatus.Idle);
|
||||
|
||||
List<SparkleChangeSet> change_sets = GetChangeSets (1);
|
||||
if (change_sets != null && change_sets.Count > 0) {
|
||||
SparkleChangeSet change_set = change_sets [0];
|
||||
if (!pre_sync_revision.Equals (CurrentRevision)) {
|
||||
List<SparkleChangeSet> change_sets = GetChangeSets (1);
|
||||
|
||||
bool note_added = false;
|
||||
foreach (string added in change_set.Added) {
|
||||
if (added.Contains (".notes")) {
|
||||
if (NewNote != null)
|
||||
NewNote (change_set.User.Name, change_set.User.Email);
|
||||
if (change_sets != null && change_sets.Count > 0) {
|
||||
SparkleChangeSet change_set = change_sets [0];
|
||||
|
||||
note_added = true;
|
||||
break;
|
||||
bool note_added = false;
|
||||
foreach (string added in change_set.Added) {
|
||||
if (added.Contains (".notes")) {
|
||||
if (NewNote != null)
|
||||
NewNote (change_set.User.Name, change_set.User.Email);
|
||||
|
||||
note_added = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!note_added) {
|
||||
if (NewChangeSet != null)
|
||||
NewChangeSet (change_set);
|
||||
if (!note_added) {
|
||||
if (NewChangeSet != null)
|
||||
NewChangeSet (change_set);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -537,15 +558,19 @@ namespace SparkleLib {
|
|||
|
||||
public void DisableWatching ()
|
||||
{
|
||||
this.watcher.EnableRaisingEvents = false;
|
||||
this.local_timer.Stop ();
|
||||
lock (watch_lock) {
|
||||
this.watcher.EnableRaisingEvents = false;
|
||||
this.local_timer.Stop ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void EnableWatching ()
|
||||
{
|
||||
this.watcher.EnableRaisingEvents = true;
|
||||
this.local_timer.Start ();
|
||||
lock (watch_lock) {
|
||||
this.watcher.EnableRaisingEvents = true;
|
||||
this.local_timer.Start ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
EXTRA_DIST = \
|
||||
AppDelegate.cs \
|
||||
Growl.framework \
|
||||
Growl.plist \
|
||||
Info.plist \
|
||||
MainMenu.xib \
|
||||
MainMenu.xib.designer.cs \
|
||||
SparkleAbout.cs \
|
||||
SparkleAlert.cs \
|
||||
SparkleSetup.cs \
|
||||
SparkleBadger.cs \
|
||||
SparkleBubbles.cs \
|
||||
SparkleController.cs \
|
||||
SparkleEventLog.cs \
|
||||
SparkleMacController.cs \
|
||||
SparkleMacWatcher.cs \
|
||||
SparkleSetup.cs \
|
||||
SparkleSetupWindow.cs \
|
||||
SparkleShare.csproj \
|
||||
SparkleShare.sln \
|
||||
SparkleStatusIcon.cs \
|
||||
SparkleUI.cs \
|
||||
SparkleSetupWindow.cs
|
||||
SparkleUI.cs
|
||||
|
|
|
@ -41,14 +41,16 @@ namespace SparkleShare {
|
|||
private NSButton SkipTutorialButton;
|
||||
private NSButton OpenFolderButton;
|
||||
private NSButton FinishButton;
|
||||
private NSButton AddProjectButton;
|
||||
private NSImage SlideImage;
|
||||
private NSImageView SlideImageView;
|
||||
private NSForm UserInfoForm;
|
||||
private NSProgressIndicator ProgressIndicator;
|
||||
private NSTextField EmailLabel;
|
||||
private NSTextField EmailTextField;
|
||||
private NSTextField FullNameTextField;
|
||||
private NSTextField FullNameLabel;
|
||||
private NSTextField AddressTextField;
|
||||
private NSTextField PathTextField;
|
||||
private NSTextField AddressLabel;
|
||||
private NSTextField PathTextField;
|
||||
private NSTextField PathLabel;
|
||||
private NSTextField PathHelpLabel;
|
||||
private NSTextField AddProjectTextField;
|
||||
|
@ -73,18 +75,36 @@ namespace SparkleShare {
|
|||
Description = "Before we can create a SparkleShare folder on this " +
|
||||
"computer, we need some information from you.";
|
||||
|
||||
UserInfoForm = new NSForm (new RectangleF (250, Frame.Height - 280, 350, 64));
|
||||
|
||||
UserInfoForm.AddEntry ("Full Name:");
|
||||
UserInfoForm.AddEntry ("Email Address:");
|
||||
FullNameLabel = new NSTextField () {
|
||||
Alignment = NSTextAlignment.Right,
|
||||
BackgroundColor = NSColor.WindowBackground,
|
||||
Bordered = false,
|
||||
Editable = false,
|
||||
Frame = new RectangleF (165, Frame.Height - 234, 160, 17),
|
||||
StringValue = "Full Name:",
|
||||
Font = SparkleUI.Font
|
||||
};
|
||||
|
||||
UserInfoForm.CellSize = new SizeF (280, 22);
|
||||
UserInfoForm.IntercellSpacing = new SizeF (4, 4);
|
||||
UserInfoForm.Cells [0].LineBreakMode = NSLineBreakMode.TruncatingTail;
|
||||
UserInfoForm.Cells [1].LineBreakMode = NSLineBreakMode.TruncatingTail;
|
||||
FullNameTextField = new NSTextField () {
|
||||
Frame = new RectangleF (330, Frame.Height - 238, 196, 22),
|
||||
StringValue = Controller.GuessedUserName
|
||||
};
|
||||
|
||||
UserInfoForm.Cells [0].StringValue = Controller.GuessedUserName;
|
||||
UserInfoForm.Cells [1].StringValue = Controller.GuessedUserEmail;
|
||||
EmailLabel = new NSTextField () {
|
||||
Alignment = NSTextAlignment.Right,
|
||||
BackgroundColor = NSColor.WindowBackground,
|
||||
Bordered = false,
|
||||
Editable = false,
|
||||
Frame = new RectangleF (165, Frame.Height - 264, 160, 17),
|
||||
StringValue = "Email:",
|
||||
Font = SparkleUI.Font
|
||||
};
|
||||
|
||||
EmailTextField = new NSTextField () {
|
||||
Frame = new RectangleF (330, Frame.Height - 268, 196, 22),
|
||||
StringValue = Controller.GuessedUserEmail
|
||||
};
|
||||
|
||||
// TODO: Ugly hack, do properly with events
|
||||
timer = new Timer () {
|
||||
|
@ -100,18 +120,18 @@ namespace SparkleShare {
|
|||
timer.Stop ();
|
||||
timer = null;
|
||||
|
||||
string full_name = UserInfoForm.Cells [0].StringValue.Trim ();
|
||||
string email = UserInfoForm.Cells [1].StringValue.Trim ();
|
||||
string full_name = FullNameTextField.StringValue.Trim ();
|
||||
string email = EmailTextField.StringValue.Trim ();
|
||||
|
||||
Controller.SetupPageCompleted (full_name, email);
|
||||
};
|
||||
|
||||
timer.Elapsed += delegate {
|
||||
InvokeOnMainThread (delegate {
|
||||
bool name_is_valid = !UserInfoForm.Cells [0].StringValue.Trim ().Equals ("");
|
||||
bool name_is_valid = !FullNameTextField.StringValue.Trim ().Equals ("");
|
||||
|
||||
bool email_is_valid = Program.Controller.IsValidEmail (
|
||||
UserInfoForm.Cells [1].StringValue.Trim ());
|
||||
EmailTextField.StringValue.Trim ());
|
||||
|
||||
ContinueButton.Enabled = (name_is_valid && email_is_valid);
|
||||
});
|
||||
|
@ -119,7 +139,11 @@ namespace SparkleShare {
|
|||
|
||||
timer.Start ();
|
||||
|
||||
ContentView.AddSubview (UserInfoForm);
|
||||
ContentView.AddSubview (FullNameLabel);
|
||||
ContentView.AddSubview (FullNameTextField);
|
||||
ContentView.AddSubview (EmailLabel);
|
||||
ContentView.AddSubview (EmailTextField);
|
||||
|
||||
Buttons.Add (ContinueButton);
|
||||
|
||||
break;
|
||||
|
@ -161,7 +185,8 @@ namespace SparkleShare {
|
|||
PathTextField = new NSTextField () {
|
||||
Frame = new RectangleF (190 + 196 + 16, Frame.Height - 336, 196, 22),
|
||||
StringValue = Controller.PreviousPath,
|
||||
Enabled = (Controller.SelectedPlugin.Path == null)
|
||||
Enabled = (Controller.SelectedPlugin.Path == null),
|
||||
Bezeled = true
|
||||
};
|
||||
|
||||
|
||||
|
@ -567,14 +592,6 @@ namespace SparkleShare {
|
|||
"to add one by hand."
|
||||
};
|
||||
|
||||
AddProjectButton = new NSButton () {
|
||||
Title = "Add Project…"
|
||||
};
|
||||
|
||||
AddProjectButton.Activated += delegate {
|
||||
Controller.TutorialPageCompleted ();
|
||||
};
|
||||
|
||||
FinishButton = new NSButton () {
|
||||
Title = "Finish"
|
||||
};
|
||||
|
@ -600,7 +617,6 @@ namespace SparkleShare {
|
|||
ContentView.AddSubview (SlideImageView);
|
||||
ContentView.AddSubview (AddProjectTextField);
|
||||
Buttons.Add (FinishButton);
|
||||
Buttons.Add (AddProjectButton);
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\bin\SparkleLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AppDelegate.cs">
|
||||
|
|
|
@ -147,9 +147,11 @@ namespace SparkleShare {
|
|||
StatusItem.AlternateImage.Size = new SizeF (16, 16);
|
||||
|
||||
Menu = new NSMenu ();
|
||||
Menu.AutoEnablesItems = false;
|
||||
|
||||
StateMenuItem = new NSMenuItem () {
|
||||
Title = StateText
|
||||
Title = StateText,
|
||||
Enabled = false
|
||||
};
|
||||
|
||||
Menu.AddItem (StateMenuItem);
|
||||
|
@ -165,6 +167,7 @@ namespace SparkleShare {
|
|||
|
||||
FolderMenuItem.Image = SparkleShareImage;
|
||||
FolderMenuItem.Image.Size = new SizeF (16, 16);
|
||||
FolderMenuItem.Enabled = true;
|
||||
|
||||
Menu.AddItem (FolderMenuItem);
|
||||
|
||||
|
@ -189,7 +192,8 @@ namespace SparkleShare {
|
|||
|
||||
FolderMenuItems [i] = item;
|
||||
FolderMenuItems [i].Activated += Tasks [i];
|
||||
|
||||
FolderMenuItem.Enabled = true;
|
||||
|
||||
i++;
|
||||
};
|
||||
|
||||
|
@ -197,7 +201,8 @@ namespace SparkleShare {
|
|||
FolderMenuItems = new NSMenuItem [1];
|
||||
|
||||
FolderMenuItems [0] = new NSMenuItem () {
|
||||
Title = "No projects yet"
|
||||
Title = "No projects yet",
|
||||
Enabled = false
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -207,7 +212,8 @@ namespace SparkleShare {
|
|||
Menu.AddItem (NSMenuItem.SeparatorItem);
|
||||
|
||||
SyncMenuItem = new NSMenuItem () {
|
||||
Title = "Add Hosted Project…"
|
||||
Title = "Add Hosted Project…",
|
||||
Enabled = true
|
||||
};
|
||||
|
||||
if (!Program.Controller.FirstRun) {
|
||||
|
@ -233,7 +239,8 @@ namespace SparkleShare {
|
|||
Menu.AddItem (NSMenuItem.SeparatorItem);
|
||||
|
||||
RecentEventsMenuItem = new NSMenuItem () {
|
||||
Title = "Open Recent Events"
|
||||
Title = "Open Recent Events",
|
||||
Enabled = true
|
||||
};
|
||||
|
||||
if (Controller.Folders.Length > 0) {
|
||||
|
@ -252,7 +259,9 @@ namespace SparkleShare {
|
|||
|
||||
Menu.AddItem (RecentEventsMenuItem);
|
||||
|
||||
NotificationsMenuItem = new NSMenuItem ();
|
||||
NotificationsMenuItem = new NSMenuItem () {
|
||||
Enabled = true
|
||||
};
|
||||
|
||||
if (Program.Controller.NotificationsEnabled)
|
||||
NotificationsMenuItem.Title = "Turn Notifications Off";
|
||||
|
@ -274,7 +283,8 @@ namespace SparkleShare {
|
|||
Menu.AddItem (NSMenuItem.SeparatorItem);
|
||||
|
||||
AboutMenuItem = new NSMenuItem () {
|
||||
Title = "About SparkleShare"
|
||||
Title = "About SparkleShare",
|
||||
Enabled = true
|
||||
};
|
||||
|
||||
AboutMenuItem.Activated += delegate {
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
SOURCES = \
|
||||
sparkleshare-nautilus-extension.py
|
||||
sparkleshare-nautilus-extension.py \
|
||||
sparkleshare-nautilus3-extension.py
|
||||
|
||||
if NAUTILUS_EXTENSION_ENABLED
|
||||
if NAUTILUS2_EXTENSION_ENABLED
|
||||
NAUTILUS_PYTHON_INSTALL_DIR=$(subst $(NAUTILUS_PREFIX)/,${prefix}/,$(NAUTILUS_PYTHON_DIR))
|
||||
extensiondir = $(NAUTILUS_PYTHON_INSTALL_DIR)
|
||||
extension_SCRIPTS = $(addprefix $(srcdir)/, $(SOURCES))
|
||||
else
|
||||
EXTRA_DIST = $(SOURCES) sparkleshare-nautilus-extension.py.in
|
||||
extension_SCRIPTS = $(addprefix $(srcdir)/, sparkleshare-nautilus-extension.py))
|
||||
endif
|
||||
if NAUTILUS3_EXTENSION_ENABLED
|
||||
NAUTILUS_PYTHON_INSTALL_DIR=$(subst $(NAUTILUS_PREFIX)/,${prefix}/,$(NAUTILUS_PYTHON_DIR))
|
||||
extensiondir = $(NAUTILUS_PYTHON_INSTALL_DIR)
|
||||
extension_SCRIPTS = $(addprefix $(srcdir)/, sparkleshare-nautilus3-extension.py)
|
||||
endif
|
||||
EXTRA_DIST = $(SOURCES) sparkleshare-nautilus-extension.py.in sparkleshare-nautilus3-extension.py.in
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#!/usr/bin/python
|
||||
# SparkleShare, an instant update workflow to Git.
|
||||
# Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
|
||||
#
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#!/usr/bin/python
|
||||
# SparkleShare, an instant update workflow to Git.
|
||||
# Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
|
||||
#
|
||||
|
@ -25,7 +26,7 @@ from gi.repository import Nautilus, GObject, Gtk, Gdk
|
|||
SPARKLESHARE_PATH = os.path.join (os.path.expanduser ('~'), "SparkleShare")
|
||||
|
||||
import gettext
|
||||
gettext.bindtextdomain('sparkleshare', '/usr/share/locale')
|
||||
gettext.bindtextdomain('sparkleshare', '@prefix@/share/locale')
|
||||
gettext.textdomain('sparkleshare')
|
||||
_ = gettext.gettext
|
||||
|
|
@ -97,9 +97,6 @@ namespace SparkleShare {
|
|||
|
||||
private void CreateAbout ()
|
||||
{
|
||||
Gdk.Color color = Style.Foreground (StateType.Insensitive);
|
||||
string secondary_text_color = SparkleUIHelpers.GdkColorToHex (color);
|
||||
|
||||
Label version = new Label () {
|
||||
Markup = "<span font_size='small' fgcolor='white'>" +
|
||||
"version " + Controller.RunningVersion +
|
||||
|
|
|
@ -71,19 +71,26 @@ namespace SparkleShare {
|
|||
if (args.Error != null)
|
||||
return;
|
||||
|
||||
string new_version = args.Result.Trim ();
|
||||
int running_version = int.Parse (
|
||||
"" + RunningVersion [0] + RunningVersion [2] + RunningVersion [4]
|
||||
);
|
||||
|
||||
string result = args.Result.Trim ();
|
||||
int new_version = int.Parse (
|
||||
"" + result [0] + result [2] + result [4]
|
||||
);
|
||||
|
||||
// Add a little delay, making it seems we're
|
||||
// actually doing hard work
|
||||
Thread.Sleep (2 * 1000);
|
||||
|
||||
if (RunningVersion.Equals (new_version)) {
|
||||
if (running_version >= new_version) {
|
||||
if (VersionUpToDateEvent != null)
|
||||
VersionUpToDateEvent ();
|
||||
|
||||
} else {
|
||||
if (NewVersionEvent != null)
|
||||
NewVersionEvent (new_version);
|
||||
NewVersionEvent (result);
|
||||
}
|
||||
|
||||
this.version_checker.Start ();
|
||||
|
|
|
@ -83,6 +83,7 @@ namespace SparkleShare {
|
|||
public abstract string PluginsPath { get; }
|
||||
|
||||
private SparkleFetcherBase fetcher;
|
||||
private List<string> failed_avatars = new List<string> ();
|
||||
|
||||
|
||||
// Short alias for the translations
|
||||
|
@ -901,15 +902,15 @@ namespace SparkleShare {
|
|||
|
||||
// Add some restrictions to what the key can
|
||||
// do when uploaded to the server
|
||||
string public_key = File.ReadAllText (key_file_path + ".pub");
|
||||
public_key = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " + public_key;
|
||||
File.WriteAllText (key_file_path + ".pub", public_key);
|
||||
// string public_key = File.ReadAllText (key_file_path + ".pub");
|
||||
// public_key = "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " + public_key;
|
||||
// File.WriteAllText (key_file_path + ".pub", public_key);
|
||||
|
||||
// Create an easily accessible copy of the public
|
||||
// key in the user's SparkleShare folder
|
||||
File.Copy (key_file_path + ".pub",
|
||||
Path.Combine (SparklePath, UserName + "'s key.txt"));
|
||||
|
||||
Path.Combine (SparklePath, UserName + "'s key.txt"),
|
||||
true); // Overwriting is allowed
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -944,10 +945,21 @@ namespace SparkleShare {
|
|||
|
||||
// Delete avatars older than a month
|
||||
if (avatar_info.CreationTime < DateTime.Now.AddMonths (-1)) {
|
||||
avatar_info.Delete ();
|
||||
old_avatars.Add (email);
|
||||
try {
|
||||
avatar_info.Delete ();
|
||||
old_avatars.Add (email);
|
||||
|
||||
} catch (FileNotFoundException) {
|
||||
// FIXME: For some reason the previous File.Exists () check
|
||||
// doesn't cover all cases sometimes, so we catch any errors
|
||||
|
||||
if (old_avatars.Contains (email))
|
||||
old_avatars.Remove (email);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (this.failed_avatars.Contains (email)) {
|
||||
break;
|
||||
} else {
|
||||
WebClient client = new WebClient ();
|
||||
string url = "http://gravatar.com/avatar/" + GetMD5 (email) +
|
||||
|
@ -969,8 +981,11 @@ namespace SparkleShare {
|
|||
SparkleHelpers.DebugInfo ("Controller", "Failed fetching gravatar for " + email);
|
||||
|
||||
// Stop downloading further avatars if we have no internet access
|
||||
if (e.Status == WebExceptionStatus.Timeout)
|
||||
if (e.Status == WebExceptionStatus.Timeout){
|
||||
break;
|
||||
} else {
|
||||
this.failed_avatars.Add (email);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -218,7 +218,7 @@ namespace SparkleShare {
|
|||
TreeSelection selection = (sender as TreeView).Selection;
|
||||
selection.GetSelected (out model, out iter);
|
||||
|
||||
SparklePlugin plugin = (SparklePlugin) model.GetValue (iter, 2);
|
||||
// SparklePlugin plugin = (SparklePlugin) model.GetValue (iter, 2);
|
||||
int selected_path = int.Parse (model.GetPath (iter).ToString ());
|
||||
|
||||
Controller.SelectedPluginChanged (selected_path);
|
||||
|
@ -333,7 +333,7 @@ namespace SparkleShare {
|
|||
case PageType.Syncing: {
|
||||
|
||||
Header = String.Format (_("Adding project ‘{0}’…"), Controller.SyncingFolder);
|
||||
Description = _("This may take a while." + Environment.NewLine) +
|
||||
Description = _("This may take a while.") + Environment.NewLine +
|
||||
_("Are you sure it’s not coffee o'clock?");
|
||||
|
||||
Button finish_button = new Button () {
|
||||
|
@ -548,11 +548,6 @@ namespace SparkleShare {
|
|||
|
||||
Image slide = SparkleUIHelpers.GetImage ("tutorial-slide-4.png");
|
||||
|
||||
Button add_project_button = new Button (_("Add Hosted Project…"));
|
||||
add_project_button.Clicked += delegate {
|
||||
Controller.TutorialPageCompleted ();
|
||||
};
|
||||
|
||||
Button finish_button = new Button (_("Finish"));
|
||||
finish_button.Clicked += delegate {
|
||||
Close ();
|
||||
|
@ -564,8 +559,6 @@ namespace SparkleShare {
|
|||
box.Add (label);
|
||||
|
||||
Add (box);
|
||||
|
||||
AddButton (add_project_button);
|
||||
AddButton (finish_button);
|
||||
|
||||
break;
|
||||
|
|
|
@ -1,14 +1,34 @@
|
|||
AC_DEFUN([SPARKLESHARE_NAUTILUS_PYTHON],
|
||||
[
|
||||
PKG_CHECK_MODULES(NAUTILUS_PYTHON, nautilus-python, have_nautilus_python=yes, have_nautilus_python=no)
|
||||
if test "x$have_nautilus_python" = "xyes"; then
|
||||
NAUTILUS_PREFIX="`$PKG_CONFIG --variable=prefix nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PREFIX)
|
||||
NAUTILUS_PYTHON_DIR="`$PKG_CONFIG --variable=pythondir nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PYTHON_DIR)
|
||||
AM_CONDITIONAL(NAUTILUS_EXTENSION_ENABLED, true)
|
||||
AC_ARG_ENABLE(nautilus-extension,
|
||||
AC_HELP_STRING([--disable-nautilus-extension],[Do not install the Nautilus plugin]), enable_nautilus_extension=$enableval, enable_nautilus_extension=yes )
|
||||
if test x$enable_nautilus_extension = xyes; then
|
||||
PKG_CHECK_MODULES(NAUTILUS_PYTHON, nautilus-python < 1.1, have_nautilus2_python=yes, have_nautilus2_python=no)
|
||||
if test "x$have_nautilus2_python" = "xyes"; then
|
||||
NAUTILUS_PREFIX="`$PKG_CONFIG --variable=prefix nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PREFIX)
|
||||
NAUTILUS_PYTHON_DIR="`$PKG_CONFIG --variable=pythondir nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PYTHON_DIR)
|
||||
AM_CONDITIONAL(NAUTILUS2_EXTENSION_ENABLED, true)
|
||||
else
|
||||
AM_CONDITIONAL(NAUTILUS2_EXTENSION_ENABLED, false)
|
||||
fi
|
||||
PKG_CHECK_MODULES(NAUTILUS3_PYTHON, nautilus-python >= 1.1, have_nautilus3_python=yes, have_nautilus3_python=no)
|
||||
if test "x$have_nautilus3_python" = "xyes"; then
|
||||
NAUTILUS_PREFIX="`$PKG_CONFIG --variable=prefix nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PREFIX)
|
||||
NAUTILUS_PYTHON_DIR="`$PKG_CONFIG --variable=pythondir nautilus-python`"
|
||||
AC_SUBST(NAUTILUS_PYTHON_DIR)
|
||||
AM_CONDITIONAL(NAUTILUS3_EXTENSION_ENABLED, true)
|
||||
else
|
||||
AM_CONDITIONAL(NAUTILUS3_EXTENSION_ENABLED, false)
|
||||
fi
|
||||
else
|
||||
AM_CONDITIONAL(NAUTILUS_EXTENSION_ENABLED, false)
|
||||
have_nautilus2_python="disabled"
|
||||
have_nautilus3_python="disabled"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(NAUTILUS2_EXTENSION_ENABLED, test "x$enable_nautilus_extension" = "xyes")
|
||||
AM_CONDITIONAL(NAUTILUS3_EXTENSION_ENABLED, test "x$enable_nautilus_extension" = "xyes")
|
||||
])
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
m4_define([sparkleshare_version],
|
||||
[0.2.5])
|
||||
[0.4.0])
|
||||
|
||||
m4_define([sparkleshare_asm_version],
|
||||
[0.2.5])
|
||||
[0.4.0])
|
||||
|
||||
AC_PREREQ([2.54])
|
||||
AC_INIT([SparkleShare], sparkleshare_version)
|
||||
|
@ -175,6 +175,7 @@ SparkleShare/Makefile
|
|||
SparkleShare/Mac/Makefile
|
||||
SparkleShare/Nautilus/Makefile
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus-extension.py
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py
|
||||
po/Makefile.in
|
||||
Makefile
|
||||
])
|
||||
|
@ -185,7 +186,8 @@ SparkleShare ${VERSION}
|
|||
Configuration:
|
||||
Prefix : ${prefix}
|
||||
Build Gtk+ UI : ${enable_gtkui}
|
||||
Nautilus plugin : ${have_nautilus_python}
|
||||
Nautilus 2.x plugin : ${have_nautilus2_python}
|
||||
Nautilus 3.x plugin : ${have_nautilus3_python}
|
||||
User Help : ${enable_user_help} (requires gnome-doc-utils >= 0.17.3)
|
||||
|
||||
"
|
||||
|
|
29
data/git-hooks/post-update
Executable file
29
data/git-hooks/post-update
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/bin/sh
|
||||
|
||||
# for use with gitolite
|
||||
#
|
||||
# http://sitaramc.github.com/gitolite/hooks.html
|
||||
# copy this file to
|
||||
# .gitolite/hooks/common/post-update
|
||||
# run gl-setup again
|
||||
|
||||
# for use with standard ssh/http(s)/git repos
|
||||
#
|
||||
# simply move this file to
|
||||
# .git/hooks/post-update in the remote repository
|
||||
|
||||
# make sure to chmod -x in all cases after the file has been copied
|
||||
|
||||
#To supress all output
|
||||
exec > /dev/null 2>&1
|
||||
|
||||
# for information on running your own server
|
||||
# https://github.com/hbons/fanout.node.js
|
||||
SERVER="204.62.14.135"
|
||||
PORT="1986"
|
||||
CHANNEL=$(git rev-list --reverse HEAD | head -n 1)
|
||||
MESSAGE=$(git rev-list HEAD | head -n 1)
|
||||
DATA="announce ${CHANNEL} ${MESSAGE}"
|
||||
echo "${DATA}\n" | socat - TCP-CONNECT:${SERVER}:${PORT} &
|
||||
|
||||
exit 0
|
|
@ -17,7 +17,7 @@ dist_plugins_DATA = \
|
|||
|
||||
pluginsdir = $(pkgdatadir)/plugins/
|
||||
|
||||
EXTRA_DIST=$(xml_in_files) $(xml_DATA)
|
||||
EXTRA_DIST=$(dist_plugins_in_files) $(xml_DATA)
|
||||
|
||||
MAINTAINERCLEANFILES = \
|
||||
Makefile.in
|
||||
|
|
|
@ -10,6 +10,7 @@ data/plugins/own-server.xml.in
|
|||
SparkleShare/Mac/SparkleStatusIcon.cs
|
||||
SparkleShare/Mac/SparkleUI.cs
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in
|
||||
SparkleShare/Program.cs
|
||||
SparkleShare/SparkleAbout.cs
|
||||
SparkleShare/SparkleController.cs
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
MacCore/src/Options.cs
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus-extension.py
|
||||
SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py
|
||||
SparkleLib/SparkleOptions.cs
|
||||
|
|
97
po/de.po
97
po/de.po
|
@ -6,18 +6,20 @@
|
|||
# Heffer <felix@fetzig.org>, 2011.
|
||||
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
|
||||
# kabum <uu.kabum@gmail.com>, 2011.
|
||||
# <killerjoe@gmx.de>, 2011.
|
||||
# kxnop <m_leinmueller@hotmail.com>, 2011.
|
||||
# Łukasz Jernaś <deejay1@srem.org>, 2011.
|
||||
# <mm@imsoftware.de>, 2011.
|
||||
# Sascha <S.Lewandowski@abiwillich.de>, 2011.
|
||||
# <urs.obernolte@googlemail.com>, 2011.
|
||||
# <yujiang.wang@ymail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"POT-Creation-Date: 2011-11-12 18:42+0100\n"
|
||||
"PO-Revision-Date: 2011-11-14 07:55+0000\n"
|
||||
"Last-Translator: iwsnipy <S.Lewandowski@abiwillich.de>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -26,11 +28,11 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/bitbucket.xml.in.h:1 ../data/plugins/github.xml.in.h:1
|
||||
msgid "/username/project"
|
||||
msgstr ""
|
||||
msgstr "/username/project"
|
||||
|
||||
#: ../data/plugins/bitbucket.xml.in.h:2
|
||||
msgid "Bitbucket"
|
||||
msgstr ""
|
||||
msgstr "Bitbucket"
|
||||
|
||||
#: ../data/plugins/bitbucket.xml.in.h:3
|
||||
msgid "Free code hosting for Git and Mercurial"
|
||||
|
@ -42,11 +44,11 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/github.xml.in.h:3
|
||||
msgid "Github"
|
||||
msgstr ""
|
||||
msgstr "Github"
|
||||
|
||||
#: ../data/plugins/gitorious.xml.in.h:1
|
||||
msgid "/project/repository"
|
||||
msgstr ""
|
||||
msgstr "/Projekt/Ablage"
|
||||
|
||||
#: ../data/plugins/gitorious.xml.in.h:2
|
||||
msgid "Gitorious"
|
||||
|
@ -58,11 +60,11 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/gnome.xml.in.h:1
|
||||
msgid "/project"
|
||||
msgstr ""
|
||||
msgstr "/Projekt"
|
||||
|
||||
#: ../data/plugins/gnome.xml.in.h:2
|
||||
msgid "A free and easy interface for your computer"
|
||||
msgstr ""
|
||||
msgstr "Eine freie und einfache Schnittstelle für deinen Computer"
|
||||
|
||||
#: ../data/plugins/gnome.xml.in.h:3
|
||||
msgid "The GNOME Project"
|
||||
|
@ -70,57 +72,62 @@ msgstr "Das GNOME Projekt"
|
|||
|
||||
#: ../data/plugins/own-server.xml.in.h:1
|
||||
msgid "/path/to/project"
|
||||
msgstr ""
|
||||
msgstr "/Pfad/zum/Projekt"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:2
|
||||
msgid "Everything under my control"
|
||||
msgstr ""
|
||||
msgstr "Alles unter meiner Kontrolle"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:3
|
||||
msgid "On my own server"
|
||||
msgstr ""
|
||||
msgstr "Auf meinem eigenen Server"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:70
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:88
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:84
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:102
|
||||
#: ../SparkleShare/SparkleSetup.cs:75 ../SparkleShare/SparkleStatusIcon.cs:75
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:89
|
||||
msgid "Welcome to SparkleShare!"
|
||||
msgstr "Willkommen bei SparkleShare!"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:72
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:90
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:86
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:104
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:77
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:91
|
||||
msgid "Up to date"
|
||||
msgstr "Schon auf dem aktuellsten Stand."
|
||||
msgstr "Aktualisiert"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:99
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:113
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:106
|
||||
msgid "Syncing…"
|
||||
msgstr "Abgleichen …"
|
||||
msgstr "Synchronisiere..."
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:109
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:123
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:116
|
||||
msgid "Not everything is synced"
|
||||
msgstr "Nicht alles ist synchronisiert"
|
||||
msgstr "Es ist nicht alles synchronisiert"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:113
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in:140
|
||||
msgid "Copy Web Link"
|
||||
msgstr "Internetadresse kopieren"
|
||||
msgstr "Web Link kopieren"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:114
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in:141
|
||||
msgid "Copy the web address of this file to the clipboard"
|
||||
msgstr "Die Internetadresse dieser Datei in die Zwischenablage kopieren"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:147
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in:173
|
||||
msgid "Get Earlier Version"
|
||||
msgstr "Frühere Version abrufen"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:148
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in:174
|
||||
msgid "Make a copy of an earlier version in this folder"
|
||||
msgstr "Erstelle eine Kopie einer früheren Version in diesem Verzeichnis"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:161
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus3-extension.py.in:187
|
||||
msgid "Select to get a copy of this version"
|
||||
msgstr "Selektieren, um eine Kopie dieser Version abzurufen"
|
||||
|
||||
|
@ -196,42 +203,42 @@ msgstr "Sie verwenden die aktuelle Version."
|
|||
msgid "Checking for updates..."
|
||||
msgstr "Suche Aktualisierungen..."
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:494
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
msgstr ""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:499
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:500
|
||||
msgid "dddd, MMMM d"
|
||||
msgstr ""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:708
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Hinzugefügt '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:713
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "'{0}' verschoben"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:718
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Bearbeitet '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:723
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Gelöscht '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:732
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:736
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
|
||||
|
@ -270,11 +277,11 @@ msgstr ""
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:275
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
msgstr "Adresse"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:295
|
||||
msgid "Remote Path"
|
||||
msgstr ""
|
||||
msgstr "Entfernter Pfad"
|
||||
|
||||
#. Cancel button
|
||||
#: ../SparkleShare/SparkleSetup.cs:309 ../SparkleShare/SparkleSetup.cs:345
|
||||
|
@ -289,7 +296,7 @@ msgstr "Hinzufügen"
|
|||
#: ../SparkleShare/SparkleSetup.cs:335
|
||||
#, csharp-format
|
||||
msgid "Adding project ‘{0}’…"
|
||||
msgstr ""
|
||||
msgstr "Füge Projekt '{0}' hinzu..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:336
|
||||
msgid "This may take a while."
|
||||
|
@ -323,7 +330,7 @@ msgstr "Projekt erfolgreich hinzugefügt!"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "Zugriff auf die Dateien von Ihrem SparkleShare Ordner."
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -339,6 +346,8 @@ msgid ""
|
|||
"SparkleShare creates a special folder in your personal folder that will keep"
|
||||
" track of your projects."
|
||||
msgstr ""
|
||||
"SparkleShare erzeugt einen eigenen Ordner in Ihrem persönlichen Ordner, der "
|
||||
"den Überblick über Ihre Projekte behalten."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:481
|
||||
msgid "Skip Tutorial"
|
||||
|
@ -358,6 +367,8 @@ msgid ""
|
|||
"All files added to your project folders are synced with the host "
|
||||
"automatically, as well as with your collaborators."
|
||||
msgstr ""
|
||||
"Alle zu Ihrem Projekt hinzugefügten Dateien sind automatisch mit dem Server "
|
||||
"und Ihren Mitarbeitern synchronisiert."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:520
|
||||
msgid "The status icon is here to help"
|
||||
|
@ -368,16 +379,20 @@ msgid ""
|
|||
"It shows the syncing process status, and contains links to your projects and"
|
||||
" the event log."
|
||||
msgstr ""
|
||||
"Es zeigt den Synchronisierungsstatus und beinhaltet Links zu deinem Projekt "
|
||||
"und deinen letzten Ereignissen."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:538
|
||||
msgid "Adding projects to SparkleShare"
|
||||
msgstr ""
|
||||
msgstr "Füge Projekte zu SparkleShare"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:539
|
||||
msgid ""
|
||||
"Just click this button when you see it on the web, and the project will be "
|
||||
"automatically added:"
|
||||
msgstr ""
|
||||
"Klicken den Button, wenn du ihn im Internet siehst, und das Projekt wird "
|
||||
"automatisch hinzu gefügt:"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:542
|
||||
msgid ""
|
||||
|
@ -397,11 +412,11 @@ msgstr "SparkleShare Konfiguration"
|
|||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:228
|
||||
msgid "No projects yet"
|
||||
msgstr ""
|
||||
msgstr "Bislang keine Projekte "
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:262
|
||||
msgid "Open Recent Events"
|
||||
msgstr ""
|
||||
msgstr "Öffne letzte Ereignisse"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:282
|
||||
msgid "Turn Notifications Off"
|
||||
|
|
21
po/es.po
21
po/es.po
|
@ -1,6 +1,7 @@
|
|||
# This file is distributed under the same license as the SparkleShare package.
|
||||
#
|
||||
# Translators:
|
||||
# Claudio Rodrigo Pereyra Diaz <elsupergomez@gmail.com>, 2011.
|
||||
# <jamelrom@gmail.com>, 2011.
|
||||
# jamelrom <jamelrom@gmail.com>, 2011.
|
||||
# <luiso.perez@gmail.com>, 2011.
|
||||
|
@ -9,8 +10,8 @@ msgstr ""
|
|||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-02 12:13+0000\n"
|
||||
"Last-Translator: elsupergomez <elsupergomez@gmail.com>\n"
|
||||
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/sparkleshare/team/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -201,33 +202,33 @@ msgstr ""
|
|||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "añadido '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "movido '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "editado '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "eliminado '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "y {0} más"
|
||||
msgstr[1] "y {0} más"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "hizo algo mágico"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
@ -386,6 +387,8 @@ msgid ""
|
|||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"... o seleccione <b>\"Agregar proyecto alojado ... \"</b> en el menú del "
|
||||
"icono de estado para agregar uno manualmente."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
|
|
18
po/fr.po
18
po/fr.po
|
@ -12,8 +12,8 @@ msgstr ""
|
|||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-04 22:18+0000\n"
|
||||
"Last-Translator: chezyann <chezyann@gmail.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -194,31 +194,31 @@ msgstr "Vérification des mises à jour…"
|
|||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
msgstr ""
|
||||
msgstr "dddd d MMMM yyyy"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:499
|
||||
msgid "dddd, MMMM d"
|
||||
msgstr ""
|
||||
msgstr "dddd d MMMM"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Ajouté: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Déplacé: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Modifié: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "Supprimé: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
|
@ -229,7 +229,7 @@ msgstr[1] ""
|
|||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "Attendez un miracle"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
|
71
po/he.po
71
po/he.po
|
@ -1,13 +1,14 @@
|
|||
# This file is distributed under the same license as the SparkleShare package.
|
||||
#
|
||||
# Translators:
|
||||
# <ophir.setter+transifex@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-01 20:06+0000\n"
|
||||
"Last-Translator: ophir <ophir.setter+transifex@gmail.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -64,11 +65,11 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/own-server.xml.in.h:2
|
||||
msgid "Everything under my control"
|
||||
msgstr ""
|
||||
msgstr "הכל תחת שליטתי"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:3
|
||||
msgid "On my own server"
|
||||
msgstr ""
|
||||
msgstr "שרת משלי"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:70
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:88
|
||||
|
@ -169,20 +170,20 @@ msgstr "ספארקלשר"
|
|||
#. A menu item that takes the user to http://www.sparkleshare.org/
|
||||
#: ../SparkleShare/SparkleAbout.cs:53 ../SparkleShare/SparkleStatusIcon.cs:295
|
||||
msgid "About SparkleShare"
|
||||
msgstr ""
|
||||
msgstr "אודות ספארקלשר"
|
||||
|
||||
#: ../SparkleShare/SparkleAbout.cs:70
|
||||
#, csharp-format
|
||||
msgid "A newer version ({0}) is available!"
|
||||
msgstr ""
|
||||
msgstr "גירסה חדשה יותר ({0}) זמינה!"
|
||||
|
||||
#: ../SparkleShare/SparkleAbout.cs:79
|
||||
msgid "You are running the latest version."
|
||||
msgstr ""
|
||||
msgstr "אתה מריץ את הגרסה המעודכנת ביותר"
|
||||
|
||||
#: ../SparkleShare/SparkleAbout.cs:88 ../SparkleShare/SparkleAbout.cs:113
|
||||
msgid "Checking for updates..."
|
||||
msgstr ""
|
||||
msgstr "בודק עדכונים..."
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
|
@ -195,22 +196,22 @@ msgstr ""
|
|||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "‘{0}’ הוסף"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "‘{0}’ הוזז"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "‘{0}’ שונה"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "‘{0}’ נמחק"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
|
@ -225,12 +226,12 @@ msgstr ""
|
|||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
msgstr ""
|
||||
msgstr "אירועים אחרונים"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:169
|
||||
#: ../SparkleShare/SparkleEventLog.cs:188
|
||||
msgid "All Folders"
|
||||
msgstr ""
|
||||
msgstr "כל התיקיות"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:76
|
||||
msgid ""
|
||||
|
@ -245,7 +246,7 @@ msgstr "שם מלא:"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:98
|
||||
msgid "Email:"
|
||||
msgstr "דוא\"ל"
|
||||
msgstr "דוא\"ל:"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:108
|
||||
msgid "Next"
|
||||
|
@ -271,20 +272,20 @@ msgstr "בטל"
|
|||
#. Sync button
|
||||
#: ../SparkleShare/SparkleSetup.cs:316
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "הוסף"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:335
|
||||
#, csharp-format
|
||||
msgid "Adding project ‘{0}’…"
|
||||
msgstr ""
|
||||
msgstr "מוסיף פרויקט ‘{0}’…"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:336
|
||||
msgid "This may take a while."
|
||||
msgstr ""
|
||||
msgstr "זה עלול לקחת זמן מה"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:337
|
||||
msgid "Are you sure it’s not coffee o'clock?"
|
||||
msgstr ""
|
||||
msgstr "מה אתה אומר על קפה?"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:341 ../SparkleShare/SparkleSetup.cs:457
|
||||
#: ../SparkleShare/SparkleSetup.cs:556
|
||||
|
@ -293,24 +294,24 @@ msgstr "סיים"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:374
|
||||
msgid "Something went wrong"
|
||||
msgstr ""
|
||||
msgstr "משהו השתבש"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:422
|
||||
msgid "Try Again…"
|
||||
msgstr ""
|
||||
msgstr "נסה שוב..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:441
|
||||
#, csharp-format
|
||||
msgid "‘{0}’ has been successfully added"
|
||||
msgstr ""
|
||||
msgstr "‘{0}’ הוסף בהצלחה"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:447
|
||||
msgid "Project successfully added!"
|
||||
msgstr ""
|
||||
msgstr "פרויקט הוסף בהצלחה!"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "גש לקבצים מתיקיית ספארקלשר"
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -319,7 +320,7 @@ msgstr "פתח תקייה"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:477
|
||||
msgid "What's happening next?"
|
||||
msgstr ""
|
||||
msgstr "מה עכשיו?"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:478
|
||||
msgid ""
|
||||
|
@ -329,16 +330,16 @@ msgstr ""
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:481
|
||||
msgid "Skip Tutorial"
|
||||
msgstr ""
|
||||
msgstr "דלג על הדרכה"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:486 ../SparkleShare/SparkleSetup.cs:506
|
||||
#: ../SparkleShare/SparkleSetup.cs:524
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "המשך"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:502
|
||||
msgid "Sharing files with others"
|
||||
msgstr ""
|
||||
msgstr "שיתוף קבצים עם אחרים"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:503
|
||||
msgid ""
|
||||
|
@ -358,13 +359,13 @@ msgstr ""
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:538
|
||||
msgid "Adding projects to SparkleShare"
|
||||
msgstr ""
|
||||
msgstr "הוספת פרויקטים לספארקלשר"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:539
|
||||
msgid ""
|
||||
"Just click this button when you see it on the web, and the project will be "
|
||||
"automatically added:"
|
||||
msgstr ""
|
||||
msgstr "לחץ כאן כשאתה רואה אותו ברשת, והפרויקט יתווסף אוטומטית:"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:542
|
||||
msgid ""
|
||||
|
@ -380,23 +381,23 @@ msgstr ""
|
|||
|
||||
#: ../SparkleShare/SparkleSetupWindow.cs:44
|
||||
msgid "SparkleShare Setup"
|
||||
msgstr ""
|
||||
msgstr "התקנת ספארקלשר"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:228
|
||||
msgid "No projects yet"
|
||||
msgstr ""
|
||||
msgstr "עדיין אין פרויקטים"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:262
|
||||
msgid "Open Recent Events"
|
||||
msgstr ""
|
||||
msgstr "פתח אירועים אחרונים"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:282
|
||||
msgid "Turn Notifications Off"
|
||||
msgstr ""
|
||||
msgstr "כבה הודעות"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:284
|
||||
msgid "Turn Notifications On"
|
||||
msgstr ""
|
||||
msgstr "הפעל הודעות"
|
||||
|
||||
#. A menu item that quits the application
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:311
|
||||
|
|
62
po/nl.po
62
po/nl.po
|
@ -2,9 +2,11 @@
|
|||
#
|
||||
# Translators:
|
||||
# <benjamincottyn@gmail.com>, 2011.
|
||||
# <hylkebons@gmail.com>, 2011.
|
||||
# <inxidious@gmail.com>, 2011.
|
||||
# Łukasz Jernaś <deejay1@srem.org>, 2011.
|
||||
# <m.manshanden@gmail.com>, 2011.
|
||||
# <mr.mmans@gmail.com>, 2011.
|
||||
# smeagiel <michielaiso@hotmail.com>, 2011.
|
||||
# <sven.koehler@student.hpi.uni-potsdam.de>, 2011.
|
||||
msgid ""
|
||||
|
@ -12,8 +14,8 @@ msgstr ""
|
|||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-06 22:01+0000\n"
|
||||
"Last-Translator: mmans <mr.mmans@gmail.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -34,7 +36,7 @@ msgstr "Gratis hosting voor Git en Mercurial"
|
|||
|
||||
#: ../data/plugins/github.xml.in.h:2
|
||||
msgid "Free public Git repositories with collaborator management"
|
||||
msgstr ""
|
||||
msgstr "Gratis publieke repositories met teambeheer."
|
||||
|
||||
#: ../data/plugins/github.xml.in.h:3
|
||||
msgid "Github"
|
||||
|
@ -50,7 +52,7 @@ msgstr "Gitorious"
|
|||
|
||||
#: ../data/plugins/gitorious.xml.in.h:3
|
||||
msgid "Open source infrastructure for hosting open source projects"
|
||||
msgstr "Opensource infratstructuur voor het hosten van opensource projecten."
|
||||
msgstr "Opensource infrastructuur voor het hosten van opensource projecten."
|
||||
|
||||
#: ../data/plugins/gnome.xml.in.h:1
|
||||
msgid "/project"
|
||||
|
@ -66,11 +68,11 @@ msgstr "Het GNOME Project"
|
|||
|
||||
#: ../data/plugins/own-server.xml.in.h:1
|
||||
msgid "/path/to/project"
|
||||
msgstr ""
|
||||
msgstr "/pad/naar/project"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:2
|
||||
msgid "Everything under my control"
|
||||
msgstr ""
|
||||
msgstr "Alles onder mijn controle"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:3
|
||||
msgid "On my own server"
|
||||
|
@ -114,7 +116,7 @@ msgstr "Verkrijg eerdere versie"
|
|||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:148
|
||||
msgid "Make a copy of an earlier version in this folder"
|
||||
msgstr "Maak een kopie van een oudere versie in deze map"
|
||||
msgstr "Maak een kopie van een oudere versie naar deze map"
|
||||
|
||||
#: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:161
|
||||
msgid "Select to get a copy of this version"
|
||||
|
@ -152,7 +154,7 @@ msgstr " onder bepaalde voorwaarden. Zie de GNU GPLv3 voor meer informatie."
|
|||
|
||||
#: ../SparkleShare/Program.cs:92
|
||||
msgid "SparkleShare automatically syncs Git repositories in "
|
||||
msgstr "SparkleShare synchroniseerd automatisch Git repositories in "
|
||||
msgstr "SparkleShare synchroniseert automatisch Git repositories in "
|
||||
|
||||
#: ../SparkleShare/Program.cs:93
|
||||
msgid "the ~/SparkleShare folder with their remote origins."
|
||||
|
@ -194,42 +196,42 @@ msgstr "Controleren op updates ..."
|
|||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
msgstr ""
|
||||
msgstr "dddd, MMMM d, yyyy"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:499
|
||||
msgid "dddd, MMMM d"
|
||||
msgstr ""
|
||||
msgstr "dddd, MMMM d"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "toegevoegd: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "verplaatst: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "bewerkt: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "verwijderd: ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "en nog {0}"
|
||||
msgstr[1] "en nog {0}"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "deed iets magisch"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
@ -270,7 +272,7 @@ msgstr "Adres"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:295
|
||||
msgid "Remote Path"
|
||||
msgstr ""
|
||||
msgstr "Extern pad"
|
||||
|
||||
#. Cancel button
|
||||
#: ../SparkleShare/SparkleSetup.cs:309 ../SparkleShare/SparkleSetup.cs:345
|
||||
|
@ -306,7 +308,7 @@ msgstr "Er ging iets mis"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:422
|
||||
msgid "Try Again…"
|
||||
msgstr "Probeer opnieuw..."
|
||||
msgstr "Opnieuw proberen..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:441
|
||||
#, csharp-format
|
||||
|
@ -315,11 +317,11 @@ msgstr "'{0}' is met succes toegevoegd"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:447
|
||||
msgid "Project successfully added!"
|
||||
msgstr "Project succesvol toegevoeg"
|
||||
msgstr "Project succesvol toegevoegd!"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "Benader de gesynchroniseerde bestanden in je SparkleShare-map."
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -328,13 +330,15 @@ msgstr "Map openen"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:477
|
||||
msgid "What's happening next?"
|
||||
msgstr ""
|
||||
msgstr "What gebeurt er nu?"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:478
|
||||
msgid ""
|
||||
"SparkleShare creates a special folder in your personal folder that will keep"
|
||||
" track of your projects."
|
||||
msgstr ""
|
||||
"SparkleShare maakt een speciale map in je persoonlijke map die je projecten "
|
||||
"in de gaten houdt."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:481
|
||||
msgid "Skip Tutorial"
|
||||
|
@ -354,16 +358,20 @@ msgid ""
|
|||
"All files added to your project folders are synced with the host "
|
||||
"automatically, as well as with your collaborators."
|
||||
msgstr ""
|
||||
"Alle bestanden die je aan je projectmappen toevoegt worden automatisch "
|
||||
"gesynchroniseerd met de host en je team."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:520
|
||||
msgid "The status icon is here to help"
|
||||
msgstr "Het status icoon bied hulp"
|
||||
msgstr "Het statusicoon bied hulp"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:521
|
||||
msgid ""
|
||||
"It shows the syncing process status, and contains links to your projects and"
|
||||
" the event log."
|
||||
msgstr ""
|
||||
"Het toont de voortgang van het synchroniseerproces en bevat links naar je "
|
||||
"projecten en het logboek."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:538
|
||||
msgid "Adding projects to SparkleShare"
|
||||
|
@ -374,18 +382,22 @@ msgid ""
|
|||
"Just click this button when you see it on the web, and the project will be "
|
||||
"automatically added:"
|
||||
msgstr ""
|
||||
"Klik op deze knop wanneer je deze tegenkomt op het web, en het project wordt"
|
||||
" automatisch toegevoegd."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:542
|
||||
msgid ""
|
||||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"…of selecteer <b>‘Gehost project toevoegen…’</b> in het menu van het "
|
||||
"statusicoon om een project met de hand toe te voegen."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:238
|
||||
msgid "Add Hosted Project…"
|
||||
msgstr ""
|
||||
msgstr "Gehost project toevoegen…"
|
||||
|
||||
#: ../SparkleShare/SparkleSetupWindow.cs:44
|
||||
msgid "SparkleShare Setup"
|
||||
|
@ -397,7 +409,7 @@ msgstr "Nog geen projecten"
|
|||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:262
|
||||
msgid "Open Recent Events"
|
||||
msgstr "Open recente gebeurtenissen"
|
||||
msgstr "Logboek openen"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:282
|
||||
msgid "Turn Notifications Off"
|
||||
|
|
57
po/pl.po
57
po/pl.po
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"POT-Creation-Date: 2011-11-12 13:18+0100\n"
|
||||
"PO-Revision-Date: 2011-11-12 12:34+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -26,7 +26,8 @@ msgstr "Bitbucket"
|
|||
#: ../data/plugins/bitbucket.xml.in.h:3
|
||||
msgid "Free code hosting for Git and Mercurial"
|
||||
msgstr ""
|
||||
"Darmowe utrzymywanie kod dla projektów zarządzanych przez git oraz Mercurial"
|
||||
"Darmowe utrzymywanie kodu dla projektów zarządzanych przez git oraz "
|
||||
"Mercurial"
|
||||
|
||||
#: ../data/plugins/github.xml.in.h:2
|
||||
msgid "Free public Git repositories with collaborator management"
|
||||
|
@ -47,8 +48,8 @@ msgstr "Gitorious"
|
|||
#: ../data/plugins/gitorious.xml.in.h:3
|
||||
msgid "Open source infrastructure for hosting open source projects"
|
||||
msgstr ""
|
||||
"Infrakstruktura o otwartym kodzie źródłowym dla projektów dla społeczności "
|
||||
"otwartego kodu"
|
||||
"Infrastruktura o otwartym kodzie źródłowym dla projektów o otwartym kodzie "
|
||||
"źródłowym"
|
||||
|
||||
#: ../data/plugins/gnome.xml.in.h:1
|
||||
msgid "/project"
|
||||
|
@ -74,26 +75,26 @@ msgstr "Wszystko pod własną kontrolą"
|
|||
msgid "On my own server"
|
||||
msgstr "Na własnym serwerze"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:70
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:88
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:84
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:102
|
||||
#: ../SparkleShare/SparkleSetup.cs:75 ../SparkleShare/SparkleStatusIcon.cs:75
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:89
|
||||
msgid "Welcome to SparkleShare!"
|
||||
msgstr "Witamy w programie SparkleShare!"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:72
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:90
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:86
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:104
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:77
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:91
|
||||
msgid "Up to date"
|
||||
msgstr "Wszystko jest aktualne"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:99
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:113
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:106
|
||||
msgid "Syncing…"
|
||||
msgstr "Synchronizowanie…"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:109
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:123
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:116
|
||||
msgid "Not everything is synced"
|
||||
msgstr "Nie wszystko zostało zsynchronizowane"
|
||||
|
@ -141,7 +142,7 @@ msgstr "Niniejszy program dostarczany jest BEZ JAKIEJKOLWIEK GWARANCJI."
|
|||
#: ../SparkleShare/Program.cs:89
|
||||
msgid "This is free software, and you are welcome to redistribute it "
|
||||
msgstr ""
|
||||
"Niniejszy program jest wolnym oprogramowanie, można go rozprowadzać dalej "
|
||||
"Niniejszy program jest wolnym oprogramowaniem, można go rozprowadzać dalej "
|
||||
"pod pewnymi warunkami."
|
||||
|
||||
#: ../SparkleShare/Program.cs:90
|
||||
|
@ -153,7 +154,7 @@ msgstr ""
|
|||
#: ../SparkleShare/Program.cs:92
|
||||
msgid "SparkleShare automatically syncs Git repositories in "
|
||||
msgstr ""
|
||||
"Program SparkleShare automatycznie synchronizuje reozytoria Git znajdujące "
|
||||
"Program SparkleShare automatycznie synchronizuje repozytoria Git znajdujące "
|
||||
"się"
|
||||
|
||||
#: ../SparkleShare/Program.cs:93
|
||||
|
@ -195,35 +196,35 @@ msgstr "Korzystasz z najnowszej wersji."
|
|||
msgid "Checking for updates..."
|
||||
msgstr "Wyszukiwanie aktualizacji"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:494
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
msgstr ""
|
||||
msgstr "dddd, d MMMM yyyy"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:499
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:500
|
||||
msgid "dddd, MMMM d"
|
||||
msgstr ""
|
||||
msgstr "dddd, d MMMM"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:708
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr "dodano \"{0}\""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:713
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr "przesunięto \"{0}\""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:718
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr "edytowano \"{0}\""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:723
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr "usunięto \"{0}\""
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:732
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
|
@ -231,7 +232,7 @@ msgstr[0] "oraz {0} więcej"
|
|||
msgstr[1] "oraz {0} więcej"
|
||||
msgstr[2] "oraz {0} więcej"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:736
|
||||
msgid "did something magical"
|
||||
msgstr "stało się coś magicznego"
|
||||
|
||||
|
@ -289,7 +290,7 @@ msgstr "Dodaj"
|
|||
#: ../SparkleShare/SparkleSetup.cs:335
|
||||
#, csharp-format
|
||||
msgid "Adding project ‘{0}’…"
|
||||
msgstr "Dodawanie projektu „{0}…"
|
||||
msgstr "Dodawanie projektu \"{0}\"…"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:336
|
||||
msgid "This may take a while."
|
||||
|
@ -323,7 +324,7 @@ msgstr "Projekt został dodany pomyślnie."
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "Dostęp do plików możliwy jest z katalogu SparkleShare."
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -339,7 +340,7 @@ msgid ""
|
|||
"SparkleShare creates a special folder in your personal folder that will keep"
|
||||
" track of your projects."
|
||||
msgstr ""
|
||||
"Program SparkleShare utwrzy specjalny katalog w katalogu domowym, który "
|
||||
"Program SparkleShare utworzy specjalny katalog w katalogu domowym, który "
|
||||
"będzie zajmował się projektami."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:481
|
||||
|
@ -372,7 +373,7 @@ msgid ""
|
|||
"It shows the syncing process status, and contains links to your projects and"
|
||||
" the event log."
|
||||
msgstr ""
|
||||
"Wyświetla stan synchronizacji, jak i zawiera odnośniki do projektów i "
|
||||
"Wyświetla stan synchronizacji, jak i zawiera odnośniki do projektów oraz "
|
||||
"dziennika zdarzeń."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:538
|
||||
|
@ -392,6 +393,8 @@ msgid ""
|
|||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"…lub można wybrać opcję <b>\"Dodaj utrzymywany projekt…\"</b> z menu "
|
||||
"powiadamiania, aby dodać projekt ręcznie."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
|
|
72
po/pt_BR.po
72
po/pt_BR.po
|
@ -9,8 +9,8 @@ msgstr ""
|
|||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-08 12:53+0000\n"
|
||||
"Last-Translator: eduardosilva <eduardo@eduardosilva.eti.br>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/bitbucket.xml.in.h:1 ../data/plugins/github.xml.in.h:1
|
||||
msgid "/username/project"
|
||||
msgstr ""
|
||||
msgstr "/usuário/projeto"
|
||||
|
||||
#: ../data/plugins/bitbucket.xml.in.h:2
|
||||
msgid "Bitbucket"
|
||||
|
@ -35,11 +35,11 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/github.xml.in.h:3
|
||||
msgid "Github"
|
||||
msgstr ""
|
||||
msgstr "Github"
|
||||
|
||||
#: ../data/plugins/gitorious.xml.in.h:1
|
||||
msgid "/project/repository"
|
||||
msgstr ""
|
||||
msgstr "/projeto/repositório"
|
||||
|
||||
#: ../data/plugins/gitorious.xml.in.h:2
|
||||
msgid "Gitorious"
|
||||
|
@ -51,7 +51,7 @@ msgstr ""
|
|||
|
||||
#: ../data/plugins/gnome.xml.in.h:1
|
||||
msgid "/project"
|
||||
msgstr ""
|
||||
msgstr "/projeto"
|
||||
|
||||
#: ../data/plugins/gnome.xml.in.h:2
|
||||
msgid "A free and easy interface for your computer"
|
||||
|
@ -63,15 +63,15 @@ msgstr "O projeto GNOME"
|
|||
|
||||
#: ../data/plugins/own-server.xml.in.h:1
|
||||
msgid "/path/to/project"
|
||||
msgstr ""
|
||||
msgstr "/caminho/para/projeto"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:2
|
||||
msgid "Everything under my control"
|
||||
msgstr ""
|
||||
msgstr "Tudo sob meu controle"
|
||||
|
||||
#: ../data/plugins/own-server.xml.in.h:3
|
||||
msgid "On my own server"
|
||||
msgstr ""
|
||||
msgstr "Em meu próprio servidor"
|
||||
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:70
|
||||
#: ../SparkleShare/Mac/SparkleStatusIcon.cs:88
|
||||
|
@ -199,22 +199,22 @@ msgstr ""
|
|||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "adicionado \"{0} '"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "movido '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "editado '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "removido '{0}'"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
|
@ -225,7 +225,7 @@ msgstr[1] ""
|
|||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "fez algo mágico"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
@ -258,15 +258,15 @@ msgstr "Próximo"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:129
|
||||
msgid "Where's your project hosted?"
|
||||
msgstr ""
|
||||
msgstr "Onde está o seu projeto está hospedado?"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:275
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
msgstr "Endereço"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:295
|
||||
msgid "Remote Path"
|
||||
msgstr ""
|
||||
msgstr "Caminho remoto"
|
||||
|
||||
#. Cancel button
|
||||
#: ../SparkleShare/SparkleSetup.cs:309 ../SparkleShare/SparkleSetup.cs:345
|
||||
|
@ -276,12 +276,12 @@ msgstr "Cancelar"
|
|||
#. Sync button
|
||||
#: ../SparkleShare/SparkleSetup.cs:316
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Adicionar"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:335
|
||||
#, csharp-format
|
||||
msgid "Adding project ‘{0}’…"
|
||||
msgstr ""
|
||||
msgstr "Adicionando projeto '{0}' ..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:336
|
||||
msgid "This may take a while."
|
||||
|
@ -302,7 +302,7 @@ msgstr "Algum problema ocorreu"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:422
|
||||
msgid "Try Again…"
|
||||
msgstr ""
|
||||
msgstr "Tente novamente..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:441
|
||||
#, csharp-format
|
||||
|
@ -311,11 +311,11 @@ msgstr "'{0}' foi incluída com sucesso"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:447
|
||||
msgid "Project successfully added!"
|
||||
msgstr ""
|
||||
msgstr "Projeto adicionado com sucesso!"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "Acessar os arquivos da pasta SparkleShare."
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -324,64 +324,74 @@ msgstr "Abrir Pasta"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:477
|
||||
msgid "What's happening next?"
|
||||
msgstr ""
|
||||
msgstr "O que está acontecendo em seguida?"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:478
|
||||
msgid ""
|
||||
"SparkleShare creates a special folder in your personal folder that will keep"
|
||||
" track of your projects."
|
||||
msgstr ""
|
||||
"SparkleShare cria uma pasta especial em sua pasta pessoal que vai manter o "
|
||||
"controle de seus projetos."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:481
|
||||
msgid "Skip Tutorial"
|
||||
msgstr ""
|
||||
msgstr "Pular Tutorial"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:486 ../SparkleShare/SparkleSetup.cs:506
|
||||
#: ../SparkleShare/SparkleSetup.cs:524
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Continuar"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:502
|
||||
msgid "Sharing files with others"
|
||||
msgstr ""
|
||||
msgstr "Compartilhar arquivos com outras pessoas"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:503
|
||||
msgid ""
|
||||
"All files added to your project folders are synced with the host "
|
||||
"automatically, as well as with your collaborators."
|
||||
msgstr ""
|
||||
"Todos os arquivos adicionados a pasta do seu projeto são sincronizados "
|
||||
"automaticamente com o servidor, bem como com seus colaboradores."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:520
|
||||
msgid "The status icon is here to help"
|
||||
msgstr ""
|
||||
msgstr "O ícone de status está aqui para ajudar"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:521
|
||||
msgid ""
|
||||
"It shows the syncing process status, and contains links to your projects and"
|
||||
" the event log."
|
||||
msgstr ""
|
||||
"Mostra o status do processo de sincronização, e contém links para seus "
|
||||
"projetos e log de eventos."
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:538
|
||||
msgid "Adding projects to SparkleShare"
|
||||
msgstr ""
|
||||
msgstr "Adicionando projetos ao SparkleShare"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:539
|
||||
msgid ""
|
||||
"Just click this button when you see it on the web, and the project will be "
|
||||
"automatically added:"
|
||||
msgstr ""
|
||||
"Basta clicar neste botão quando você vê-la na web, e o projeto será "
|
||||
"automaticamente adicionado automaticamente:"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:542
|
||||
msgid ""
|
||||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"... Ou selecione <b>'Adicionar Projeto Hosted ...'</b> no menu do ícone de "
|
||||
"status para adicionar manualmente."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:238
|
||||
msgid "Add Hosted Project…"
|
||||
msgstr ""
|
||||
msgstr "Adicionar Projeto Hospedado..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetupWindow.cs:44
|
||||
msgid "SparkleShare Setup"
|
||||
|
@ -389,11 +399,11 @@ msgstr "Configurações do SparkleShare"
|
|||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:228
|
||||
msgid "No projects yet"
|
||||
msgstr ""
|
||||
msgstr "Nenhum projeto ainda"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:262
|
||||
msgid "Open Recent Events"
|
||||
msgstr ""
|
||||
msgstr "Abrir Eventos Recentes"
|
||||
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:282
|
||||
msgid "Turn Notifications Off"
|
||||
|
|
33
po/ru.po
33
po/ru.po
|
@ -4,14 +4,15 @@
|
|||
# Dmitry Golubkov <master@hsdesign.ru>, 2011.
|
||||
# <faland@gmail.com>, 2011.
|
||||
# Just a baka <justabaka@gmail.com>, 2011.
|
||||
# Misha Shnurapet <shnurapet@fedoraproject.org>, 2011.
|
||||
# Oleg Shmelyov <shmelyov.o@gmail.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-02 11:31+0000\n"
|
||||
"Last-Translator: shnurapet <shnurapet@fedoraproject.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -192,43 +193,43 @@ msgstr "Проверка обновлений…"
|
|||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:493
|
||||
msgid "dddd, MMMM d, yyyy"
|
||||
msgstr ""
|
||||
msgstr "дддд, ММММ д, гггг"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:499
|
||||
msgid "dddd, MMMM d"
|
||||
msgstr ""
|
||||
msgstr "дддд, ММММ д"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "«{0}» добавлено"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "«{0}» перемещено"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "«{0}» изменено"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "«{0}» удалено"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[0] "и ещё над {0}"
|
||||
msgstr[1] "и ещё над {0}"
|
||||
msgstr[2] "и ещё над {0}"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "совершено какое-то колдовство"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
@ -318,7 +319,7 @@ msgstr "Проект успешно добавлен!"
|
|||
|
||||
#: ../SparkleShare/SparkleSetup.cs:448
|
||||
msgid "Access the files from your SparkleShare folder."
|
||||
msgstr ""
|
||||
msgstr "Получить доступ к файлам из своей папки SparkleShare."
|
||||
|
||||
#. A button that opens the synced folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:451
|
||||
|
@ -379,18 +380,22 @@ msgid ""
|
|||
"Just click this button when you see it on the web, and the project will be "
|
||||
"automatically added:"
|
||||
msgstr ""
|
||||
"Просто нажмите эту кнопку, когда увидите её в сети, и проект будет добавлен "
|
||||
"автоматически:"
|
||||
|
||||
#: ../SparkleShare/SparkleSetup.cs:542
|
||||
msgid ""
|
||||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"...или выберите <b>«Добавить ведомый проект...»</b> через меню в области "
|
||||
"уведомлений, чтобы добавить проект вручную."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
#: ../SparkleShare/SparkleStatusIcon.cs:238
|
||||
msgid "Add Hosted Project…"
|
||||
msgstr ""
|
||||
msgstr "Добавить ведомый проект..."
|
||||
|
||||
#: ../SparkleShare/SparkleSetupWindow.cs:44
|
||||
msgid "SparkleShare Setup"
|
||||
|
|
20
po/sv.po
20
po/sv.po
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"Project-Id-Version: SparkleShare\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-10-30 15:50+0100\n"
|
||||
"PO-Revision-Date: 2011-10-30 14:50+0000\n"
|
||||
"Last-Translator: deejay1 <deejay1@srem.org>\n"
|
||||
"PO-Revision-Date: 2011-11-05 22:22+0000\n"
|
||||
"Last-Translator: shlstrm <shlstrm@sdf.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -202,33 +202,33 @@ msgstr ""
|
|||
#: ../SparkleShare/SparkleControllerBase.cs:707
|
||||
#, csharp-format
|
||||
msgid "added ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "lade till ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:712
|
||||
#, csharp-format
|
||||
msgid "moved ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "flyttade ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:717
|
||||
#, csharp-format
|
||||
msgid "edited ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "ändrade ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:722
|
||||
#, csharp-format
|
||||
msgid "deleted ‘{0}’"
|
||||
msgstr ""
|
||||
msgstr "raderade ‘{0}’"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:731
|
||||
#, csharp-format
|
||||
msgid "and {0} more"
|
||||
msgid_plural "and {0} more"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "och {0} till"
|
||||
msgstr[1] "och {0} fler"
|
||||
|
||||
#: ../SparkleShare/SparkleControllerBase.cs:735
|
||||
msgid "did something magical"
|
||||
msgstr ""
|
||||
msgstr "gjorde någonting magiskt"
|
||||
|
||||
#: ../SparkleShare/SparkleEventLog.cs:58
|
||||
msgid "Recent Events"
|
||||
|
@ -387,6 +387,8 @@ msgid ""
|
|||
"…or select <b>‘Add Hosted Project…’</b> from the status icon menu to add one"
|
||||
" by hand."
|
||||
msgstr ""
|
||||
"...eller välj <b>‘Lägg till Projekt…’</b> i statusmenyn för att lägga till "
|
||||
"ett projekt manuellt."
|
||||
|
||||
#. Opens the wizard to add a new remote folder
|
||||
#: ../SparkleShare/SparkleSetup.cs:551
|
||||
|
|
Loading…
Reference in a new issue