mirror of
https://github.com/transmission/transmission
synced 2024-12-21 23:32:35 +00:00
Sync translations (#3939)
* Sync translations with code * Sync translations with Transifex * Remove Mac menu title that isn't displayed and shouldn't be translated * Add context to logging level strings in GTK client * Use "µTP" consistently in code * Use ellipsis instead of three docs in Qt client strings * Close HTML tags in blocklist-related strings * Remove trailing space from a translatable string in Qt client * Add missing plural forms for English strings in Qt client * Fix spelling: metaInfo -> metainfo
This commit is contained in:
parent
cc5ae321a5
commit
f1f55cc3df
158 changed files with 93791 additions and 89537 deletions
|
@ -114,8 +114,8 @@ static auto constexpr Options = std::array<tr_option, 45>{
|
|||
{ 'O', "no-dht", "Disable distributed hash tables (DHT)", "O", false, nullptr },
|
||||
{ 'y', "lpd", "Enable local peer discovery (LPD)", "y", false, nullptr },
|
||||
{ 'Y', "no-lpd", "Disable local peer discovery (LPD)", "Y", false, nullptr },
|
||||
{ 830, "utp", "Enable uTP for peer connections", nullptr, false, nullptr },
|
||||
{ 831, "no-utp", "Disable uTP for peer connections", nullptr, false, nullptr },
|
||||
{ 830, "utp", "Enable µTP for peer connections", nullptr, false, nullptr },
|
||||
{ 831, "no-utp", "Disable µTP for peer connections", nullptr, false, nullptr },
|
||||
{ 'P', "peerport", "Port for incoming peers (Default: " TR_DEFAULT_PEER_PORT_STR ")", "P", true, "<port>" },
|
||||
{ 'm', "portmap", "Enable portmapping via NAT-PMP or UPnP", "m", false, nullptr },
|
||||
{ 'M', "no-portmap", "Disable portmapping", "M", false, nullptr },
|
||||
|
|
|
@ -446,12 +446,14 @@ MessageLogWindow::Impl::Impl(
|
|||
: window_(window)
|
||||
, core_(core)
|
||||
, view_(gtr_get_widget<Gtk::TreeView>(builder, "messages_view"))
|
||||
, level_names_{ { { TR_LOG_CRITICAL, _("Critical") },
|
||||
{ TR_LOG_ERROR, _("Error") },
|
||||
{ TR_LOG_WARN, _("Warning") },
|
||||
{ TR_LOG_INFO, _("Information") },
|
||||
{ TR_LOG_DEBUG, _("Debug") },
|
||||
{ TR_LOG_TRACE, _("Trace") } } }
|
||||
, level_names_{ {
|
||||
{ TR_LOG_CRITICAL, C_("Logging level", "Critical") },
|
||||
{ TR_LOG_ERROR, C_("Logging level", "Error") },
|
||||
{ TR_LOG_WARN, C_("Logging level", "Warning") },
|
||||
{ TR_LOG_INFO, C_("Logging level", "Information") },
|
||||
{ TR_LOG_DEBUG, C_("Logging level", "Debug") },
|
||||
{ TR_LOG_TRACE, C_("Logging level", "Trace") },
|
||||
} }
|
||||
{
|
||||
/**
|
||||
*** toolbar
|
||||
|
|
|
@ -1418,11 +1418,11 @@
|
|||
<property name="column-spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="enable_utp_check">
|
||||
<property name="label" translatable="yes">Enable _uTP for peer communication</property>
|
||||
<property name="label" translatable="yes">Enable µ_TP for peer communication</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="tooltip-text" translatable="yes">uTP is a tool for reducing network congestion.</property>
|
||||
<property name="tooltip-text" translatable="yes">µTP is a tool for reducing network congestion.</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="use-underline">True</property>
|
||||
|
|
|
@ -975,9 +975,9 @@
|
|||
<property name="column-spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="enable_utp_check">
|
||||
<property name="label" translatable="1">Enable _uTP for peer communication</property>
|
||||
<property name="label" translatable="1">Enable µ_TP for peer communication</property>
|
||||
<property name="focusable">1</property>
|
||||
<property name="tooltip-text" translatable="1">uTP is a tool for reducing network congestion.</property>
|
||||
<property name="tooltip-text" translatable="1">µTP is a tool for reducing network congestion.</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="use-underline">1</property>
|
||||
|
|
|
@ -177,7 +177,7 @@ void tr_bandwidth::phaseOne(std::vector<tr_peerIo*>& peer_array, tr_direction di
|
|||
{
|
||||
int const i = tr_rand_int_weak(n); /* pick a peer at random */
|
||||
|
||||
/* value of 3000 bytes chosen so that when using uTP we'll send a full-size
|
||||
/* value of 3000 bytes chosen so that when using µTP we'll send a full-size
|
||||
* frame right away and leave enough buffered data for the next frame to go
|
||||
* out in a timely manner. */
|
||||
size_t const increment = 3000;
|
||||
|
|
|
@ -1063,12 +1063,12 @@ static void gotError(tr_peerIo* io, short what, void* vhandshake)
|
|||
|
||||
if (io->socket.type == TR_PEER_SOCKET_TYPE_UTP && !io->isIncoming() && handshake->state == AWAITING_YB)
|
||||
{
|
||||
// the peer probably doesn't speak uTP.
|
||||
// the peer probably doesn't speak µTP.
|
||||
|
||||
auto const hash = io->torrentHash();
|
||||
auto const info = hash ? handshake->mediator->torrentInfo(*hash) : std::nullopt;
|
||||
|
||||
/* Don't mark a peer as non-uTP unless it's really a connect failure. */
|
||||
/* Don't mark a peer as non-µTP unless it's really a connect failure. */
|
||||
if ((errcode == ETIMEDOUT || errcode == ECONNREFUSED) && info)
|
||||
{
|
||||
handshake->mediator->setUTPFailed(*hash, io->address());
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#define EPIPE WSAECONNRESET
|
||||
#endif
|
||||
|
||||
/* The amount of read bufferring that we allow for uTP sockets. */
|
||||
/* The amount of read bufferring that we allow for µTP sockets. */
|
||||
|
||||
static constexpr auto UtpReadBufferSize = 256 * 1024;
|
||||
|
||||
|
@ -82,7 +82,7 @@ static void didWriteWrapper(tr_peerIo* io, unsigned int bytes_transferred)
|
|||
auto& [n_bytes_left, is_piece_data] = io->outbuf_info.front();
|
||||
|
||||
unsigned int const payload = std::min(uint64_t{ n_bytes_left }, uint64_t{ bytes_transferred });
|
||||
/* For uTP sockets, the overhead is computed in utp_on_overhead. */
|
||||
/* For µTP sockets, the overhead is computed in utp_on_overhead. */
|
||||
unsigned int const overhead = io->socket.type == TR_PEER_SOCKET_TYPE_TCP ? guessPacketOverhead(payload) : 0;
|
||||
uint64_t const now = tr_time_msec();
|
||||
|
||||
|
@ -319,7 +319,7 @@ static void maybeSetCongestionAlgorithm(tr_socket_t socket, std::string const& a
|
|||
}
|
||||
|
||||
#ifdef WITH_UTP
|
||||
/* UTP callbacks */
|
||||
/* µTP callbacks */
|
||||
|
||||
void tr_peerIo::readBufferAdd(void const* data, size_t n_bytes)
|
||||
{
|
||||
|
@ -414,7 +414,7 @@ static uint64 utp_callback(utp_callback_arguments* args)
|
|||
{
|
||||
fmt::print(
|
||||
stderr,
|
||||
FMT_STRING("[utp] [{}:{}] [{}] io is null! buf={}, len={}, flags={}, send/error_code/state={}, type={}\n"),
|
||||
FMT_STRING("[µTP] [{}:{}] [{}] io is null! buf={}, len={}, flags={}, send/error_code/state={}, type={}\n"),
|
||||
fmt::ptr(args->context),
|
||||
fmt::ptr(args->socket),
|
||||
utp_callback_names[args->callback_type],
|
||||
|
@ -506,7 +506,7 @@ std::shared_ptr<tr_peerIo> tr_peerIo::create(
|
|||
#ifdef WITH_UTP
|
||||
|
||||
case TR_PEER_SOCKET_TYPE_UTP:
|
||||
tr_logAddTraceIo(io, fmt::format("socket (utp) is {}", fmt::ptr(socket.handle.utp)));
|
||||
tr_logAddTraceIo(io, fmt::format("socket (µTP) is {}", fmt::ptr(socket.handle.utp)));
|
||||
utp_set_userdata(socket.handle.utp, io.get());
|
||||
break;
|
||||
|
||||
|
|
|
@ -288,7 +288,7 @@ struct peer_atom
|
|||
uint8_t flags = {}; /* these match the added_f flags */
|
||||
uint8_t flags2 = {}; /* flags that aren't defined in added_f */
|
||||
|
||||
bool utp_failed = false; /* We recently failed to connect over uTP */
|
||||
bool utp_failed = false; /* We recently failed to connect over µTP */
|
||||
bool is_connected = false;
|
||||
|
||||
private:
|
||||
|
@ -1198,8 +1198,8 @@ static bool on_handshake_done(tr_handshake_result const& result)
|
|||
atom->flags2 &= ~MyflagUnreachable;
|
||||
}
|
||||
|
||||
/* In principle, this flag specifies whether the peer groks uTP,
|
||||
not whether it's currently connected over uTP. */
|
||||
/* In principle, this flag specifies whether the peer groks µTP,
|
||||
not whether it's currently connected over µTP. */
|
||||
if (result.io->socket.type == TR_PEER_SOCKET_TYPE_UTP)
|
||||
{
|
||||
atom->flags |= ADDED_F_UTP_FLAGS;
|
||||
|
@ -2819,9 +2819,9 @@ void initiateConnection(tr_peerMgr* mgr, tr_swarm* s, peer_atom& atom)
|
|||
|
||||
if (atom.fromFirst == TR_PEER_FROM_PEX)
|
||||
{
|
||||
/* PEX has explicit signalling for uTP support. If an atom
|
||||
originally came from PEX and doesn't have the uTP flag, skip the
|
||||
uTP connection attempt. Are we being optimistic here? */
|
||||
/* PEX has explicit signalling for µTP support. If an atom
|
||||
originally came from PEX and doesn't have the µTP flag, skip the
|
||||
µTP connection attempt. Are we being optimistic here? */
|
||||
utp = utp && (atom.flags & ADDED_F_UTP_FLAGS) != 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ enum
|
|||
ADDED_F_ENCRYPTION_FLAG = 1,
|
||||
/* true if the peer is a seed or partial seed */
|
||||
ADDED_F_SEED_FLAG = 2,
|
||||
/* true if the peer supports uTP */
|
||||
/* true if the peer supports µTP */
|
||||
ADDED_F_UTP_FLAGS = 4,
|
||||
/* true if the peer has holepunch support */
|
||||
ADDED_F_HOLEPUNCH = 8,
|
||||
|
|
|
@ -485,7 +485,7 @@ public:
|
|||
|
||||
struct tr_event_handle* events = nullptr;
|
||||
|
||||
// UDP connectivity used for the DHT and uTP
|
||||
// UDP connectivity used for the DHT and µTP
|
||||
class tr_udp_core
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -122,7 +122,7 @@ bool tr_torrentSetMetainfoFromFile(tr_torrent* tor, tr_torrent_metainfo const* m
|
|||
if (error != nullptr)
|
||||
{
|
||||
tor->setLocalError(fmt::format(
|
||||
_("Couldn't use metaInfo from '{path}' for '{magnet}': {error} ({error_code})"),
|
||||
_("Couldn't use metainfo from '{path}' for '{magnet}': {error} ({error_code})"),
|
||||
fmt::arg("path", filename),
|
||||
fmt::arg("magnet", tor->magnet()),
|
||||
fmt::arg("error", error->message),
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "utils.h"
|
||||
|
||||
/* Since we use a single UDP socket in order to implement multiple
|
||||
uTP sockets, try to set up huge buffers. */
|
||||
µTP sockets, try to set up huge buffers. */
|
||||
|
||||
static auto constexpr RecvBufferSize = 4 * 1024 * 1024;
|
||||
static auto constexpr SendBufferSize = 1 * 1024 * 1024;
|
||||
|
@ -191,12 +191,12 @@ static void event_callback(evutil_socket_t s, [[maybe_unused]] short type, void*
|
|||
int const
|
||||
rc = recvfrom(s, reinterpret_cast<char*>(std::data(buf)), std::size(buf) - 1, 0, (struct sockaddr*)&from, &fromlen);
|
||||
|
||||
/* Since most packets we receive here are µTP, make quick inline
|
||||
/* Since most packets we receive here are µTP, make quick inline
|
||||
checks for the other protocols. The logic is as follows:
|
||||
- all DHT packets start with 'd'
|
||||
- all UDP tracker packets start with a 32-bit (!) "action", which
|
||||
is between 0 and 3
|
||||
- the above cannot be µTP packets, since these start with a 4-bit
|
||||
- the above cannot be µTP packets, since these start with a 4-bit
|
||||
version number (1). */
|
||||
if (rc > 0)
|
||||
{
|
||||
|
|
|
@ -116,7 +116,7 @@ static void utp_send_to(
|
|||
|
||||
static void utp_log(tr_session* const /*session*/, char const* const msg)
|
||||
{
|
||||
fmt::print(stderr, FMT_STRING("[utp] {}\n"), msg);
|
||||
fmt::print(stderr, FMT_STRING("[µTP] {}\n"), msg);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -164,7 +164,7 @@ static void reset_timer(tr_session* session)
|
|||
}
|
||||
else
|
||||
{
|
||||
/* If somebody has disabled uTP, then we still want to run
|
||||
/* If somebody has disabled µTP, then we still want to run
|
||||
utp_check_timeouts, in order to let closed sockets finish
|
||||
gracefully and so on. However, since we're not particularly
|
||||
interested in that happening in a timely manner, we might as
|
||||
|
|
|
@ -207,7 +207,7 @@
|
|||
</connections>
|
||||
<point key="canvasLocation" x="138.5" y="125"/>
|
||||
</window>
|
||||
<menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
|
||||
<menu systemMenu="main" id="29" userLabel="MainMenu">
|
||||
<items>
|
||||
<menuItem title="Transmission" id="56">
|
||||
<menu key="submenu" title="Transmission" systemMenu="apple" id="57">
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "MainMenu";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "Главное меню";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
/* Class = "NSWindow"; title = "Transmission"; ObjectID = "21"; */
|
||||
"21.title" = "Transmission";
|
||||
|
||||
/* Class = "NSMenu"; title = "MainMenu"; ObjectID = "29"; */
|
||||
"29.title" = "Ana Menü";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Transmission"; ObjectID = "56"; */
|
||||
"56.title" = "Transmission";
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@
|
|||
"1931.title" = "Mıknatıs bağlantılar için:";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Set Default Application"; ObjectID = "1933"; */
|
||||
"1933.title" = "Varsayılan Uygulamayı Belirle";
|
||||
"1933.title" = "Saptanmış Uygulamayı Belirle";
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Append .part to incomplete files"; ObjectID = "1940"; */
|
||||
"1940.title" = ".part parçacıklarını bitmemiş dosyalara iliştir";
|
||||
|
|
1989
po/ca@valencia.po
1989
po/ca@valencia.po
File diff suppressed because it is too large
Load diff
1989
po/en_AU.po
1989
po/en_AU.po
File diff suppressed because it is too large
Load diff
1989
po/en_CA.po
1989
po/en_CA.po
File diff suppressed because it is too large
Load diff
1989
po/en_GB.po
1989
po/en_GB.po
File diff suppressed because it is too large
Load diff
1989
po/fr_CA.po
1989
po/fr_CA.po
File diff suppressed because it is too large
Load diff
1982
po/pt_BR.po
1982
po/pt_BR.po
File diff suppressed because it is too large
Load diff
1972
po/pt_PT.po
1972
po/pt_PT.po
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue