Compare commits

...
10 Commits
Author SHA1 Message Date
Uri Tauber 95a847c721 Merge branch 'develop' 2026-08-07 10:04:31 +03:00
Uri Tauber e00f5958df feat: guard against cross-chip firmware installs (#2880) 2026-08-07 09:42:29 +03:00
lranslot 255bab311a fix: read platformio.ini as UTF-8 in git_branch.py (#2897) 2026-08-07 02:05:45 +03:00
Justin Mitchell c507e54478 fix: thread-safety issues in credential store (#2834) 2026-08-07 01:16:22 +03:00
Uri Tauber 5eec70de36 add IPA intervals to SD fonts 2026-08-07 01:08:29 +03:00
+19 28f3260c51 chore: update translations (#2740)
Co-authored-by: Leopoldo Pla Sempere <leopoldo.pla@treelogic.com>
Co-authored-by: muhas <muhas@muhas.ru>
Co-authored-by: Matteo Scopel <matteo@scopel.email>
Co-authored-by: CookieCaptainD <65847023+CookieCaptainD@users.noreply.github.com>
Co-authored-by: Poc031205 <165477165+Poc031205@users.noreply.github.com>
Co-authored-by: Rodrigo Matsuura <matsuura@outlook.com.br>
Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com>
Co-authored-by: Tom-Inge Larsen <tom.inge@gmail.com>
Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com>
Co-authored-by: Barış Albayrak <barisa@pop-os.lan>
Co-authored-by: Hendra Kusumah <h.kusumah87@gmail.com>
Co-authored-by: thehijacker <thehijacker@gmail.com>
Co-authored-by: Andrej Kralj <andrej.kralj@gmail.com>
Co-authored-by: Bastian <391732+dasrecht@users.noreply.github.com>
Co-authored-by: th0m4sek <53303628+th0m4sek@users.noreply.github.com>
Co-authored-by: Dexif <spev@gurtam.team>
Co-authored-by: Mirus <mirusim@gmail.com>
Co-authored-by: Mirza Arnaut <mirza.arnaut45@gmail.com>
Co-authored-by: Husam Younis <youhusam@gmail.com>
Co-authored-by: Ing. Jan Kaláb <jan+github@kalabovi.org>
Co-authored-by: Tadas <tadasss@gmail.com>
Co-authored-by: winst0niuss <chumachenko.vadym@gmail.com>
Co-authored-by: fsocietyipa <fsociety.ipa@gmail.com>
Co-authored-by: Okzhetpes <okzhetpes.valikhanov@gmail.com>
Co-authored-by: KymAndriy <32357131+KymAndriy@users.noreply.github.com>
Co-authored-by: KymAndriy <test@notamail.ua>
Co-authored-by: Martin <35097765+neresus@users.noreply.github.com>
Co-authored-by: Hoang Manh Linh <jetaudio.media@gmail.com>
2026-08-06 23:39:05 +03:00
Phạm Bình An 046827fc31 fix(epub): ruby overflows right border when justifying text, unwanted short lines in Chinese and Japanese (#2781) 2026-08-06 23:26:09 +03:00
Uri Tauber fecb9eb3a4 fix: trim curly quotes and dashes in dictionary lookup (#2877) 2026-08-05 15:37:41 -04:00
Jesse Vincent 53232eefab fix: recognize watchdog-triggered resets as panics (#2830) 2026-08-05 22:02:41 +03:00
winst0niuss cc96e3c538 fix: size translated-label buffers for UTF-8, not ASCII (#2850) 2026-08-05 21:51:37 +03:00
60 changed files with 2037 additions and 599 deletions

No files matched your search

+1 -2
View File
@@ -29,6 +29,5 @@ lib/EpdFont/scripts/output/
/.dummy
/CMakeLists.txt
/dependencies.lock
/sdkconfig.default
/sdkconfig.defaults
/sdkconfig.*
sdkconfig.sticky
+1
View File
@@ -153,6 +153,7 @@ To convert your own TrueType/OpenType fonts:
| `armenian` | Armenian |
| `ethiopic` | Ethiopic + Extended |
| `vietnamese` | Vietnamese subset (ơ/ư and combining marks) |
| `ipa-chars` | IPA Extensions + Spacing Modifier Letters (phonetic transcription) |
| `punctuation` | General punctuation (U+2000–U+206F) |
| `cjk` | CJK Unified Ideographs + Hiragana + Katakana + Fullwidth |
| `hangul` | Korean Hangul syllables + Jamo + Compatibility Jamo |
@@ -49,6 +49,7 @@ INTERVAL_PRESETS = {
"armenian": [(0x0530, 0x058F)],
"ethiopic": [(0x1200, 0x137F), (0x1380, 0x139F), (0x2D80, 0x2DDF)],
"vietnamese": [(0x01A0, 0x01B0), (0x1EA0, 0x1EF9)],
"ipa-chars": [(0x0250, 0x02AF), (0x02B0, 0x02FF)],
"punctuation": [(0x2000, 0x206F)],
"cjk": [(0x3000, 0x303F), (0x3040, 0x309F), (0x30A0, 0x30FF),
(0x4E00, 0x9FFF), (0xF900, 0xFAFF), (0xFF00, 0xFFEF)],
+21 -21
View File
@@ -35,7 +35,7 @@ families:
- name: Literata
description: "Screen-optimized serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/googlefonts/literata/main/fonts/ttf/Literata-Regular.ttf"}
@@ -45,7 +45,7 @@ families:
- name: SourceSerif4
description: "Adobe transitional serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/adobe-fonts/source-serif/release/TTF/SourceSerif4-Regular.ttf"}
@@ -55,7 +55,7 @@ families:
- name: NotoSerifExtended
description: "Serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/notofonts/NotoSerif/main/fonts/ttf/unhinted/instance_ttf/NotoSerif-Regular.ttf"}
@@ -65,7 +65,7 @@ families:
- name: Merriweather
description: "Warm serif for long-form reading (Latin, Cyrillic)"
intervals: latin-ext,cyrillic
intervals: latin-ext,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/SorkinType/Merriweather/master/fonts/ttf/Merriweather-Regular.ttf"}
@@ -75,7 +75,7 @@ families:
- name: Lora
description: "Calligraphic serif for literary reading (Latin, Cyrillic)"
intervals: latin-ext,cyrillic
intervals: latin-ext,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/cyrealtype/Lora-Cyrillic/main/fonts/ttf/Lora-Regular.ttf"}
@@ -85,7 +85,7 @@ families:
- name: GentiumBookPlus
description: "Scholarly serif with wide Unicode coverage (Latin, Greek, Cyrillic, IPA)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/gentiumbookplus/GentiumBookPlus-Regular.ttf"}
@@ -95,7 +95,7 @@ families:
- name: IBMPlexSerif
description: "Professional serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/ibmplexserif/IBMPlexSerif-Regular.ttf"}
@@ -105,7 +105,7 @@ families:
- name: Bitter
description: "Slab serif designed for e-ink (Latin, Cyrillic)"
intervals: latin-ext,cyrillic
intervals: latin-ext,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/bitter/Bitter%5Bwght%5D.ttf", variable: {wght: 500}}
@@ -115,7 +115,7 @@ families:
- name: Domitian
description: "A humanist serif for literary reading (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://mirrors.ctan.org/fonts/domitian/opentype/Domitian-Roman.otf"}
@@ -125,7 +125,7 @@ families:
- name: LibreBaskerville
description: "A serif reimplementing the classic Baskerville (Latin)"
intervals: latin-ext
intervals: latin-ext,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/impallari/Libre-Baskerville/master/fonts/ttf/LibreBaskerville-Regular.ttf"}
@@ -135,7 +135,7 @@ families:
- name: Vollkorn
description: "A serif for bread and butter use by Friedrich Althausen (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/vollkorn/Vollkorn%5Bwght%5D.ttf", variable: {wght: 400}}
@@ -147,7 +147,7 @@ families:
- name: NotoSansExtended
description: "Sans-serif (Latin, Greek, Cyrillic, Georgian, Armenian, Ethiopic)"
intervals: latin-ext,greek,cyrillic,georgian,armenian,ethiopic
intervals: latin-ext,greek,cyrillic,georgian,armenian,ethiopic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {path: "builtinFonts/source/NotoSans/NotoSans-Regular.ttf"}
@@ -157,7 +157,7 @@ families:
- name: Inter
description: "Modern sans-serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/inter/Inter%5Bopsz%2Cwght%5D.ttf", variable: {wght: 400, opsz: 14}}
@@ -167,7 +167,7 @@ families:
- name: SourceSans3
description: "Adobe humanist sans-serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/adobe-fonts/source-sans/release/TTF/SourceSans3-Regular.ttf"}
@@ -177,7 +177,7 @@ families:
- name: IBMPlexSans
description: "IBM corporate sans-serif (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/IBM/plex/master/packages/plex-sans/fonts/complete/ttf/IBMPlexSans-Regular.ttf"}
@@ -187,7 +187,7 @@ families:
- name: Alegreya
description: "Calligraphic serif/display (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/alegreya/Alegreya%5Bwght%5D.ttf", variable: {wght: 400}}
@@ -199,7 +199,7 @@ families:
- name: IBMPlexMono
description: "Monospace for code and technical reading (Latin, Greek, Cyrillic)"
intervals: latin-ext,greek,cyrillic
intervals: latin-ext,greek,cyrillic,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/ibmplexmono/IBMPlexMono-Regular.ttf"}
@@ -209,7 +209,7 @@ families:
- name: SourceCodePro
description: "Adobe monospace with excellent hinting (Latin)"
intervals: latin-ext
intervals: latin-ext,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/adobe-fonts/source-code-pro/release/TTF/SourceCodePro-Regular.ttf"}
@@ -221,7 +221,7 @@ families:
- name: OpenDyslexic
description: "Dyslexia-friendly font (Latin)"
intervals: latin-ext
intervals: latin-ext,ipa-chars
sizes: [8, 10, 12, 14]
styles:
regular: {path: "builtinFonts/source/OpenDyslexic/OpenDyslexic-Regular.otf"}
@@ -233,7 +233,7 @@ families:
- name: AtkinsonHyperlegibleNext
description: "Accessibility font for low vision (Latin)"
intervals: latin-ext
intervals: latin-ext,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible-next/main/fonts/ttf/AtkinsonHyperlegibleNext-Regular.ttf"}
@@ -243,7 +243,7 @@ families:
- name: LexicaUltralegible
description: "Accessibility font for low vision / dyslexia (Latin)"
intervals: latin-ext
intervals: latin-ext,ipa-chars
sizes: [12, 14, 16, 18]
styles:
regular: {url: "https://raw.githubusercontent.com/jacobxperez/lexica-ultralegible/main/fonts/ttf/LexicaUltralegible-Regular.ttf"}
+93 -83
View File
@@ -681,6 +681,76 @@ static inline bool isCjkIdeograph(uint32_t cp) {
(cp >= 0x20000 && cp <= 0x3FFFF);
}
// The first word of a line may have its ruby characters wider than the word (the base text). In that case, we need to
// move the base text to the right a bit so that ruby text doesn't overflow the left border, and it is still centered
// over the base text. This function calculates how much we need to move the base text to the right.
int ParsedText::calculateRubyExtraStartOffset(const size_t wordIdx, const size_t maxWordIdx,
const GfxRenderer& renderer, const int fontId) const {
if (rubyTexts.empty() || wordIdx >= rubyTexts.size() || rubyTexts[wordIdx].empty() ||
(wordStyles[wordIdx] & EpdFontFamily::RUBY_CONTINUE) != 0) {
return 0;
}
size_t groupWordCount = 1;
while (wordIdx + groupWordCount < maxWordIdx &&
(wordStyles[wordIdx + groupWordCount] & EpdFontFamily::RUBY_CONTINUE) != 0) {
groupWordCount++;
}
int groupActualWidth = 0;
for (size_t k = 0; k < groupWordCount; ++k) {
groupActualWidth += measureWordWidth(renderer, fontId, words[wordIdx + k], wordStyles[wordIdx + k]);
}
const int rubyWidth = renderer.getTextAdvanceX(fontId, rubyTexts[wordIdx].c_str(), EpdFontFamily::SUP);
if (rubyWidth <= groupActualWidth) {
return 0;
}
const int leftOverlap = (rubyWidth - groupActualWidth) / 2;
// This function is only ever called for the first word of a line.
// words[wordIdx - 1], if it exists, is always the last word of the *prior* line
// and cannot absorb any left overhang on the current line.
// The full leftOverlap must therefore be reserved as a visual indent so the
// ruby text does not overflow the left margin.
return leftOverlap;
}
// The last ruby group on a line may have its ruby characters wider than the group's base text.
// The right half of that overhang protrudes past the last base character. This function returns
// the amount of right-margin space that must be reserved so the ruby does not overflow the right
// border. It mirrors calculateRubyExtraStartOffset: words[lineBreak] is on the *next* line and
// cannot absorb any of the right overhang on the current line, so the full rightOverlap is returned.
int ParsedText::calculateRubyExtraEndOffset(const size_t lineStartIdx, const size_t lineBreakIdx,
const GfxRenderer& renderer, const int fontId) const {
if (rubyTexts.empty() || lineBreakIdx == 0 || lineStartIdx >= lineBreakIdx) {
return 0;
}
// Walk backwards from the last word to find the leader of the last ruby group on the line.
size_t leaderIdx = lineBreakIdx - 1;
while (leaderIdx > lineStartIdx && (wordStyles[leaderIdx] & EpdFontFamily::RUBY_CONTINUE) != 0) {
leaderIdx--;
}
// leaderIdx must be a ruby group leader (non-empty ruby, no RUBY_CONTINUE flag).
if (leaderIdx >= rubyTexts.size() || rubyTexts[leaderIdx].empty() ||
(wordStyles[leaderIdx] & EpdFontFamily::RUBY_CONTINUE) != 0) {
return 0;
}
// Measure the group.
int groupActualWidth = 0;
for (size_t k = leaderIdx; k < lineBreakIdx; ++k) {
groupActualWidth += measureWordWidth(renderer, fontId, words[k], wordStyles[k]);
}
const int rubyWidth = renderer.getTextAdvanceX(fontId, rubyTexts[leaderIdx].c_str(), EpdFontFamily::SUP);
if (rubyWidth <= groupActualWidth) {
return 0;
}
return (rubyWidth - groupActualWidth) / 2;
}
std::vector<uint16_t> ParsedText::calculateWordWidths(const GfxRenderer& renderer, const int fontId) {
std::vector<uint16_t> wordWidths;
wordWidths.reserve(words.size());
@@ -691,9 +761,6 @@ std::vector<uint16_t> ParsedText::calculateWordWidths(const GfxRenderer& rendere
// Adjust widths for ruby groups to comply with JLReq standards
if (!rubyTexts.empty()) {
const int ascender = renderer.getFontAscenderSize(fontId);
const int maxOverhang = ascender / 2; // Maximum overhang over non-ideographic characters (Kana, punctuation, etc.)
struct RubyGroupInfo {
size_t start;
size_t count;
@@ -730,9 +797,10 @@ std::vector<uint16_t> ParsedText::calculateWordWidths(const GfxRenderer& rendere
if (g.start > 0) {
const uint32_t cpPrev = lastCodepoint(words[g.start - 1]);
if (isCjkIdeograph(cpPrev)) {
wordWidths[g.start] += g.leftOverlap;
wordWidths[g.start - 1] += g.leftOverlap;
} else {
wordWidths[g.start] += std::max(0, g.leftOverlap - maxOverhang);
const int maxLeftOverhang = wordWidths[g.start - 1] / 2;
wordWidths[g.start - 1] += std::max(0, g.leftOverlap - maxLeftOverhang);
}
}
@@ -752,7 +820,8 @@ std::vector<uint16_t> ParsedText::calculateWordWidths(const GfxRenderer& rendere
if (isCjkIdeograph(cpNext)) {
wordWidths[g.start + g.count - 1] += g.rightOverlap;
} else {
wordWidths[g.start + g.count - 1] += std::max(0, g.rightOverlap - maxOverhang);
const int maxRightOverhang = wordWidths[nextIdx] / 2;
wordWidths[g.start + g.count - 1] += std::max(0, g.rightOverlap - maxRightOverhang);
}
// Check if there is another ruby group further ahead separated only by non-ideographs
@@ -769,8 +838,10 @@ std::vector<uint16_t> ParsedText::calculateWordWidths(const GfxRenderer& rendere
gapWidth += wordWidths[k];
}
if (onlyNonIdeographsInBetween) {
const int allowedRight = std::min(g.rightOverlap, maxOverhang);
const int allowedLeft = std::min(nextG.leftOverlap, maxOverhang);
const int maxRightOverhang = wordWidths[g.start + g.count - 1] / 2;
const int maxLeftOverhang = wordWidths[nextG.start - 1] / 2;
const int allowedRight = std::min(g.rightOverlap, maxRightOverhang);
const int allowedLeft = std::min(nextG.leftOverlap, maxLeftOverhang);
const int touchOverlap = allowedRight + allowedLeft - gapWidth;
if (touchOverlap > 0) {
wordWidths[g.start + g.count - 1] += touchOverlap;
@@ -837,36 +908,7 @@ std::vector<size_t> ParsedText::computeLineBreaks(const GfxRenderer& renderer, c
}
// Calculate extraStartOffset for the first word on the line (i) (protect left margin)
int extraStartOffset = 0;
if (j == i && !rubyTexts.empty() && i < rubyTexts.size() && !rubyTexts[i].empty() &&
(wordStyles[i] & EpdFontFamily::RUBY_CONTINUE) == 0) {
int groupWordCount = 1;
while (i + groupWordCount < totalWordCount &&
(wordStyles[i + groupWordCount] & EpdFontFamily::RUBY_CONTINUE) != 0) {
groupWordCount++;
}
int groupActualWidth = 0;
for (int k = 0; k < groupWordCount; ++k) {
groupActualWidth += measureWordWidth(renderer, fontId, words[i + k], wordStyles[i + k]);
}
const int rubyWidth = renderer.getTextAdvanceX(fontId, rubyTexts[i].c_str(), EpdFontFamily::SUP);
if (rubyWidth > groupActualWidth) {
const int leftOverlap = (rubyWidth - groupActualWidth) / 2;
const int ascender = renderer.getFontAscenderSize(fontId);
const int maxOverhang = ascender / 2;
int expansion_added = 0;
if (i > 0) {
const uint32_t cpPrev = lastCodepoint(words[i - 1]);
if (isCjkIdeograph(cpPrev)) {
expansion_added = leftOverlap;
} else {
expansion_added = std::max(0, leftOverlap - maxOverhang);
}
}
extraStartOffset = leftOverlap - expansion_added;
}
}
const int extraStartOffset = (j == i) ? calculateRubyExtraStartOffset(i, totalWordCount, renderer, fontId) : 0;
currlen += wordWidths[j] + gap + (j == i ? extraStartOffset : 0);
@@ -879,46 +921,7 @@ std::vector<size_t> ParsedText::computeLineBreaks(const GfxRenderer& renderer, c
continue;
}
// Calculate extraEndOffset if we break after word j (protect right margin)
int extraEndOffset = 0;
if (!rubyTexts.empty() && j < rubyTexts.size()) {
bool isLastOfGroup = false;
size_t leaderIdx = j;
while (true) {
if (!rubyTexts[leaderIdx].empty() && (wordStyles[leaderIdx] & EpdFontFamily::RUBY_CONTINUE) == 0) {
isLastOfGroup = true;
break;
}
if (leaderIdx == 0 || (wordStyles[leaderIdx] & EpdFontFamily::RUBY_CONTINUE) == 0) {
break;
}
leaderIdx--;
}
if (isLastOfGroup && (j + 1 == totalWordCount || (wordStyles[j + 1] & EpdFontFamily::RUBY_CONTINUE) == 0)) {
int groupActualWidth = 0;
for (size_t k = leaderIdx; k <= j; ++k) {
groupActualWidth += measureWordWidth(renderer, fontId, words[k], wordStyles[k]);
}
const int rubyWidth = renderer.getTextAdvanceX(fontId, rubyTexts[leaderIdx].c_str(), EpdFontFamily::SUP);
if (rubyWidth > groupActualWidth) {
const int rightOverlap = (rubyWidth - groupActualWidth) / 2;
const int ascender = renderer.getFontAscenderSize(fontId);
const int maxOverhang = ascender / 2;
int expansion_added = 0;
if (j + 1 < totalWordCount) {
const uint32_t cpNext = firstCodepoint(words[j + 1]);
if (isCjkIdeograph(cpNext)) {
expansion_added = rightOverlap;
} else {
expansion_added = std::max(0, rightOverlap - maxOverhang);
}
}
extraEndOffset = rightOverlap - expansion_added;
}
}
}
const int extraEndOffset = calculateRubyExtraEndOffset(i, j + 1, renderer, fontId);
if (currlen + extraEndOffset > effectivePageWidth) {
continue; // Cannot split here as it would overflow the right margin
@@ -939,7 +942,9 @@ std::vector<size_t> ParsedText::computeLineBreaks(const GfxRenderer& renderer, c
}
}
if (cost < dp[i]) {
// Favor longer lines when line-breaking costs are equal, to avoid unnecessary short lines in Chinese and Japanese
// text.
if (cost <= dp[i]) {
dp[i] = cost;
ans[i] = j; // j is the index of the last word in this optimal line
}
@@ -1171,6 +1176,9 @@ void ParsedText::extractLine(const size_t breakIndex, const int pageWidth, const
std::copy(rubyTexts.begin() + lastBreakAt, rubyTexts.begin() + lastBreakAt + copyCount, lineRubyTexts.begin());
}
const int extraStartOffset = calculateRubyExtraStartOffset(lastBreakAt, lineBreak, renderer, fontId);
const int extraEndOffset = calculateRubyExtraEndOffset(lastBreakAt, lineBreak, renderer, fontId);
std::vector<std::string> lineWords;
lineWords.reserve(lineWordCount);
std::vector<EpdFontFamily::Style> lineWordStyles;
@@ -1225,8 +1233,9 @@ void ParsedText::extractLine(const size_t breakIndex, const int pageWidth, const
? CssTextAlign::Right
: blockStyle.alignment;
// For justified text, compute per-gap extra to distribute remaining space evenly
const int spareSpace = effectivePageWidth - lineWordWidthSum - totalNaturalGaps;
// For justified text, compute per-gap extra to distribute remaining space evenly.
// extraEndOffset reserves space for any ruby group at the right edge of the line.
const int spareSpace = effectivePageWidth - extraStartOffset - extraEndOffset - lineWordWidthSum - totalNaturalGaps;
const int justifyExtra = (effectiveAlignment == CssTextAlign::Justify && !isLastLine)
? computeJustifyExtra(spareSpace, actualGapCount)
: 0;
@@ -1307,7 +1316,8 @@ void ParsedText::extractLine(const size_t breakIndex, const int pageWidth, const
}
}
const int reorderedSpare = effectivePageWidth - reorderedWordWidthSum - reorderedNaturalGaps;
const int reorderedSpare =
effectivePageWidth - extraStartOffset - extraEndOffset - reorderedWordWidthSum - reorderedNaturalGaps;
const int reorderedJustifyExtra = (effectiveAlignment == CssTextAlign::Justify && !isLastLine)
? computeJustifyExtra(reorderedSpare, reorderedGapCount)
: 0;
@@ -1412,7 +1422,7 @@ void ParsedText::extractLine(const size_t breakIndex, const int pageWidth, const
}
} else {
// LTR: position words from left to right
int xpos = firstLineIndent;
int xpos = firstLineIndent + extraStartOffset;
if (effectiveAlignment == CssTextAlign::Right) {
xpos = effectivePageWidth - lineWordWidthSum - totalNaturalGaps;
} else if (effectiveAlignment == CssTextAlign::Center) {
+3
View File
@@ -59,6 +59,9 @@ class ParsedText {
void pushVisibleOffset(uint32_t offset);
void insertVisibleOffset(size_t wordIndex, uint32_t offset);
void eraseVisibleOffsetPrefix(size_t count);
int calculateRubyExtraStartOffset(size_t wordIdx, size_t maxWordIdx, const GfxRenderer& renderer, int fontId) const;
int calculateRubyExtraEndOffset(size_t lineStartIdx, size_t lineBreakIdx, const GfxRenderer& renderer,
int fontId) const;
int resolveFirstLineIndent(bool isFirstLine, const GfxRenderer& renderer, int fontId) const;
std::vector<size_t> computeLineBreaks(const GfxRenderer& renderer, int fontId, int pageWidth,
std::vector<uint16_t>& wordWidths, std::vector<bool>& continuesVec,
+1 -1
View File
@@ -31,7 +31,7 @@ namespace {
// match. Keeps <br>-per-paragraph books (common CJK formatting) from
// re-adding container spacing at every paragraph.
// v35: Persist a uint32_t visible-text start offset for every page.
constexpr uint8_t SECTION_FILE_VERSION = 35;
constexpr uint8_t SECTION_FILE_VERSION = 36;
// Written into the version field while a build is in progress; patched to
// SECTION_FILE_VERSION only when the build is finalized. An abandoned /
// crash-interrupted .bin therefore carries version 0, which loadSectionFile rejects
+7 -61
View File
@@ -135,86 +135,32 @@ void TextBlock::render(const GfxRenderer& renderer, const int fontId, const int
const bool scanning = renderer.isFontCacheScanning();
const int ascender = renderer.getFontAscenderSize(fontId);
// Resolve ruby collisions left-to-right to prevent adjacent ruby texts from overlapping
// Resolve ruby positions. Layout (extractLine) has already reserved extraStartOffset on the
// left and extraEndOffset on the right, so the centered rubyX is always within the page margins.
struct RubyDrawInfo {
int x;
int width;
std::string text;
BidiUtils::BidiBaseDir baseDir;
};
// hasRuby() is an O(numWords) scan, so resolve it once here rather than per word.
// Both arrays below are only ever read when the line carries ruby, so they stay
// empty (zero allocations) for the ruby-less case, which is every line of a
// non-CJK book. Sized lazily inside the branch.
const bool blockHasRuby = hasRuby();
std::vector<int> wordShiftArr;
std::vector<RubyDrawInfo> rubies;
if (blockHasRuby) {
wordShiftArr.assign(numWords, 0);
rubies.resize(numWords);
int accumulatedShift = 0;
int lastEnd = -9999;
for (uint16_t i = 0; i < numWords; i++) {
wordShiftArr[i] = accumulatedShift;
if (i < rubyTexts.size() && !rubyTexts[i].empty() && (wordStyle(i) & EpdFontFamily::RUBY_CONTINUE) == 0) {
// Find the group size (how many words are part of this ruby annotation)
int groupWordCount = 1;
while (i + groupWordCount < numWords && (wordStyle(i + groupWordCount) & EpdFontFamily::RUBY_CONTINUE) != 0) {
groupWordCount++;
}
// Compute actual width for the group
int groupActualWidth = 0;
for (int k = 0; k < groupWordCount; ++k) {
groupActualWidth += renderer.getTextAdvanceX(fontId, wordText(i + k), wordStyle(i + k));
}
const char* word = wordText(i);
const int leaderWordX = xposArr[i] + x;
const int leaderWordX_shifted = leaderWordX + accumulatedShift;
const auto baseDir =
static_cast<BidiUtils::BidiBaseDir>(BidiUtils::detectParagraphLevel(word, blockStyle.isRtl ? 1 : 0));
const int rubyWidth = renderer.getTextAdvanceX(fontId, rubyTexts[i].c_str(), EpdFontFamily::SUP);
const int screenWidth = renderer.getScreenWidth();
int rubyX = 0;
int groupDrawX = 0;
if (rubyWidth > groupActualWidth) {
rubyX = leaderWordX_shifted - (rubyWidth - groupActualWidth) / 2;
if (i == 0) {
rubyX = std::max(leaderWordX_shifted, rubyX);
}
if (rubyX < lastEnd) {
rubyX = lastEnd;
}
groupDrawX = rubyX + (rubyWidth - groupActualWidth) / 2;
} else {
groupDrawX = leaderWordX_shifted;
rubyX = groupDrawX + (groupActualWidth - rubyWidth) / 2;
if (i == 0) {
rubyX = std::max(leaderWordX_shifted, rubyX);
}
if (rubyX < lastEnd) {
const int push = lastEnd - rubyX;
rubyX = lastEnd;
groupDrawX += push;
}
}
rubyX = std::max(0, std::min(rubyX, screenWidth - rubyWidth));
// Keep groupDrawX aligned if rubyX was clamped by screen edges
if (rubyWidth > groupActualWidth) {
groupDrawX = rubyX + (rubyWidth - groupActualWidth) / 2;
}
rubies[i] = {rubyX, rubyWidth, rubyTexts[i], baseDir};
lastEnd = rubyX + rubyWidth;
// Propagate shift to all words in the group and subsequent words
const int groupShift = groupDrawX - leaderWordX;
accumulatedShift = groupShift;
for (int k = 0; k < groupWordCount; ++k) {
wordShiftArr[i + k] = accumulatedShift;
}
const int leaderWordX = xposArr[i] + x;
const auto baseDir =
static_cast<BidiUtils::BidiBaseDir>(BidiUtils::detectParagraphLevel(wordText(i), blockStyle.isRtl ? 1 : 0));
rubies[i] = {leaderWordX - (rubyWidth - groupActualWidth) / 2, rubyTexts[i], baseDir};
i += groupWordCount - 1;
}
}
@@ -275,7 +221,7 @@ void TextBlock::render(const GfxRenderer& renderer, const int fontId, const int
wordY += ascender / 4;
}
const int drawX = wordX + (blockHasRuby ? wordShiftArr[i] : 0);
const int drawX = wordX;
if (boundary > 0) {
// Focus split: draw bold prefix, then the regular suffix at a pre-computed x offset.
+41
View File
@@ -10,6 +10,7 @@ STR_BROWSE_FILES: "تصفح الملفات"
STR_FILE_TRANSFER: "نقل الملفات"
STR_SETTINGS_TITLE: "الإعدادات"
STR_CONTINUE_READING: "متابعة القراءة"
STR_RESUME: "استئناف"
STR_NO_OPEN_BOOK: "لا يوجد كتاب مفتوح"
STR_START_READING: "ابدأ القراءة أدناه"
STR_NO_FILES_FOUND: "لم يتم العثور على ملفات"
@@ -22,9 +23,20 @@ STR_INDEX_FAILED: "فشلت الفهرسة - كتاب غير صالح"
STR_MEMORY_ERROR: "خطأ في الذاكرة"
STR_PAGE_LOAD_ERROR: "خطأ في تحميل الصفحة"
STR_EMPTY_FILE: "ملف فارغ"
STR_INVALID_BMP_FILE: "ملف BMP غير صالح"
STR_FILE_OPEN_FAILED: "تعذر فتح الملف"
STR_OUT_OF_BOUNDS: "خارج النطاق"
STR_LOADING: "جاري التحميل..."
STR_LOADING_POPUP: "جاري التحميل"
STR_LOOKUP: "بحث"
STR_DICT_LOOKING_UP: "جاري البحث..."
STR_DICT_INDEXING: "جاري فهرسة القاموس..."
STR_DICT_NOT_FOUND: "غير موجود"
STR_DICT_NO_DICT_SET: "لم يتم تحديد قاموس"
STR_DICT_ERROR: "خطأ في القاموس"
STR_DICT_READ_FAILED: "تعذر قراءة التعريف"
STR_DICT_DECOMPRESS_ERROR: "تعذر فك ضغط التعريف"
STR_DICT_LOW_MEMORY: "الذاكرة غير كافية"
STR_WIFI_NETWORKS: "شبكات Wi-Fi"
STR_NO_NETWORKS: "لم يتم العثور على شبكات"
STR_NETWORKS_FOUND: "تم العثور على %zu شبكة"
@@ -81,6 +93,7 @@ STR_EOB_CONTINUE_WITH: "المتابعة إلى"
STR_SHORT_PWR_BTN: "ضغطة قصيرة على زر التشغيل"
STR_ORIENTATION: "اتجاه القراءة"
STR_SIDE_BTN_LAYOUT: "تخطيط الأزرار الجانبية (أثناء القراءة)"
STR_TOUCH_READER_CONTROLS: "التحكم باللمس (أثناء القراءة)"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "تدوير الأزرار الأمامية مع الشاشة"
STR_LONG_PRESS_BEHAVIOR: "سلوك الضغطة الطويلة"
STR_LONG_PRESS_BEHAVIOR_OFF: "إيقاف"
@@ -90,6 +103,13 @@ STR_LONG_PRESS_MENU: "قائمة الضغطة الطويلة"
STR_FONT_PREVIEW_TEXT: "نص حكيم له سر قاطع وذو شأن عظيم مكتوب على ثوب أخضر ومغلف بجلد أزرق"
STR_FONT_FAMILY: "خط القراءة"
STR_FONT_SIZE: "حجم الخط"
STR_TEXT_SETTINGS: "إعدادات النص"
STR_FONT: "الخط"
STR_SIZE: "الحجم"
STR_LAYOUT: "التخطيط"
STR_ALIGNMENT: "المحاذاة"
STR_STYLE: "النمط"
STR_NOT_IN_PREVIEW: "غير معروض في المعاينة"
STR_LINE_SPACING: "تباعد الأسطر"
STR_SCREEN_MARGIN: "هوامش شاشة القراءة"
STR_PARA_ALIGNMENT: "محاذاة الفقرات"
@@ -108,7 +128,15 @@ STR_PASSWORD: "كلمة المرور"
STR_SYNC_SERVER_URL: "عنوان خادم المزامنة"
STR_DOCUMENT_MATCHING: "مطابقة المستندات"
STR_SEND_METADATA: "إرسال البيانات الوصفية للمستند"
STR_SYNC_BEHAVIOR: "سلوك المزامنة"
STR_ASK_EVERY_TIME: "اسأل في كل مرة"
STR_SMART_SYNC: "مزامنة ذكية"
STR_AUTHENTICATE: "تسجيل الدخول"
STR_SIGN_UP: "إنشاء حساب"
STR_CREATING_ACCOUNT: "جاري إنشاء الحساب..."
STR_ACCOUNT_CREATED: "تم إنشاء الحساب"
STR_SIGNUP_FAILED: "فشل إنشاء الحساب"
STR_USERNAME_TAKEN: "اسم المستخدم مسجل مسبقا"
STR_KOREADER_USERNAME: "اسم مستخدم KOReader"
STR_KOREADER_PASSWORD: "كلمة مرور KOReader"
STR_FILENAME: "اسم الملف"
@@ -154,6 +182,7 @@ STR_PREV_NEXT: "السابق/التالي"
STR_NEXT_PREV: "التالي/السابق"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "إشارة مرجعية"
STR_DICTIONARY: "القاموس"
STR_DISABLED: "معطل"
STR_NOTO_SERIF: "Noto Serif"
STR_NOTO_SANS: "Noto Sans"
@@ -210,6 +239,7 @@ STR_CONNECT: "اتصال"
STR_OPEN: "فتح"
STR_DOWNLOAD: "تنزيل"
STR_RETRY: "إعادة المحاولة"
STR_TAP_TO_RETRY: "اضغط لإعادة المحاولة"
STR_YES: "نعم"
STR_NO: "لا"
STR_SHOW: "عرض"
@@ -222,6 +252,9 @@ STR_DIR_RIGHT: "يمين"
STR_DIR_UP: "أعلى"
STR_DIR_DOWN: "أسفل"
STR_OK_BUTTON: "موافق"
STR_KEY_SHIFT: "Shift"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "مرشح غلاف شاشة السكون"
STR_FILTER_CONTRAST: "التباين"
STR_CUSTOMISE_STATUS_BAR: "تخصيص شريط الحالة"
@@ -320,6 +353,7 @@ STR_UPLOAD_LOCAL: "رفع التقدم المحلي"
STR_NO_REMOTE_MSG: "لا يوجد تقدم على الخادم"
STR_UPLOAD_PROMPT: "رفع الموضع الحالي؟"
STR_UPLOAD_SUCCESS: "تم رفع التقدم!"
STR_ALREADY_SYNCED: "متزامن مسبقا"
STR_SYNC_FAILED_MSG: "فشلت المزامنة"
STR_SAVE_PROGRESS_FAILED: "تعذر حفظ التقدم"
STR_SECTION_PREFIX: "القسم "
@@ -329,6 +363,7 @@ STR_EMBEDDED_STYLE: "التنسيق المضمن"
STR_FOCUS_READING: "قراءة مركزة"
STR_OPDS_SERVER_URL: "عنوان خادم OPDS"
STR_PWR_BTN_FOOTNOTE_BACK: "عودة سريعة من الحواشي"
STR_BACK_SHORT_TO_FILE_BROWSER: "عودة سريعة إلى متصفح الملفات"
STR_SET_SLEEP_COVER: "تعيين الغلاف"
STR_FOOTNOTES: "الحواشي"
STR_NO_FOOTNOTES: "لا توجد حواش في هذه الصفحة"
@@ -343,6 +378,12 @@ STR_SERVER_NAME: "اسم الخادم"
STR_NO_SERVERS: "لم يتم إعداد خوادم OPDS"
STR_DELETE_SERVER: "حذف الخادم"
STR_OPDS_SERVERS: "خوادم OPDS"
STR_OPDS_DOWNLOAD_FOLDER: "مجلد التنزيل"
STR_OPDS_FILENAME_FORMAT: "تنسيق اسم الملف"
STR_FMT_AUTHOR_TITLE: "المؤلف - العنوان"
STR_FMT_TITLE_AUTHOR: "العنوان - المؤلف"
STR_FMT_TITLE: "العنوان"
STR_OPDS_SD_ROOT: "جذر بطاقة SD"
STR_AUTO_TURN_ENABLED: "التقليب التلقائي مفعل: "
STR_AUTO_TURN_PAGES_PER_MIN: "التقليب التلقائي (صفحات في الدقيقة)"
STR_MANAGE_FONTS: "إدارة الخطوط"
+118 -1
View File
@@ -10,6 +10,7 @@ STR_BROWSE_FILES: "Прагляд файлаў"
STR_FILE_TRANSFER: "Перадача файлаў"
STR_SETTINGS_TITLE: "Налады"
STR_CONTINUE_READING: "Працягнуць чытанне"
STR_RESUME: "Працягнуць"
STR_NO_OPEN_BOOK: "Няма адкрытай кнігі"
STR_START_READING: "Пачніце чытанне ніжэй"
STR_NO_FILES_FOUND: "Файлы не знойдзены"
@@ -18,17 +19,32 @@ STR_NO_CHAPTERS: "Раздзелаў няма"
STR_END_OF_BOOK: "Канец кнігі"
STR_EMPTY_CHAPTER: "Пусты раздзел"
STR_INDEXING: "Індэксацыя"
STR_INDEX_FAILED: "Памылка індэксацыі — няправільная кніга"
STR_MEMORY_ERROR: "Памылка памяці"
STR_PAGE_LOAD_ERROR: "Памылка загрузкі старонкі"
STR_EMPTY_FILE: "Пусты файл"
STR_INVALID_BMP_FILE: "Няправільны файл BMP"
STR_FILE_OPEN_FAILED: "Не ўдалося адкрыць файл"
STR_OUT_OF_BOUNDS: "Выхад за межы"
STR_LOADING: "Загрузка..."
STR_LOADING_POPUP: "Загрузка"
STR_LOOKUP: "Шукаць"
STR_DICT_LOOKING_UP: "Пошук..."
STR_DICT_INDEXING: "Індэксацыя слоўніка..."
STR_DICT_NOT_FOUND: "Не знойдзена"
STR_DICT_NO_DICT_SET: "Слоўнік не выбраны"
STR_DICT_ERROR: "Памылка слоўніка"
STR_DICT_READ_FAILED: "Не ўдалося прачытаць азначэнне"
STR_DICT_DECOMPRESS_ERROR: "Не ўдалося распакаваць азначэнне"
STR_DICT_LOW_MEMORY: "Не хапае памяці"
STR_WIFI_NETWORKS: "Сеткі Wi-Fi"
STR_NO_NETWORKS: "Сеткі не знойдзены"
STR_NETWORKS_FOUND: "Знойдзена сетак: %zu"
STR_SCANNING: "Сканаванне..."
STR_FINDING_SAVED_WIFI: "Пошук захаванай сеткі Wi-Fi..."
STR_CONNECTING: "Падключэнне..."
STR_CONNECTING_SAVED_WIFI: "Падключэнне да захаванай сеткі Wi-Fi..."
STR_SHOW_NETWORKS: "Паказаць"
STR_CONNECTED: "Падключана!"
STR_CONNECTION_FAILED: "Памылка падключэння"
STR_FORGET_NETWORK: "Забыць сетку?"
@@ -70,7 +86,11 @@ STR_ORIENTATION: "Арыентацыя чытання"
STR_SIDE_BTN_LAYOUT: "Бакавыя кнопкі"
STR_TOUCH_READER_CONTROLS: "Сэнсарнае кіраванне чытаннем"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "Арыентаваць пярэднія кнопкі"
STR_LONG_PRESS_SKIP: "Доўгае націсканне - змена раздзела"
STR_LONG_PRESS_BEHAVIOR: "Дзеянне доўгага націскання"
STR_LONG_PRESS_BEHAVIOR_OFF: "ВЫКЛ"
STR_LONG_PRESS_BEHAVIOR_SKIP: "Змена раздзела"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Змена арыентацыі"
STR_LONG_PRESS_MENU: "Меню доўгім націсканнем"
STR_FONT_PREVIEW_TEXT: "У Іўі худы жвавы чорт у зялёнай камізэльцы пабег пад'есці фаршу з юшкай"
STR_FONT_FAMILY: "Шрыфт чытання"
STR_FONT_SIZE: "Памер шрыфту інтэрфейсу"
@@ -96,7 +116,15 @@ STR_PASSWORD: "Пароль"
STR_SYNC_SERVER_URL: "URL сервера сінхранізацыі"
STR_DOCUMENT_MATCHING: "Супастаўленне дакументаў"
STR_SEND_METADATA: "Адпраўляць метаданыя дакумента"
STR_SYNC_BEHAVIOR: "Рэжым сінхранізацыі"
STR_ASK_EVERY_TIME: "Пытацца кожны раз"
STR_SMART_SYNC: "Разумная сінхранізацыя"
STR_AUTHENTICATE: "Аўтарызацыя"
STR_SIGN_UP: "Рэгістрацыя"
STR_CREATING_ACCOUNT: "Стварэнне ўліковага запісу..."
STR_ACCOUNT_CREATED: "Уліковы запіс створаны"
STR_SIGNUP_FAILED: "Памылка рэгістрацыі"
STR_USERNAME_TAKEN: "Такое імя карыстальніка ўжо занята"
STR_KOREADER_USERNAME: "Імя карыстальніка KOReader"
STR_KOREADER_PASSWORD: "Пароль KOReader"
STR_FILENAME: "Імя файла"
@@ -132,6 +160,7 @@ STR_ALWAYS: "Заўсёды"
STR_IGNORE: "Ігнараваць"
STR_SLEEP: "Сон"
STR_PAGE_TURN: "Перагортванне"
STR_FORCE_REFRESH: "Абнавіць экран"
STR_PORTRAIT: "Партрэт"
STR_LANDSCAPE_CW: "Ландшафт (CW)"
STR_INVERTED: "Інверсія"
@@ -139,6 +168,10 @@ STR_ORIENTATION_INVERTED: "Партрэт 180°"
STR_LANDSCAPE_CCW: "Ландшафт (CCW)"
STR_PREV_NEXT: "Назад/Наперад"
STR_NEXT_PREV: "Наперад/Назад"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "Закладка"
STR_DICTIONARY: "Слоўнік"
STR_DISABLED: "Адключана"
STR_NOTO_SERIF: "Noto Serif"
STR_NOTO_SANS: "Noto Sans"
STR_TIGHT: "Вузкі"
@@ -163,6 +196,7 @@ STR_NO_UPDATE: "Абнаўленняў няма"
STR_UPDATE_FAILED: "Памылка абнаўлення"
STR_UPDATE_COMPLETE: "Абнаўленне завершана"
STR_POWER_ON_HINT: "Утрымлівайце кнопку сілкавання для ўключэння"
STR_RESTARTING_HINT: "Перазапуск... Калі прылада не перазапусцілася, утрымлівайце кнопку сілкавання некалькі секунд."
STR_NO_ENTRIES: "Запісы не знойдзены"
STR_DOWNLOADING: "Спампоўка..."
STR_DOWNLOAD_FAILED: "Памылка спампоўкі"
@@ -171,6 +205,8 @@ STR_UNNAMED: "Без імя"
STR_NO_SERVER_URL: "URL сервера не наладжаны"
STR_FETCH_FEED_FAILED: "Не ўдалося атрымаць стужку"
STR_PARSE_FEED_FAILED: "Не ўдалося апрацаваць стужку"
STR_NEXT_PAGE: "Наступная старонка »"
STR_PREV_PAGE: "« Папярэдняя старонка"
STR_NETWORK_PREFIX: "Сетка:"
STR_IP_ADDRESS_PREFIX: "IP-адрас:"
STR_ERROR_GENERAL_FAILURE: "Памылка: Агульная памылка"
@@ -191,6 +227,7 @@ STR_CONNECT: "Падкл."
STR_OPEN: "Адкрыць"
STR_DOWNLOAD: "Спампаваць"
STR_RETRY: "Паўтарыць"
STR_TAP_TO_RETRY: "Націсніце, каб паўтарыць"
STR_YES: "Так"
STR_NO: "Не"
STR_STATE_ON: "УКЛ"
@@ -201,16 +238,23 @@ STR_DIR_RIGHT: "Управа"
STR_DIR_UP: "Уверх"
STR_DIR_DOWN: "Уніз"
STR_OK_BUTTON: "OK"
STR_KEY_SHIFT: "Shift"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "Фільтр экрана сну"
STR_FILTER_CONTRAST: "Кантраст"
STR_UI_THEME: "Тэма інтэрфейсу"
STR_THEME_CLASSIC: "Класічная"
STR_THEME_LYRA: "Lyra"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
STR_SUNLIGHT_FADING_FIX: "Кампенсацыя выцвітання"
STR_QUICK_RESUME_TIMEOUT: "Хуткае узнаўленне пасля таймаўту"
STR_REMAP_FRONT_BUTTONS: "Пераназначыць пярэднія кнопкі"
STR_BOOKMARKS: "Закладкі"
STR_BOOKMARK_ADDED: "Закладка дададзена."
STR_OPDS_BROWSER: "OPDS браўзер"
STR_SEARCH: "Пошук"
STR_COVER_CUSTOM: "Вокладка + Свой"
STR_QUICK_RESUME: "Хуткае узнаўленне"
STR_MENU_RECENT_BOOKS: "Нядаўнія кнігі"
@@ -259,6 +303,7 @@ STR_UPLOAD_LOCAL: "Адправіць лакальны прагрэс"
STR_NO_REMOTE_MSG: "Аддалены прагрэс не знойдзены"
STR_UPLOAD_PROMPT: "Адправіць бягучую пазіцыю?"
STR_UPLOAD_SUCCESS: "Прагрэс адпраўлены!"
STR_ALREADY_SYNCED: "Ужо сінхранізавана"
STR_SYNC_FAILED_MSG: "Памылка сінхранізацыі"
STR_SAVE_PROGRESS_FAILED: "Не ўдалося захаваць прагрэс"
STR_SECTION_PREFIX: "Раздзел"
@@ -267,11 +312,16 @@ STR_BOOK_S_STYLE: "Стыль кнігі"
STR_EMBEDDED_STYLE: "Убудаваны стыль"
STR_FOCUS_READING: "Фокуснае чытанне"
STR_OPDS_SERVER_URL: "URL OPDS сервера"
STR_PWR_BTN_FOOTNOTE_BACK: "Хуткае вяртанне з зносак"
STR_BACK_SHORT_TO_FILE_BROWSER: "Кароткае «Назад» да файлаў"
STR_SET_SLEEP_COVER: "Задаць вокладку"
STR_SCREENSHOT_BUTTON: "Зрабіць здымак экрана"
STR_IMAGES: "Выявы"
STR_IMAGES_DISPLAY: "Паказваць"
STR_IMAGES_PLACEHOLDER: "Запаўняльнік"
STR_IMAGES_SUPPRESS: "Хаваць"
STR_EOB_HOME: "Галоўная"
STR_EOB_CONTINUE_WITH: "Працягнуць з"
STR_SHOW_HIDDEN_FILES: "Паказваць схаваныя файлы"
STR_REMOVE_READ_FROM_RECENTS: "Ачышчаць прачытаныя кнігі са спісу нядаўніх"
STR_MOVE_FINISHED_TO_READ: "Перамяшчаць прачытаныя кнігі ў тэчку Read"
@@ -293,7 +343,26 @@ STR_EXAMPLE_BOOK: "Назва кнігі"
STR_PREVIEW: "Перадпрагляд"
STR_TITLE: "Назва"
STR_BATTERY: "Батарэя"
STR_XTC_STATUS_BAR: "Радок стану XTC"
STR_BOTTOM: "Унізе"
STR_TOP: "Уверсе"
STR_CLOCK: "Гадзіннік"
STR_CLOCK_UTC_OFFSET: "Зрух гадзінніка ад UTC"
STR_CLOCK_FORMAT: "Фармат часу"
STR_CLOCK_FORMAT_24H: "24-гадзінны"
STR_CLOCK_FORMAT_12H: "12-гадзінны"
STR_CURRENT_TIME: "Бягучы час:"
STR_NEXT_FIELD: "Далей"
STR_CLOCK_SYNC: "Сінхранізаваць гадзіннік"
STR_CLOCK_SYNC_NOW: "Сінхранізаваць зараз"
STR_CLOCK_SYNCING: "Сінхранізацыя праз NTP..."
STR_CLOCK_SYNC_OK: "Гадзіннік сінхранізаваны"
STR_CLOCK_SYNC_FAIL: "Памылка сінхранізацыі"
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi не падключаны"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Спачатку падключыцеся да Wi-Fi, потым паўтарыце."
STR_CLOCK_SYNCED: "Гадзіннік сінхранізаваны"
STR_DELETE: "Выдаліць"
STR_CONFIRM_DELETE_BOOKMARK: "Выдаліць гэтую закладку?"
STR_DISPLAY_QR: "Паказаць старонку як QR"
STR_FOOTNOTES: "Зноскі"
STR_NO_FOOTNOTES: "На гэтай старонцы няма зносак"
@@ -302,13 +371,61 @@ STR_SLEEP_TIMER_VALUE_FORMAT: "%u хв"
STR_SLEEP_NEVER: "Ніколі"
STR_STEP_HINT_FRONT: "Пярэднія кнопкі:"
STR_STEP_HINT_SIDE: "Бакавыя кнопкі:"
STR_ADD_SERVER: "Дадаць сервер"
STR_SERVER_NAME: "Назва сервера"
STR_NO_SERVERS: "Серверы OPDS не наладжаны"
STR_DELETE_SERVER: "Выдаліць сервер"
STR_OPDS_SERVERS: "Серверы OPDS"
STR_OPDS_DOWNLOAD_FOLDER: "Папка для спампоўкі"
STR_OPDS_FILENAME_FORMAT: "Фармат назвы файла"
STR_FMT_AUTHOR_TITLE: "Аўтар - Назва"
STR_FMT_TITLE_AUTHOR: "Назва - Аўтар"
STR_FMT_TITLE: "Назва"
STR_OPDS_SD_ROOT: "Корань SD"
STR_AUTO_TURN_ENABLED: "Аўтаперагортванне: "
STR_AUTO_TURN_PAGES_PER_MIN: "Аўтаперагортванне (старонак за хвіліну)"
STR_MANAGE_FONTS: "Кіраванне шрыфтамі"
STR_FONT_BROWSER: "Агляд шрыфтоў"
STR_LOADING_FONT_LIST: "Загрузка спісу шрыфтоў..."
STR_NO_FONTS_AVAILABLE: "Няма даступных шрыфтоў"
STR_FONT_INSTALLED: "Шрыфт усталяваны!"
STR_FONT_INSTALL_FAILED: "Не ўдалося ўсталяваць шрыфт"
STR_INSTALLED: "Усталявана"
STR_DOWNLOAD_ALL: "Спампаваць усе"
STR_UPDATE_ALL: "Абнавіць усе"
STR_UPDATE_AVAILABLE: "Абнавіць"
STR_CRASH_TITLE: "Збой сістэмы"
STR_CRASH_DESCRIPTION: "Падрабязная справаздача захавана ў crash_report.txt. Калі ласка, далучыце гэты файл да паведамлення пра памылку."
STR_CRASH_REASON: "Прычына збою:"
STR_CRASH_NO_REASON: "(Прычына не зафіксавана)"
STR_TILT_PAGE_TURN: "Перагортванне нахілам"
STR_KB_HINT_MOVE_CURSOR: "Націсніце ЎЛЕВА ці ЎПРАВА, каб перамясціць курсор"
STR_KB_HINT_RETURN_CURSOR: "Націсніце ЎЛЕВА, каб вярнуцца да курсора"
STR_KB_HINT_HIDE_PASSWORD: "Утрымлівайце ЎПРАВА, потым [***], каб схаваць пароль"
STR_KB_HINT_SHOW_PASSWORD: "Утрымлівайце ЎПРАВА, потым [abc], каб паказаць пароль"
STR_KB_HINT_TOGGLE_HIDE_PASSWORD: "Націсніце [***], каб схаваць пароль"
STR_KB_HINT_TOGGLE_SHOW_PASSWORD: "Націсніце [abc], каб паказаць пароль"
STR_KB_HINT_EDIT_ENTRY: "Утрымлівайце ЎВЕРХ, каб рэдагаваць запіс"
STR_KB_TIPS: "Падказкі:"
STR_KB_HINT_RETURN_KEYBOARD: "Націсніце ЎНІЗ, каб вярнуцца да клавіятуры"
STR_KB_HINT_EXIT_URL_MODE: "Націсніце ABC, каб выйсці з рэжыму URL"
STR_KB_HINT_CLEAR_TEXT: "Утрымлівайце DEL, каб сцерці ўвесь тэкст"
STR_KB_HINT_SECONDARY_CHAR: "Утрымлівайце SELECT для дадатковага сімвала"
STR_KB_HINT_UPPER_SECONDARY: "Утрымлівайце SELECT для ВЯЛІКАЙ ЛІТАРЫ ці дадатковага сімвала"
STR_KB_HINT_LOWER_SECONDARY: "Утрымлівайце SELECT для малой літары ці дадатковага сімвала"
STR_KB_HINT_URL_SNIPPETS: "Націсніце URL для шаблонаў"
STR_SD_FIRMWARE_UPDATE: "Абнаўленне прашыўкі з SD-карты"
STR_SELECT_FIRMWARE_FILE: "Абярыце файл прашыўкі (.bin)"
STR_NO_BIN_FILES: "Файлы .bin не знойдзены"
STR_VALIDATING_FIRMWARE: "Праверка прашыўкі..."
STR_INVALID_FIRMWARE: "Няправільны файл прашыўкі"
STR_FIRMWARE_TOO_LARGE: "Прашыўка завялікая для раздзела"
STR_FIRMWARE_TOO_SMALL: "Файл прашыўкі занадта малы"
STR_FIRMWARE_UPDATE_PROMPT: "Абнавіць прашыўку?"
STR_FIRMWARE_FILE_OPEN_FAILED: "Не ўдалося адкрыць файл"
STR_FIRMWARE_WRITE_FAILED: "Не ўдалося запісаць прашыўку"
STR_FIRMWARE_UPDATE_DO_NOT_POWER_OFF: "Не выключайце прыладу!"
STR_RECOVERY_MODE: "Рэжым аднаўлення"
STR_RECOVERY_MODE_HINT: "Змясціце firmware.bin у корань SD-карты і абярыце яго"
STR_ADD_HIDDEN_NETWORK: "Дадаць схаваную сетку..."
STR_ENTER_WIFI_SSID: "Увядзіце назву сеткі (SSID)"
+49 -8
View File
@@ -9,6 +9,7 @@ STR_BROWSE_FILES: "Pregled datoteka"
STR_FILE_TRANSFER: "Prijenos datoteka"
STR_SETTINGS_TITLE: "Postavke"
STR_CONTINUE_READING: "Nastavi čitanje"
STR_RESUME: "Nastavi"
STR_NO_OPEN_BOOK: "Nema otvorene knjige"
STR_START_READING: "Počni čitati ispod"
STR_NO_FILES_FOUND: "Nema pronađenih datoteka"
@@ -21,9 +22,20 @@ STR_INDEX_FAILED: "Indeksiranje nije uspjelo - nevažeća knjiga"
STR_MEMORY_ERROR: "Greška memorije"
STR_PAGE_LOAD_ERROR: "Greška pri učitavanju stranice"
STR_EMPTY_FILE: "Prazna datoteka"
STR_INVALID_BMP_FILE: "Nevažeća BMP datoteka"
STR_FILE_OPEN_FAILED: "Datoteka se ne može otvoriti"
STR_OUT_OF_BOUNDS: "Izvan granica"
STR_LOADING: "Učitavanje..."
STR_LOADING_POPUP: "Učitavanje"
STR_LOOKUP: "Potraži"
STR_DICT_LOOKING_UP: "Traženje..."
STR_DICT_INDEXING: "Indeksiranje rječnika..."
STR_DICT_NOT_FOUND: "Nije pronađeno"
STR_DICT_NO_DICT_SET: "Nije postavljen rječnik"
STR_DICT_ERROR: "Greška rječnika"
STR_DICT_READ_FAILED: "Čitanje definicije nije uspjelo"
STR_DICT_DECOMPRESS_ERROR: "Dekompresija definicije nije uspjela"
STR_DICT_LOW_MEMORY: "Nedovoljno memorije"
STR_WIFI_NETWORKS: "Wi-Fi mreže"
STR_NO_NETWORKS: "Nema pronađenih mreža"
STR_NETWORKS_FOUND: "%zu pronađenih mreža"
@@ -80,6 +92,7 @@ STR_EOB_CONTINUE_WITH: "Nastavi sa"
STR_SHORT_PWR_BTN: "Kratak klik dugmeta napajanja"
STR_ORIENTATION: "Orijentacija čitanja"
STR_SIDE_BTN_LAYOUT: "Raspored bočnih dugmadi (čitač)"
STR_TOUCH_READER_CONTROLS: "Dodirne kontrole čitača"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "Orijentiši prednja dugmad"
STR_LONG_PRESS_BEHAVIOR: "Ponašanje dugog pritiska dugmeta"
STR_LONG_PRESS_BEHAVIOR_OFF: "ISKLJUČENO"
@@ -87,8 +100,15 @@ STR_LONG_PRESS_BEHAVIOR_SKIP: "Preskakanje poglavlja"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Promjena orijentacije"
STR_LONG_PRESS_MENU: "Meni dugog pritiska"
STR_FONT_PREVIEW_TEXT: "Brza smeđa lisica preskače lijenog psa"
STR_FONT_FAMILY: "Porodica fonta čitača"
STR_FONT_SIZE: "Veličina fonta čitača"
STR_FONT_FAMILY: "Porodica pisma čitača"
STR_FONT_SIZE: "Veličina pisma čitača"
STR_TEXT_SETTINGS: "Postavke teksta"
STR_FONT: "Pismo"
STR_SIZE: "Veličina"
STR_LAYOUT: "Izgled"
STR_ALIGNMENT: "Poravnanje"
STR_STYLE: "Stil"
STR_NOT_IN_PREVIEW: "Nije prikazano u pregledu"
STR_LINE_SPACING: "Razmak između redova čitača"
STR_SCREEN_MARGIN: "Margina ekrana čitača"
STR_PARA_ALIGNMENT: "Poravnanje paragrafa čitača"
@@ -107,7 +127,15 @@ STR_PASSWORD: "Lozinka"
STR_SYNC_SERVER_URL: "URL servera za sinhronizaciju"
STR_DOCUMENT_MATCHING: "Podudaranje dokumenata"
STR_SEND_METADATA: "Pošalji metapodatke dokumenta"
STR_SYNC_BEHAVIOR: "Ponašanje sinhronizacije"
STR_ASK_EVERY_TIME: "Pitaj svaki put"
STR_SMART_SYNC: "Pametna sinhronizacija"
STR_AUTHENTICATE: "Autentifikuj"
STR_SIGN_UP: "Registruj se"
STR_CREATING_ACCOUNT: "Kreiranje računa..."
STR_ACCOUNT_CREATED: "Račun je kreiran"
STR_SIGNUP_FAILED: "Registracija nije uspjela"
STR_USERNAME_TAKEN: "Korisničko ime je već registrovano"
STR_KOREADER_USERNAME: "KOReader korisničko ime"
STR_KOREADER_PASSWORD: "KOReader lozinka"
STR_FILENAME: "Naziv datoteke"
@@ -153,6 +181,7 @@ STR_PREV_NEXT: "Prethodno/Sljedeće"
STR_NEXT_PREV: "Sljedeće/Prethodno"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "Obilježivač"
STR_DICTIONARY: "Rječnik"
STR_DISABLED: "Onemogućeno"
STR_NOTO_SERIF: "Noto Serif"
STR_NOTO_SANS: "Noto Sans"
@@ -209,6 +238,7 @@ STR_CONNECT: "Poveži"
STR_OPEN: "Otvori"
STR_DOWNLOAD: "Preuzmi"
STR_RETRY: "Pokušaj ponovo"
STR_TAP_TO_RETRY: "Dodirni za ponovni pokušaj"
STR_YES: "Da"
STR_NO: "Ne"
STR_SHOW: "Prikaži"
@@ -221,6 +251,9 @@ STR_DIR_RIGHT: "Desno"
STR_DIR_UP: "Gore"
STR_DIR_DOWN: "Dolje"
STR_OK_BUTTON: "OK"
STR_KEY_SHIFT: "Shift"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "Filter korica ekrana mirovanja"
STR_FILTER_CONTRAST: "Kontrast"
STR_CUSTOMISE_STATUS_BAR: "Prilagodi statusnu traku"
@@ -319,6 +352,7 @@ STR_UPLOAD_LOCAL: "Pošalji lokalni napredak"
STR_NO_REMOTE_MSG: "Nije pronađen udaljeni napredak"
STR_UPLOAD_PROMPT: "Poslati trenutnu poziciju?"
STR_UPLOAD_SUCCESS: "Napredak poslan!"
STR_ALREADY_SYNCED: "Već sinhronizovano"
STR_SYNC_FAILED_MSG: "Sinhronizacija nije uspjela"
STR_SAVE_PROGRESS_FAILED: "Napredak nije mogao biti sačuvan"
STR_SECTION_PREFIX: "Sekcija "
@@ -328,6 +362,7 @@ STR_EMBEDDED_STYLE: "Ugrađeni stil"
STR_FOCUS_READING: "Fokusirano čitanje"
STR_OPDS_SERVER_URL: "URL OPDS servera"
STR_PWR_BTN_FOOTNOTE_BACK: "Brzi povratak iz fusnota"
STR_BACK_SHORT_TO_FILE_BROWSER: "Brzi povratak na pregled datoteka"
STR_SET_SLEEP_COVER: "Postavi korice"
STR_FOOTNOTES: "Fusnote"
STR_NO_FOOTNOTES: "Nema fusnota na ovoj stranici"
@@ -342,14 +377,20 @@ STR_SERVER_NAME: "Naziv servera"
STR_NO_SERVERS: "Nema podešenih OPDS servera"
STR_DELETE_SERVER: "Obriši server"
STR_OPDS_SERVERS: "OPDS serveri"
STR_OPDS_DOWNLOAD_FOLDER: "Folder za preuzimanje"
STR_OPDS_FILENAME_FORMAT: "Format naziva datoteke"
STR_FMT_AUTHOR_TITLE: "Autor - Naslov"
STR_FMT_TITLE_AUTHOR: "Naslov - Autor"
STR_FMT_TITLE: "Naslov"
STR_OPDS_SD_ROOT: "SD korijen"
STR_AUTO_TURN_ENABLED: "Automatsko okretanje omogućeno: "
STR_AUTO_TURN_PAGES_PER_MIN: "Automatsko okretanje (stranica po minuti)"
STR_MANAGE_FONTS: "Upravljaj fontovima"
STR_FONT_BROWSER: "Pregledač fontova"
STR_LOADING_FONT_LIST: "Učitavanje liste fontova..."
STR_NO_FONTS_AVAILABLE: "Nema dostupnih fontova"
STR_FONT_INSTALLED: "Font instaliran!"
STR_FONT_INSTALL_FAILED: "Instalacija fonta nije uspjela"
STR_MANAGE_FONTS: "Upravljaj pismima"
STR_FONT_BROWSER: "Pregledač pisama"
STR_LOADING_FONT_LIST: "Učitavanje liste pisama..."
STR_NO_FONTS_AVAILABLE: "Nema dostupnih pisama"
STR_FONT_INSTALLED: "Pismo instalirano!"
STR_FONT_INSTALL_FAILED: "Instalacija pisma nije uspjela"
STR_INSTALLED: "Instalirano"
STR_DOWNLOAD_ALL: "Preuzmi sve"
STR_UPDATE_ALL: "Ažuriraj sve"
+3
View File
@@ -34,6 +34,9 @@ STR_DICT_INDEXING: "S'està indexant el diccionari..."
STR_DICT_NOT_FOUND: "No s'ha trobat"
STR_DICT_NO_DICT_SET: "No hi ha cap diccionari configurat"
STR_DICT_ERROR: "Error del diccionari"
STR_DICT_READ_FAILED: "No s'ha pogut llegir la definició"
STR_DICT_DECOMPRESS_ERROR: "No s'ha pogut descomprimir la definició"
STR_DICT_LOW_MEMORY: "No hi ha prou memòria"
STR_WIFI_NETWORKS: "Xarxes Wi-Fi"
STR_NO_NETWORKS: "No s'han trobat xarxes"
STR_NETWORKS_FOUND: "%zu xarxes trobades"
+5
View File
@@ -21,6 +21,8 @@ STR_INDEXING: "Indexování"
STR_MEMORY_ERROR: "Chyba paměti"
STR_PAGE_LOAD_ERROR: "Chyba načítání stránky"
STR_EMPTY_FILE: "Prázdný soubor"
STR_INVALID_BMP_FILE: "Neplatný soubor BMP"
STR_FILE_OPEN_FAILED: "Nelze otevřít soubor"
STR_OUT_OF_BOUNDS: "Mimo hranice"
STR_LOADING: "Načítání..."
STR_LOADING_POPUP: "Načítání"
@@ -332,6 +334,9 @@ STR_DICT_INDEXING: "Indexování slovníku..."
STR_DICT_LOOKING_UP: "Vyhledávání..."
STR_DICT_NOT_FOUND: "Nenalezeno"
STR_DICT_NO_DICT_SET: "Není nastaven žádný slovník"
STR_DICT_READ_FAILED: "Nelze přečíst definici"
STR_DICT_DECOMPRESS_ERROR: "Nelze dekomprimovat definici"
STR_DICT_LOW_MEMORY: "Nedostatek paměti"
STR_DISABLED: "Zakázáno"
STR_DISPLAY_QR: "Zobrazit stránku jako QR"
STR_DOWNLOAD_ALL: "Stáhnout vše"
+1
View File
@@ -423,6 +423,7 @@ STR_VALIDATING_FIRMWARE: "Validating firmware..."
STR_INVALID_FIRMWARE: "Invalid firmware file"
STR_FIRMWARE_TOO_LARGE: "Firmware too large for partition"
STR_FIRMWARE_TOO_SMALL: "Firmware file is too small"
STR_FIRMWARE_WRONG_DEVICE: "Firmware is for a different device"
STR_FIRMWARE_UPDATE_PROMPT: "Update firmware?"
STR_FIRMWARE_FILE_OPEN_FAILED: "Cannot open file"
STR_FIRMWARE_WRITE_FAILED: "Firmware write failed"
+126 -13
View File
@@ -10,6 +10,7 @@ STR_BROWSE_FILES: "Parcourir les fichiers"
STR_FILE_TRANSFER: "Transfert de fichiers"
STR_SETTINGS_TITLE: "Réglages"
STR_CONTINUE_READING: "Reprendre la lecture"
STR_RESUME: "Reprendre"
STR_NO_OPEN_BOOK: "Aucun livre ouvert"
STR_START_READING: "Commencer la lecture"
STR_NO_FILES_FOUND: "Aucun fichier trouvé"
@@ -18,17 +19,32 @@ STR_NO_CHAPTERS: "Aucun chapitre"
STR_END_OF_BOOK: "Fin du livre"
STR_EMPTY_CHAPTER: "Chapitre vide"
STR_INDEXING: "Indexation en cours"
STR_INDEX_FAILED: "Échec de l'indexation - livre invalide"
STR_MEMORY_ERROR: "Erreur de mémoire"
STR_PAGE_LOAD_ERROR: "Erreur de chargement"
STR_EMPTY_FILE: "Fichier vide"
STR_INVALID_BMP_FILE: "Fichier BMP invalide"
STR_FILE_OPEN_FAILED: "Impossible d'ouvrir le fichier"
STR_OUT_OF_BOUNDS: "Dépassement de mémoire"
STR_LOADING: "Chargement…"
STR_LOADING_POPUP: "Chargement"
STR_LOOKUP: "Rechercher"
STR_DICT_LOOKING_UP: "Recherche dans le dictionnaire…"
STR_DICT_INDEXING: "Indexation du dictionnaire…"
STR_DICT_NOT_FOUND: "Non trouvé"
STR_DICT_NO_DICT_SET: "Aucun dictionnaire défini"
STR_DICT_ERROR: "Erreur de dictionnaire"
STR_DICT_READ_FAILED: "Impossible de lire la définition"
STR_DICT_DECOMPRESS_ERROR: "Échec décompression définition"
STR_DICT_LOW_MEMORY: "Mémoire insuffisante"
STR_WIFI_NETWORKS: "Réseaux Wi-Fi"
STR_NO_NETWORKS: "Aucun réseau"
STR_NETWORKS_FOUND: "%zu réseaux"
STR_SCANNING: "Recherche en cours…"
STR_FINDING_SAVED_WIFI: "Recherche Wi-Fi connu…"
STR_CONNECTING: "Connexion en cours…"
STR_CONNECTING_SAVED_WIFI: "Connexion au Wi-Fi connu…"
STR_SHOW_NETWORKS: "Afficher"
STR_CONNECTED: "Connecté !"
STR_CONNECTION_FAILED: "Échec de la connexion"
STR_FORGET_NETWORK: "Oublier ce réseau ?"
@@ -49,6 +65,8 @@ STR_NETWORK_LEGEND: "* = Sécurisé | + = Sauvegardé"
STR_MAC_ADDRESS: "Adresse MAC :"
STR_CHECKING_WIFI: "Vérification du Wi-Fi…"
STR_ENTER_WIFI_PASSWORD: "Entrez le mot de passe Wi-Fi"
STR_ADD_HIDDEN_NETWORK: "Ajouter un réseau masqué..."
STR_ENTER_WIFI_SSID: "Saisir le nom du réseau (SSID)"
STR_TO_PREFIX: "vers "
STR_CALIBRE_RECEIVING: "Réception : "
STR_CALIBRE_RECEIVED: "Reçu : "
@@ -61,23 +79,27 @@ STR_CAT_READER: "Lecteur"
STR_CAT_CONTROLS: "Commandes"
STR_CAT_SYSTEM: "Système"
STR_SLEEP_SCREEN: "Écran de veille"
STR_QUICK_RESUME_TIMEOUT: "Reprise rapide après délai"
STR_SLEEP_COVER_MODE: "Mode écran de veille"
STR_HIDE_BATTERY: "Masquer % batterie"
STR_EXTRA_SPACING: "Espacement paragraphes"
STR_EXTRA_SPACING: "Espacement paragraphes supp."
STR_TEXT_AA: "Lissage du texte"
STR_IMAGES: "Images"
STR_IMAGES_DISPLAY: "Affichage"
STR_IMAGES_PLACEHOLDER: "Espace réservé"
STR_IMAGES_SUPPRESS: "Masquer"
STR_SHORT_PWR_BTN: "Appui court alim."
STR_EOB_HOME: "Accueil"
STR_EOB_CONTINUE_WITH: "Poursuivre avec"
STR_SHORT_PWR_BTN: "Appui court bouton alim."
STR_ORIENTATION: "Orientation de lecture"
STR_SIDE_BTN_LAYOUT: "Boutons latéraux"
STR_SIDE_BTN_LAYOUT: "Boutons latéraux (lecteur)"
STR_TOUCH_READER_CONTROLS: "Commandes tactiles lecteur"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "Orienter boutons avant"
STR_LONG_PRESS_BEHAVIOR: "Comportement lors d'un appui long"
STR_LONG_PRESS_BEHAVIOR_OFF: "Désactivé"
STR_LONG_PRESS_BEHAVIOR_SKIP: "Saut de chapitre"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Changement d'orientation"
STR_LONG_PRESS_MENU: "Menu appui long"
STR_FONT_PREVIEW_TEXT: "Portez ce vieux whisky au juge blond qui fume"
STR_FONT_FAMILY: "Police de caractères du lecteur"
STR_FONT_SIZE: "Taille police lecteur"
@@ -85,9 +107,9 @@ STR_TEXT_SETTINGS: "Réglages du texte"
STR_FONT: "Police"
STR_SIZE: "Taille"
STR_LAYOUT: "Disposition"
STR_ALIGNMENT: "Alignement"
STR_STYLE: "Style"
STR_NOT_IN_PREVIEW: "Absent de l'aperçu"
STR_ALIGNMENT: "Alignement"
STR_LINE_SPACING: "Interligne"
STR_SCREEN_MARGIN: "Marges"
STR_PARA_ALIGNMENT: "Alignement du paragraphe"
@@ -106,9 +128,17 @@ STR_PASSWORD: "Mot de passe"
STR_SYNC_SERVER_URL: "URL du serveur"
STR_DOCUMENT_MATCHING: "Correspondance"
STR_SEND_METADATA: "Envoyer métadonnées"
STR_SYNC_BEHAVIOR: "Comportement de synchro"
STR_ASK_EVERY_TIME: "Toujours demander"
STR_SMART_SYNC: "Synchro intelligente"
STR_AUTHENTICATE: "Connexion"
STR_KOREADER_USERNAME: "Utilisateur"
STR_KOREADER_PASSWORD: "Mot de passe"
STR_SIGN_UP: "Créer un compte"
STR_CREATING_ACCOUNT: "Création du compte…"
STR_ACCOUNT_CREATED: "Compte créé"
STR_SIGNUP_FAILED: "Échec de la création"
STR_USERNAME_TAKEN: "Nom d'utilisateur déjà pris"
STR_KOREADER_USERNAME: "Utilisateur KOReader"
STR_KOREADER_PASSWORD: "Mot de passe KOReader"
STR_FILENAME: "Nom de fichier"
STR_BINARY: "Binaire"
STR_SET_CREDENTIALS_FIRST: "Identifiants manquants"
@@ -126,7 +156,7 @@ STR_CLEAR_CACHE_WARNING_4: "à la prochaine ouverture."
STR_CLEARING_CACHE: "Nettoyage du cache…"
STR_CACHE_CLEARED: "Cache vidé"
STR_ITEMS_REMOVED: "éléments supprimés"
STR_FAILED_LOWER: "ont échoué"
STR_FAILED_LOWER: "Echec"
STR_CLEAR_CACHE_FAILED: "Échec nettoyage cache"
STR_CHECK_SERIAL_OUTPUT: "Voir console pour détails"
STR_DARK: "Sombre"
@@ -142,6 +172,7 @@ STR_ALWAYS: "Toujours"
STR_IGNORE: "Ignorer"
STR_SLEEP: "Mise en veille"
STR_PAGE_TURN: "Page suivante"
STR_FORCE_REFRESH: "Rafraîchir l'écran"
STR_PORTRAIT: "Portrait"
STR_LANDSCAPE_CW: "Paysage"
STR_INVERTED: "Inversé"
@@ -149,6 +180,10 @@ STR_ORIENTATION_INVERTED: "Portrait 180°"
STR_LANDSCAPE_CCW: "Paysage inversé"
STR_PREV_NEXT: "Préc/Suiv"
STR_NEXT_PREV: "Suiv/Préc"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "Marque-page"
STR_DICTIONARY: "Dictionnaire"
STR_DISABLED: "Désactivé"
STR_NOTO_SERIF: "Noto Serif"
STR_NOTO_SANS: "Noto Sans"
STR_TIGHT: "Serré"
@@ -173,14 +208,18 @@ STR_NO_UPDATE: "Aucune mise à jour"
STR_UPDATE_FAILED: "Échec de la mise à jour"
STR_UPDATE_COMPLETE: "Mise à jour effectuée"
STR_POWER_ON_HINT: "Maintenir Power pour redémarrer"
STR_RESTARTING_HINT: "Redémarrage… Si l'appareil ne redémarre pas, maintenez le bouton Power enfoncé quelques secondes."
STR_NO_ENTRIES: "Aucune entrée"
STR_DOWNLOADING: "Téléchargement…"
STR_DOWNLOAD_FAILED: "Échec du téléchargement"
STR_ERROR_MSG: "Erreur : "
STR_UNNAMED: "Sans titre"
STR_HOLD_OPEN_TO_DELETE: "Maintenir Ouvrir pour supprimer"
STR_NO_SERVER_URL: "URL serveur non configurée"
STR_FETCH_FEED_FAILED: "Échec récupération flux"
STR_PARSE_FEED_FAILED: "Échec analyse flux"
STR_NEXT_PAGE: "Page suivante »"
STR_PREV_PAGE: "« Page précédente"
STR_NETWORK_PREFIX: "Réseau : "
STR_IP_ADDRESS_PREFIX: "IP : "
STR_ERROR_GENERAL_FAILURE: "Erreur : Échec général"
@@ -194,14 +233,13 @@ STR_SELECT: "OK"
STR_SELECTED: "Sélectionné"
STR_TOGGLE: "Modifier"
STR_TOGGLE_BOOKMARK: "Basculer le marque-page"
STR_BOOKMARK_REMOVED: "Marque-page supprimé."
STR_HOLD_OPEN_TO_DELETE: "Maintenir Ouvrir pour supprimer"
STR_CONFIRM: "Confirmer"
STR_CANCEL: "Annuler"
STR_CONNECT: "Connecter"
STR_OPEN: "Ouvrir"
STR_DOWNLOAD: "Télécharger"
STR_RETRY: "Réessayer"
STR_TAP_TO_RETRY: "Appuyer pour réessayer"
STR_YES: "Oui"
STR_NO: "Non"
STR_SHOW: "Afficher"
@@ -214,6 +252,9 @@ STR_DIR_RIGHT: "Droite"
STR_DIR_UP: "Haut"
STR_DIR_DOWN: "Bas"
STR_OK_BUTTON: "OK"
STR_KEY_SHIFT: "Maj"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "Filtre écran de veille"
STR_FILTER_CONTRAST: "Contraste"
STR_CUSTOMISE_STATUS_BAR: "Personnaliser la barre d'état"
@@ -231,15 +272,36 @@ STR_EXAMPLE_BOOK: "Titre du livre"
STR_PREVIEW: "Aperçu"
STR_TITLE: "Titre"
STR_BATTERY: "Batterie"
STR_XTC_STATUS_BAR: "Barre d'état XTC"
STR_BOTTOM: "Bas"
STR_TOP: "Haut"
STR_CLOCK: "Horloge"
STR_CLOCK_UTC_OFFSET: "Décalage UTC horloge"
STR_CLOCK_FORMAT: "Format de l'heure"
STR_CLOCK_FORMAT_24H: "24 heures"
STR_CLOCK_FORMAT_12H: "12 heures"
STR_CURRENT_TIME: "Heure actuelle :"
STR_NEXT_FIELD: "Suivant"
STR_CLOCK_SYNC: "Synchro horloge"
STR_CLOCK_SYNC_NOW: "Synchroniser l'heure"
STR_CLOCK_SYNCING: "Synchro via NTP…"
STR_CLOCK_SYNC_OK: "Horloge synchronisée"
STR_CLOCK_SYNC_FAIL: "Échec synchro"
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi non connecté"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Connectez le Wi-Fi avant de réessayer."
STR_CLOCK_SYNCED: "Horloge synchronisée"
STR_UI_THEME: "Thème interface"
STR_THEME_CLASSIC: "Classique"
STR_THEME_LYRA: "Lyra"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
STR_SUNLIGHT_FADING_FIX: "Correction lisibilité au soleil"
STR_QUICK_RESUME_TIMEOUT: "Reprise rapide après délai"
STR_REMAP_FRONT_BUTTONS: "Configurer boutons façade"
STR_BOOKMARKS: "Marque-pages"
STR_BOOKMARK_ADDED: "Marque-page ajouté."
STR_BOOKMARK_REMOVED: "Marque-page supprimé."
STR_OPDS_BROWSER: "Navigateur OPDS"
STR_SEARCH: "Rechercher"
STR_COVER_CUSTOM: "Couverture + Perso"
STR_QUICK_RESUME: "Reprise rapide"
STR_MENU_RECENT_BOOKS: "Livres récents"
@@ -267,6 +329,7 @@ STR_GO_HOME_BUTTON: "Retour Accueil"
STR_SYNC_PROGRESS: "Synchro progression"
STR_DELETE_CACHE: "Supprimer cache livre"
STR_DELETE: "Supprimer"
STR_CONFIRM_DELETE_BOOKMARK: "Supprimer ce marque-page ?"
STR_DISPLAY_QR: "Afficher la page en QR"
STR_CHAPTER_PREFIX: "Chapitre : "
STR_PAGES_SEPARATOR: " pages | "
@@ -290,6 +353,7 @@ STR_UPLOAD_LOCAL: "Envoyer progression locale"
STR_NO_REMOTE_MSG: "Aucune progression en ligne"
STR_UPLOAD_PROMPT: "Envoyer position actuelle ?"
STR_UPLOAD_SUCCESS: "Progression envoyée !"
STR_ALREADY_SYNCED: "Déjà synchronisé"
STR_SYNC_FAILED_MSG: "Échec de la synchro"
STR_SAVE_PROGRESS_FAILED: "Échec de l'enregistrement"
STR_SECTION_PREFIX: "Section "
@@ -298,21 +362,70 @@ STR_BOOK_S_STYLE: "Style du livre"
STR_EMBEDDED_STYLE: "Style intégré"
STR_FOCUS_READING: "Lecture focalisée"
STR_OPDS_SERVER_URL: "URL serveur OPDS"
STR_PWR_BTN_FOOTNOTE_BACK: "Retour rapide depuis notes de bas de page"
STR_BACK_SHORT_TO_FILE_BROWSER: "Retour court vers fichiers"
STR_SET_SLEEP_COVER: "Définir comme couverture"
STR_FOOTNOTES: "Notes de bas de page"
STR_NO_FOOTNOTES: "Aucune note sur cette page"
STR_LINK: "[lien]"
STR_SCREENSHOT_BUTTON: "Capture d'écran"
STR_SLEEP_TIMER_VALUE_FORMAT: "%u min"
STR_SLEEP_NEVER: "Jamais"
STR_STEP_HINT_FRONT: "Boutons avant :"
STR_STEP_HINT_SIDE: "Boutons latéraux :"
STR_ADD_SERVER: "Ajouter un serveur"
STR_SERVER_NAME: "Nom du serveur"
STR_NO_SERVERS: "Aucun serveur OPDS configuré"
STR_DELETE_SERVER: "Supprimer le serveur"
STR_OPDS_SERVERS: "Serveurs OPDS"
STR_OPDS_DOWNLOAD_FOLDER: "Dossier de téléchargement"
STR_OPDS_FILENAME_FORMAT: "Format du nom de fichier"
STR_FMT_AUTHOR_TITLE: "Auteur - Titre"
STR_FMT_TITLE_AUTHOR: "Titre - Auteur"
STR_FMT_TITLE: "Titre"
STR_SCREENSHOT_BUTTON: "Capture d'écran"
STR_OPDS_SD_ROOT: "Racine SD"
STR_AUTO_TURN_ENABLED: "Tourne-page auto : "
STR_AUTO_TURN_PAGES_PER_MIN: "Tourne-page auto (pages par minute)"
STR_MANAGE_FONTS: "Gérer les polices"
STR_FONT_BROWSER: "Navigateur de polices"
STR_LOADING_FONT_LIST: "Chargement des polices…"
STR_NO_FONTS_AVAILABLE: "Aucune police disponible"
STR_FONT_INSTALLED: "Police installée !"
STR_FONT_INSTALL_FAILED: "Échec installation police"
STR_INSTALLED: "Installée"
STR_DOWNLOAD_ALL: "Tout télécharger"
STR_UPDATE_ALL: "Tout mettre à jour"
STR_UPDATE_AVAILABLE: "Mettre à jour"
STR_CRASH_TITLE: "Plantage système"
STR_CRASH_DESCRIPTION: "Un rapport détaillé a été enregistré sous crash_report.txt. Veuillez l'inclure dans votre rapport de bug."
STR_CRASH_REASON: "Raison du plantage :"
STR_CRASH_NO_REASON: "(Aucune raison enregistrée)"
STR_TILT_PAGE_TURN: "Tourner par inclinaison"
STR_ADD_HIDDEN_NETWORK: "Ajouter un réseau masqué..."
STR_ENTER_WIFI_SSID: "Saisir le nom du réseau (SSID)"
STR_KB_HINT_MOVE_CURSOR: "Appuyer GAUCHE ou DROITE pour déplacer le curseur"
STR_KB_HINT_RETURN_CURSOR: "Appuyer GAUCHE pour revenir au curseur"
STR_KB_HINT_HIDE_PASSWORD: "Maintenir DROITE puis appuyer [***] pour masquer"
STR_KB_HINT_SHOW_PASSWORD: "Maintenir DROITE puis appuyer [abc] pour afficher"
STR_KB_HINT_TOGGLE_HIDE_PASSWORD: "Appuyer [***] pour masquer le mot de passe"
STR_KB_HINT_TOGGLE_SHOW_PASSWORD: "Appuyer [abc] pour afficher le mot de passe"
STR_KB_HINT_EDIT_ENTRY: "Maintenir HAUT pour modifier"
STR_KB_TIPS: "Conseils :"
STR_KB_HINT_RETURN_KEYBOARD: "Appuyer BAS pour revenir au clavier"
STR_KB_HINT_EXIT_URL_MODE: "Appuyer ABC pour quitter le mode URL"
STR_KB_HINT_CLEAR_TEXT: "Maintenir DEL pour effacer le texte"
STR_KB_HINT_SECONDARY_CHAR: "Maintenir OK pour caractère secondaire"
STR_KB_HINT_UPPER_SECONDARY: "Maintenir OK pour MAJUSCULE ou secondaire"
STR_KB_HINT_LOWER_SECONDARY: "Maintenir OK pour minuscule ou secondaire"
STR_KB_HINT_URL_SNIPPETS: "Appuyer URL pour les raccourcis"
STR_SD_FIRMWARE_UPDATE: "Mise à jour du firmware par carte SD"
STR_SELECT_FIRMWARE_FILE: "Sélectionner le fichier firmware (.bin)"
STR_NO_BIN_FILES: "Aucun fichier .bin trouvé"
STR_VALIDATING_FIRMWARE: "Validation du firmware…"
STR_INVALID_FIRMWARE: "Fichier firmware invalide"
STR_FIRMWARE_TOO_LARGE: "Firmware trop volumineux pour la partition"
STR_FIRMWARE_TOO_SMALL: "Fichier firmware trop petit"
STR_FIRMWARE_UPDATE_PROMPT: "Mettre à jour le firmware ?"
STR_FIRMWARE_FILE_OPEN_FAILED: "Impossible d'ouvrir le fichier"
STR_FIRMWARE_WRITE_FAILED: "Échec de l'écriture du firmware"
STR_FIRMWARE_UPDATE_DO_NOT_POWER_OFF: "Ne pas éteindre l'appareil !"
STR_RECOVERY_MODE: "Mode Récupération"
STR_RECOVERY_MODE_HINT: "Placez firmware.bin à la racine de la carte SD et sélectionnez-le"
+35
View File
@@ -394,3 +394,38 @@ STR_RECOVERY_MODE: "Wiederherstellungsmodus"
STR_RECOVERY_MODE_HINT: "Lege firmware.bin im SD-Kartenwurzelverzeichnis ab und wähle es aus"
STR_ADD_HIDDEN_NETWORK: "Verstecktes Netzwerk hinzufügen…"
STR_ENTER_WIFI_SSID: "Netzwerknamen eingeben (SSID)"
STR_ACCOUNT_CREATED: "Konto erstellt"
STR_ALREADY_SYNCED: "Bereits synchronisiert"
STR_ASK_EVERY_TIME: "Immer fragen"
STR_BOOKMARK_OPTION: "Lesezeichen"
STR_CONNECTING_SAVED_WIFI: "Verbinde mit gespeichertem WLAN-Netzwerk…"
STR_CREATING_ACCOUNT: "Erstelle Konto…"
STR_DICTIONARY: "Wörterbuch"
STR_DICT_ERROR: "Wörterbuch Fehler"
STR_DICT_INDEXING: "Indexiere Wörterbuch…"
STR_DICT_LOOKING_UP: "Suche…"
STR_DICT_NOT_FOUND: "Nicht gefunden"
STR_DICT_NO_DICT_SET: "Kein Wörterbuch festgelegt"
STR_EOB_CONTINUE_WITH: "Weiter mit"
STR_EOB_HOME: "Home"
STR_FINDING_SAVED_WIFI: "Finde gespeichertes WLAN-Netzwerk…"
STR_INDEX_FAILED: "Fehler beim Indexieren - ungültiges Buch"
STR_KEY_MODE_ABC: "abc"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_SHIFT: "Shift"
STR_KOSYNC: "KOSync"
STR_LOOKUP: "Nachschlagen"
STR_OPDS_SD_ROOT: "SD-Karten Hauptverzeichnis"
STR_PWR_BTN_FOOTNOTE_BACK: "Schnellrücksprung aus Fußnoten"
STR_SHOW_NETWORKS: "Zeige Netzwerke"
STR_SIGNUP_FAILED: "Anmeldung fehlgeschlagen"
STR_SIGN_UP: "Anmelden"
STR_SMART_SYNC: "Smart"
STR_SYNC_BEHAVIOR: "Synchronisierungsverhalten"
STR_TAP_TO_RETRY: "Tippen zum Wiederholen"
STR_USERNAME_TAKEN: "Benutzername ist bereits registriert"
STR_FILE_OPEN_FAILED: "Kann Datei nicht öffnen"
STR_INVALID_BMP_FILE: "Ungültige BMP-Datei"
STR_DICT_DECOMPRESS_ERROR: "Konnte Definition nicht entpacken"
STR_DICT_LOW_MEMORY: "Nicht genug Speicher"
STR_DICT_READ_FAILED: "Konnte Definition nicht lesen"
+62 -28
View File
@@ -10,25 +10,41 @@ STR_BROWSE_FILES: "סייר קבצים"
STR_FILE_TRANSFER: "העברת קבצים"
STR_SETTINGS_TITLE: "הגדרות"
STR_CONTINUE_READING: "המשך קריאה"
STR_RESUME: "המשך"
STR_NO_OPEN_BOOK: "אין ספר פתוח"
STR_START_READING: "התחל לקרוא למטה"
STR_START_READING: "התחל לקרוא"
STR_NO_FILES_FOUND: "לא נמצאו קבצים"
STR_SELECT_CHAPTER: "בחר פרק"
STR_NO_CHAPTERS: "אין פרקים"
STR_END_OF_BOOK: "סוף הספר"
STR_EMPTY_CHAPTER: "פרק ריק"
STR_INDEXING: "מאנדקס..."
STR_INDEX_FAILED: "האינדוקס נכשל - ספר לא תקין"
STR_MEMORY_ERROR: "שגיאת זיכרון"
STR_PAGE_LOAD_ERROR: "שגיאה בטעינת הדף"
STR_EMPTY_FILE: "קובץ ריק"
STR_INVALID_BMP_FILE: "קובץ BMP לא תקין"
STR_FILE_OPEN_FAILED: "לא ניתן לפתוח את הקובץ"
STR_OUT_OF_BOUNDS: "מחוץ לטווח"
STR_LOADING: "טוען..."
STR_LOADING_POPUP: "טוען"
STR_LOOKUP: "חפש במילון"
STR_DICT_LOOKING_UP: "מחפש..."
STR_DICT_INDEXING: "מאנדקס מילון..."
STR_DICT_NOT_FOUND: "לא נמצא"
STR_DICT_NO_DICT_SET: "לא הוגדר מילון"
STR_DICT_ERROR: "שגיאת מילון"
STR_DICT_READ_FAILED: "לא ניתן לקרוא את ההגדרה"
STR_DICT_DECOMPRESS_ERROR: "לא ניתן לחלץ את ההגדרה"
STR_DICT_LOW_MEMORY: "אין מספיק זיכרון"
STR_WIFI_NETWORKS: "רשתות אלחוטיות (WiFi)"
STR_NO_NETWORKS: "לא נמצאו רשתות"
STR_NETWORKS_FOUND: "נמצאו %zu רשתות"
STR_SCANNING: "סורק..."
STR_FINDING_SAVED_WIFI: "מחפש רשת אלחוטית שמורה..."
STR_CONNECTING: "מתחבר..."
STR_CONNECTING_SAVED_WIFI: "מתחבר לרשת אלחוטית שמורה..."
STR_SHOW_NETWORKS: "הצג"
STR_CONNECTED: "מחובר!"
STR_CONNECTION_FAILED: "החיבור נכשל"
STR_FORGET_NETWORK: "לשכוח רשת זו?"
@@ -59,7 +75,7 @@ STR_CALIBRE_INSTRUCTION_3: "3) בתוכנת Calibre: בחר \"שלח למכשי
STR_CALIBRE_INSTRUCTION_4: "השאר מסך זה פתוח בזמן ההעברה"
STR_CAT_DISPLAY: "תצוגה"
STR_CAT_READER: "קורא"
STR_CAT_CONTROLS: "מקשים"
STR_CAT_CONTROLS: "לחצנים"
STR_CAT_SYSTEM: "מערכת"
STR_SLEEP_SCREEN: "מסך מצב שינה"
STR_SLEEP_COVER_MODE: "תצוגת כריכה במצב שינה"
@@ -68,11 +84,13 @@ STR_EXTRA_SPACING: "מרווח פסקאות מוגדל"
STR_TEXT_AA: "החלקת קצוות טקסט"
STR_IMAGES: "תמונות"
STR_IMAGES_DISPLAY: "הצג תמונות"
STR_IMAGES_PLACEHOLDER: "סמן"
STR_IMAGES_PLACEHOLDER: "מסגרת ריקה"
STR_IMAGES_SUPPRESS: "הסתר תמונות"
STR_SHORT_PWR_BTN: "לחיצה קצרה על כפתור ההפעלה"
STR_ORIENTATION: "כיוון קריאה (מסך)"
STR_SIDE_BTN_LAYOUT: "פריסת כפתורי צד (בקריאה)"
STR_EOB_HOME: "מסך הבית"
STR_EOB_CONTINUE_WITH: "המשך עם"
STR_SHORT_PWR_BTN: "לחיצה קצרה על לחצן ההפעלה"
STR_ORIENTATION: "כיוון מסך"
STR_SIDE_BTN_LAYOUT: "פריסת לחצני צד (בקריאה)"
STR_TOUCH_READER_CONTROLS: "שליטה במגע (קורא)"
STR_LONG_PRESS_BEHAVIOR: "פעולת לחיצה ארוכה"
STR_LONG_PRESS_BEHAVIOR_OFF: "כבוי"
@@ -88,11 +106,11 @@ STR_LAYOUT: "פריסה"
STR_STYLE: "סגנון"
STR_NOT_IN_PREVIEW: "לא מוצג בתצוגה המקדימה"
STR_ALIGNMENT: "יישור"
STR_LINE_SPACING: "מרווח שורות"
STR_LINE_SPACING: "מרווח בין שורות"
STR_SCREEN_MARGIN: "שוליים"
STR_PARA_ALIGNMENT: "יישור פסקה"
STR_HYPHENATION: "מיקוף"
STR_TIME_TO_SLEEP: "זמן עד לשינה"
STR_TIME_TO_SLEEP: "טיימר למצב שינה"
STR_SHOW_HIDDEN_FILES: "הצג קבצים נסתרים"
STR_REFRESH_FREQ: "תדירות רענון מסך"
STR_KOREADER_SYNC: "סנכרון KOReader"
@@ -104,11 +122,19 @@ STR_PASSWORD: "סיסמה"
STR_SYNC_SERVER_URL: "כתובת שרת סנכרון"
STR_DOCUMENT_MATCHING: "התאמת מסמכים"
STR_SEND_METADATA: "שלח מטא-נתוני מסמך"
STR_AUTHENTICATE: "התחבר"
STR_SYNC_BEHAVIOR: "אופן הסנכרון"
STR_ASK_EVERY_TIME: "שאל בכל פעם"
STR_SMART_SYNC: "סנכרון חכם"
STR_AUTHENTICATE: "התחבר לחשבון"
STR_SIGN_UP: "הרשמה"
STR_CREATING_ACCOUNT: "יוצר חשבון..."
STR_ACCOUNT_CREATED: "החשבון נוצר"
STR_SIGNUP_FAILED: "ההרשמה נכשלה"
STR_USERNAME_TAKEN: "שם המשתמש כבר רשום במערכת"
STR_KOREADER_USERNAME: "שם משתמש ב-KOReader"
STR_KOREADER_PASSWORD: "סיסמת KOReader"
STR_FILENAME: "שם קובץ"
STR_BINARY: "בינארי"
STR_FILENAME: "לפי שם קובץ"
STR_BINARY: "לפי תוכן"
STR_SET_CREDENTIALS_FIRST: "הגדר תחילה פרטי התחברות"
STR_WIFI_CONN_FAILED: "חיבור הרשת נכשל"
STR_AUTHENTICATING: "מאמת נתונים..."
@@ -143,7 +169,7 @@ STR_PAGE_TURN: "העברת דף"
STR_FORCE_REFRESH: "רענון מסך מלא"
STR_PORTRAIT: "לאורך"
STR_LANDSCAPE_CW: "לרוחב (ימינה)"
STR_INVERTED: "היפוך צבעים"
STR_INVERTED: "הפוך"
STR_ORIENTATION_INVERTED: "לאורך 180°"
STR_LANDSCAPE_CCW: "לרוחב (שמאלה)"
STR_PREV_NEXT: "הקודם/הבא"
@@ -171,8 +197,8 @@ STR_UPDATING: "מעדכן..."
STR_NO_UPDATE: "לא נמצאו עדכונים"
STR_UPDATE_FAILED: "העדכון נכשל"
STR_UPDATE_COMPLETE: "העדכון הושלם"
STR_POWER_ON_HINT: "לחץ לחיצה ארוכה על כפתור ההפעלה כדי להדליק שוב"
STR_RESTARTING_HINT: "מופעל מחדש... אם המכשיר לא נדלק, החזק את כפתור ההפעלה מספר שניות."
STR_POWER_ON_HINT: "לחץ לחיצה ארוכה על לחצן ההפעלה כדי להדליק שוב"
STR_RESTARTING_HINT: "מופעל מחדש... אם המכשיר לא נדלק, החזק את לחצן ההפעלה מספר שניות."
STR_NO_ENTRIES: "לא נמצאו רשומות"
STR_DOWNLOADING: "מוריד..."
STR_DOWNLOAD_FAILED: "ההורדה נכשלה"
@@ -194,7 +220,7 @@ STR_EXIT: "יציאה »"
STR_HOME: "מסך הבית »"
STR_SELECT: "בחר"
STR_SELECTED: "נבחר"
STR_TOGGLE: "בחר"
STR_TOGGLE: "שנה"
STR_TOGGLE_BOOKMARK: "הוסף/הסר סימנייה"
STR_CONFIRM: "אישור"
STR_CANCEL: "ביטול"
@@ -202,6 +228,7 @@ STR_CONNECT: "התחבר"
STR_OPEN: "פתח"
STR_DOWNLOAD: "הורד"
STR_RETRY: "נסה שוב"
STR_TAP_TO_RETRY: "הקש כדי לנסות שוב"
STR_YES: "כן"
STR_NO: "לא"
STR_SHOW: "הצג"
@@ -214,6 +241,9 @@ STR_DIR_RIGHT: "ימין"
STR_DIR_UP: "למעלה"
STR_DIR_DOWN: "למטה"
STR_OK_BUTTON: "אישור"
STR_KEY_SHIFT: "Shift"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "פילטר תמונה במצב שינה"
STR_FILTER_CONTRAST: "ניגודיות (קונטרסט)"
STR_CUSTOMISE_STATUS_BAR: "התאם אישית שורת מצב"
@@ -240,7 +270,7 @@ STR_THEME_LYRA: "Lyra"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_THEME_LYRA_EXTENDED: "Lyra מורחב"
STR_SUNLIGHT_FADING_FIX: "תיקון דהיית מסך בשמש"
STR_REMAP_FRONT_BUTTONS: "שנה תפקיד לכפתורים קדמיים"
STR_REMAP_FRONT_BUTTONS: "שנה תפקיד ללחצנים קדמיים"
STR_OPDS_BROWSER: "דפדפן OPDS"
STR_SEARCH: "חיפוש"
STR_COVER_CUSTOM: "כריכה + מותאם אישית"
@@ -254,16 +284,16 @@ STR_CALIBRE_SETUP: "הגדרות"
STR_CALIBRE_STATUS: "מצב"
STR_CLEAR_BUTTON: "נקה"
STR_DEFAULT_VALUE: "ברירת מחדל"
STR_REMAP_PROMPT: "לחץ על כפתור קדמי לכל פעולה"
STR_REMAP_PROMPT: "לחץ על לחצן קדמי לכל פעולה"
STR_UNASSIGNED: "לא מוקצה"
STR_ALREADY_ASSIGNED: "כבר בשימוש"
STR_REMAP_RESET_HINT: "כפתור צד עליון: שחזר לפריסת ברירת מחדל"
STR_REMAP_CANCEL_HINT: "כפתור צד תחתון: בטל הגדרה מחדש"
STR_HW_BACK_LABEL: "חזור (כפתור 1)"
STR_HW_CONFIRM_LABEL: "אישור (כפתור 2)"
STR_HW_LEFT_LABEL: "שמאלה (כפתור 3)"
STR_HW_RIGHT_LABEL: "ימינה (כפתור 4)"
STR_GO_TO_PERCENT: "עבור לאחוז %"
STR_REMAP_RESET_HINT: "לחצן צד עליון: שחזר לפריסת ברירת מחדל"
STR_REMAP_CANCEL_HINT: "לחצן צד תחתון: בטל הגדרה מחדש"
STR_HW_BACK_LABEL: "חזור (לחצן 1)"
STR_HW_CONFIRM_LABEL: "אישור (לחצן 2)"
STR_HW_LEFT_LABEL: "שמאלה (לחצן 3)"
STR_HW_RIGHT_LABEL: "ימינה (לחצן 4)"
STR_GO_TO_PERCENT: "קפוץ למיקום (%)"
STR_GO_HOME_BUTTON: "חזור למסך הבית"
STR_SYNC_PROGRESS: "סנכרן התקדמות"
STR_DELETE_CACHE: "מחק קבצי מטמון (Cache)"
@@ -291,14 +321,16 @@ STR_UPLOAD_LOCAL: "העלה התקדמות מהמכשיר לשרת"
STR_NO_REMOTE_MSG: "לא נמצאה התקדמות בשרת"
STR_UPLOAD_PROMPT: "להעלות את המיקום הנוכחי לשרת?"
STR_UPLOAD_SUCCESS: "ההתקדמות הועלתה בהצלחה!"
STR_ALREADY_SYNCED: "כבר מסונכרן"
STR_SYNC_FAILED_MSG: "הסנכרון נכשל"
STR_SAVE_PROGRESS_FAILED: "שמירת ההתקדמות נכשלה"
STR_SECTION_PREFIX: "חלק "
STR_UPLOAD: "העלה"
STR_BOOK_S_STYLE: "עיצוב הספר המקורי"
STR_BOOK_S_STYLE: "לפי הספר"
STR_EMBEDDED_STYLE: "סגנון מוטמע"
STR_FOCUS_READING: "קריאה ממוקדת"
STR_OPDS_SERVER_URL: "כתובת שרת OPDS"
STR_BACK_SHORT_TO_FILE_BROWSER: "חזרה קצרה לסייר הקבצים"
STR_SET_SLEEP_COVER: "הגדר כריכה"
STR_FOOTNOTES: "הערות שוליים"
STR_NO_FOOTNOTES: "אין הערות שוליים בדף זה"
@@ -315,6 +347,7 @@ STR_OPDS_FILENAME_FORMAT: "תבנית שם קובץ"
STR_FMT_AUTHOR_TITLE: "מחבר - כותרת"
STR_FMT_TITLE_AUTHOR: "כותרת - מחבר"
STR_FMT_TITLE: "כותרת"
STR_OPDS_SD_ROOT: "שורש כרטיס ה-SD"
STR_AUTO_TURN_ENABLED: "דפדוף אוטומטי פועל: "
STR_AUTO_TURN_PAGES_PER_MIN: "דפדוף אוטומטי (דפים בדקה)"
STR_MANAGE_FONTS: "ניהול גופנים"
@@ -347,7 +380,7 @@ STR_KB_HINT_TOGGLE_SHOW_PASSWORD: "לחץ על [abc] כדי להציג סיסמ
STR_KB_HINT_EDIT_ENTRY: "החזק למעלה כדי לערוך"
STR_KB_TIPS: "טיפים:"
STR_KB_HINT_RETURN_KEYBOARD: "לחץ למטה כדי לחזור למקלדת"
STR_KB_HINT_EXIT_URL_MODE: "לחץ על ABC ליציאה ממצב אינטרנט"
STR_KB_HINT_EXIT_URL_MODE: "לחץ על ABC ליציאה ממצב URL"
STR_KB_HINT_CLEAR_TEXT: "החזק מחיקה (DEL) לניקוי כל הטקסט"
STR_KB_HINT_SECONDARY_CHAR: "החזק בחר (SELECT) לתו משני"
STR_KB_HINT_UPPER_SECONDARY: "החזק בחר (SELECT) לאות גדולה או לתו משני"
@@ -369,8 +402,8 @@ STR_RECOVERY_MODE_HINT: "שים את הקובץ firmware.bin בתיקייה הר
STR_QUICK_RESUME_TIMEOUT: "חזרה מהירה לאחר פסק זמן"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "התאמת לחצנים קדמיים לכיוון המסך"
STR_REMOVE_READ_FROM_RECENTS: "הסר ספרים שנקראו מרשימת האחרונים"
STR_MOVE_FINISHED_TO_READ: "העבר ספרים שהסתיימו לתיקיית 'נקראו'"
STR_DISABLED: "מבוטל"
STR_MOVE_FINISHED_TO_READ: "העבר ספרים שהסתיימו לתיקיית 'read'"
STR_DISABLED: "כבוי"
STR_HOLD_OPEN_TO_DELETE: "לחיצה ארוכה על 'פתח' כדי למחוק"
STR_CLOCK: "שעון"
STR_CLOCK_UTC_OFFSET: "הפרש זמן UTC"
@@ -396,6 +429,7 @@ STR_CONFIRM_DELETE_BOOKMARK: "למחוק סימנייה זו?"
STR_LONG_PRESS_MENU: "לחיצה ארוכה על אישור"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "סימנייה"
STR_DICTIONARY: "מילון"
STR_PWR_BTN_FOOTNOTE_BACK: "חזרה מהירה מהערות שוליים"
STR_SLEEP_TIMER_VALUE_FORMAT: "%u דקות"
STR_SLEEP_NEVER: "אף פעם"
+111 -84
View File
@@ -10,6 +10,7 @@ STR_BROWSE_FILES: "Fájlok böngészése"
STR_FILE_TRANSFER: "Fájlátvitel"
STR_SETTINGS_TITLE: "Beállítások"
STR_CONTINUE_READING: "Olvasás folytatása"
STR_RESUME: "Folytatás"
STR_NO_OPEN_BOOK: "Nincs nyitott könyv"
STR_START_READING: "Kezdj el olvasni lentebb"
STR_NO_FILES_FOUND: "Nem találhatók fájlok"
@@ -18,17 +19,32 @@ STR_NO_CHAPTERS: "Nincsenek fejezetek"
STR_END_OF_BOOK: "A könyv vége"
STR_EMPTY_CHAPTER: "Üres fejezet"
STR_INDEXING: "Indexelés"
STR_INDEX_FAILED: "Indexelés sikertelen – érvénytelen könyv"
STR_MEMORY_ERROR: "Memóriahiba"
STR_PAGE_LOAD_ERROR: "Lapbetöltési hiba"
STR_EMPTY_FILE: "Üres fájl"
STR_INVALID_BMP_FILE: "Érvénytelen BMP fájl"
STR_FILE_OPEN_FAILED: "A fájl nem nyitható meg"
STR_OUT_OF_BOUNDS: "Határon kívül"
STR_LOADING: "Betöltés..."
STR_LOADING_POPUP: "Betöltés"
STR_LOOKUP: "Kikeresés"
STR_DICT_LOOKING_UP: "Kikeresés..."
STR_DICT_INDEXING: "Szótár indexelése..."
STR_DICT_NOT_FOUND: "Nem található"
STR_DICT_NO_DICT_SET: "Nincs beállított szótár"
STR_DICT_ERROR: "Szótárhiba"
STR_DICT_READ_FAILED: "Nem sikerült beolvasni a meghatározást"
STR_DICT_DECOMPRESS_ERROR: "Nem sikerült kicsomagolni a meghatározást"
STR_DICT_LOW_MEMORY: "Nincs elég memória"
STR_WIFI_NETWORKS: "Wi-Fi hálózatok"
STR_NO_NETWORKS: "Nem található hálózat"
STR_NETWORKS_FOUND: "%zu hálózat található"
STR_SCANNING: "Keresés..."
STR_FINDING_SAVED_WIFI: "Mentett Wi-Fi keresése..."
STR_CONNECTING: "Kapcsolódás..."
STR_CONNECTING_SAVED_WIFI: "Csatlakozás mentett Wi-Fi-hez..."
STR_SHOW_NETWORKS: "Megjelenítés"
STR_CONNECTED: "Kapcsolódva!"
STR_CONNECTION_FAILED: "A kapcsolat sikertelen"
STR_FORGET_NETWORK: "Hálózat elfelejtése?"
@@ -63,6 +79,7 @@ STR_CAT_READER: "Olvasó"
STR_CAT_CONTROLS: "Vezérlők"
STR_CAT_SYSTEM: "Rendszer"
STR_SLEEP_SCREEN: "Alvásképernyő"
STR_QUICK_RESUME_TIMEOUT: "Gyors folytatás időtúllépéskor"
STR_SLEEP_COVER_MODE: "Alvásképernyő borítómód"
STR_HIDE_BATTERY: "Akkumulátor % elrejtése"
STR_EXTRA_SPACING: "Extra bekezdésköz"
@@ -71,12 +88,18 @@ STR_IMAGES: "Képek"
STR_IMAGES_DISPLAY: "Megjelenítés"
STR_IMAGES_PLACEHOLDER: "Helyőrző"
STR_IMAGES_SUPPRESS: "Elnyomás"
STR_EOB_HOME: "Kezdőképernyő"
STR_EOB_CONTINUE_WITH: "Folytatás ezzel"
STR_SHORT_PWR_BTN: "Rövid bekapcsológomb nyomás"
STR_ORIENTATION: "Olvasási irány"
STR_SIDE_BTN_LAYOUT: "Oldalsó gomb elrendezés (olvasó)"
STR_TOUCH_READER_CONTROLS: "Érintős olvasóvezérlés"
STR_FRONT_BTN_FOLLOW_ORIENTATION: "Elülső gombok tájolása"
STR_LONG_PRESS_SKIP: "Hosszú nyomás - fejezet ugrás"
STR_LONG_PRESS_BEHAVIOR: "Hosszú gombnyomás viselkedése"
STR_LONG_PRESS_BEHAVIOR_OFF: "KI"
STR_LONG_PRESS_BEHAVIOR_SKIP: "Fejezetugrás"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Tájolásváltás"
STR_LONG_PRESS_MENU: "Hosszú nyomás – Menü"
STR_FONT_PREVIEW_TEXT: "Egy hűtlen vejét fülöncsípő, dühös mexikói úr Wesselényinél mázol Quitóban"
STR_FONT_FAMILY: "Olvasó betűkészlet"
STR_FONT_SIZE: "Olvasó betűméret"
@@ -84,9 +107,9 @@ STR_TEXT_SETTINGS: "Szövegbeállítások"
STR_FONT: "Betűtípus"
STR_SIZE: "Méret"
STR_LAYOUT: "Elrendezés"
STR_ALIGNMENT: "Igazítás"
STR_STYLE: "Stílus"
STR_NOT_IN_PREVIEW: "Az előnézetben nem látható"
STR_ALIGNMENT: "Igazítás"
STR_LINE_SPACING: "Sorköz"
STR_SCREEN_MARGIN: "Margók"
STR_PARA_ALIGNMENT: "Bekezdés igazítása"
@@ -105,7 +128,15 @@ STR_PASSWORD: "Jelszó"
STR_SYNC_SERVER_URL: "Szinkronizálás szerver URL"
STR_DOCUMENT_MATCHING: "Dokumentum egyeztetés"
STR_SEND_METADATA: "Dokumentum metaadatok küldése"
STR_SYNC_BEHAVIOR: "Szinkronizálási viselkedés"
STR_ASK_EVERY_TIME: "Mindig kérdezzen"
STR_SMART_SYNC: "Intelligens szinkronizálás"
STR_AUTHENTICATE: "Hitelesítés"
STR_SIGN_UP: "Regisztráció"
STR_CREATING_ACCOUNT: "Fiók létrehozása..."
STR_ACCOUNT_CREATED: "Fiók létrehozva"
STR_SIGNUP_FAILED: "Regisztráció sikertelen"
STR_USERNAME_TAKEN: "A felhasználónév már foglalt"
STR_KOREADER_USERNAME: "KOReader felhasználónév"
STR_KOREADER_PASSWORD: "KOReader jelszó"
STR_FILENAME: "Fájlnév"
@@ -141,6 +172,7 @@ STR_ALWAYS: "Mindig"
STR_IGNORE: "Mellőzés"
STR_SLEEP: "Alvás"
STR_PAGE_TURN: "Lapozás"
STR_FORCE_REFRESH: "Képernyő frissítése"
STR_PORTRAIT: "Álló"
STR_LANDSCAPE_CW: "Fekvő jobbra"
STR_INVERTED: "Invertált"
@@ -148,6 +180,10 @@ STR_ORIENTATION_INVERTED: "Álló 180°"
STR_LANDSCAPE_CCW: "Fekvő balra"
STR_PREV_NEXT: "Előző/Következő"
STR_NEXT_PREV: "Következő/Előző"
STR_KOSYNC: "KOSync"
STR_BOOKMARK_OPTION: "Könyvjelző"
STR_DICTIONARY: "Szótár"
STR_DISABLED: "Letiltva"
STR_NOTO_SERIF: "Noto Serif"
STR_NOTO_SANS: "Noto Sans"
STR_TIGHT: "Szoros"
@@ -172,14 +208,18 @@ STR_NO_UPDATE: "Nincs elérhető frissítés"
STR_UPDATE_FAILED: "Frissítés sikertelen"
STR_UPDATE_COMPLETE: "Frissítés kész"
STR_POWER_ON_HINT: "Tartsd nyomva a bekapcsológombot a bekapcsoláshoz"
STR_RESTARTING_HINT: "Újraindítás... Ha az eszköz nem indul újra, tartsd nyomva a bekapcsológombot néhány másodpercig."
STR_NO_ENTRIES: "Nem található bejegyzés"
STR_DOWNLOADING: "Letöltés..."
STR_DOWNLOAD_FAILED: "Letöltés sikertelen"
STR_ERROR_MSG: "Hiba:"
STR_UNNAMED: "Névtelen"
STR_HOLD_OPEN_TO_DELETE: "Tartsa lenyomva a Megnyitás gombot a törléshez"
STR_NO_SERVER_URL: "Nincs konfigurált szerver URL"
STR_FETCH_FEED_FAILED: "Hírcsatorna betöltése sikertelen"
STR_PARSE_FEED_FAILED: "Hírcsatorna feldolgozása sikertelen"
STR_NEXT_PAGE: "Következő oldal »"
STR_PREV_PAGE: "« Előző oldal"
STR_NETWORK_PREFIX: "Hálózat: "
STR_IP_ADDRESS_PREFIX: "IP-cím: "
STR_ERROR_GENERAL_FAILURE: "Hiba: Általános hiba"
@@ -193,14 +233,13 @@ STR_SELECT: "Kiválasztás"
STR_SELECTED: "Kiválasztva"
STR_TOGGLE: "Váltás"
STR_TOGGLE_BOOKMARK: "Könyvjelző váltása"
STR_BOOKMARK_REMOVED: "Könyvjelző eltávolítva."
STR_HOLD_OPEN_TO_DELETE: "Tartsa lenyomva a Megnyitás gombot a törléshez"
STR_CONFIRM: "Megerősítés"
STR_CANCEL: "Mégse"
STR_CONNECT: "Csatlakozás"
STR_OPEN: "Megnyitás"
STR_DOWNLOAD: "Letöltés"
STR_RETRY: "Újra"
STR_TAP_TO_RETRY: "Koppints az újrapróbáláshoz"
STR_YES: "Igen"
STR_NO: "Nem"
STR_SHOW: "Megjelenítés"
@@ -213,6 +252,9 @@ STR_DIR_RIGHT: "Jobb"
STR_DIR_UP: "Fel"
STR_DIR_DOWN: "Le"
STR_OK_BUTTON: "OK"
STR_KEY_SHIFT: "Shift"
STR_KEY_MODE_SYMBOLS: "?123"
STR_KEY_MODE_ABC: "abc"
STR_SLEEP_COVER_FILTER: "Alvásképernyő borítószűrő"
STR_FILTER_CONTRAST: "Kontraszt"
STR_CUSTOMISE_STATUS_BAR: "Állapotsáv testreszabása"
@@ -230,14 +272,36 @@ STR_EXAMPLE_BOOK: "Könyv címe"
STR_PREVIEW: "Előnézet"
STR_TITLE: "Cím"
STR_BATTERY: "Akkumulátor"
STR_XTC_STATUS_BAR: "XTC állapotsáv"
STR_BOTTOM: "Alul"
STR_TOP: "Felül"
STR_CLOCK: "Óra"
STR_CLOCK_UTC_OFFSET: "Óra UTC eltolás"
STR_CLOCK_FORMAT: "Óraformátum"
STR_CLOCK_FORMAT_24H: "24 órás"
STR_CLOCK_FORMAT_12H: "12 órás"
STR_CURRENT_TIME: "Aktuális idő:"
STR_NEXT_FIELD: "Következő"
STR_CLOCK_SYNC: "Óra szinkronizálása"
STR_CLOCK_SYNC_NOW: "Óra szinkronizálása most"
STR_CLOCK_SYNCING: "Szinkronizálás NTP-ről..."
STR_CLOCK_SYNC_OK: "Óra szinkronizálva"
STR_CLOCK_SYNC_FAIL: "Szinkronizálás sikertelen"
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi nincs csatlakoztatva"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Először csatlakozz Wi-Fi-hez, majd próbáld újra."
STR_CLOCK_SYNCED: "Óra szinkronizálva"
STR_UI_THEME: "Felhasználói felület téma"
STR_THEME_CLASSIC: "Klasszikus"
STR_THEME_LYRA: "Lyra"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
STR_SUNLIGHT_FADING_FIX: "Napfény halványulás javítás"
STR_QUICK_RESUME_TIMEOUT: "Gyors folytatás időtúllépéskor"
STR_REMAP_FRONT_BUTTONS: "Elülső gombok átállítása"
STR_BOOKMARKS: "Könyvjelzők"
STR_BOOKMARK_ADDED: "Könyvjelző hozzáadva."
STR_BOOKMARK_REMOVED: "Könyvjelző eltávolítva."
STR_OPDS_BROWSER: "OPDS böngésző"
STR_SEARCH: "Keresés"
STR_COVER_CUSTOM: "Borító + Egyéni"
STR_QUICK_RESUME: "Gyors folytatás"
STR_MENU_RECENT_BOOKS: "Legutóbbi könyvek"
@@ -265,6 +329,7 @@ STR_GO_HOME_BUTTON: "Főoldalra"
STR_SYNC_PROGRESS: "Haladás szinkronizálása"
STR_DELETE_CACHE: "Könyv gyorsítótár törlése"
STR_DELETE: "Törlés"
STR_CONFIRM_DELETE_BOOKMARK: "Törlöd ezt a könyvjelzőt?"
STR_DISPLAY_QR: "Oldal megjelenítése QR-ként"
STR_CHAPTER_PREFIX: "Fejezet: "
STR_PAGES_SEPARATOR: " oldal | "
@@ -288,6 +353,7 @@ STR_UPLOAD_LOCAL: "Helyi haladás feltöltése"
STR_NO_REMOTE_MSG: "Nem található távoli haladás"
STR_UPLOAD_PROMPT: "Jelenlegi pozíció feltöltése?"
STR_UPLOAD_SUCCESS: "Haladás feltöltve!"
STR_ALREADY_SYNCED: "Már szinkronizálva"
STR_SYNC_FAILED_MSG: "Szinkronizálás sikertelen"
STR_SAVE_PROGRESS_FAILED: "A haladás mentése sikertelen"
STR_SECTION_PREFIX: "Szakasz "
@@ -296,109 +362,70 @@ STR_BOOK_S_STYLE: "Könyv stílusa"
STR_EMBEDDED_STYLE: "Beágyazott stílus"
STR_FOCUS_READING: "Fókuszált olvasás"
STR_OPDS_SERVER_URL: "OPDS szerver URL"
STR_PWR_BTN_FOOTNOTE_BACK: "Gyors visszatérés lábjegyzetből"
STR_BACK_SHORT_TO_FILE_BROWSER: "Rövid Vissza a fájlböngészőhöz"
STR_SET_SLEEP_COVER: "Borító beállítása"
STR_FOOTNOTES: "Lábjegyzetek"
STR_NO_FOOTNOTES: "Nincsenek lábjegyzetek ezen az oldalon"
STR_LINK: "[link]"
STR_SCREENSHOT_BUTTON: "Képernyőkép készítése"
STR_SLEEP_TIMER_VALUE_FORMAT: "%u perc"
STR_SLEEP_NEVER: "Soha"
STR_STEP_HINT_FRONT: "Elülső gombok:"
STR_STEP_HINT_SIDE: "Oldalsó gombok:"
STR_ADD_SERVER: "Szerver hozzáadása"
STR_SERVER_NAME: "Szerver neve"
STR_NO_SERVERS: "Nincs beállított OPDS szerver"
STR_DELETE_SERVER: "Szerver törlése"
STR_OPDS_SERVERS: "OPDS szerverek"
STR_OPDS_DOWNLOAD_FOLDER: "Letöltési mappa"
STR_OPDS_FILENAME_FORMAT: "Fájlnév formátuma"
STR_FMT_AUTHOR_TITLE: "Szerző - Cím"
STR_FMT_TITLE_AUTHOR: "Cím - Szerző"
STR_FMT_TITLE: "Cím"
STR_SCREENSHOT_BUTTON: "Képernyőkép készítése"
STR_OPDS_SD_ROOT: "SD gyökér"
STR_AUTO_TURN_ENABLED: "Automatikus lapozás bekapcsolva: "
STR_AUTO_TURN_PAGES_PER_MIN: "Automatikus lapozás (oldal/perc)"
STR_TILT_PAGE_TURN: "Döntéses lapozás"
STR_ADD_SERVER: "Szerver hozzáadása"
STR_BOOKMARKS: "Könyvjelzők"
STR_BOOKMARK_ADDED: "Könyvjelző hozzáadva."
STR_BOOKMARK_OPTION: "Könyvjelző"
STR_BOTTOM: "Alul"
STR_CLOCK: "Óra"
STR_CLOCK_FORMAT: "Óraformátum"
STR_CLOCK_FORMAT_12H: "12 órás"
STR_CLOCK_FORMAT_24H: "24 órás"
STR_CLOCK_SYNC: "Óra szinkronizálása"
STR_CLOCK_SYNCED: "Óra szinkronizálva"
STR_CLOCK_SYNCING: "Szinkronizálás NTP-ről..."
STR_CLOCK_SYNC_FAIL: "Szinkronizálás sikertelen"
STR_CLOCK_SYNC_NOW: "Óra szinkronizálása most"
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi nincs csatlakoztatva"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Először csatlakozz Wi-Fi-hez, majd próbáld újra."
STR_CLOCK_SYNC_OK: "Óra szinkronizálva"
STR_CLOCK_UTC_OFFSET: "Óra UTC eltolás"
STR_CONFIRM_DELETE_BOOKMARK: "Törlöd ezt a könyvjelzőt?"
STR_CONNECTING_SAVED_WIFI: "Csatlakozás mentett Wi-Fi-hez..."
STR_CRASH_DESCRIPTION: "A részletes jelentés a crash_report.txt fájlba lett mentve. Kérjük, csatold ezt a fájlt a hibajelentéshez."
STR_CRASH_NO_REASON: "(Nem került rögzítésre ok)"
STR_CRASH_REASON: "Összeomlás oka:"
STR_CRASH_TITLE: "Rendszerösszeomlás"
STR_CURRENT_TIME: "Aktuális idő:"
STR_DELETE_SERVER: "Szerver törlése"
STR_DISABLED: "Letiltva"
STR_DOWNLOAD_ALL: "Összes letöltése"
STR_EOB_CONTINUE_WITH: "Folytatás ezzel"
STR_EOB_HOME: "Kezdőképernyő"
STR_FINDING_SAVED_WIFI: "Mentett Wi-Fi keresése..."
STR_FIRMWARE_FILE_OPEN_FAILED: "A fájl nem nyitható meg"
STR_FIRMWARE_TOO_LARGE: "A firmware túl nagy a partícióhoz"
STR_FIRMWARE_TOO_SMALL: "A firmware fájl túl kicsi"
STR_FIRMWARE_UPDATE_DO_NOT_POWER_OFF: "Ne kapcsold ki!"
STR_FIRMWARE_UPDATE_PROMPT: "Frissíted a firmware-t?"
STR_FIRMWARE_WRITE_FAILED: "A firmware írása sikertelen"
STR_MANAGE_FONTS: "Betűtípusok kezelése"
STR_FONT_BROWSER: "Betűtípus-böngésző"
STR_LOADING_FONT_LIST: "Betűtípuslista betöltése..."
STR_NO_FONTS_AVAILABLE: "Nincs elérhető betűtípus"
STR_FONT_INSTALLED: "Betűtípus telepítve!"
STR_FONT_INSTALL_FAILED: "A betűtípus telepítése sikertelen"
STR_FORCE_REFRESH: "Képernyő frissítése"
STR_INDEX_FAILED: "Indexelés sikertelen – érvénytelen könyv"
STR_INSTALLED: "Telepítve"
STR_INVALID_FIRMWARE: "Érvénytelen firmware fájl"
STR_KB_HINT_CLEAR_TEXT: "Tartsd nyomva a DEL-t az összes szöveg törléséhez"
STR_KB_HINT_EDIT_ENTRY: "Tartsd nyomva a FEL-t a bejegyzés szerkesztéséhez"
STR_KB_HINT_EXIT_URL_MODE: "Nyomd meg az ABC-t az URL mód elhagyásához"
STR_KB_HINT_HIDE_PASSWORD: "Tartsd nyomva a JOBBRA-t, majd nyomd meg a [***]-ot a jelszó elrejtéséhez"
STR_KB_HINT_LOWER_SECONDARY: "Tartsd nyomva a SELECT-et kisbetűért vagy másodlagos karakterért"
STR_DOWNLOAD_ALL: "Összes letöltése"
STR_UPDATE_ALL: "Összes frissítése"
STR_UPDATE_AVAILABLE: "Frissítés"
STR_CRASH_TITLE: "Rendszerösszeomlás"
STR_CRASH_DESCRIPTION: "A részletes jelentés a crash_report.txt fájlba lett mentve. Kérjük, csatold ezt a fájlt a hibajelentéshez."
STR_CRASH_REASON: "Összeomlás oka:"
STR_CRASH_NO_REASON: "(Nem került rögzítésre ok)"
STR_TILT_PAGE_TURN: "Döntéses lapozás"
STR_KB_HINT_MOVE_CURSOR: "Nyomd meg a BALRA vagy JOBBRA gombot a kurzor mozgatásához"
STR_KB_HINT_RETURN_CURSOR: "Nyomd meg a BALRA-t a kurzorpozícióhoz való visszatéréshez"
STR_KB_HINT_RETURN_KEYBOARD: "Nyomd meg a LE-t a billentyűzethez való visszatéréshez"
STR_KB_HINT_SECONDARY_CHAR: "Tartsd nyomva a SELECT-et másodlagos karakterért"
STR_KB_HINT_HIDE_PASSWORD: "Tartsd nyomva a JOBBRA-t, majd nyomd meg a [***]-ot a jelszó elrejtéséhez"
STR_KB_HINT_SHOW_PASSWORD: "Tartsd nyomva a JOBBRA-t, majd nyomd meg az [abc]-t a jelszó megjelenítéséhez"
STR_KB_HINT_TOGGLE_HIDE_PASSWORD: "Nyomd meg a [***]-ot a jelszó elrejtéséhez"
STR_KB_HINT_TOGGLE_SHOW_PASSWORD: "Nyomd meg az [abc]-t a jelszó megjelenítéséhez"
STR_KB_HINT_UPPER_SECONDARY: "Tartsd nyomva a SELECT-et NAGYBETŰÉRT vagy másodlagos karakterért"
STR_KB_HINT_URL_SNIPPETS: "Nyomd meg az URL-t az URL-részletekért"
STR_KB_HINT_EDIT_ENTRY: "Tartsd nyomva a FEL-t a bejegyzés szerkesztéséhez"
STR_KB_TIPS: "Tippek:"
STR_KOSYNC: "KOSync"
STR_LOADING_FONT_LIST: "Betűtípuslista betöltése..."
STR_LONG_PRESS_BEHAVIOR: "Hosszú gombnyomás viselkedése"
STR_LONG_PRESS_BEHAVIOR_OFF: "KI"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Tájolásváltás"
STR_LONG_PRESS_BEHAVIOR_SKIP: "Fejezetugrás"
STR_LONG_PRESS_MENU: "Hosszú nyomás – Menü"
STR_MANAGE_FONTS: "Betűtípusok kezelése"
STR_NEXT_FIELD: "Következő"
STR_NEXT_PAGE: "Következő oldal »"
STR_KB_HINT_RETURN_KEYBOARD: "Nyomd meg a LE-t a billentyűzethez való visszatéréshez"
STR_KB_HINT_EXIT_URL_MODE: "Nyomd meg az ABC-t az URL mód elhagyásához"
STR_KB_HINT_CLEAR_TEXT: "Tartsd nyomva a DEL-t az összes szöveg törléséhez"
STR_KB_HINT_SECONDARY_CHAR: "Tartsd nyomva a SELECT-et másodlagos karakterért"
STR_KB_HINT_UPPER_SECONDARY: "Tartsd nyomva a SELECT-et NAGYBETŰÉRT vagy másodlagos karakterért"
STR_KB_HINT_LOWER_SECONDARY: "Tartsd nyomva a SELECT-et kisbetűért vagy másodlagos karakterért"
STR_KB_HINT_URL_SNIPPETS: "Nyomd meg az URL-t az URL-részletekért"
STR_SD_FIRMWARE_UPDATE: "Firmware frissítés SD-kártyáról"
STR_SELECT_FIRMWARE_FILE: "Válassz firmware fájlt (.bin)"
STR_NO_BIN_FILES: "Nincs .bin fájl"
STR_NO_FONTS_AVAILABLE: "Nincs elérhető betűtípus"
STR_NO_SERVERS: "Nincs beállított OPDS szerver"
STR_OPDS_SERVERS: "OPDS szerverek"
STR_PREV_PAGE: "« Előző oldal"
STR_PWR_BTN_FOOTNOTE_BACK: "Gyors visszatérés lábjegyzetből"
STR_VALIDATING_FIRMWARE: "Firmware ellenőrzése..."
STR_INVALID_FIRMWARE: "Érvénytelen firmware fájl"
STR_FIRMWARE_TOO_LARGE: "A firmware túl nagy a partícióhoz"
STR_FIRMWARE_TOO_SMALL: "A firmware fájl túl kicsi"
STR_FIRMWARE_UPDATE_PROMPT: "Frissíted a firmware-t?"
STR_FIRMWARE_FILE_OPEN_FAILED: "A fájl nem nyitható meg"
STR_FIRMWARE_WRITE_FAILED: "A firmware írása sikertelen"
STR_FIRMWARE_UPDATE_DO_NOT_POWER_OFF: "Ne kapcsold ki!"
STR_RECOVERY_MODE: "Helyreállítási mód"
STR_RECOVERY_MODE_HINT: "Helyezd a firmware.bin fájlt az SD-kártya gyökerébe, majd válaszd ki"
STR_RESTARTING_HINT: "Újraindítás... Ha az eszköz nem indul újra, tartsd nyomva a bekapcsológombot néhány másodpercig."
STR_SD_FIRMWARE_UPDATE: "Firmware frissítés SD-kártyáról"
STR_SEARCH: "Keresés"
STR_SELECT_FIRMWARE_FILE: "Válassz firmware fájlt (.bin)"
STR_SERVER_NAME: "Szerver neve"
STR_SET_SLEEP_COVER: "Borító beállítása"
STR_SHOW_NETWORKS: "Megjelenítés"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_TOP: "Felül"
STR_UPDATE_ALL: "Összes frissítése"
STR_UPDATE_AVAILABLE: "Frissítés"
STR_VALIDATING_FIRMWARE: "Firmware ellenőrzése..."
STR_XTC_STATUS_BAR: "XTC állapotsáv"
+12
View File
@@ -23,6 +23,8 @@ STR_INDEX_FAILED: "Gagal mengindeks - buku tidak valid"
STR_MEMORY_ERROR: "Kesalahan memori"
STR_PAGE_LOAD_ERROR: "Gagal memuat halaman"
STR_EMPTY_FILE: "Berkas kosong"
STR_INVALID_BMP_FILE: "Berkas BMP tidak valid"
STR_FILE_OPEN_FAILED: "Gagal membuka berkas"
STR_OUT_OF_BOUNDS: "Di luar batas"
STR_LOADING: "Memuat..."
STR_LOADING_POPUP: "Memuat"
@@ -32,6 +34,9 @@ STR_DICT_INDEXING: "Mengindeks kamus..."
STR_DICT_NOT_FOUND: "Tidak ditemukan"
STR_DICT_NO_DICT_SET: "Kamus belum diatur"
STR_DICT_ERROR: "Kesalahan kamus"
STR_DICT_READ_FAILED: "Gagal membaca definisi"
STR_DICT_DECOMPRESS_ERROR: "Gagal mendekompresi definisi"
STR_DICT_LOW_MEMORY: "Memori tidak cukup"
STR_WIFI_NETWORKS: "Jaringan Wi-Fi"
STR_NO_NETWORKS: "Tidak ada jaringan ditemukan"
STR_NETWORKS_FOUND: "%zu jaringan ditemukan"
@@ -98,6 +103,13 @@ STR_LONG_PRESS_MENU: "Menu Tekan Lama"
STR_FONT_PREVIEW_TEXT: "Rubah cepat berwarna cokelat melompati anjing yang malas"
STR_FONT_FAMILY: "Jenis Font Pembaca"
STR_FONT_SIZE: "Ukuran Font Pembaca"
STR_TEXT_SETTINGS: "Pengaturan Teks"
STR_FONT: "Font"
STR_SIZE: "Ukuran"
STR_LAYOUT: "Tata Letak"
STR_ALIGNMENT: "Rataan"
STR_STYLE: "Gaya"
STR_NOT_IN_PREVIEW: "Tidak ditampilkan di pratinjau"
STR_LINE_SPACING: "Jarak Baris Pembaca"
STR_SCREEN_MARGIN: "Margin Layar Pembaca"
STR_PARA_ALIGNMENT: "Rataan Paragraf Pembaca"
+38 -34
View File
@@ -19,14 +19,14 @@ STR_AUTHENTICATE: "Autentica"
STR_AUTHENTICATING: "Autenticazione..."
STR_AUTO_TURN_ENABLED: "Volta pagina automatico: "
STR_AUTO_TURN_PAGES_PER_MIN: "Volta pagina automatico (pag/min)"
STR_BACK_SHORT_TO_FILE_BROWSER: "Press. breve pul. Indietro va ai file"
STR_BACK: "« Indietro"
STR_BACK_SHORT_TO_FILE_BROWSER: "Press. breve pul. Indietro va ai file"
STR_BATTERY: "Batteria"
STR_BINARY: "Binario"
STR_BOOK: "Libro"
STR_BOOK_PREFIX: "Libro: "
STR_BOOK_PROGRESS_PERCENTAGE: "% avanzamento lettura"
STR_BOOK_S_STYLE: "Stile libro"
STR_BOOK: "Libro"
STR_BOOKMARK_ADDED: "Segnalibro aggiunto"
STR_BOOKMARK_OPTION: "Segnalibro"
STR_BOOKMARK_REMOVED: "Segnalibro rimosso"
@@ -54,9 +54,9 @@ STR_CAT_DISPLAY: "Schermo"
STR_CAT_READER: "Lettore"
STR_CAT_SYSTEM: "Sistema"
STR_CENTER: "Centrato"
STR_CHAPTER: "Capitolo"
STR_CHAPTER_PAGE_COUNT: "Conteggio pagine capitolo"
STR_CHAPTER_PREFIX: "Capitolo: "
STR_CHAPTER: "Capitolo"
STR_CHECK_SERIAL_OUTPUT: "Controllare l'output seriale per dettagli"
STR_CHECK_UPDATES: "Controllo aggiornamenti"
STR_CHECKING_UPDATE: "Ricerca aggiornamenti..."
@@ -69,30 +69,30 @@ STR_CLEAR_CACHE_WARNING_3: "I libri dovranno essere reindicizzati"
STR_CLEAR_CACHE_WARNING_4: "alla riapertura."
STR_CLEAR_READING_CACHE: "Svuota cache di lettura"
STR_CLEARING_CACHE: "Svuotamento cache..."
STR_CLOCK: "Orologio"
STR_CLOCK_FORMAT: "Formato orologio"
STR_CLOCK_FORMAT_12H: "12 ore"
STR_CLOCK_FORMAT_24H: "24 ore"
STR_CLOCK_FORMAT: "Formato orologio"
STR_CLOCK_SYNC: "Sincronizza orologio"
STR_CLOCK_SYNC_FAIL: "Sincronizzazione non riuscita"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Connettiti prima al Wi-Fi e poi riprova"
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi non connesso"
STR_CLOCK_SYNC_NO_WIFI_HINT: "Connettiti prima al Wi-Fi e poi riprova"
STR_CLOCK_SYNC_NOW: "Sincronizza l'orologio adesso"
STR_CLOCK_SYNC_OK: "Orologio sincronizzato"
STR_CLOCK_SYNC: "Sincronizza orologio"
STR_CLOCK_SYNCED: "Orologio sincronizzato"
STR_CLOCK_SYNCING: "Sincronizzazione con il server NTP..."
STR_CLOCK_UTC_OFFSET: "Differenza fuso orario UTC"
STR_CLOCK: "Orologio"
STR_CONFIRM_DELETE_BOOKMARK: "Eliminare questo segnalibro?"
STR_CONFIRM: "Conferma"
STR_CONNECT_WIFI_HINT: "Connettere il dispositivo a questa rete Wi-Fi"
STR_CONFIRM_DELETE_BOOKMARK: "Eliminare questo segnalibro?"
STR_CONNECT: "Connetti"
STR_CONNECT_WIFI_HINT: "Connettere il dispositivo a questa rete Wi-Fi"
STR_CONNECTED: "Connesso!"
STR_CONNECTING_SAVED_WIFI: "Connessione alla Wi-Fi salvata..."
STR_CONNECTING: "Connessione..."
STR_CONNECTING_SAVED_WIFI: "Connessione alla Wi-Fi salvata..."
STR_CONNECTION_FAILED: "Connessione non riuscita"
STR_CONTINUE_READING: "Riprendi la lettura"
STR_COVER_CUSTOM: "Copertina + Sfondo"
STR_COVER: "Copertina"
STR_COVER_CUSTOM: "Copertina + Sfondo"
STR_CRASH_DESCRIPTION: "Un rapporto dettagliato è stato salvato in crash_report.txt. Includere il file per la segnalazione del problema."
STR_CRASH_NO_REASON: "(Nessuna causa registrata)"
STR_CRASH_REASON: "Causa dell'errore:"
@@ -107,15 +107,18 @@ STR_CUSTOM: "Sfondo"
STR_CUSTOMISE_STATUS_BAR: "Personalizza barra di stato"
STR_DARK: "Scuro"
STR_DEFAULT_VALUE: "Predefinito"
STR_DELETE: "Elimina"
STR_DELETE_CACHE: "Elimina cache libro"
STR_DELETE_SERVER: "Elimina server"
STR_DELETE: "Elimina"
STR_DEVICE_FROM_FORMAT: " Da: %s"
STR_DICT_DECOMPRESS_ERROR: "Impossibile estrarre definizione"
STR_DICT_ERROR: "Errore del dizionario"
STR_DICT_INDEXING: "Indicizzazione dizionario..."
STR_DICT_LOOKING_UP: "Ricerca..."
STR_DICT_LOW_MEMORY: "Memoria insufficiente"
STR_DICT_NO_DICT_SET: "Dizionario non impostato"
STR_DICT_NOT_FOUND: "Non trovato"
STR_DICT_READ_FAILED: "Impossibile leggere definizione"
STR_DICTIONARY: "Dizionario"
STR_DIR_DOWN: "Giù"
STR_DIR_LEFT: "Sinistra"
@@ -125,9 +128,9 @@ STR_DISABLED: "Disattivato"
STR_DISPLAY_QR: "Mostra pagina come QR"
STR_DOCUMENT_MATCHING: "Corrispondenza documenti"
STR_DONE: "Fatto"
STR_DOWNLOAD: "Scarica"
STR_DOWNLOAD_ALL: "Scarica tutto"
STR_DOWNLOAD_FAILED: "Download non riuscito"
STR_DOWNLOAD: "Scarica"
STR_DOWNLOADING: "Download..."
STR_EMBEDDED_STYLE: "Stile integrato dell'epub"
STR_EMPTY_CHAPTER: "Capitolo vuoto"
@@ -149,6 +152,7 @@ STR_EXTRA_SPACING: "Spaziatura extra paragrafi"
STR_FAILED_LOWER: "non riuscito"
STR_FETCH_FEED_FAILED: "Impossibile recuperare il feed"
STR_FETCH_PROGRESS: "Recupero posizione..."
STR_FILE_OPEN_FAILED: "Impossibile aprire file"
STR_FILE_TRANSFER: "Trasferisci file"
STR_FILENAME: "Nome file"
STR_FILTER_CONTRAST: "Contrasto"
@@ -161,16 +165,16 @@ STR_FIRMWARE_UPDATE_PROMPT: "Aggiornare il firmware?"
STR_FIRMWARE_WRITE_FAILED: "Aggiornamento firmware non riuscito"
STR_FIT: "Adatta"
STR_FMT_AUTHOR_TITLE: "Autore - Titolo"
STR_FMT_TITLE_AUTHOR: "Titolo - Autore"
STR_FMT_TITLE: "Titolo"
STR_FMT_TITLE_AUTHOR: "Titolo - Autore"
STR_FOCUS_READING: "Lettura guidata"
STR_FONT: "Carattere"
STR_FONT_BROWSER: "Sfoglia font"
STR_FONT_FAMILY: "Font lettore"
STR_FONT_INSTALL_FAILED: "Installazione font non riuscita"
STR_FONT_INSTALLED: "Font installato!"
STR_FONT_PREVIEW_TEXT: "Pranzo d'acqua fa volti sghembi"
STR_FONT_SIZE: "Dimensione font"
STR_FONT: "Carattere"
STR_FOOTNOTES: "Note a piè pagina"
STR_FORCE_REFRESH: "Refresh"
STR_FORGET_AND_REMOVE: "Eliminare la rete e la password salvata?"
@@ -180,8 +184,8 @@ STR_FRONT_BTN_FOLLOW_ORIENTATION: "Orienta pul. frontali"
STR_GO_HOME_BUTTON: "Vai alla home"
STR_GO_TO_PERCENT: "Vai alla percentuale..."
STR_HASH_FAILED: "Impossibile calcolare l'hash del documento"
STR_HIDE_BATTERY: "Nascondi % batteria"
STR_HIDE: "Nascondi"
STR_HIDE_BATTERY: "Nascondi % batteria"
STR_HOLD_OPEN_TO_DELETE: "Tieni premuto Apri per eliminare"
STR_HOME: "« Home"
STR_HOTSPOT_DESC: "Creazione di una rete Wi-Fi"
@@ -192,10 +196,10 @@ STR_HW_LEFT_LABEL: "Sinistra (3° pul.)"
STR_HW_RIGHT_LABEL: "Destra (4° pul.)"
STR_HYPHENATION: "Sillabazione"
STR_IGNORE: "Ignora"
STR_IMAGES: "Immagini"
STR_IMAGES_DISPLAY: "Visualizza"
STR_IMAGES_PLACEHOLDER: "Segnaposto"
STR_IMAGES_SUPPRESS: "Nascondi"
STR_IMAGES: "Immagini"
STR_IN_READER: "Nel lettore"
STR_INDEX_FAILED: "Indicizzazione fallita - libro non valido"
STR_INDEXING: "Indicizzazione..."
@@ -238,14 +242,14 @@ STR_LAYOUT: "Layout"
STR_LIGHT: "Chiaro"
STR_LINE_SPACING: "Interlinea"
STR_LINK: "[link]"
STR_LOADING: "Caricamento..."
STR_LOADING_FONT_LIST: "Elenco font..."
STR_LOADING_POPUP: "Caricamento"
STR_LOADING: "Caricamento..."
STR_LOCAL_LABEL: "Locale:"
STR_LONG_PRESS_BEHAVIOR: "Press. lunga pul. laterali"
STR_LONG_PRESS_BEHAVIOR_OFF: "OFF"
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Orientamento"
STR_LONG_PRESS_BEHAVIOR_SKIP: "Salta capitolo"
STR_LONG_PRESS_BEHAVIOR: "Press. lunga pul. laterali"
STR_LONG_PRESS_MENU: "Press. lunga pul. Menu"
STR_LOOKUP: "Definisci parola"
STR_MAC_ADDRESS: "Indirizzo MAC:"
@@ -262,6 +266,7 @@ STR_NEW_VERSION: "Nuova versione: "
STR_NEXT_FIELD: "Succ."
STR_NEXT_PAGE: "Pag. successiva »"
STR_NEXT_PREV: "Succ/Prec"
STR_NO: "No"
STR_NO_BIN_FILES: "Nessun file .bin trovato"
STR_NO_CHAPTERS: "Nessun capitolo"
STR_NO_CREDENTIALS_MSG: "Nessuna credenziale impostata"
@@ -276,7 +281,6 @@ STR_NO_REMOTE_MSG: "Nessuna posizione remota trovata"
STR_NO_SERVER_URL: "Nessun server configurato"
STR_NO_SERVERS: "Nessun server OPDS configurato"
STR_NO_UPDATE: "Nessun aggiornamento disponibile"
STR_NO: "No"
STR_NONE_OPT: "Nessuno"
STR_NORMAL: "Normale"
STR_NOT_IN_PREVIEW: "Non mostrato nell'anteprima"
@@ -290,19 +294,19 @@ STR_OPDS_FILENAME_FORMAT: "Formato nome file"
STR_OPDS_SD_ROOT: "Root SD"
STR_OPDS_SERVER_URL: "Server OPDS"
STR_OPDS_SERVERS: "Server OPDS"
STR_OPEN_URL_HINT: "Aprire questo URL nel browser"
STR_OPEN: "Apri"
STR_OPEN_URL_HINT: "Aprire questo URL nel browser"
STR_OR_HTTP_PREFIX: "o http://"
STR_ORIENTATION_INVERTED: "Verticale 180°"
STR_ORIENTATION: "Orientamento lettura"
STR_ORIENTATION_INVERTED: "Verticale 180°"
STR_OUT_OF_BOUNDS: "Fuori dai limiti"
STR_PAGE_LOAD_ERROR: "Errore caricamento pagina"
STR_PAGE_OVERALL_FORMAT: "Pagina %d, %.2f%% totale"
STR_PAGE_TOTAL_OVERALL_FORMAT: "Pagina %d/%d, %.2f%% totale"
STR_PAGE_TURN: "Cambio pagina"
STR_PAGES_1: "1 pagina"
STR_PAGES_10: "10 pagine"
STR_PAGES_15: "15 pagine"
STR_PAGES_1: "1 pagina"
STR_PAGES_30: "30 pagine"
STR_PAGES_5: "5 pagine"
STR_PAGES_SEPARATOR: " pagine | "
@@ -315,17 +319,17 @@ STR_PRESS_OK_SCAN: "Premere OK per ripetere scansione"
STR_PREV_NEXT: "Prec/Succ"
STR_PREV_PAGE: "« Pag. precedente"
STR_PREVIEW: "Anteprima"
STR_PROGRESS_BAR: "Barra di avanzamento"
STR_PROGRESS_BAR_MEDIUM: "Medio"
STR_PROGRESS_BAR_THICK: "Spesso"
STR_PROGRESS_BAR_THICKNESS: "Spessore barra avanzamento"
STR_PROGRESS_BAR_THIN: "Sottile"
STR_PROGRESS_BAR: "Barra di avanzamento"
STR_PROGRESS_FOUND: "Posizione remota trovata!"
STR_PWR_BTN_FOOTNOTE_BACK: "Rientro rapido dalle note"
STR_QUICK_RESUME_TIMEOUT: "Ripresa rapida dopo timeout"
STR_QUICK_RESUME: "Ripresa rapida"
STR_RECOVERY_MODE_HINT: "Metti firmware.bin nella scheda SD e selezionalo"
STR_QUICK_RESUME_TIMEOUT: "Ripresa rapida dopo timeout"
STR_RECOVERY_MODE: "Modalità ripristino"
STR_RECOVERY_MODE_HINT: "Metti firmware.bin nella scheda SD e selezionalo"
STR_REFRESH_FREQ: "Freq. aggiornamento"
STR_REMAP_CANCEL_HINT: "Laterale Giù: annulla rimappatura"
STR_REMAP_FRONT_BUTTONS: "Riassegna pul. frontali"
@@ -347,9 +351,9 @@ STR_SD_CARD: "Scheda SD"
STR_SD_FIRMWARE_UPDATE: "Aggiornamento firmware da SD"
STR_SEARCH: "Cerca"
STR_SECTION_PREFIX: "Sezione "
STR_SELECT: "Seleziona"
STR_SELECT_CHAPTER: "Seleziona capitolo"
STR_SELECT_FIRMWARE_FILE: "Seleziona il firmware (.bin)"
STR_SELECT: "Seleziona"
STR_SELECTED: "Selezionato"
STR_SEND_METADATA: "Invia metadati documento"
STR_SERVER_NAME: "Nome server"
@@ -357,19 +361,19 @@ STR_SET_CREDENTIALS_FIRST: "Prima le credenziali"
STR_SET_SLEEP_COVER: "Imposta copertina"
STR_SETTINGS_TITLE: "Impostazioni"
STR_SHORT_PWR_BTN: "Press. breve pul. Accensione"
STR_SHOW: "Mostra"
STR_SHOW_HIDDEN_FILES: "Mostra file nascosti"
STR_SHOW_NETWORKS: "Mostra"
STR_SHOW: "Mostra"
STR_SIDE_BTN_LAYOUT: "Pul. laterali (lettore)"
STR_SIGN_UP: "Registrati"
STR_SIGNUP_FAILED: "Registrazione fallita"
STR_SIZE: "Dimensione"
STR_SLEEP: "Sospendi"
STR_SLEEP_COVER_FILTER: "Filtro copertina"
STR_SLEEP_COVER_MODE: "Modalità copertina"
STR_SLEEP_NEVER: "Mai"
STR_SLEEP_SCREEN: "Schermata sospensione"
STR_SLEEP_TIMER_VALUE_FORMAT: "%u min"
STR_SLEEP: "Sospendi"
STR_SLEEPING: "SOSPENSIONE"
STR_SMART_SYNC: "Smart sync"
STR_START_READING: "Inizia a leggere di seguito"
@@ -390,34 +394,34 @@ STR_TAP_TO_RETRY: "Tocca per riprovare"
STR_TEXT_AA: "Anti-aliasing testo"
STR_TEXT_SETTINGS: "Impostazioni testo"
STR_THEME_CLASSIC: "Classico"
STR_THEME_LYRA_EXTENDED: "Lyra esteso"
STR_THEME_LYRA: "Lyra"
STR_THEME_LYRA_EXTENDED: "Lyra esteso"
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
STR_TIGHT: "Compatto"
STR_TILT_PAGE_TURN: "Inclina per cambio pagina"
STR_TIME_TO_SLEEP: "Timeout sospensione"
STR_TITLE: "Titolo"
STR_TO_PREFIX: "a "
STR_TOGGLE_BOOKMARK: "Attiva/disattiva segnalibro"
STR_TOGGLE: "Cambia"
STR_TOGGLE_BOOKMARK: "Attiva/disattiva segnalibro"
STR_TOP: "Alto"
STR_TOUCH_READER_CONTROLS: "Controlli touch lettore"
STR_UI_THEME: "Tema interfaccia"
STR_UNASSIGNED: "Non assegnato"
STR_UNNAMED: "Senza nome"
STR_UPDATE: "Aggiorna"
STR_UPDATE_ALL: "Aggiorna tutto"
STR_UPDATE_AVAILABLE: "Aggiorna"
STR_UPDATE_COMPLETE: "Aggiornamento completato"
STR_UPDATE_FAILED: "Aggiornamento non riuscito"
STR_UPDATE: "Aggiorna"
STR_UPDATING: "Aggiornamento..."
STR_UPLOAD: "Carica"
STR_UPLOAD_LOCAL: "Invia posizione locale"
STR_UPLOAD_PROGRESS: "Invio posizione..."
STR_UPLOAD_PROMPT: "Inviare la posizione attuale?"
STR_UPLOAD_SUCCESS: "Posizione inviata!"
STR_UPLOAD: "Carica"
STR_USERNAME_TAKEN: "Nome utente già registrato"
STR_USERNAME: "Nome utente"
STR_USERNAME_TAKEN: "Nome utente già registrato"
STR_VALIDATING_FIRMWARE: "Convalida firmware..."
STR_WIDE: "Largo"
STR_WIFI_CONN_FAILED: "Connessione Wi-Fi non riuscita"
Loaded 20 of 60 files, more files were not shown because too many files have changed in this diff. Show more