Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

feat: add czech translation #122

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions DevToys/DevToys.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
69F211362902EAEE006417C7 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Main.strings; sourceTree = "<group>"; };
69F211372902EAEE006417C7 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
6B42318727AD1BC0002D135A /* HyphenationRemoverView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HyphenationRemoverView+.swift"; sourceTree = "<group>"; };
B608540A27A66694003BF243 /* SectionButton+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SectionButton+.swift"; sourceTree = "<group>"; };
B608541127A66A90003BF243 /* JSONYamlConverterView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSONYamlConverterView+.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1002,6 +1004,7 @@
"pt-BR",
de,
es,
cs,
);
mainGroup = B64B1E6727A4F5E200AC2601;
packageReferences = (
Expand Down Expand Up @@ -1252,6 +1255,7 @@
B67A4CD527C1E0DF009277FB /* ja */,
B67A4CD727C1E0F1009277FB /* de */,
B67A4CD927C1E469009277FB /* es */,
69F211362902EAEE006417C7 /* cs */,
);
name = Main.storyboard;
sourceTree = "<group>";
Expand All @@ -1265,6 +1269,7 @@
B67A4CD127C1E03C009277FB /* pt-BR */,
B67A4CD827C1E0F8009277FB /* de */,
B67A4CDA27C1E46A009277FB /* es */,
69F211372902EAEE006417C7 /* cs */,
);
name = Localizable.strings;
sourceTree = "<group>";
Expand Down
2 changes: 1 addition & 1 deletion DevToys/DevToys/Body/Convert/DateConverterView+.swift
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ final private class DateConverterView: Page {

let datePicker = DatePicker()
let utcDatePicker = DatePicker()
let nowButton = Button(title: "Now")
let nowButton = Button(title: "Now".localized())
let unixTimeField = NumberField()
let isoDateField = TextField(showCopyButton: false)
let timestampDateField = TextField(showCopyButton: false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,12 @@ final private class IconGeneratorView: Page {
let scalePicker = EnumPopupButton<IconSet.Scale>()
lazy var scalePickerArea = Area(icon: R.Image.paramators, title: "Scale", control: scalePicker)
let clearButton = SectionButton(title: "Clear".localized(), image: R.Image.clear)
let exportButton = Button(title: "Export")
let exportButton = Button(title: "Export".localized())

override func onAwake() {
self.addSection(Section(title: "Configuration".localized(), items: [
Area(icon: R.Image.export, title: "Icon Export Type", control: exportTypePicker),
Area(icon: R.Image.paramators, title: "Templetes", control: iconTempletePicker)
Area(icon: R.Image.export, title: "Icon Export Type".localized(), control: exportTypePicker),
Area(icon: R.Image.paramators, title: "Templates".localized(), control: iconTempletePicker)
]))

self.addSection2(
Expand All @@ -192,7 +192,7 @@ final private class IconGeneratorView: Page {
}
], toolbarItems: [clearButton]),

Section(title: "Options", items: [
Section(title: "Options".localized(), items: [
scalePickerArea,
iosOptionsView,
exportButton
Expand Down
4 changes: 2 additions & 2 deletions DevToys/DevToys/Body/Graphic/QRCodeReaderView+.swift
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ enum QRCodeInputType: String, TextItem {
case photo = "Photo"
case camera = "Camera"

var title: String { rawValue }
var title: String { rawValue.localized() }
}

final private class QRCodeReaderView: Page {
Expand All @@ -123,7 +123,7 @@ final private class QRCodeReaderView: Page {
override func onAwake() {
self.addSection(Section(
title: "Configuration".localized(), items: [
Area(icon: R.Image.paramators, title: "QR Code Input Type", control: inputTypePicker)
Area(icon: R.Image.paramators, title: "QR Code Input Type".localized(), control: inputTypePicker)
]))
self.addSection2(
Section(title: "Input".localized(), items: [imageDropView], toolbarItems: [inputClearButton]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ final private class ColorPickerView: Page {
let pickerPlaceholder = NSPlaceholderView()

let colorSampleView = ColorSampleView()
let pixelPickerButton = SectionButton(title: "Pick Color", image: R.Image.spuit)
let pixelPickerButton = SectionButton(title: "Pick Color".localized(), image: R.Image.spuit)
let alphaField = NumberField() => { $0.snp.makeConstraints{ make in make.width.equalTo(100) } }

let colorCopyTypePicker = EnumPopupButton<ColorCopyType>()
Expand Down
2 changes: 1 addition & 1 deletion DevToys/DevToys/Component/ImageDropView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class ImageDropView: NSLoadView {
let imageView = NSImageView()

private let backgroundLayer = ControlBackgroundLayer.animationDisabled()
private let dropIndicator = DropIndicatorView(title: "Drop Image Here")
private let dropIndicator = DropIndicatorView(title: "Drop Image Here".localized())

override func layout() {
super.layout()
Expand Down
258 changes: 258 additions & 0 deletions DevToys/DevToys/Resource/cs.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
/*
Localizable.strings
DevToys

Created by JiriSko on 2022/10/21.

*/

// - General -
"Configuration" = "Konfigurace";
"Format" = "Formát";
"Pretty" = "Čitelný";
"Minified" = "Minifikovaný";
"Encoded" = "Zakódováno";
"Decoded" = "Dekódováno";
"File" = "Soubor";
"Text" = "Text";
"Copy" = "Kopírovat";
"Paste" = "Vložit";
"Copied!" = "Zkopírováno!";
"Pasted!" = "Vloženo";
"Open" = "Otevřít";
"Export" = "Exportovat";
"Import" = "Importovat";
"Input" = "Vstup";
"Output" = "Výstup";
"No selection" = "Nevybráno";
"Drop Files Here" = "Sem přetáhněte soubory";
"Drop Image Here" = "Sem přetáhněte obrázek";
"Untitled Tool" = "Nepojmenovaný nástroj";
"Uppercase" = "Velká písmena";
"Hyphens" = "Pomlčky";
"Type" = "Typ";
"Length" = "Délka";
"Convert" = "Převést";
"Information" = "Informace";
"Clear" = "Vyčistit";
"Delete" = "Smazat";
"Open in Finder" = "Zobrazit ve Finderu";
"Quick Look" = "Rychlý náhled";
"Default" = "Výchozí";
"Files" = "Soubory";

// - Category -
"category.home" = "Všechny nástroje";
"category.converters" = "Převodníky";
"category.encoders_decoders" = "Kodéry / dekodéry";
"category.formatters" = "Formátovače";
"category.generators" = "Generátory";
"category.text" = "Text";
"category.graphic" = "Grafika";
"Media" = "Média";

// - Tool -
"tool.home.title" = "Všechny nástroje";
"tool.home.mintitle" = "Všechny";
"tool.home.description" = "Projít všechny nástroje";

"tool.jsonyaml.title" = "Převodník JSON <> YAML";
"tool.jsonyaml.mintitle" = "JSON <> YAML";
"tool.jsonyaml.description" = "Převod JSON na YAML a naoopak";

"tool.numbase.title" = "Převodník číselných soustav";
"tool.numbase.mintitle" = "Číselné soustavy";
"tool.numbase.description" = "Převod čísel z jedné soustavy do jiné";
"Format Number" = "Formátovat čísla";
"Decimal" = "Desítková";
"Hexdecimal" = "Šestnáctková";
"Octal" = "Osmičková";
"Binary" = "Dvojková";

"tool.date.title" = "Převodník data";
"tool.date.mintitle" = "Datum";
"tool.date.description" = "Převod data z jednoho formátu do jiného";
"Now" = "Nyní";
"Date" = "Datum";
"Unix Time" = "Unixový čas";
"ISO 8601" = "ISO 8601";
"Calender" = "Kalendář";

"tool.html.title" = "Kodér / dekodér HTML";
"tool.html.mintitle" = "HTML";
"tool.html.description" = "Kódovat nebo dekódovat všechny použitelné znaky na jim odpovídající HTML entity";

"tool.url.title" = "Kodér / dekodér URL";
"tool.url.mintitle" = "URL";
"tool.url.description" = "Kódovat nebo dekódovat všechny použitelné znaky na jim odpovídající URL";

"tool.base64.title" = "Kodér / dekodér Base64";
"tool.base64.mintitle" = "Base64";
"tool.base64.description" = "Kódování a dekódování Base64 dat";
"Source Type" = "Typ zdroje";
"Text Source" = "Text";
"File Source" = "Soubor";

"tool.jwt.title" = "Kodér / dekodér JWT";
"tool.jwt.mintitle" = "JWT";
"tool.jwt.description" = "Dekódování hlavičky a datového obsahu z JWT tokenu";
"JWT Token" = "JWT token";
"Header" = "Hlavička";
"Payload" = "Datový obsah";

"tool.jsonformat.title" = "Formátování JSON";
"tool.jsonformat.mintitle" = "JSON";
"tool.jsonformat.description" = "Odsadit nebo minifikovat JSON data";
"Indentation" = "Odsazení";
"2 Spaces" = "2 mezery";
"4 Spaces" = "4 mezery";
"1 Tab" = "1 tabulátor";

"tool.xmlformat.title" = "Formátování XML";
"tool.xmlformat.mintitle" = "XML";
"tool.xmlformat.description" = "Odsadit nebo minifikovat XML data";
"HTML Document" = "HTML dokument";
"XML Document" = "XML dokument";
"Document Type" = "Typ dokumentu";
"Auto Fix Document" = "Automaticky opravovat dokument";
"Pretty Document" = "Čitelný dokument";

"tool.hashgen.title" = "Hash generátor";
"tool.hashgen.mintitle" = "Hash";
"tool.hashgen.description" = "Výpočet hashe MD5, SHA1, SHA256 a SHA 512 z textu";

"tool.uuidgen.title" = "UUID generátor";
"tool.uuidgen.mintitle" = "UUID";
"tool.uuidgen.description" = "Generování univerzálního unikátního identifikátoru";
"Generate UUIDs" = "Generovat UUID";

"tool.ligen.title" = "Lorem Ipsum generátor";
"tool.ligen.mintitle" = "Lorem Ipsum";
"tool.ligen.description" = "Generování dočasného Lorem Ipsum textu";
"Type of generating Lorem Ipsum" = "Typ generovaného Lorem Ipsum textu";
"Length of generating Lorem Ipsum" = "Délka generovaného Lorem Ipsum textu";
"Words" = "Slova";
"Sentences" = "Věty";
"Paragraphs" = "Odstavce";

"tool.checksum.title" = "Generátor kontrolního součtu";
"tool.checksum.mintitle" = "Kontrolní součet";
"tool.checksum.description" = "Generování hashe s kontrolním součtem souboru";
"Output Comparer" = "Porovnání s výstupem";
"Hash Algorithm" = "Hashovací algoritmus";
"Select which algorithm you want to use" = "Zvolte, který algoritmus chcete použít";

"tool.textinspect.title" = "Převodník a inspektor velikosti písmen textu";
"tool.textinspect.mintitle" = "Velikost písmen";
"tool.textinspect.description" = "Analýza a převod velikosti písmen textu";
"Charactors" = "Znaky";
"Words" = "Slova";
"Lines" = "Řádky";
"Bytes" = "Bajty";

"tool.regex.title" = "Tester regulárních výrazů";
"tool.regex.mintitle" = "Regex";
"tool.regex.description" = "Ověřování a testování regulárních výrazů";
"Reguler expression" = "Regulární výraz";

"tool.hyphenremove.title" = "Odstraňovač rozdělených slov";
"tool.hyphenremove.mintitle" = "Rozdělování slov";
"tool.hyphenremove.description" = "Odstranění zalomení slov v textu zkopírovaného z PDF";

"tool.imageoptim.title" = "Kompresor PNG / JPEG";
"tool.imageoptim.mintitle" = "Komprimování PNG / JPEG";
"tool.imageoptim.description" = "Bezztrátová optimalizace PNG a JPEG";
"Optimize Level" = "Úroveň optimalizace";
"Low" = "Nízká";
"Medium" = "Střední";
"High" = "Vysoká";
"Very High (Slow)" = "Velmi vysoká (pomalé)";
"Override original file" = "Přepsat původní soubor";

"tool.pdfgen.title" = "Generátor PDF";
"tool.pdfgen.mintitle" = "Generátor PDF";
"tool.pdfgen.description" = "Generování PDF z několika obrázků";
"Images" = "Obrázky";
"Size" = "Velikost";
"Generate PDF" = "Generovat PDF";
"Page" = "Strana";

"tool.imageconvert.title" = "Převodník obrázků";
"tool.imageconvert.mintitle" = "Převodník obrázků";
"tool.imageconvert.description" = "Konverze obrázků a změna rozměrů";
"PNG Format" = "PNG";
"JPEG Format" = "JPEG";
"TIFF Format" = "TIFF";
"GIF Format" = "GIF";
"Webp Format" = "WEBP";
"Heic Format" = "HEIC";
"Scale to Fill" = "Vyplnit plochu";
"Scale to Fit" = "Neořezávat";
"Image Format" = "Formát obrázku";
"Resize" = "Změnit rozměry";
"Converted Images" = "Převést obrázky";
"Scale" = "Měřítko";

"QR Code Generator" = "Generátor QR kódu";
"Create a QR code from text" = "Vytvoření QR kódu z textu";
"Correction Level" = "Úroveň korekce";
"QR Code" = "QR kód";

"Settings" = "Nastavení";
"Setting of application" = "Nastavení aplikace";
"App Theme" = "Téma";
"Select which app theme to display" = "Zvolte, v jakém režimu se má aplikace zobrazit";
"Use system setting" = "Použít systémové nastavení";
"Light mode" = "Světlý režim";
"Dark mode" = "Tmavý režim";

"Color Picker" = "Výběr barvy";
"Picker the color and copy components" = "Výběr a kopírování zformátované barvy";
"HSB Box" = "HSB box";
"HSB Circle" = "HSB kruh";
"HSB Circle and Bars" = "HSB kruh a sloupce";
"Pick Color" = "Vybrat barvu";
"Picker Type" = "Typ výběru";
"Color Hex" = "Barva hexadecimálně";
"Color Copy" = "Kopírovat barvu";
"Color Copy Type" = "Typ";

"Gif Converter" = "GIF převodník";
"Convert a movie to an animated GIF file" = "Převod videa do animovaného GIFu";
"Width" = "Šířka";
"The width of the Gif file" = "Šířka GIF souboru (výška se určí automaticky)";
"FPS" = "FPS";
"FPS of the Gif file to be exported" = "Snímkovací frekvence exportovaného GIF souboru";
"Remove source file" = "Odstranit zdrojový soubor";
"Whether to delete the source file after exporting a Gif" = "Zda odstranit zdrojový soubor po exportu GIFu";

"Audio Converter" = "Audio převodník";
"Convert audio from one format to another" = "Převod audia z jednoho formátu do jiného";
"Whether to delete the source file after exporting a Audio" = "Zda odstranit zdrojový soubor po exportu audia";
"Starting..." = "Spouštění...";
"Complete" = "Dokončeno";
"Convert Failed" = "Převod selhal";

"Text Diff" = "Porovnávač textu";
"Compare two Text and display Diff" = "Porovnání dvojice textů";
"By Characters" = "Dle znaků";
"By Words" = "Dle slov";
"By Lines" = "Dle řádků";
"Input 1" = "Vstup 1";
"Input 2" = "Vstup 2";
"Diff Style" = "Porovnávat";

"Icon Generator" = "Generátor ikon";
"Create a Icon from image" = "Vytvoření ikony z obrázku";
"Icon Export Type" = "Typ exportované ikony";
"Templates" = "Šablony";
"Source" = "Zdroj";
"Options" = "Možnosti";

"QR Code Reader" = "Čtečka QR kódu";
"Read QR Code from image or device camera" = "Čtení QR kódu z obrázku nebo fotoaparátu";
"QR Code Input Type" = "Vstup QR kódu";
"Photo" = "Fotka";
"Camera" = "Fotoaparát";

"SQL Formatter" = "Formátování SQL";
Loading