mirror of
https://github.com/mtheall/ftpd.git
synced 2025-06-18 11:05:52 -04:00
Initial i18n
This commit is contained in:
parent
0665777a85
commit
2e4e9875b1
10
Makefile.3ds
10
Makefile.3ds
@ -34,6 +34,7 @@ include $(DEVKITARM)/3ds_rules
|
||||
SOURCES := source source/3ds
|
||||
DATA := data
|
||||
INCLUDES := include
|
||||
ROMFS := 3ds/romfs
|
||||
|
||||
ifeq ($(strip $(CLASSIC)),)
|
||||
APP_TITLE := ftpd pro
|
||||
@ -41,7 +42,6 @@ TARGET := 3ds/ftpd
|
||||
BUILD := 3ds/build
|
||||
SOURCES += source/imgui
|
||||
GRAPHICS := 3ds/gfx
|
||||
ROMFS := 3ds/romfs
|
||||
GFXBUILD := $(ROMFS)
|
||||
RSF_FILE := meta/ftpd-cia.rsf
|
||||
else
|
||||
@ -71,6 +71,7 @@ CFLAGS := -g -Wall $(OPTIMIZE) -mword-relocations \
|
||||
CFLAGS += $(INCLUDE) -DARM11 -D_3DS \
|
||||
-DSTATUS_STRING="\"ftpd v$(VERSION)\"" \
|
||||
-DIMGUI_DISABLE_INCLUDE_IMCONFIG_H=1 \
|
||||
-D"_(x)=getText(x)" \
|
||||
-DNO_IPV6 -DFTPDCONFIG="\"/config/ftpd/ftpd.cfg\"" \
|
||||
-DANTI_ALIAS=1
|
||||
|
||||
@ -107,8 +108,8 @@ export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
|
||||
|
||||
export DEPSDIR := $(CURDIR)/$(BUILD)
|
||||
|
||||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
||||
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
||||
export CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
||||
export CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
||||
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
|
||||
SHLISTFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.shlist)))
|
||||
GFXFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.t3s)))
|
||||
@ -308,9 +309,10 @@ $(TARGET).bnr: $(TOPDIR)/$(BNR_IMAGE) $(TOPDIR)/$(BNR_AUDIO)
|
||||
@bannertool makebanner -o $@ -i $(TOPDIR)/$(BNR_IMAGE) -a $(TOPDIR)/$(BNR_AUDIO)
|
||||
@echo "built ... $@"
|
||||
|
||||
|
||||
-include $(DEPSDIR)/*.d
|
||||
|
||||
#---------------------------------------------------------------------------------------
|
||||
endif
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
include $(TOPDIR)/Makefile.i18n
|
||||
|
48
Makefile.i18n
Normal file
48
Makefile.i18n
Normal file
@ -0,0 +1,48 @@
|
||||
ifeq ($(strip $(ROMFS)),)
|
||||
$(error "Please include from a Makefile that defines ROMFS")
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(TARGET)),)
|
||||
$(error "Please include from a Makefile that defines TARGET")
|
||||
endif
|
||||
|
||||
# Note: Have your main target, e.g. $(OUTPUT).nro, depend on ROMFS_DEPS
|
||||
|
||||
.PHONY: clean-mo
|
||||
|
||||
MO_FILES := $(foreach lang,de_DE en_GB en_US es_ES fr_FR it_IT ja_JP nl_NL pt_PT ru_RU,$(TOPDIR)/$(ROMFS)/locale/$(lang)/ftpd.mo)
|
||||
|
||||
$(OUTPUT).nds: $(MO_FILES)
|
||||
$(OUTPUT).3dsx: $(MO_FILES)
|
||||
$(OUTPUT).cia: $(MO_FILES)
|
||||
$(OUTPUT).nro: $(MO_FILES)
|
||||
|
||||
$(MO_FILES): $(TOPDIR)/$(ROMFS)/locale/%/ftpd.mo: $(TOPDIR)/po/%/ftpd.po
|
||||
@echo "Building $@"
|
||||
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
|
||||
msgfmt -c --output-file=$@ $<
|
||||
|
||||
$(TOPDIR)/po/%.po: $(TOPDIR)/po/$(notdir $(TARGET)).pot
|
||||
@echo "Building $@"
|
||||
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
|
||||
@if [ -f $@ ]; \
|
||||
then \
|
||||
msgmerge --backup=off -qU $@ $< && touch $@; \
|
||||
else \
|
||||
msginit -i $< -l $*.UTF-8 -o $@; \
|
||||
fi
|
||||
|
||||
$(TOPDIR)/po/$(notdir $(TARGET)).pot: $(CFILES) $(CPPFILES) $(CXXFILES)
|
||||
@echo "Building $@"
|
||||
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
|
||||
xgettext -o $@ $^ -k_ -c -s \
|
||||
--from-code="UTF-8" \
|
||||
--copyright-holder="Michael Theall" \
|
||||
--package-name="$(APP_TITLE)" \
|
||||
--package-version="$(APP_DESCRIPTION)" \
|
||||
--msgid-bugs-address="pigman46@gmail.com"
|
||||
|
||||
clean: clean-mo
|
||||
|
||||
clean-mo:
|
||||
@$(RM) $(MO_FILES)
|
@ -7,11 +7,12 @@ CXXFILES := $(wildcard source/*.cpp source/imgui/*.cpp source/linux/*.cpp)
|
||||
OFILES := $(patsubst source/%,$(BUILD)/%,$(CFILES:.c=.c.o))
|
||||
OXXFILES := $(patsubst source/%,$(BUILD)/%,$(CXXFILES:.cpp=.cpp.o))
|
||||
|
||||
CPPFLAGS := -g -Wall -pthread -Iinclude -Isource/linux \
|
||||
CPPFLAGS := -g -O0 -Wall -pthread -Iinclude -Isource/linux \
|
||||
`pkg-config --cflags gl glfw3` \
|
||||
-DSTATUS_STRING="\"ftpd v$(VERSION)\"" \
|
||||
-DIMGUI_DISABLE_INCLUDE_IMCONFIG_H=1 \
|
||||
-DIMGUI_IMPL_OPENGL_LOADER_GLAD=1 \
|
||||
-D"_(x)=getText(x)" \
|
||||
-DFTPDCONFIG="\"ftpd.cfg\""
|
||||
CFLAGS := $(CPPFLAGS)
|
||||
CXXFLAGS := $(CPPFLAGS) -std=gnu++17
|
||||
|
@ -47,6 +47,7 @@ CFLAGS := -g -Wall $(OPTIMIZE) \
|
||||
$(ARCH) $(INCLUDE) -DARM9 -DNDS \
|
||||
-DSTATUS_STRING="\"ftpd v$(VERSION)\"" \
|
||||
-DIMGUI_DISABLE_INCLUDE_IMCONFIG_H=1 \
|
||||
-D"_(x)=getText(x)" \
|
||||
-DNO_IPV6 -DCLASSIC -DFTPDCONFIG="\"/config/ftpd/ftpd.cfg\""
|
||||
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++17
|
||||
ASFLAGS := -g $(ARCH)
|
||||
|
@ -44,6 +44,7 @@ APP_VERSION := $(VERSION)
|
||||
SOURCES := source source/switch
|
||||
DATA := data
|
||||
INCLUDES := include
|
||||
ROMFS := switch/romfs
|
||||
|
||||
ifeq ($(strip $(CLASSIC)),)
|
||||
APP_TITLE := ftpd pro $(VERSION)
|
||||
@ -51,7 +52,6 @@ TARGET := switch/ftpd
|
||||
BUILD := switch/build
|
||||
SOURCES += source/imgui
|
||||
GRAPHICS := switch/gfx
|
||||
ROMFS := switch/romfs
|
||||
else
|
||||
APP_TITLE := ftpd classic $(VERSION)
|
||||
TARGET := switch-classic/ftpd-classic
|
||||
@ -74,6 +74,7 @@ CFLAGS := -g -Wall -Wno-narrowing $(OPTIMIZE) \
|
||||
CFLAGS += $(INCLUDE) -D__SWITCH__ \
|
||||
-DSTATUS_STRING="\"ftpd v$(VERSION)\"" \
|
||||
-DIMGUI_DISABLE_INCLUDE_IMCONFIG_H=1 \
|
||||
-D"_(x)=getText(x)" \
|
||||
-DFTPDCONFIG="\"/config/ftpd/ftpd.cfg\"" \
|
||||
`$(PREFIX)pkg-config --cflags libzstd`
|
||||
|
||||
@ -315,3 +316,5 @@ $(OFILES_SRC) : $(HFILES_BIN)
|
||||
#---------------------------------------------------------------------------------------
|
||||
endif
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
include $(TOPDIR)/Makefile.i18n
|
||||
|
@ -77,7 +77,7 @@ public:
|
||||
/// \brief Seek to file position
|
||||
/// \param pos_ File position
|
||||
/// \param origin_ Reference position (\sa std::fseek)
|
||||
std::make_signed_t<std::size_t> seek (std::size_t pos_, int origin_);
|
||||
std::make_signed_t<std::size_t> seek (std::size_t pos_, int origin_ = SEEK_SET);
|
||||
|
||||
/// \brief Read data
|
||||
/// \param buffer_ Output buffer
|
||||
|
@ -51,6 +51,9 @@ public:
|
||||
/// \param path_ Path to config file
|
||||
bool save (char const *path_);
|
||||
|
||||
/// \brief Get language
|
||||
std::string const &language () const;
|
||||
|
||||
/// \brief Get user
|
||||
std::string const &user () const;
|
||||
|
||||
@ -77,6 +80,10 @@ public:
|
||||
std::string const &passphrase () const;
|
||||
#endif
|
||||
|
||||
/// \brief Set language
|
||||
/// \param language_ Language to set
|
||||
void setLanguage (std::string const &language_);
|
||||
|
||||
/// \brief Set user
|
||||
/// \param user_ User
|
||||
void setUser (std::string const &user_);
|
||||
@ -121,6 +128,9 @@ private:
|
||||
mutable platform::Mutex m_lock;
|
||||
#endif
|
||||
|
||||
/// \brief Language
|
||||
std::string m_language;
|
||||
|
||||
/// \brief Username
|
||||
std::string m_user;
|
||||
|
||||
|
@ -119,15 +119,14 @@ private:
|
||||
/// \brief Whether to show about window
|
||||
bool m_showAbout = false;
|
||||
|
||||
/// \brief Language setting
|
||||
unsigned m_languageSetting;
|
||||
/// \brief User name setting
|
||||
std::string m_userSetting;
|
||||
|
||||
/// \brief Password setting
|
||||
std::string m_passSetting;
|
||||
|
||||
/// \brief Port setting
|
||||
std::uint16_t m_portSetting;
|
||||
|
||||
#ifdef _3DS
|
||||
/// \brief getMTime setting
|
||||
bool m_getMTimeSetting;
|
||||
|
29
include/gettext.h
Normal file
29
include/gettext.h
Normal file
@ -0,0 +1,29 @@
|
||||
// ftpd is a server implementation based on the following:
|
||||
// - RFC 959 (https://tools.ietf.org/html/rfc959)
|
||||
// - RFC 3659 (https://tools.ietf.org/html/rfc3659)
|
||||
// - suggested implementation details from https://cr.yp.to/ftp/filesystem.html
|
||||
//
|
||||
// Copyright (C) 2020 Michael Theall
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
/// \brief Set language for getText
|
||||
/// \param language_ Language to set
|
||||
void setLanguage (char const *language_);
|
||||
|
||||
/// \brief Translate message
|
||||
/// \param text_ Text to translate
|
||||
__attribute__ ((__format_arg__ (1))) char const *getText (char const *text_);
|
201
po/de_DE/ftpd.po
Normal file
201
po/de_DE/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# German translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
|
||||
"Language: de_DE/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/en_GB/ftpd.po
Normal file
201
po/en_GB/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# English translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: English\n"
|
||||
"Language: en_GB/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/en_US/ftpd.po
Normal file
201
po/en_US/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# English translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: English\n"
|
||||
"Language: en_US/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/es_ES/ftpd.po
Normal file
201
po/es_ES/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# Spanish translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||
"Language: es_ES/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/fr_FR/ftpd.po
Normal file
201
po/fr_FR/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# French translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
"Language: fr_FR/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/ftpd.pot
Normal file
201
po/ftpd.pot
Normal file
@ -0,0 +1,201 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.1.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/it_IT/ftpd.po
Normal file
201
po/it_IT/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# Italian translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:21-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"Language: it_IT/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/ja_JP/ftpd.po
Normal file
201
po/ja_JP/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# Japanese translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:22-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
|
||||
"Language: ja_JP/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/nl_NL/ftpd.po
Normal file
201
po/nl_NL/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# Dutch translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:22-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
|
||||
"Language: nl_NL/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
201
po/pt_PT/ftpd.po
Normal file
201
po/pt_PT/ftpd.po
Normal file
@ -0,0 +1,201 @@
|
||||
# Portuguese translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:22-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
|
||||
"Language: pt_PT/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
202
po/ru_RU/ftpd.po
Normal file
202
po/ru_RU/ftpd.po
Normal file
@ -0,0 +1,202 @@
|
||||
# Russian translations for ftpd pro package.
|
||||
# Copyright (C) 2020 Michael Theall
|
||||
# This file is distributed under the same license as the ftpd pro package.
|
||||
# Michael Theall <pigman46@gmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ftpd pro v3.0.0\n"
|
||||
"Report-Msgid-Bugs-To: pigman46@gmail.com\n"
|
||||
"POT-Creation-Date: 2021-06-13 11:14-0500\n"
|
||||
"PO-Revision-Date: 2020-06-03 21:22-0500\n"
|
||||
"Last-Translator: Michael Theall <pigman46@gmail.com>\n"
|
||||
"Language-Team: Russian <gnu@d07.ru>\n"
|
||||
"Language: ru_RU/ftpd\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:359
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:422
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:607
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:78
|
||||
#, c-format
|
||||
msgid "Accepted connection from [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:500
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:520
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:503
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:526
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:42
|
||||
#, c-format
|
||||
msgid "Closing connection to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:567
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:155
|
||||
#, c-format
|
||||
msgid "Connected to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:148
|
||||
#, c-format
|
||||
msgid "Connecting to [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:480
|
||||
msgid "Enable Access Point"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1398
|
||||
msgid "Exceeded command buffer size\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:563
|
||||
msgid "Failed to save config\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:476
|
||||
msgid "Get mtime"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:444
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:2260
|
||||
#, c-format
|
||||
msgid "Listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:208
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:353
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:351
|
||||
msgid "Menu "
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1556
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1587
|
||||
msgid "Not enough space for response\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:617
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:490
|
||||
msgid "Passphrase"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:462
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. peer closed connection
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpSession.cpp:1413
|
||||
msgid "Peer closed connection\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:614
|
||||
#, c-format
|
||||
msgid "Platform: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:467
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:615
|
||||
#, c-format
|
||||
msgid "Renderer: %s"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:502
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:524
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:482
|
||||
msgid "SSID"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:501
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:522
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:221
|
||||
msgid "Sessions"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:356
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:413
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:437
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:441
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:319
|
||||
#, c-format
|
||||
msgid "Started server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:39
|
||||
#, c-format
|
||||
msgid "Stop listening on [%s]:%u\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:338
|
||||
#, c-format
|
||||
msgid "Stopped server at %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:457
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:125
|
||||
msgid "Waiting on WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/ftpServer.cpp:190
|
||||
msgid "Waiting on WiFi..."
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/3ds/platform.cpp:214
|
||||
msgid "WiFi connected\n"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:196
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: /home/mtheall/workspace/ftpd/source/socket.cpp:246
|
||||
msgid "yes"
|
||||
msgstr ""
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include "fs.h"
|
||||
#include "ftpServer.h"
|
||||
#include "gettext.h"
|
||||
#include "log.h"
|
||||
|
||||
#include "imgui_citro3d.h"
|
||||
@ -210,7 +211,7 @@ void startNetwork ()
|
||||
return;
|
||||
|
||||
s_socuActive = true;
|
||||
info ("Wifi connected\n");
|
||||
info (_ ("WiFi connected\n"));
|
||||
}
|
||||
|
||||
/// \brief Draw citro3d logo
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "ftpConfig.h"
|
||||
|
||||
#include "fs.h"
|
||||
#include "gettext.h"
|
||||
#include "log.h"
|
||||
|
||||
#include <sys/stat.h>
|
||||
@ -147,7 +148,9 @@ UniqueFtpConfig FtpConfig::load (char const *const path_)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (key == "user")
|
||||
if (key == "language")
|
||||
config->m_language = val;
|
||||
else if (key == "user")
|
||||
config->m_user = val;
|
||||
else if (key == "pass")
|
||||
config->m_pass = val;
|
||||
@ -202,6 +205,8 @@ bool FtpConfig::save (char const *const path_)
|
||||
if (!fp.open (path_, "wb"))
|
||||
return false;
|
||||
|
||||
if (!m_language.empty ())
|
||||
std::fprintf (fp, "language=%s\n", m_language.c_str ());
|
||||
if (!m_user.empty ())
|
||||
std::fprintf (fp, "user=%s\n", m_user.c_str ());
|
||||
if (!m_pass.empty ())
|
||||
@ -223,6 +228,11 @@ bool FtpConfig::save (char const *const path_)
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string const &FtpConfig::language () const
|
||||
{
|
||||
return m_language;
|
||||
}
|
||||
|
||||
std::string const &FtpConfig::user () const
|
||||
{
|
||||
return m_user;
|
||||
@ -262,6 +272,12 @@ std::string const &FtpConfig::passphrase () const
|
||||
}
|
||||
#endif
|
||||
|
||||
void FtpConfig::setLanguage (std::string const &language_)
|
||||
{
|
||||
m_language = language_;
|
||||
::setLanguage (language_.c_str ());
|
||||
}
|
||||
|
||||
void FtpConfig::setUser (std::string const &user_)
|
||||
{
|
||||
m_user = user_.substr (0, user_.find_first_of ('\0'));
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "ftpServer.h"
|
||||
|
||||
#include "fs.h"
|
||||
#include "gettext.h"
|
||||
#include "licenses.h"
|
||||
#include "log.h"
|
||||
#include "platform.h"
|
||||
@ -69,6 +70,21 @@ platform::Mutex s_lock;
|
||||
|
||||
/// \brief Free space string
|
||||
std::string s_freeSpace;
|
||||
|
||||
std::pair<std::string, std::string> const s_languageMap[] = {
|
||||
// clang-format off
|
||||
{"Deutsch", "de_DE"},
|
||||
{"English (US)", "en_US"},
|
||||
{"English (UK)", "en_GB"},
|
||||
{"Español", "es_ES"},
|
||||
{"Français", "fr_FR"},
|
||||
{"Italiano", "it_IT"},
|
||||
{"日本語", "ja_JP"},
|
||||
{"Nederlands", "nl_NL"},
|
||||
{"Português (Portugal)", "pt_PT"},
|
||||
{"Русский", "ru_RU"},
|
||||
// clang-format on
|
||||
};
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -106,7 +122,7 @@ void FtpServer::draw ()
|
||||
consoleSelect (&g_statusConsole);
|
||||
std::printf ("\x1b[0;0H\x1b[32;1m%s \x1b[36;1m%s%s",
|
||||
STATUS_STRING,
|
||||
m_socket ? m_socket->sockName ().name () : "Waiting on WiFi",
|
||||
m_socket ? m_socket->sockName ().name () : _ ("Waiting on WiFi"),
|
||||
m_socket ? port : "");
|
||||
|
||||
#ifndef NDS
|
||||
@ -171,7 +187,7 @@ void FtpServer::draw ()
|
||||
std::snprintf (title,
|
||||
sizeof (title),
|
||||
STATUS_STRING " %s###ftpd",
|
||||
m_socket ? m_name.c_str () : "Waiting for WiFi...");
|
||||
m_socket ? m_name.c_str () : _ ("Waiting on WiFi..."));
|
||||
}
|
||||
|
||||
ImGui::Begin (title,
|
||||
@ -189,7 +205,7 @@ void FtpServer::draw ()
|
||||
|
||||
#ifndef _3DS
|
||||
ImGui::BeginChild (
|
||||
"Logs", ImVec2 (0, 0.5f * height), false, ImGuiWindowFlags_HorizontalScrollbar);
|
||||
_ ("Logs"), ImVec2 (0, 0.5f * height), false, ImGuiWindowFlags_HorizontalScrollbar);
|
||||
#endif
|
||||
drawLog ();
|
||||
#ifndef _3DS
|
||||
@ -202,7 +218,7 @@ void FtpServer::draw ()
|
||||
// bottom screen
|
||||
ImGui::SetNextWindowSize (ImVec2 (width * 0.8f, height * 0.5f));
|
||||
ImGui::SetNextWindowPos (ImVec2 (width * 0.1f, height * 0.5f), ImGuiCond_FirstUseEver);
|
||||
ImGui::Begin ("Sessions",
|
||||
ImGui::Begin (_ ("Sessions"),
|
||||
nullptr,
|
||||
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize |
|
||||
ImGuiWindowFlags_MenuBar);
|
||||
@ -227,6 +243,7 @@ UniqueFtpServer FtpServer::create ()
|
||||
updateFreeSpace ();
|
||||
|
||||
auto config = FtpConfig::load (FTPDCONFIG);
|
||||
setLanguage (config->language ().c_str ());
|
||||
|
||||
return UniqueFtpServer (new FtpServer (std::move (config)));
|
||||
}
|
||||
@ -299,7 +316,7 @@ void FtpServer::handleNetworkFound ()
|
||||
m_name.resize (std::strlen (name) + 3 + 5);
|
||||
m_name.resize (std::sprintf (m_name.data (), "[%s]:%u", name, sockName.port ()));
|
||||
|
||||
info ("Started server at %s\n", m_name.c_str ());
|
||||
info (_ ("Started server at %s\n"), m_name.c_str ());
|
||||
|
||||
LOCKED (m_socket = std::move (socket));
|
||||
}
|
||||
@ -318,7 +335,7 @@ void FtpServer::handleNetworkLost ()
|
||||
LOCKED (sock = std::move (m_socket));
|
||||
}
|
||||
|
||||
info ("Stopped server at %s\n", m_name.c_str ());
|
||||
info (_ ("Stopped server at %s\n"), m_name.c_str ());
|
||||
}
|
||||
|
||||
#ifndef CLASSIC
|
||||
@ -330,15 +347,16 @@ void FtpServer::showMenu ()
|
||||
if (ImGui::BeginMenuBar ())
|
||||
{
|
||||
#if defined(_3DS) || defined(__SWITCH__)
|
||||
if (ImGui::BeginMenu (u8"Menu \xee\x80\x83")) // Y Button
|
||||
// TRANSLATORS: \xee\x80\x83 (Y button)
|
||||
if (ImGui::BeginMenu (_ ("Menu \xee\x80\x83"))) // Y Button
|
||||
#else
|
||||
if (ImGui::BeginMenu ("Menu"))
|
||||
if (ImGui::BeginMenu (_ ("Menu")))
|
||||
#endif
|
||||
{
|
||||
if (ImGui::MenuItem ("Settings"))
|
||||
if (ImGui::MenuItem (_ ("Settings")))
|
||||
m_showSettings = true;
|
||||
|
||||
if (ImGui::MenuItem ("About"))
|
||||
if (ImGui::MenuItem (_ ("About")))
|
||||
m_showAbout = true;
|
||||
|
||||
ImGui::EndMenu ();
|
||||
@ -353,6 +371,22 @@ void FtpServer::showMenu ()
|
||||
#ifndef NDS
|
||||
auto const lock = m_config->lockGuard ();
|
||||
#endif
|
||||
auto const &language = m_config->language ();
|
||||
m_languageSetting = std::numeric_limits<unsigned>::max ();
|
||||
for (unsigned i = 0; i < std::extent_v<decltype (s_languageMap)>; ++i)
|
||||
{
|
||||
auto const &code = s_languageMap[i].second;
|
||||
if (language == code)
|
||||
{
|
||||
m_languageSetting = i;
|
||||
break;
|
||||
}
|
||||
|
||||
// default to English (US)
|
||||
/// \todo get language from system settings
|
||||
if (code == "en_US" && m_languageSetting == std::numeric_limits<unsigned>::max ())
|
||||
m_languageSetting = i;
|
||||
}
|
||||
|
||||
m_userSetting = m_config->user ();
|
||||
m_userSetting.resize (32);
|
||||
@ -376,7 +410,7 @@ void FtpServer::showMenu ()
|
||||
m_passphraseSetting.resize (63);
|
||||
#endif
|
||||
|
||||
ImGui::OpenPopup ("Settings");
|
||||
ImGui::OpenPopup (_ ("Settings"));
|
||||
}
|
||||
|
||||
showSettings ();
|
||||
@ -385,7 +419,7 @@ void FtpServer::showMenu ()
|
||||
if (m_showAbout)
|
||||
{
|
||||
if (!prevShowAbout)
|
||||
ImGui::OpenPopup ("About");
|
||||
ImGui::OpenPopup (_ ("About"));
|
||||
|
||||
showAbout ();
|
||||
}
|
||||
@ -400,24 +434,37 @@ void FtpServer::showSettings ()
|
||||
|
||||
ImGui::SetNextWindowSize (ImVec2 (width * 0.8f, height * 0.5f));
|
||||
ImGui::SetNextWindowPos (ImVec2 (width * 0.1f, height * 0.5f));
|
||||
if (ImGui::BeginPopupModal ("Settings",
|
||||
if (ImGui::BeginPopupModal (_ ("Settings"),
|
||||
nullptr,
|
||||
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize))
|
||||
#else
|
||||
if (ImGui::BeginPopupModal ("Settings", nullptr, ImGuiWindowFlags_AlwaysAutoResize))
|
||||
if (ImGui::BeginPopupModal (_ ("Settings"), nullptr, ImGuiWindowFlags_AlwaysAutoResize))
|
||||
#endif
|
||||
{
|
||||
ImGui::InputText ("User",
|
||||
if (ImGui::BeginCombo (_ ("Language"), s_languageMap[m_languageSetting].first.c_str ()))
|
||||
{
|
||||
for (unsigned i = 0; i < std::extent_v<decltype (s_languageMap)>; ++i)
|
||||
{
|
||||
if (ImGui::Selectable (s_languageMap[i].first.c_str (), i == m_languageSetting))
|
||||
{
|
||||
m_languageSetting = i;
|
||||
ImGui::SetItemDefaultFocus ();
|
||||
}
|
||||
}
|
||||
ImGui::EndCombo ();
|
||||
}
|
||||
|
||||
ImGui::InputText (_ ("User"),
|
||||
m_userSetting.data (),
|
||||
m_userSetting.size (),
|
||||
ImGuiInputTextFlags_AutoSelectAll);
|
||||
|
||||
ImGui::InputText ("Pass",
|
||||
ImGui::InputText (_ ("Password"),
|
||||
m_passSetting.data (),
|
||||
m_passSetting.size (),
|
||||
ImGuiInputTextFlags_AutoSelectAll | ImGuiInputTextFlags_Password);
|
||||
|
||||
ImGui::InputScalar ("Port",
|
||||
ImGui::InputScalar (_ ("Port"),
|
||||
ImGuiDataType_U16,
|
||||
&m_portSetting,
|
||||
nullptr,
|
||||
@ -426,13 +473,13 @@ void FtpServer::showSettings ()
|
||||
ImGuiInputTextFlags_AutoSelectAll);
|
||||
|
||||
#ifdef _3DS
|
||||
ImGui::Checkbox ("Get mtime", &m_getMTimeSetting);
|
||||
ImGui::Checkbox (_ ("Get mtime"), &m_getMTimeSetting);
|
||||
#endif
|
||||
|
||||
#ifdef __SWITCH__
|
||||
ImGui::Checkbox ("Enable Access Point", &m_enableAPSetting);
|
||||
ImGui::Checkbox (_ ("Enable Access Point"), &m_enableAPSetting);
|
||||
|
||||
ImGui::InputText ("SSID",
|
||||
ImGui::InputText (_ ("SSID"),
|
||||
m_ssidSetting.data (),
|
||||
m_ssidSetting.size (),
|
||||
ImGuiInputTextFlags_AutoSelectAll);
|
||||
@ -440,7 +487,7 @@ void FtpServer::showSettings ()
|
||||
if (ssidError)
|
||||
ImGui::TextColored (ImVec4 (1.0f, 0.4f, 0.4f, 1.0f), ssidError);
|
||||
|
||||
ImGui::InputText ("Passphrase",
|
||||
ImGui::InputText (_ ("Passphrase"),
|
||||
m_passphraseSetting.data (),
|
||||
m_passphraseSetting.size (),
|
||||
ImGuiInputTextFlags_AutoSelectAll | ImGuiInputTextFlags_Password);
|
||||
@ -449,19 +496,19 @@ void FtpServer::showSettings ()
|
||||
ImGui::TextColored (ImVec4 (1.0f, 0.4f, 0.4f, 1.0f), passphraseError);
|
||||
#endif
|
||||
|
||||
static ImVec2 const sizes[] = {
|
||||
ImGui::CalcTextSize ("Apply"),
|
||||
ImGui::CalcTextSize ("Save"),
|
||||
ImGui::CalcTextSize ("Reset"),
|
||||
ImGui::CalcTextSize ("Cancel"),
|
||||
ImVec2 const sizes[] = {
|
||||
ImGui::CalcTextSize (_ ("Apply")),
|
||||
ImGui::CalcTextSize (_ ("Save")),
|
||||
ImGui::CalcTextSize (_ ("Reset")),
|
||||
ImGui::CalcTextSize (_ ("Cancel")),
|
||||
};
|
||||
|
||||
static auto const maxWidth = std::max_element (
|
||||
auto const maxWidth = std::max_element (
|
||||
std::begin (sizes), std::end (sizes), [] (auto const &lhs_, auto const &rhs_) {
|
||||
return lhs_.x < rhs_.x;
|
||||
})->x;
|
||||
|
||||
static auto const maxHeight = std::max_element (
|
||||
auto const maxHeight = std::max_element (
|
||||
std::begin (sizes), std::end (sizes), [] (auto const &lhs_, auto const &rhs_) {
|
||||
return lhs_.y < rhs_.y;
|
||||
})->y;
|
||||
@ -470,13 +517,13 @@ void FtpServer::showSettings ()
|
||||
auto const width = maxWidth + 2 * style.FramePadding.x;
|
||||
auto const height = maxHeight + 2 * style.FramePadding.y;
|
||||
|
||||
auto const apply = ImGui::Button ("Apply", ImVec2 (width, height));
|
||||
auto const apply = ImGui::Button (_ ("Apply"), ImVec2 (width, height));
|
||||
ImGui::SameLine ();
|
||||
auto const save = ImGui::Button ("Save", ImVec2 (width, height));
|
||||
auto const save = ImGui::Button (_ ("Save"), ImVec2 (width, height));
|
||||
ImGui::SameLine ();
|
||||
auto const reset = ImGui::Button ("Reset", ImVec2 (width, height));
|
||||
auto const reset = ImGui::Button (_ ("Reset"), ImVec2 (width, height));
|
||||
ImGui::SameLine ();
|
||||
auto const cancel = ImGui::Button ("Cancel", ImVec2 (width, height));
|
||||
auto const cancel = ImGui::Button (_ ("Cancel"), ImVec2 (width, height));
|
||||
|
||||
if (apply || save)
|
||||
{
|
||||
@ -487,6 +534,7 @@ void FtpServer::showSettings ()
|
||||
auto const lock = m_config->lockGuard ();
|
||||
#endif
|
||||
|
||||
m_config->setLanguage (s_languageMap[m_languageSetting].second);
|
||||
m_config->setUser (m_userSetting);
|
||||
m_config->setPass (m_passSetting);
|
||||
m_config->setPort (m_portSetting);
|
||||
@ -512,7 +560,7 @@ void FtpServer::showSettings ()
|
||||
auto const lock = m_config->lockGuard ();
|
||||
#endif
|
||||
if (!m_config->save (FTPDCONFIG))
|
||||
error ("Failed to save config\n");
|
||||
error (_ ("Failed to save config\n"));
|
||||
}
|
||||
|
||||
if (reset)
|
||||
@ -556,17 +604,17 @@ void FtpServer::showAbout ()
|
||||
ImGui::SetNextWindowSize (ImVec2 (width * 0.8f, height * 0.8f));
|
||||
ImGui::SetNextWindowPos (ImVec2 (width * 0.1f, height * 0.1f));
|
||||
#endif
|
||||
if (ImGui::BeginPopupModal ("About",
|
||||
if (ImGui::BeginPopupModal (_ ("About"),
|
||||
nullptr,
|
||||
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize))
|
||||
{
|
||||
ImGui::TextUnformatted (STATUS_STRING);
|
||||
ImGui::TextWrapped ("Copyright © 2021 Michael Theall, Dave Murphy, TuxSH");
|
||||
ImGui::Separator ();
|
||||
ImGui::Text ("Platform: %s", io.BackendPlatformName);
|
||||
ImGui::Text ("Renderer: %s", io.BackendRendererName);
|
||||
ImGui::Text (_ ("Platform: %s"), io.BackendPlatformName);
|
||||
ImGui::Text (_ ("Renderer: %s"), io.BackendRendererName);
|
||||
|
||||
if (ImGui::Button ("OK", ImVec2 (100, 0)))
|
||||
if (ImGui::Button (_ ("OK"), ImVec2 (100, 0)))
|
||||
{
|
||||
m_showAbout = false;
|
||||
ImGui::CloseCurrentPopup ();
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "ftpSession.h"
|
||||
|
||||
#include "ftpServer.h"
|
||||
#include "gettext.h"
|
||||
#include "log.h"
|
||||
#include "platform.h"
|
||||
|
||||
@ -563,7 +564,7 @@ bool FtpSession::poll (std::vector<UniqueFtpSession> const &sessions_)
|
||||
{
|
||||
// PORT connection completed
|
||||
auto const &sockName = session->m_dataSocket->peerName ();
|
||||
info ("Connected to [%s]:%u\n", sockName.name (), sockName.port ());
|
||||
info (_ ("Connected to [%s]:%u\n"), sockName.name (), sockName.port ());
|
||||
|
||||
session->sendResponse ("150 Ready\r\n");
|
||||
session->setState (State::DATA_TRANSFER, true, false);
|
||||
@ -1100,7 +1101,8 @@ void FtpSession::xferFile (char const *const args_, XferFileMode const mode_)
|
||||
|
||||
if (m_restartPosition != 0)
|
||||
{
|
||||
if (m_file.seek (m_restartPosition, SEEK_SET) != 0)
|
||||
// seek to the REST offset
|
||||
if (m_file.seek (m_restartPosition) != 0)
|
||||
{
|
||||
sendResponse ("450 %s\r\n", std::strerror (errno));
|
||||
return;
|
||||
@ -1134,7 +1136,7 @@ void FtpSession::xferFile (char const *const args_, XferFileMode const mode_)
|
||||
if (m_restartPosition != 0 && !append)
|
||||
{
|
||||
// seek to the REST offset
|
||||
if (m_file.seek (m_restartPosition, SEEK_SET) != 0)
|
||||
if (m_file.seek (m_restartPosition) != 0)
|
||||
{
|
||||
sendResponse ("450 %s\r\n", std::strerror (errno));
|
||||
return;
|
||||
@ -1393,7 +1395,7 @@ void FtpSession::readCommand (int const events_)
|
||||
// prepare to receive data
|
||||
if (m_commandBuffer.freeSize () == 0)
|
||||
{
|
||||
error ("Exceeded command buffer size\n");
|
||||
error (_ ("Exceeded command buffer size\n"));
|
||||
closeCommand ();
|
||||
return;
|
||||
}
|
||||
@ -1408,7 +1410,7 @@ void FtpSession::readCommand (int const events_)
|
||||
if (rc == 0)
|
||||
{
|
||||
// peer closed connection
|
||||
info ("Peer closed connection\n");
|
||||
info (_ ("Peer closed connection\n"));
|
||||
closeCommand ();
|
||||
return;
|
||||
}
|
||||
@ -1551,7 +1553,7 @@ void FtpSession::sendResponse (char const *fmt_, ...)
|
||||
|
||||
if (static_cast<std::size_t> (rc) > size)
|
||||
{
|
||||
error ("Not enough space for response\n");
|
||||
error (_ ("Not enough space for response\n"));
|
||||
closeCommand ();
|
||||
return;
|
||||
}
|
||||
@ -1582,7 +1584,7 @@ void FtpSession::sendResponse (std::string_view const response_)
|
||||
|
||||
if (response_.size () > size)
|
||||
{
|
||||
error ("Not enough space for response\n");
|
||||
error (_ ("Not enough space for response\n"));
|
||||
closeCommand ();
|
||||
return;
|
||||
}
|
||||
@ -1689,7 +1691,7 @@ bool FtpSession::listTransfer ()
|
||||
std::uint64_t mtime = 0;
|
||||
auto const rc = archive_getmtime (fullPath.c_str (), &mtime);
|
||||
if (rc != 0)
|
||||
error ("sdmc_getmtime %s 0x%lx\n", fullPath.c_str (), rc);
|
||||
error ("archive_getmtime %s 0x%lx\n", fullPath.c_str (), rc);
|
||||
else
|
||||
st.st_mtime = mtime;
|
||||
}
|
||||
@ -2255,7 +2257,7 @@ void FtpSession::PASV (char const *args_)
|
||||
auto const &sockName = m_pasvSocket->sockName ();
|
||||
std::string name = sockName.name ();
|
||||
auto const port = sockName.port ();
|
||||
info ("Listening on [%s]:%u\n", name.c_str (), port);
|
||||
info (_ ("Listening on [%s]:%u\n"), name.c_str (), port);
|
||||
|
||||
// send the address in the ftp format
|
||||
for (auto &c : name)
|
||||
|
184
source/gettext.cpp
Normal file
184
source/gettext.cpp
Normal file
@ -0,0 +1,184 @@
|
||||
// ftpd is a server implementation based on the following:
|
||||
// - RFC 959 (https://tools.ietf.org/html/rfc959)
|
||||
// - RFC 3659 (https://tools.ietf.org/html/rfc3659)
|
||||
// - suggested implementation details from https://cr.yp.to/ftp/filesystem.html
|
||||
//
|
||||
// Copyright (C) 2020 Michael Theall
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#include "gettext.h"
|
||||
|
||||
#include "fs.h"
|
||||
|
||||
#include <cerrno>
|
||||
#include <cinttypes>
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace
|
||||
{
|
||||
using StringMap = std::map<std::string, std::string>;
|
||||
using Table = std::vector<std::pair<std::uint32_t, std::uint32_t>>;
|
||||
|
||||
StringMap s_translations;
|
||||
|
||||
/// \brief Read u32 value
|
||||
/// \param file_ File to read
|
||||
/// \param[out] data_ Output data
|
||||
/// \param le_ Whether little-endian
|
||||
bool read (fs::File &file_, std::uint32_t &data_, bool const le_)
|
||||
{
|
||||
if (!file_.readAll (&data_, sizeof (data_)))
|
||||
return false;
|
||||
|
||||
if (!le_)
|
||||
data_ = __builtin_bswap32 (data_);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// \brief Load string table [offset, length]
|
||||
/// \param file_ File to read
|
||||
/// \param offset_ Offset to read from
|
||||
/// \param count_ Number of entries
|
||||
/// \param le_ Whether little-endian
|
||||
Table loadTable (fs::File &file_, off_t const offset_, std::uint32_t const count_, bool const le_)
|
||||
{
|
||||
if (file_.seek (offset_) != 0)
|
||||
return {};
|
||||
|
||||
Table table;
|
||||
for (std::uint32_t i = 0; i < count_; ++i)
|
||||
{
|
||||
std::uint32_t length;
|
||||
if (!read (file_, length, le_))
|
||||
return {};
|
||||
|
||||
std::uint32_t offset;
|
||||
if (!read (file_, offset, le_))
|
||||
return {};
|
||||
|
||||
table.emplace_back (std::make_pair (offset, length));
|
||||
}
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
/// \brief Load string
|
||||
/// \param file_ File to read
|
||||
/// \param offset_ String offset
|
||||
/// \param length_ String length
|
||||
std::string loadString (fs::File &file_, std::uint32_t const offset_, std::uint32_t const length_)
|
||||
{
|
||||
if (length_ == 0)
|
||||
return {};
|
||||
|
||||
if (file_.seek (offset_) != 0)
|
||||
return {};
|
||||
|
||||
std::string str (length_, 0);
|
||||
|
||||
if (!file_.readAll (&str[0], length_))
|
||||
return {};
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
/// \brief Load translations
|
||||
/// \param language_ Language to load
|
||||
void loadTranslations (char const *const language_)
|
||||
{
|
||||
char path[32];
|
||||
std::sprintf (path, "romfs:/locale/%s/ftpd.mo", language_);
|
||||
|
||||
fs::File file;
|
||||
if (!file.open (path))
|
||||
return;
|
||||
|
||||
std::uint32_t magic;
|
||||
if (!read (file, magic, true))
|
||||
return;
|
||||
|
||||
bool le;
|
||||
if (magic == 0x950412DE)
|
||||
le = true;
|
||||
else if (magic == 0xDE120495)
|
||||
le = false;
|
||||
else
|
||||
return;
|
||||
|
||||
std::uint32_t version;
|
||||
if (!read (file, version, le) || version != 0)
|
||||
return;
|
||||
|
||||
std::uint32_t numStrings;
|
||||
if (!read (file, numStrings, le))
|
||||
return;
|
||||
|
||||
std::uint32_t originalOffset;
|
||||
if (!read (file, originalOffset, le))
|
||||
return;
|
||||
|
||||
std::uint32_t translationOffset;
|
||||
if (!read (file, translationOffset, le))
|
||||
return;
|
||||
|
||||
std::uint32_t hashSize;
|
||||
if (!read (file, hashSize, le))
|
||||
return;
|
||||
|
||||
std::uint32_t hashOffset;
|
||||
if (!read (file, hashOffset, le))
|
||||
return;
|
||||
|
||||
auto originalTable = loadTable (file, originalOffset, numStrings, le);
|
||||
if (originalTable.size () != numStrings)
|
||||
return;
|
||||
|
||||
auto translationTable = loadTable (file, translationOffset, numStrings, le);
|
||||
if (translationTable.size () != numStrings)
|
||||
return;
|
||||
|
||||
StringMap strings;
|
||||
for (std::uint32_t i = 0; i < numStrings; ++i)
|
||||
{
|
||||
auto originalString = loadString (file, originalTable[i].first, originalTable[i].second);
|
||||
auto translationString =
|
||||
loadString (file, translationTable[i].first, translationTable[i].second);
|
||||
|
||||
strings.emplace (std::make_pair (originalString, translationString));
|
||||
}
|
||||
|
||||
std::swap (strings, s_translations);
|
||||
}
|
||||
}
|
||||
|
||||
void setLanguage (char const *const language_)
|
||||
{
|
||||
loadTranslations (language_);
|
||||
}
|
||||
|
||||
char const *getText (char const *const text_)
|
||||
{
|
||||
auto it = s_translations.find (text_);
|
||||
if (it != std::end (s_translations) && !it->second.empty ())
|
||||
return it->second.c_str ();
|
||||
|
||||
return text_;
|
||||
}
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "socket.h"
|
||||
|
||||
#include "gettext.h"
|
||||
#include "log.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
@ -35,10 +36,10 @@
|
||||
Socket::~Socket ()
|
||||
{
|
||||
if (m_listening)
|
||||
info ("Stop listening on [%s]:%u\n", m_sockName.name (), m_sockName.port ());
|
||||
info (_ ("Stop listening on [%s]:%u\n"), m_sockName.name (), m_sockName.port ());
|
||||
|
||||
if (m_connected)
|
||||
info ("Closing connection to [%s]:%u\n", m_peerName.name (), m_peerName.port ());
|
||||
info (_ ("Closing connection to [%s]:%u\n"), m_peerName.name (), m_peerName.port ());
|
||||
|
||||
#ifdef NDS
|
||||
if (::closesocket (m_fd) != 0)
|
||||
@ -74,7 +75,7 @@ UniqueSocket Socket::accept ()
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
info ("Accepted connection from [%s]:%u\n", addr.name (), addr.port ());
|
||||
info (_ ("Accepted connection from [%s]:%u\n"), addr.name (), addr.port ());
|
||||
return UniqueSocket (new Socket (fd, m_sockName, addr));
|
||||
}
|
||||
|
||||
@ -144,14 +145,14 @@ bool Socket::connect (SockAddr const &addr_)
|
||||
{
|
||||
m_peerName = addr_;
|
||||
m_connected = true;
|
||||
info ("Connecting to [%s]:%u\n", addr_.name (), addr_.port ());
|
||||
info (_ ("Connecting to [%s]:%u\n"), addr_.name (), addr_.port ());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
m_peerName = addr_;
|
||||
m_connected = true;
|
||||
info ("Connected to [%s]:%u\n", addr_.name (), addr_.port ());
|
||||
info (_ ("Connected to [%s]:%u\n"), addr_.name (), addr_.port ());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -192,7 +193,7 @@ bool Socket::setLinger (bool const enable_, std::chrono::seconds const time_)
|
||||
if (rc != 0)
|
||||
{
|
||||
error ("setsockopt(SO_LINGER, %s, %lus): %s\n",
|
||||
enable_ ? "on" : "off",
|
||||
enable_ ? _ ("on") : _ ("off"),
|
||||
static_cast<unsigned long> (time_.count ()),
|
||||
std::strerror (errno));
|
||||
return false;
|
||||
@ -241,7 +242,9 @@ bool Socket::setReuseAddress (bool const reuse_)
|
||||
int const reuse = reuse_;
|
||||
if (::setsockopt (m_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof (reuse)) != 0)
|
||||
{
|
||||
error ("setsockopt(SO_REUSEADDR, %s): %s\n", reuse_ ? "yes" : "no", std::strerror (errno));
|
||||
error ("setsockopt(SO_REUSEADDR, %s): %s\n",
|
||||
reuse_ ? _ ("yes") : _ ("no"),
|
||||
std::strerror (errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user