strings work: (1) folding similar strings together for easier tranlation (2) gtk: use consistent shortcuts/phrases/terminology between the preferences and "open torrent" dialogs (3) promote the port forwarding messages from Debug to Info as per BMW's request
This commit is contained in:
parent
549aa1679a
commit
21124a8de8
|
@ -74,8 +74,8 @@ priorityToString( const int priority )
|
|||
static tr_priority_t
|
||||
stringToPriority( const char* str )
|
||||
{
|
||||
if( !strcmp( str, _( "High" ) ) ) return TR_PRI_HIGH;
|
||||
if( !strcmp( str, _( "Low" ) ) ) return TR_PRI_LOW;
|
||||
if( !strcmp( str, priorityToString( TR_PRI_HIGH ) ) ) return TR_PRI_HIGH;
|
||||
if( !strcmp( str, priorityToString( TR_PRI_LOW ) ) ) return TR_PRI_LOW;
|
||||
return TR_PRI_NORMAL;
|
||||
}
|
||||
|
||||
|
@ -245,11 +245,11 @@ priority_model_new (void)
|
|||
GtkTreeIter iter;
|
||||
GtkListStore * store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, _("High"), 1, TR_PRI_HIGH, -1);
|
||||
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_HIGH ), 1, TR_PRI_HIGH, -1);
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, _("Normal"), 1, TR_PRI_NORMAL, -1);
|
||||
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_NORMAL ), 1, TR_PRI_NORMAL, -1);
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, _("Low"), 1, TR_PRI_LOW, -1);
|
||||
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_LOW ), 1, TR_PRI_LOW, -1);
|
||||
return GTK_TREE_MODEL (store);
|
||||
}
|
||||
|
||||
|
|
16
gtk/msgwin.c
16
gtk/msgwin.c
|
@ -29,7 +29,7 @@
|
|||
enum
|
||||
{
|
||||
COL_SEQUENCE,
|
||||
COL_CATEGORY,
|
||||
COL_NAME,
|
||||
COL_MESSAGE,
|
||||
COL_TR_MSG,
|
||||
N_COLUMNS
|
||||
|
@ -80,7 +80,7 @@ doSave( GtkWindow * parent,
|
|||
if( !fp )
|
||||
{
|
||||
errmsg( parent,
|
||||
_("Couldn't write file \"%s\": %s"),
|
||||
_("Couldn't save file \"%s\": %s"),
|
||||
filename, g_strerror( errno ) );
|
||||
}
|
||||
else
|
||||
|
@ -219,14 +219,16 @@ appendColumn( GtkTreeView * view, int col )
|
|||
|
||||
switch( col ) {
|
||||
case COL_SEQUENCE: title = _( "Time" ); break;
|
||||
case COL_CATEGORY: title = _( "Name"); break;
|
||||
/* noun. column title for a list */
|
||||
case COL_NAME: title = _( "Name"); break;
|
||||
/* noun. column title for a list */
|
||||
case COL_MESSAGE: title = _( "Message" ); break;
|
||||
default: g_assert_not_reached( );
|
||||
}
|
||||
|
||||
switch( col )
|
||||
{
|
||||
case COL_CATEGORY:
|
||||
case COL_NAME:
|
||||
r = gtk_cell_renderer_text_new( );
|
||||
c = gtk_tree_view_column_new_with_attributes( title, r, NULL );
|
||||
gtk_tree_view_column_set_cell_data_func( c, r, renderText, GINT_TO_POINTER(col), NULL );
|
||||
|
@ -280,7 +282,7 @@ onWindowDestroyed( gpointer gdata, GObject * deadWindow UNUSED )
|
|||
static tr_msg_list *
|
||||
addMessages( GtkListStore * store, struct tr_msg_list * head )
|
||||
{
|
||||
const char * default_category = g_get_application_name( );
|
||||
const char * default_name = g_get_application_name( );
|
||||
static int sequence = 1;
|
||||
tr_msg_list * i;
|
||||
|
||||
|
@ -290,7 +292,7 @@ addMessages( GtkListStore * store, struct tr_msg_list * head )
|
|||
|
||||
gtk_list_store_insert_with_values( store, &unused, 0,
|
||||
COL_TR_MSG, i,
|
||||
COL_CATEGORY, ( i->name ? i->name : default_category ),
|
||||
COL_NAME, ( i->name ? i->name : default_name ),
|
||||
COL_MESSAGE, i->message,
|
||||
COL_SEQUENCE, sequence++,
|
||||
-1 );
|
||||
|
@ -439,7 +441,7 @@ msgwin_new( TrCore * core )
|
|||
data->view = GTK_TREE_VIEW( view );
|
||||
gtk_tree_view_set_rules_hint( data->view, TRUE );
|
||||
appendColumn( data->view, COL_SEQUENCE );
|
||||
appendColumn( data->view, COL_CATEGORY );
|
||||
appendColumn( data->view, COL_NAME );
|
||||
appendColumn( data->view, COL_MESSAGE );
|
||||
w = gtk_scrolled_window_new( NULL, NULL );
|
||||
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( w ),
|
||||
|
|
|
@ -163,8 +163,8 @@ openSingleTorrentDialog( GtkWindow * parent,
|
|||
data->filename = g_strdup( tr_ctorGetSourceFile( ctor ) );
|
||||
data->destination = g_strdup( str );
|
||||
data->list = file_list_new( NULL );
|
||||
data->trash_check = gtk_check_button_new_with_mnemonic( _( "_Trash original torrent file" ) );
|
||||
data->run_check = gtk_check_button_new_with_mnemonic( _( "_Start when added" ) );
|
||||
data->trash_check = gtk_check_button_new_with_mnemonic( _( "Mo_ve source file to Trash" ) );
|
||||
data->run_check = gtk_check_button_new_with_mnemonic( _( "_Start when opened" ) );
|
||||
|
||||
g_signal_connect( G_OBJECT( d ), "response",
|
||||
G_CALLBACK( openResponseCB ), data );
|
||||
|
@ -175,7 +175,7 @@ openSingleTorrentDialog( GtkWindow * parent,
|
|||
gtk_table_set_col_spacings( GTK_TABLE( t ), GUI_PAD_BIG );
|
||||
|
||||
row = col = 0;
|
||||
l = gtk_label_new_with_mnemonic( _( "_Torrent file:" ) );
|
||||
l = gtk_label_new_with_mnemonic( _( "_Source file:" ) );
|
||||
gtk_misc_set_alignment( GTK_MISC( l ), 0.0f, 0.5f );
|
||||
gtk_table_attach( GTK_TABLE( t ), l, col, col+1, row, row+1, GTK_FILL, 0, 0, 0 );
|
||||
++col;
|
||||
|
@ -222,14 +222,6 @@ openSingleTorrentDialog( GtkWindow * parent,
|
|||
gtk_table_attach( GTK_TABLE( t ), w, col, col+1, row, row+1, GTK_FILL, 0, 0, 0 );
|
||||
g_signal_connect( w, "clicked", G_CALLBACK( verifyRequested ), data );
|
||||
|
||||
++row;
|
||||
col = 0;
|
||||
w = data->trash_check;
|
||||
if( tr_ctorGetDeleteSource( ctor, &flag ) )
|
||||
g_assert_not_reached( );
|
||||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), flag );
|
||||
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
|
||||
|
||||
++row;
|
||||
col = 0;
|
||||
w = data->run_check;
|
||||
|
@ -238,6 +230,14 @@ openSingleTorrentDialog( GtkWindow * parent,
|
|||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), !flag );
|
||||
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
|
||||
|
||||
++row;
|
||||
col = 0;
|
||||
w = data->trash_check;
|
||||
if( tr_ctorGetDeleteSource( ctor, &flag ) )
|
||||
g_assert_not_reached( );
|
||||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), flag );
|
||||
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
|
||||
|
||||
gtk_box_pack_start_defaults( GTK_BOX( GTK_DIALOG( d )->vbox ), t );
|
||||
gtk_widget_show_all( d );
|
||||
return d;
|
||||
|
|
|
@ -221,10 +221,12 @@ torrentPage( GObject * core )
|
|||
const char * s;
|
||||
GtkWidget * t;
|
||||
GtkWidget * w;
|
||||
#ifdef HAVE_GIO
|
||||
GtkWidget * l;
|
||||
#endif
|
||||
|
||||
t = hig_workarea_create( );
|
||||
hig_workarea_add_section_title( t, &row, _( "Adding" ) );
|
||||
hig_workarea_add_section_title( t, &row, _( "Opening Torrents" ) );
|
||||
|
||||
#ifdef HAVE_GIO
|
||||
s = _( "Automatically add torrents from:" );
|
||||
|
@ -235,15 +237,15 @@ torrentPage( GObject * core )
|
|||
hig_workarea_add_row_w( t, &row, l, w, NULL );
|
||||
#endif
|
||||
|
||||
s = _( "_Prompt for file selections and priorities" );
|
||||
s = _( "Display _options dialog" );
|
||||
w = new_check_button( s, PREF_KEY_OPTIONS_PROMPT, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
s = _( "_Start torrents when added" );
|
||||
s = _( "_Start when opened" );
|
||||
w = new_check_button( s, PREF_KEY_START, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
s = _( "_Trash original torrent files" );
|
||||
s = _( "Mo_ve source files to Trash" );
|
||||
w = new_check_button( s, PREF_KEY_TRASH_ORIGINAL, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
|
@ -325,17 +327,17 @@ networkPage( GObject * core, gpointer alive )
|
|||
|
||||
hig_workarea_add_section_title (t, &row, _("Ports"));
|
||||
|
||||
s = _("_Forward port from router with UPnP or NAT-PMP" );
|
||||
s = _("_Forward port from router" );
|
||||
w = new_check_button( s, PREF_KEY_NAT, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
h = gtk_hbox_new( FALSE, GUI_PAD );
|
||||
h = gtk_hbox_new( FALSE, GUI_PAD_BIG );
|
||||
w2 = new_spin_button( PREF_KEY_PORT, core, 1, INT_MAX, 1 );
|
||||
gtk_box_pack_start( GTK_BOX(h), w2, FALSE, FALSE, 0 );
|
||||
l = gtk_label_new( NULL );
|
||||
gtk_misc_set_alignment( GTK_MISC(l), 0.0f, 0.5f );
|
||||
gtk_box_pack_start( GTK_BOX(h), l, FALSE, FALSE, 0 );
|
||||
hig_workarea_add_row( t, &row, _("Incoming TCP _port"), h, w );
|
||||
hig_workarea_add_row( t, &row, _("Incoming TCP _port:"), h, w );
|
||||
|
||||
g_object_set_data( G_OBJECT(l), "tr-port-spin", w2 );
|
||||
g_object_set_data( G_OBJECT(l), "alive", alive );
|
||||
|
|
|
@ -616,7 +616,7 @@ tr_metainfoSave( const char * hash, const char * tag,
|
|||
fseek( file, 0, SEEK_SET );
|
||||
if( fwrite( buf, 1, buflen, file ) != buflen )
|
||||
{
|
||||
tr_err( _( "Couldn't write file \"%s\": %s" ), path, tr_strerror( errno ) );
|
||||
tr_err( _( "Couldn't save file \"%s\": %s" ), path, tr_strerror( errno ) );
|
||||
fclose( file );
|
||||
return TR_EINVALID;
|
||||
}
|
||||
|
|
|
@ -65,11 +65,11 @@ static void
|
|||
logVal( const char * func, int ret )
|
||||
{
|
||||
if( ret==NATPMP_TRYAGAIN )
|
||||
tr_ndbg( getKey(), _( "%s responded 'try again'" ), func );
|
||||
tr_ninf( getKey(), _( "%s responded 'try again'" ), func );
|
||||
else if( ret >= 0 )
|
||||
tr_ndbg( getKey(), _( "%s succeeded (%d)" ), func, ret );
|
||||
tr_ninf( getKey(), _( "%s succeeded (%d)" ), func, ret );
|
||||
else
|
||||
tr_ndbg( getKey(), _( "%s failed (%d): %s (%d)" ), func, ret, tr_strerror(errno), errno );
|
||||
tr_ninf( getKey(), _( "%s failed (%d): %s (%d)" ), func, ret, tr_strerror(errno), errno );
|
||||
}
|
||||
|
||||
struct tr_natpmp*
|
||||
|
@ -109,8 +109,8 @@ setCommandTime( struct tr_natpmp * nat )
|
|||
static void
|
||||
setErrorState( struct tr_natpmp * nat )
|
||||
{
|
||||
tr_ndbg( getKey(), _( "If your router supports NAT-PMP, please make sure NAT-PMP is enabled!" ) );
|
||||
tr_ndbg( getKey(), _( "NAT-PMP port forwarding unsuccessful, trying UPnP next" ) );
|
||||
tr_ninf( getKey(), _( "If your router supports NAT-PMP, please make sure NAT-PMP is enabled!" ) );
|
||||
tr_ninf( getKey(), _( "NAT-PMP port forwarding unsuccessful, trying UPnP next" ) );
|
||||
nat->state = TR_NATPMP_ERR;
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ makeSocketNonBlocking( int fd )
|
|||
if( evutil_make_socket_nonblocking( fd ) )
|
||||
#endif
|
||||
{
|
||||
tr_err( _( "Couldn't set socket to non-blocking mode: %s" ),
|
||||
tr_err( _( "Couldn't create socket: %s" ),
|
||||
tr_strerror( sockerrno ) );
|
||||
tr_netClose( fd );
|
||||
fd = -1;
|
||||
|
|
|
@ -96,7 +96,7 @@ natPulse( tr_shared * s )
|
|||
tr_ninf( getKey(), _( "State changed from \"%s\" to \"%s\"" ), getNatStateStr(s->natStatus), getNatStateStr(status) );
|
||||
s->natStatus = status;
|
||||
if( status == TR_NAT_TRAVERSAL_ERROR )
|
||||
tr_nerr( getKey(), _( "Port forwarding failed. Turn on debug messages and restart for more information." ) );
|
||||
tr_nerr( getKey(), _( "Port forwarding failed." ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -159,7 +159,7 @@ sharedPulse( void * vshared )
|
|||
}
|
||||
else if( ( shared->natStatus == TR_NAT_TRAVERSAL_ERROR ) || ( shared->natStatus == TR_NAT_TRAVERSAL_UNMAPPED ) )
|
||||
{
|
||||
tr_ndbg( getKey(), _( "Stopped" ) );
|
||||
tr_ninf( getKey(), _( "Stopped" ) );
|
||||
shared->h->shared = NULL;
|
||||
tr_netClose( shared->bindSocket );
|
||||
tr_natpmpClose( shared->natpmp );
|
||||
|
|
|
@ -88,18 +88,18 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
|
|||
errno = 0;
|
||||
devlist = upnpDiscover( 2000, NULL, NULL );
|
||||
if( devlist == NULL ) {
|
||||
tr_ndbg( getKey(), _( "upnpDiscover failed (errno %d - %s)" ), errno, tr_strerror(errno) );
|
||||
tr_ninf( getKey(), _( "upnpDiscover failed (errno %d - %s)" ), errno, tr_strerror(errno) );
|
||||
}
|
||||
errno = 0;
|
||||
if( UPNP_GetValidIGD( devlist, &handle->urls, &handle->data, handle->lanaddr, sizeof(handle->lanaddr))) {
|
||||
tr_ndbg( getKey(), _( "Found Internet Gateway Device \"%s\"" ), handle->urls.controlURL );
|
||||
tr_ndbg( getKey(), _( "Local Address is \"%s\"" ), handle->lanaddr );
|
||||
tr_ninf( getKey(), _( "Found Internet Gateway Device \"%s\"" ), handle->urls.controlURL );
|
||||
tr_ninf( getKey(), _( "Local Address is \"%s\"" ), handle->lanaddr );
|
||||
handle->state = TR_UPNP_IDLE;
|
||||
handle->hasDiscovered = 1;
|
||||
} else {
|
||||
handle->state = TR_UPNP_ERR;
|
||||
tr_ndbg( getKey(), _( "UPNP_GetValidIGD failed (errno %d - %s)" ), errno, tr_strerror(errno) );
|
||||
tr_ndbg( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
|
||||
tr_ninf( getKey(), _( "UPNP_GetValidIGD failed (errno %d - %s)" ), errno, tr_strerror(errno) );
|
||||
tr_ninf( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
|
||||
}
|
||||
freeUPNPDevlist( devlist );
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
|
|||
UPNP_DeletePortMapping( handle->urls.controlURL,
|
||||
handle->data.servicetype,
|
||||
portStr, "TCP" );
|
||||
tr_ndbg( getKey(), _( "Stopping port forwarding of \"%s\", service \"%s\"" ),
|
||||
tr_ninf( getKey(), _( "Stopping port forwarding of \"%s\", service \"%s\"" ),
|
||||
handle->urls.controlURL, handle->data.servicetype );
|
||||
handle->isMapped = 0;
|
||||
handle->state = TR_UPNP_IDLE;
|
||||
|
@ -153,8 +153,8 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
|
|||
handle->port = port;
|
||||
handle->state = TR_UPNP_IDLE;
|
||||
} else {
|
||||
tr_ndbg( getKey(), _( "Port forwarding failed with error %d (%d - %s)" ), err, errno, tr_strerror(errno) );
|
||||
tr_ndbg( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
|
||||
tr_ninf( getKey(), _( "Port forwarding failed with error %d (%d - %s)" ), err, errno, tr_strerror(errno) );
|
||||
tr_ninf( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
|
||||
handle->port = -1;
|
||||
handle->state = TR_UPNP_ERR;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue