Commit 7c0ad896 authored by Piotr Drąg's avatar Piotr Drąg 😐 Committed by Jens Georg
parent 9d2cf353
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<key name="display-photo-ratings" type="b"> <key name="display-photo-ratings" type="b">
<default>true</default> <default>true</default>
<summary>display photo ratings</summary> <summary>display photo ratings</summary>
<description>True if a photo's rating should be displayed as overlaid trinket, false otherwise.</description> <description>True if a photos rating should be displayed as overlaid trinket, false otherwise.</description>
</key> </key>
<key name="photo-rating-filter" type="i"> <key name="photo-rating-filter" type="i">
...@@ -163,8 +163,8 @@ ...@@ -163,8 +163,8 @@
<key name="hide-photos-already-imported" type="b"> <key name="hide-photos-already-imported" type="b">
<default>false</default> <default>false</default>
<summary>Selection state of "hide photos" option</summary> <summary>Selection state of “hide photos” option</summary>
<description>Last used selection state of the "hide photos already imported" option in the import page.</description> <description>Last used selection state of the “hide photos already imported” option in the import page.</description>
</key> </key>
</schema> </schema>
...@@ -290,12 +290,12 @@ ...@@ -290,12 +290,12 @@
</key> </key>
<key name="last-crop-width" type="i"> <key name="last-crop-width" type="i">
<default>1</default> <default>1</default>
<summary>Most-recently-used crop custom aspect ratio's numerator.</summary> <summary>Most-recently-used crop custom aspect ratios numerator.</summary>
<description>A nonzero, positive integer representing the width part of the last custom crop ratio the user entered.</description> <description>A nonzero, positive integer representing the width part of the last custom crop ratio the user entered.</description>
</key> </key>
<key name="last-crop-height" type="i"> <key name="last-crop-height" type="i">
<default>1</default> <default>1</default>
<summary>Most-recently-used crop custom aspect ratio's denominator.</summary> <summary>Most-recently-used crop custom aspect ratios denominator.</summary>
<description>A nonzero, positive integer representing the height part of the last custom crop ratio the user entered.</description> <description>A nonzero, positive integer representing the height part of the last custom crop ratio the user entered.</description>
</key> </key>
</schema> </schema>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
Shotwell is an easy-to-use, fast photo organizer designed for the GNOME desktop. Shotwell is an easy-to-use, fast photo organizer designed for the GNOME desktop.
It allows you to import photos from your camera or disk, organize them by date and subject It allows you to import photos from your camera or disk, organize them by date and subject
matter, even ratings. It also offers basic photo editing, like crop, red-eye correction, matter, even ratings. It also offers basic photo editing, like crop, red-eye correction,
color adjustments, and straighten. Shotwell's non-destructive photo editor does not alter color adjustments, and straighten. Shotwells non-destructive photo editor does not alter
your master photos, making it easy to experiment and correct errors. your master photos, making it easy to experiment and correct errors.
</p> </p>
<p> <p>
......
...@@ -798,7 +798,7 @@ private class GalleryUploadTransaction : ...@@ -798,7 +798,7 @@ private class GalleryUploadTransaction :
public class GalleryPublisher : Spit.Publishing.Publisher, GLib.Object { public class GalleryPublisher : Spit.Publishing.Publisher, GLib.Object {
private const string BAD_FILE_MSG = _("\n\nThe file \"%s\" may not be supported by or may be too large for this instance of Gallery3."); private const string BAD_FILE_MSG = _("\n\nThe file “%s” may not be supported by or may be too large for this instance of Gallery3.");
private const string BAD_MOVIE_MSG = _("\nNote that Gallery3 only supports the video types that Flowplayer does."); private const string BAD_MOVIE_MSG = _("\nNote that Gallery3 only supports the video types that Flowplayer does.");
private weak Spit.Publishing.PluginHost host = null; private weak Spit.Publishing.PluginHost host = null;
...@@ -1018,7 +1018,7 @@ public class GalleryPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -1018,7 +1018,7 @@ public class GalleryPublisher : Spit.Publishing.Publisher, GLib.Object {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
host.post_error( host.post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to %s can't continue.") _("A file required for publishing is unavailable. Publishing to %s cant continue.")
.printf(SERVICE_NAME) .printf(SERVICE_NAME)
) )
); );
...@@ -1770,7 +1770,7 @@ internal class CredentialsPane : Spit.Publishing.DialogPane, GLib.Object { ...@@ -1770,7 +1770,7 @@ internal class CredentialsPane : Spit.Publishing.DialogPane, GLib.Object {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
host.post_error( host.post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to %s can't continue.") _("A file required for publishing is unavailable. Publishing to %s cant continue.")
.printf(SERVICE_NAME) .printf(SERVICE_NAME)
) )
); );
......
...@@ -37,7 +37,7 @@ public class RajceService : Object, Spit.Pluggable, Spit.Publishing.Service ...@@ -37,7 +37,7 @@ public class RajceService : Object, Spit.Pluggable, Spit.Publishing.Service
public void get_info(ref Spit.PluggableInfo info) public void get_info(ref Spit.PluggableInfo info)
{ {
info.authors = "rajce.net developers"; info.authors = "rajce.net developers";
info.copyright = _("Copyright (C) 2013 rajce.net"); info.copyright = _("Copyright © 2013 rajce.net");
info.translators = Resources.TRANSLATORS; info.translators = Resources.TRANSLATORS;
info.version = _VERSION; info.version = _VERSION;
info.website_name = Resources.WEBSITE_NAME; info.website_name = Resources.WEBSITE_NAME;
......
...@@ -102,12 +102,12 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -102,12 +102,12 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object {
private SizeEntry[] create_sizes() { private SizeEntry[] create_sizes() {
SizeEntry[] result = new SizeEntry[0]; SizeEntry[] result = new SizeEntry[0];
result += new SizeEntry(_("500 x 375 pixels"), 500); result += new SizeEntry(_("500 × 375 pixels"), 500);
result += new SizeEntry(_("1024 x 768 pixels"), 1024); result += new SizeEntry(_("1024 × 768 pixels"), 1024);
result += new SizeEntry(_("1280 x 853 pixels"), 1280); result += new SizeEntry(_("1280 × 853 pixels"), 1280);
//Larger images make no sense for Tumblr //Larger images make no sense for Tumblr
// result += new SizeEntry(_("2048 x 1536 pixels"), 2048); // result += new SizeEntry(_("2048 × 1536 pixels"), 2048);
// result += new SizeEntry(_("4096 x 3072 pixels"), 4096); // result += new SizeEntry(_("4096 × 3072 pixels"), 4096);
// result += new SizeEntry(_("Original size"), ORIGINAL_SIZE); // result += new SizeEntry(_("Original size"), ORIGINAL_SIZE);
return result; return result;
...@@ -308,7 +308,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -308,7 +308,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object {
if (split_pair.length != 2) if (split_pair.length != 2)
host.post_error(new Spit.Publishing.PublishingError.MALFORMED_RESPONSE( host.post_error(new Spit.Publishing.PublishingError.MALFORMED_RESPONSE(
_("'%s' isn't a valid response to an OAuth authentication request"))); _("“%s” isn’t a valid response to an OAuth authentication request")));
if (split_pair[0] == "oauth_token") if (split_pair[0] == "oauth_token")
oauth_token = split_pair[1]; oauth_token = split_pair[1];
...@@ -318,7 +318,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -318,7 +318,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object {
if (oauth_token == null || oauth_token_secret == null) if (oauth_token == null || oauth_token_secret == null)
host.post_error(new Spit.Publishing.PublishingError.MALFORMED_RESPONSE( host.post_error(new Spit.Publishing.PublishingError.MALFORMED_RESPONSE(
_("'%s' isn't a valid response to an OAuth authentication request"))); _("“%s” isn’t a valid response to an OAuth authentication request")));
session.set_access_phase_credentials(oauth_token, oauth_token_secret); session.set_access_phase_credentials(oauth_token, oauth_token_secret);
} }
...@@ -556,7 +556,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -556,7 +556,7 @@ public class TumblrPublisher : Spit.Publishing.Publisher, GLib.Object {
return; return;
if (was_started) if (was_started)
error(_("TumblrPublisher: start( ): can't start; this publisher is not restartable.")); error(_("TumblrPublisher: start( ): cant start; this publisher is not restartable."));
debug("TumblrPublisher: starting interaction."); debug("TumblrPublisher: starting interaction.");
......
...@@ -61,7 +61,7 @@ internal const string USER_VISIBLE_NAME = "Facebook"; ...@@ -61,7 +61,7 @@ internal const string USER_VISIBLE_NAME = "Facebook";
internal const string APPLICATION_ID = "1612018629063184"; internal const string APPLICATION_ID = "1612018629063184";
internal const string DEFAULT_ALBUM_NAME = _("Shotwell Connect"); internal const string DEFAULT_ALBUM_NAME = _("Shotwell Connect");
internal const string SERVICE_WELCOME_MESSAGE = internal const string SERVICE_WELCOME_MESSAGE =
_("You are not currently logged into Facebook.\n\nIf you don't yet have a Facebook account, you can create one during the login process. During login, Shotwell Connect may ask you for permission to upload photos and publish to your feed. These permissions are required for Shotwell Connect to function."); _("You are not currently logged into Facebook.\n\nIf you dont yet have a Facebook account, you can create one during the login process. During login, Shotwell Connect may ask you for permission to upload photos and publish to your feed. These permissions are required for Shotwell Connect to function.");
internal const string RESTART_ERROR_MESSAGE = internal const string RESTART_ERROR_MESSAGE =
_("You have already logged in and out of Facebook during this Shotwell session.\nTo continue publishing to Facebook, quit and restart Shotwell, then try publishing again."); _("You have already logged in and out of Facebook during this Shotwell session.\nTo continue publishing to Facebook, quit and restart Shotwell, then try publishing again.");
internal const string USER_AGENT = "Java/1.6.0_16"; internal const string USER_AGENT = "Java/1.6.0_16";
...@@ -252,7 +252,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -252,7 +252,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object {
debug("ACTION: testing connection to Facebook endpoint."); debug("ACTION: testing connection to Facebook endpoint.");
host.set_service_locked(true); host.set_service_locked(true);
host.install_static_message_pane(_("Testing connection to Facebook...")); host.install_static_message_pane(_("Testing connection to Facebook"));
GraphMessage endpoint_test_message = graph_session.new_endpoint_test(); GraphMessage endpoint_test_message = graph_session.new_endpoint_test();
endpoint_test_message.completed.connect(on_endpoint_test_completed); endpoint_test_message.completed.connect(on_endpoint_test_completed);
...@@ -345,7 +345,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -345,7 +345,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object {
debug("ACTION: creating a new album named \"%s\".\n", publishing_params.new_album_name); debug("ACTION: creating a new album named \"%s\".\n", publishing_params.new_album_name);
host.set_service_locked(true); host.set_service_locked(true);
host.install_static_message_pane(_("Creating album...")); host.install_static_message_pane(_("Creating album"));
GraphMessage create_album_message = graph_session.new_create_album( GraphMessage create_album_message = graph_session.new_create_album(
publishing_params.new_album_name, publishing_params.privacy_object); publishing_params.new_album_name, publishing_params.privacy_object);
...@@ -371,7 +371,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -371,7 +371,7 @@ public class FacebookPublisher : Spit.Publishing.Publisher, GLib.Object {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
host.post_error( host.post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to Facebook can't continue."))); _("A file required for publishing is unavailable. Publishing to Facebook cant continue.")));
return; return;
} }
......
...@@ -371,7 +371,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -371,7 +371,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object {
debug("ACTION: running authentication request transaction"); debug("ACTION: running authentication request transaction");
host.set_service_locked(true); host.set_service_locked(true);
host.install_static_message_pane(_("Preparing for login...")); host.install_static_message_pane(_("Preparing for login"));
AuthenticationRequestTransaction txn = new AuthenticationRequestTransaction(session); AuthenticationRequestTransaction txn = new AuthenticationRequestTransaction(session);
txn.completed.connect(on_auth_request_txn_completed); txn.completed.connect(on_auth_request_txn_completed);
...@@ -441,7 +441,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -441,7 +441,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
host.post_error( host.post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to Flickr can't continue."))); _("A file required for publishing is unavailable. Publishing to Flickr cant continue.")));
return; return;
} }
...@@ -454,7 +454,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -454,7 +454,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object {
debug("ACTION: validating authorization PIN %s", pin); debug("ACTION: validating authorization PIN %s", pin);
host.set_service_locked(true); host.set_service_locked(true);
host.install_static_message_pane(_("Verifying authorization...")); host.install_static_message_pane(_("Verifying authorization"));
AccessTokenFetchTransaction txn = new AccessTokenFetchTransaction(session, pin); AccessTokenFetchTransaction txn = new AccessTokenFetchTransaction(session, pin);
txn.completed.connect(on_access_token_fetch_txn_completed); txn.completed.connect(on_access_token_fetch_txn_completed);
...@@ -591,7 +591,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -591,7 +591,7 @@ public class FlickrPublisher : Spit.Publishing.Publisher, GLib.Object {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
host.post_error( host.post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to Flickr can't continue."))); _("A file required for publishing is unavailable. Publishing to Flickr cant continue.")));
return; return;
} }
...@@ -1228,10 +1228,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object { ...@@ -1228,10 +1228,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object {
private SizeEntry[] create_sizes() { private SizeEntry[] create_sizes() {
SizeEntry[] result = new SizeEntry[0]; SizeEntry[] result = new SizeEntry[0];
result += new SizeEntry(_("500 x 375 pixels"), 500); result += new SizeEntry(_("500 × 375 pixels"), 500);
result += new SizeEntry(_("1024 x 768 pixels"), 1024); result += new SizeEntry(_("1024 × 768 pixels"), 1024);
result += new SizeEntry(_("2048 x 1536 pixels"), 2048); result += new SizeEntry(_("2048 × 1536 pixels"), 2048);
result += new SizeEntry(_("4096 x 3072 pixels"), 4096); result += new SizeEntry(_("4096 × 3072 pixels"), 4096);
result += new SizeEntry(_("Original size"), ORIGINAL_SIZE); result += new SizeEntry(_("Original size"), ORIGINAL_SIZE);
return result; return result;
......
...@@ -358,7 +358,7 @@ public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher { ...@@ -358,7 +358,7 @@ public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
get_host().post_error( get_host().post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to Picasa can't continue."))); _("A file required for publishing is unavailable. Publishing to Picasa cant continue.")));
return; return;
} }
...@@ -376,7 +376,7 @@ public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher { ...@@ -376,7 +376,7 @@ public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher {
debug("ACTION: creating new album '%s' on remote server.", debug("ACTION: creating new album '%s' on remote server.",
publishing_parameters.get_target_album_name()); publishing_parameters.get_target_album_name());
get_host().install_static_message_pane(_("Creating album...")); get_host().install_static_message_pane(_("Creating album"));
get_host().set_service_locked(true); get_host().set_service_locked(true);
...@@ -743,10 +743,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object { ...@@ -743,10 +743,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object {
private SizeDescription[] create_size_descriptions() { private SizeDescription[] create_size_descriptions() {
SizeDescription[] result = new SizeDescription[0]; SizeDescription[] result = new SizeDescription[0];
result += new SizeDescription(_("Small (640 x 480 pixels)"), 640); result += new SizeDescription(_("Small (640 × 480 pixels)"), 640);
result += new SizeDescription(_("Medium (1024 x 768 pixels)"), 1024); result += new SizeDescription(_("Medium (1024 × 768 pixels)"), 1024);
result += new SizeDescription(_("Recommended (1600 x 1200 pixels)"), 1600); result += new SizeDescription(_("Recommended (1600 × 1200 pixels)"), 1600);
result += new SizeDescription(_("Google+ (2048 x 1536 pixels)"), 2048); result += new SizeDescription(_("Google+ (2048 × 1536 pixels)"), 2048);
result += new SizeDescription(_("Original Size"), PublishingParameters.ORIGINAL_SIZE); result += new SizeDescription(_("Original Size"), PublishingParameters.ORIGINAL_SIZE);
return result; return result;
......
...@@ -744,7 +744,7 @@ public class PiwigoPublisher : Spit.Publishing.Publisher, GLib.Object { ...@@ -744,7 +744,7 @@ public class PiwigoPublisher : Spit.Publishing.Publisher, GLib.Object {
assert(category.is_local()); assert(category.is_local());
host.set_service_locked(true); host.set_service_locked(true);
host.install_static_message_pane(_("Creating album %s...").printf(category.name)); host.install_static_message_pane(_("Creating album %s").printf(category.name));
CategoriesAddTransaction creation_trans = new CategoriesAddTransaction( CategoriesAddTransaction creation_trans = new CategoriesAddTransaction(
session, category.name.strip(), int.parse(category.uppercats), category.comment); session, category.name.strip(), int.parse(category.uppercats), category.comment);
...@@ -1227,10 +1227,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, Object { ...@@ -1227,10 +1227,10 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, Object {
private SizeEntry[] create_sizes() { private SizeEntry[] create_sizes() {
SizeEntry[] result = new SizeEntry[0]; SizeEntry[] result = new SizeEntry[0];
result += new SizeEntry(500, _("500 x 375 pixels")); result += new SizeEntry(500, _("500 × 375 pixels"));
result += new SizeEntry(1024, _("1024 x 768 pixels")); result += new SizeEntry(1024, _("1024 × 768 pixels"));
result += new SizeEntry(2048, _("2048 x 1536 pixels")); result += new SizeEntry(2048, _("2048 × 1536 pixels"));
result += new SizeEntry(4096, _("4096 x 3072 pixels")); result += new SizeEntry(4096, _("4096 × 3072 pixels"));
result += new SizeEntry(ORIGINAL_SIZE, _("Original size")); result += new SizeEntry(ORIGINAL_SIZE, _("Original size"));
return result; return result;
......
...@@ -360,7 +360,7 @@ public class YouTubePublisher : Publishing.RESTSupport.GooglePublisher { ...@@ -360,7 +360,7 @@ public class YouTubePublisher : Publishing.RESTSupport.GooglePublisher {
warning("Could not parse UI file! Error: %s.", e.message); warning("Could not parse UI file! Error: %s.", e.message);
get_host().post_error( get_host().post_error(
new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR( new Spit.Publishing.PublishingError.LOCAL_FILE_ERROR(
_("A file required for publishing is unavailable. Publishing to Youtube can't continue."))); _("A file required for publishing is unavailable. Publishing to Youtube cant continue.")));
return; return;
} }
...@@ -461,7 +461,7 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object { ...@@ -461,7 +461,7 @@ internal class PublishingOptionsPane : Spit.Publishing.DialogPane, GLib.Object {
login_identity_label.set_label(_("You are logged into YouTube as %s.").printf( login_identity_label.set_label(_("You are logged into YouTube as %s.").printf(
publishing_parameters.get_user_name())); publishing_parameters.get_user_name()));
publish_to_label.set_label(_("Videos will appear in '%s'").printf( publish_to_label.set_label(_("Videos will appear in “%s”").printf(
publishing_parameters.get_channel_name())); publishing_parameters.get_channel_name()));
foreach(PrivacyDescription desc in privacy_descriptions) { foreach(PrivacyDescription desc in privacy_descriptions) {
......
...@@ -653,7 +653,7 @@ public abstract class AppWindow : PageWindow { ...@@ -653,7 +653,7 @@ public abstract class AppWindow : PageWindow {
} }
public static void database_error(DatabaseError err) { public static void database_error(DatabaseError err) {
panic(_("A fatal error occurred when accessing Shotwell's library. Shotwell cannot continue.\n\n%s").printf( panic(_("A fatal error occurred when accessing Shotwells library. Shotwell cannot continue.\n\n%s").printf(
err.message)); err.message));
} }
......
...@@ -1692,7 +1692,7 @@ public class ReparentTagCommand : PageCommand { ...@@ -1692,7 +1692,7 @@ public class ReparentTagCommand : PageCommand {
bool to_path_exists = false; bool to_path_exists = false;
public ReparentTagCommand(Tag tag, string new_parent_path) { public ReparentTagCommand(Tag tag, string new_parent_path) {
base (_("Move Tag \"%s\"").printf(tag.get_user_visible_name()), ""); base (_("Move Tag “%s”").printf(tag.get_user_visible_name()), "");
this.from_path = tag.get_path(); this.from_path = tag.get_path();
......
...@@ -13,8 +13,8 @@ public bool confirm_delete_tag(Tag tag) { ...@@ -13,8 +13,8 @@ public bool confirm_delete_tag(Tag tag) {
if (count == 0) if (count == 0)
return true; return true;
string msg = ngettext( string msg = ngettext(
"This will remove the tag \"%s\" from one photo. Continue?", "This will remove the tag “%s” from one photo. Continue?",
"This will remove the tag \"%s\" from %d photos. Continue?", "This will remove the tag “%s” from %d photos. Continue?",
count).printf(tag.get_user_visible_name(), count); count).printf(tag.get_user_visible_name(), count);
return AppWindow.negate_affirm_question(msg, _("_Cancel"), _("_Delete"), return AppWindow.negate_affirm_question(msg, _("_Cancel"), _("_Delete"),
...@@ -22,7 +22,7 @@ public bool confirm_delete_tag(Tag tag) { ...@@ -22,7 +22,7 @@ public bool confirm_delete_tag(Tag tag) {
} }
public bool confirm_delete_saved_search(SavedSearch search) { public bool confirm_delete_saved_search(SavedSearch search) {
string msg = _("This will remove the saved search \"%s\". Continue?") string msg = _("This will remove the saved search “%s”. Continue?")
.printf(search.get_name()); .printf(search.get_name());
return AppWindow.negate_affirm_question(msg, _("_Cancel"), _("_Delete"), return AppWindow.negate_affirm_question(msg, _("_Cancel"), _("_Delete"),
...@@ -113,7 +113,7 @@ public void open_external_editor_error_dialog(Error err, Photo photo) { ...@@ -113,7 +113,7 @@ public void open_external_editor_error_dialog(Error err, Photo photo) {
if (err is IOError.PERMISSION_DENIED || err is FileError.PERM) { if (err is IOError.PERMISSION_DENIED || err is FileError.PERM) {
// Yes - display an alternate error message here. // Yes - display an alternate error message here.
AppWindow.error_message( AppWindow.error_message(
_("Shotwell couldn't create a file for editing this photo because you do not have permission to write to %s.").printf(photo.get_master_file().get_parent().get_path())); _("Shotwell couldnt create a file for editing this photo because you do not have permission to write to %s.").printf(photo.get_master_file().get_parent().get_path()));
} else { } else {
// No - something else is wrong, display the error message // No - something else is wrong, display the error message
// the system gave us. // the system gave us.
...@@ -576,7 +576,7 @@ public string create_result_report_from_manifest(ImportManifest manifest) { ...@@ -576,7 +576,7 @@ public string create_result_report_from_manifest(ImportManifest manifest) {
// Files Not Imported Because They Weren't Recognized as Photos or Videos // Files Not Imported Because They Weren't Recognized as Photos or Videos
// //
if (manifest.skipped_files.size > 0) { if (manifest.skipped_files.size > 0) {
builder.append(_("Files Not Imported Because They Weren't Recognized as Photos or Videos:") builder.append(_("Files Not Imported Because They Werent Recognized as Photos or Videos:")
+ "\n\n"); + "\n\n");
foreach (BatchImportResult result in manifest.skipped_files) { foreach (BatchImportResult result in manifest.skipped_files) {
...@@ -591,7 +591,7 @@ public string create_result_report_from_manifest(ImportManifest manifest) { ...@@ -591,7 +591,7 @@ public string create_result_report_from_manifest(ImportManifest manifest) {
// Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands // Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands
// //
if (manifest.skipped_photos.size > 0) { if (manifest.skipped_photos.size > 0) {
builder.append(_("Photos/Videos Not Imported Because They Weren't in a Format Shotwell Understands:") builder.append(_("Photos/Videos Not Imported Because They Werent in a Format Shotwell Understands:")
+ "\n\n"); + "\n\n");
foreach (BatchImportResult result in manifest.skipped_photos) { foreach (BatchImportResult result in manifest.skipped_photos) {
...@@ -606,11 +606,11 @@ public string create_result_report_from_manifest(ImportManifest manifest) { ...@@ -606,11 +606,11 @@ public string create_result_report_from_manifest(ImportManifest manifest) {
// Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library // Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library
// //
if (manifest.write_failed.size > 0) { if (manifest.write_failed.size > 0) {
builder.append(_("Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into its Library:") builder.append(_("Photos/Videos Not Imported Because Shotwell Couldnt Copy Them into its Library:")
+ "\n\n"); + "\n\n");
foreach (BatchImportResult result in manifest.write_failed) { foreach (BatchImportResult result in manifest.write_failed) {
current_file_summary = (_("couldn't copy %s\n\tto %s")).printf(result.src_identifier, current_file_summary = (_("couldnt copy %s\n\tto %s")).printf(result.src_identifier,
result.dest_identifier) + "\n\t" + _("error message:") + " " + result.dest_identifier) + "\n\t" + _("error message:") + " " +
result.errmsg + "\n\n"; result.errmsg + "\n\n";
...@@ -2143,7 +2143,7 @@ public class WelcomeDialog : Gtk.Dialog { ...@@ -2143,7 +2143,7 @@ public class WelcomeDialog : Gtk.Dialog {
content.add(import_content); content.add(import_content);
content.pack_start(instructions, false, false, 0); content.pack_start(instructions, false, false, 0);
hide_button = new Gtk.CheckButton.with_mnemonic(_("_Don't show this message again")); hide_button = new Gtk.CheckButton.with_mnemonic(_("_Dont show this message again"));
hide_button.set_active(true); hide_button.set_active(true);
content.pack_start(hide_button, false, false, 6); content.pack_start(hide_button, false, false, 6);
......
...@@ -467,7 +467,7 @@ public abstract class MediaPage : CheckerboardPage { ...@@ -467,7 +467,7 @@ public abstract class MediaPage : CheckerboardPage {
Gtk.ToggleActionEntry tags = { "ViewTags", null, TRANSLATABLE, "<Ctrl><Shift>G", Gtk.ToggleActionEntry tags = { "ViewTags", null, TRANSLATABLE, "<Ctrl><Shift>G",
TRANSLATABLE, on_display_tags, Config.Facade.get_instance().get_display_photo_tags() }; TRANSLATABLE, on_display_tags, Config.Facade.get_instance().get_display_photo_tags() };
tags.label = _("Ta_gs"); tags.label = _("Ta_gs");
tags.tooltip = _("Display each photo's tags"); tags.tooltip = _("Display each photos tags");
toggle_actions += tags; toggle_actions += tags;
return toggle_actions; return toggle_actions;
......
...@@ -815,49 +815,49 @@ public class PrintManager { ...@@ -815,49 +815,49 @@ public class PrintManager {
public StandardPrintSize[] get_standard_sizes() { public StandardPrintSize[] get_standard_sizes() {
StandardPrintSize[] result = new StandardPrintSize[0]; StandardPrintSize[] result = new StandardPrintSize[0];
result += new StandardPrintSize(_("Wallet (2 x 3 in.)"), result += new StandardPrintSize(_("Wallet (2 × 3 in.)"),
Measurement(3, MeasurementUnit.INCHES), Measurement(3, MeasurementUnit.INCHES),
Measurement(2, MeasurementUnit.INCHES)); Measurement(2, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("Notecard (3 x 5 in.)"), result += new StandardPrintSize(_("Notecard (3 × 5 in.)"),
Measurement(5, MeasurementUnit.INCHES), Measurement(5, MeasurementUnit.INCHES),
Measurement(3, MeasurementUnit.INCHES)); Measurement(3, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("4 x 6 in."), result += new StandardPrintSize(_("4 × 6 in."),
Measurement(6, MeasurementUnit.INCHES), Measurement(6, MeasurementUnit.INCHES),
Measurement(4, MeasurementUnit.INCHES)); Measurement(4, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("5 x 7 in."), result += new StandardPrintSize(_("5 × 7 in."),
Measurement(7, MeasurementUnit.INCHES), Measurement(7, MeasurementUnit.INCHES),
Measurement(5, MeasurementUnit.INCHES)); Measurement(5, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("8 x 10 in."), result += new StandardPrintSize(_("8 × 10 in."),
Measurement(10, MeasurementUnit.INCHES), Measurement(10, MeasurementUnit.INCHES),
Measurement(8, MeasurementUnit.INCHES)); Measurement(8, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("11 x 14 in."), result += new StandardPrintSize(_("11 × 14 in."),
Measurement(14, MeasurementUnit.INCHES), Measurement(14, MeasurementUnit.INCHES),
Measurement(11, MeasurementUnit.INCHES)); Measurement(11, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("16 x 20 in."), result += new StandardPrintSize(_("16 × 20 in."),
Measurement(20, MeasurementUnit.INCHES), Measurement(20, MeasurementUnit.INCHES),
Measurement(16, MeasurementUnit.INCHES)); Measurement(16, MeasurementUnit.INCHES));
result += new StandardPrintSize(("-"), result += new StandardPrintSize(("-"),
Measurement(0, MeasurementUnit.INCHES), Measurement(0, MeasurementUnit.INCHES),
Measurement(0, MeasurementUnit.INCHES)); Measurement(0, MeasurementUnit.INCHES));
result += new StandardPrintSize(_("Metric Wallet (9 x 13 cm)"), result += new StandardPrintSize(_("Metric Wallet (9 × 13 cm)"),
Measurement(13, MeasurementUnit.CENTIMETERS), Measurement(13, MeasurementUnit.CENTIMETERS),
Measurement(9, MeasurementUnit.CENTIMETERS)); Measurement(9, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("Postcard (10 x 15 cm)"), result += new StandardPrintSize(_("Postcard (10 × 15 cm)"),
Measurement(15, MeasurementUnit.CENTIMETERS), Measurement(15, MeasurementUnit.CENTIMETERS),
Measurement(10, MeasurementUnit.CENTIMETERS)); Measurement(10, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("13 x 18 cm"), result += new StandardPrintSize(_("13 × 18 cm"),
Measurement(18, MeasurementUnit.CENTIMETERS), Measurement(18, MeasurementUnit.CENTIMETERS),
Measurement(13, MeasurementUnit.CENTIMETERS)); Measurement(13, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("18 x 24 cm"), result += new StandardPrintSize(_("18 × 24 cm"),
Measurement(24, MeasurementUnit.CENTIMETERS), Measurement(24, MeasurementUnit.CENTIMETERS),
Measurement(18, MeasurementUnit.CENTIMETERS)); Measurement(18, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("20 x 30 cm"), result += new StandardPrintSize(_("20 × 30 cm"),
Measurement(30, MeasurementUnit.CENTIMETERS), Measurement(30, MeasurementUnit.CENTIMETERS),
Measurement(20, MeasurementUnit.CENTIMETERS)); Measurement(20, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("24 x 40 cm"), result += new StandardPrintSize(_("24 × 40 cm"),
Measurement(40, MeasurementUnit.CENTIMETERS), Measurement(40, MeasurementUnit.CENTIMETERS),
Measurement(24, MeasurementUnit.CENTIMETERS)); Measurement(24, MeasurementUnit.CENTIMETERS));
result += new StandardPrintSize(_("30 x 40 cm"), result += new StandardPrintSize(_("30 × 40 cm"),
Measurement(40, MeasurementUnit.CENTIMETERS), Measurement(40, MeasurementUnit.CENTIMETERS),
Measurement(30, MeasurementUnit.CENTIMETERS)); Measurement(30, MeasurementUnit.CENTIMETERS));
......
...@@ -185,7 +185,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., ...@@ -185,7 +185,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
public const string ENHANCE_MENU = _("_Enhance"); public const string ENHANCE_MENU = _("_Enhance");
public const string ENHANCE_LABEL = _("Enhance"); public const string ENHANCE_LABEL = _("Enhance");
public const string ENHANCE_TOOLTIP = _("Automatically improve the photo's appearance"); public const string ENHANCE_TOOLTIP = _("Automatically improve the photos appearance");
public const string COPY_ADJUSTMENTS_MENU = _("_Copy Color Adjustments"); public const string COPY_ADJUSTMENTS_MENU = _("_Copy Color Adjustments");
public const string COPY_ADJUSTMENTS_LABEL = _("Copy Color Adjustments"); public const string COPY_ADJUSTMENTS_LABEL = _("Copy Color Adjustments");
...@@ -197,7 +197,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., ...@@ -197,7 +197,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
public const string CROP_MENU = _("_Crop"); public const string CROP_MENU = _("_Crop");
public const string CROP_LABEL = _("Crop"); public const string CROP_LABEL = _("Crop");
public const string CROP_TOOLTIP = _("Crop the photo's size"); public const string CROP_TOOLTIP = _("Crop the photos size");
public const string STRAIGHTEN_MENU = _("_Straighten"); public const string STRAIGHTEN_MENU = _("_Straighten");
public const string STRAIGHTEN_LABEL = _("Straighten"); public const string STRAIGHTEN_LABEL = _("Straighten");
...@@ -209,7 +209,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., ...@@ -209,7 +209,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
public const string ADJUST_MENU = _("_Adjust"); public const string ADJUST_MENU = _("_Adjust");
public const string ADJUST_LABEL = _("Adjust"); public const string ADJUST_LABEL = _("Adjust");
public const string ADJUST_TOOLTIP = _("Adjust the photo's color and tone"); public const string ADJUST_TOOLTIP = _("Adjust the photos color and tone");
public const string REVERT_MENU = _("Re_vert to Original"); public const string REVERT_MENU = _("Re_vert to Original");
public const string REVERT_LABEL = _("Revert to Original");