From fd52053d9c3179ebd33e7351558e92ba5ad5b45c Mon Sep 17 00:00:00 2001 From: Pascal Date: Sat, 27 Jun 2026 22:25:00 -0400 Subject: [PATCH 1/2] Adds czech localization Co-Authored-By: IvanBerka <82904760+ivanberka@users.noreply.github.com> --- Free Ruler/AppDelegate.swift | 12 +- .../English.lproj/English.lproj.helpindex | Bin 1919 -> 1920 bytes .../Resources/English.lproj/FreeRuler.html | 6 +- .../Resources/cs.lproj/FreeRuler.html | 112 ++++++ .../Resources/cs.lproj/InfoPlist.strings | 4 + .../Resources/cs.lproj/cs.lproj.helpindex | Bin 0 -> 1645 bytes Free Ruler/Localizable.xcstrings | 318 ++++++++++++++++++ Free Ruler/cs.lproj/MainMenu.strings | 159 +++++++++ .../cs.lproj/PreferencesController.strings | 9 + .../cs.lproj/RulerSettingsController.strings | 9 + .../RulerSettingsControlsView.strings | 21 ++ scripts/generate-help-index.sh | 15 +- 12 files changed, 653 insertions(+), 12 deletions(-) create mode 100644 Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/FreeRuler.html create mode 100644 Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/InfoPlist.strings create mode 100644 Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/cs.lproj.helpindex create mode 100644 Free Ruler/cs.lproj/MainMenu.strings create mode 100644 Free Ruler/cs.lproj/PreferencesController.strings create mode 100644 Free Ruler/cs.lproj/RulerSettingsController.strings create mode 100644 Free Ruler/cs.lproj/RulerSettingsControlsView.strings diff --git a/Free Ruler/AppDelegate.swift b/Free Ruler/AppDelegate.swift index cbaf54d..dcd929c 100644 --- a/Free Ruler/AppDelegate.swift +++ b/Free Ruler/AppDelegate.swift @@ -17,9 +17,9 @@ private enum HotkeyBezelLocalizationKey: String { case flipHorizontal = "HotkeyBezel.FlipHorizontal" case flipVertical = "HotkeyBezel.FlipVertical" case unitsFormat = "HotkeyBezel.UnitsFormat" - case pixelsUnit = "Unit.Pixels.Abbreviation" - case millimetersUnit = "Unit.Millimeters.Abbreviation" - case inchesUnit = "Unit.Inches.Abbreviation" + case pixelsUnit = "HotkeyBezel.Unit.Pixels" + case millimetersUnit = "HotkeyBezel.Unit.Millimeters" + case inchesUnit = "HotkeyBezel.Unit.Inches" var localizedString: String { NSLocalizedString(rawValue, comment: comment) @@ -46,11 +46,11 @@ private enum HotkeyBezelLocalizationKey: String { case .unitsFormat: return "Hotkey status bezel format for the selected measurement unit" case .pixelsUnit: - return "Pixels unit abbreviation" + return "Pixels unit name for the hotkey status bezel" case .millimetersUnit: - return "Millimeters unit abbreviation" + return "Millimeters unit name for the hotkey status bezel" case .inchesUnit: - return "Inches unit abbreviation" + return "Inches unit name for the hotkey status bezel" } } } diff --git a/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/English.lproj.helpindex b/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/English.lproj.helpindex index 5426662b4773b665335549e1a2b0538e2f389260..479548a11129296f128d3d35acf4dc056281fd17 100644 GIT binary patch delta 1283 zcmV+e1^oK|4uB68Vs>~kOC$gQtObBc00jXcsbakExRDh*0WXnJ8#k_X(BZThjT*42M1ObRNw6j)N1&(Ym>*M>kh9b4(R{0En2Rh>@cre-M>K zl_g>zMCfQ!rZHw22nL)H#t<-M88u@@IgBPu{tEtz{R;hx{L1@Edu4qkeZ^cUUjbjq zuE181-v_^+J>Qy7oZma&&a;tqOzoAO@$S3rjcrdC^kc6zM;o-UhdXz()~4;&XdA4v z+Nzz3q~vox+k3pS2Yav6I;&Bgf7BsG6i+gTavCQwg|o+&2#;t%WCRsNXNV~q$RODg zY)BwaD+#A_XUv@~wiT>LnObk949mhd^@(KNC}3wk3w>KO3X(W=unGzE^(L?bbM&@ItE~fHE%30~>M;v*9buMyG~4qNC!XL}#c}_$chgf5n3aLnpyO z;O+XBL#|GVv($@(YZu;j#xLUOynMuq9g9}(ZK&a{L+xc~)Ww$! zjs1lD+SuuLi(eh;IQZU64}2{{J>U0>@ab)cN99w;T{qLLn%H?8lr zYA`b88?JZjYgih-2eOVte>}5#@${|tYY}ak!#m8U*11eI?v0+vwVsOgx`Bife*TC> zvEnCxIUV+mPE-&Qog{$(cW}-$DG20a?DG5#GPIRf?`_fLg*-SII0wCnh~MFAfONUf zdq@1R+Y0;_Dn^Crf`=xvnQ7>Kl+pdUFLvHPeC{|LTzS?;Q_*-kf5s2nMZF-t4xYKFxt(aaSLZJJ5@>82JVO*Ko{e%!SQ}YX!$RKNe#R4 zbDkjX725$mmZ84wXd0poCI_`p`uv%;u-xIk8V6Lr5c)1^49cWXSwcrBQpYqM1h7YY zS^fjgn*5Md{-pkBe=s9|Q`aNByEB4!sQrLQ;GdKhR29v%f=E%FljlTueXwjS$kFm7 z$=L@pP$w*DrGh+K0WsK327u;rQbFXoZ{+IS_2x!4P7favAA_?-V`oP}aH|`u0ANY3 zSt5{*8i!T%p(Ai9{)!aPh0vjS5@cfA8TB81(NBu0`mf~;fAnvEk7wrp0pF4MeP;gR zxS&`YZT+^F3puPwA-ye*-2j?@oFwgPk9D0$|ShGVc%t9PcS7WPSjcqtI z^p7LBT6P?Q*SO)i=!D+MCT>XGIb(~v+1k-mGzgDWgSnnI28elvX6_G#bA&!|S@b7V`P6NuJPy`{&8s7x60wzYTu=5? tj}DK4An=^Uo}iHg&w4%`e&HFH;t_mw$$J{Y+pozG^>*iE0kc~LBm&zadG`PS delta 1282 zcmV+d1^xPf5C0AoVs>~kOC$gQtOamM00jX6s%FeDxseq+0V$DD8#m5%(B-rpi5kbr z82eymTsYUdIcW|KFUFi>43|CebRNw6j)N1&(Ym>*M>kh9b4(R{0En2R2$7>Ae?Y;+ zr)i?VOSo`Hs3m9jozGPuKoW-zMzLu;=;V2TYClAQ zemf_@_sXxL(Hun*UTD+{6##y7cY3RqtVK}3pHGIJY4(X-sx%U*0eZssJDv?x$>Ho zv7eY@8+(0j@u)x@2j6??fv;ty=KX&0y*&-_Xng9JG+tNp{kj=5W*7dSRMG|QruDs3 z0XC+b!*y?c3roZII@gU@e^*v7e%|$d9pWtWc!&GWIuxqLy3rH4)?=|Aw~lJU&mZw; zRs7^Hr^C+Cg9ODRk{%A=4$hM%$bp<}{oP*?hJNzuyD+-EkOv0<|6sQq@q1ekgf{p2 zuE}3`Sb;Bt#JDt3`~VeenTFm+0lhcpweI_W&%K6Y8^hUXDjIKwf9PS(sZS2#*E>U0 z#yz>J)}f>Gz|ZD7Fztcw<;u?lz`VNyV%{m@r;7;a09ElqXJcGAz~So#8vI7ExdA)A z(<{nZVVuOfPn#xMo@S{+W3dLlh9~0&eoNeU)0pIxLcSmxcW&q;n#>aiRdQ`lApB`= zng@flsKBI^K`H>df78&@yeA#|@Qxv#>PunLIY`wFd1W*(p;cA*=2{D)BW@oJ`1D+9 znij&2)JjZWEuj!uM-+~g^{dIORuUX`Gyykvv&o;G>qCgd&+xp};8~DO-R#OTAlQ+7 zxCyI|vQd?VEQMZ;$1)|fp>t}W2%+GJQWXf_^K}ABe{6pPe+m2_WE%Q`z+XhZADY3a z_F%j){1=Z`cuDSIPHM6b-CczJ@25pZ>T?8*h|ie63*3kMt%vcd&9zg0K=i;H++^a> z2Sf0)aDBtQv*bJNhTLopZc61@b8D;3+0j%q28|Sh!J;^a$eE^g=5MM!Mx8b+`kt=j zRmlRbNbndee|G{wf%K{zE$HcTNmPD3Fu*4QV35~^qx}9}obm{>aVa?XDZow}=OZ_b zzBW;wN(>u)!p;DLKg6u_L7X5G?DBmmAH*;ewI?yQ-H?s}Fzys2IR>gILvvU)TZL5; zs07d7lOGkn4HhT-ECCN--=ZYSU^9PX^5&qkn2yPYe`?Y=qFerWL>Q4o3_+~ySa(}F z|EnKm@mwspnAAy02+nLqv%aRNrLI=Ml*tFLs-*>2tD;F(Nm9Lj(FbdyAqxKS;bAoz zY-N)D%-mgH&P9zxJ4~;*Hnuh7s~+{hcM_J5V$57NcO7bPgLN^J?3j;AiDjJ^v|SZM s!)GFWA7=4Kcr3%TACQJ`fXJzQ2qRJQ8^zD_XmCTV)jC@Mvs?uv0&k6a;s5{u diff --git a/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/FreeRuler.html b/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/FreeRuler.html index ae6c69c..e6cd033 100644 --- a/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/FreeRuler.html +++ b/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj/FreeRuler.html @@ -11,7 +11,7 @@ } + content="free ruler, rulers, shortcuts, keyboard, multiple rulers, float, shadow, origin, units, color, settings" /> @@ -89,7 +89,7 @@

⌘ , - Open Preferences + Open Settings @@ -103,7 +103,7 @@

  • Use pixels, millimeters, or inches independently for each ruler.
  • Resize, move, align, reset, and flip the active ruler without changing the others.
  • Float individual rulers above other windows and show or hide their shadows.
  • -
  • Set defaults for new rulers in Preferences.
  • +
  • Set defaults for new rulers in Settings.
  • Restore your ruler set, including positions and visible wings, when Free Ruler opens again.
  • diff --git a/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/FreeRuler.html b/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/FreeRuler.html new file mode 100644 index 0000000..acfda18 --- /dev/null +++ b/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/FreeRuler.html @@ -0,0 +1,112 @@ + + + + + + Nápověda pro Free Ruler + + + + + + + + + + + + +

    + Nápověda pro Free Ruler +

    + +

    + Klávesové zkratky +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    HZobrazit nebo skrýt vodorovné rameno aktivního pravítka
    VZobrazit nebo skrýt svislé rameno aktivního pravítka
    HPřevrátit počátek vodorovného ramene aktivního pravítka
    VPřevrátit počátek svislého ramene aktivního pravítka
    NVytvořit další pravítko
    WZavřít aktivní pravítko
    FZobrazit nebo nezobrazovat aktivní pravítko nad ostatními okny
    SZobrazit nebo skrýt stín aktivního pravítka
    OPřesunout aktivní pravítko na polohu kurzoru
    UPřepínat jednotky aktivního pravítka: pixely, milimetry a palce
    RObnovit výchozí polohu aktivního pravítka
    ,Otevřít nastavení
    + +

    + Funkce +

    + +
      +
    • Vytvářejte několik nezávislých pravítek, každé s vodorovným, svislým nebo oběma rameny.
    • +
    • Používejte pixely, milimetry nebo palce nezávisle pro každé pravítko.
    • +
    • Měňte velikost, přesouvejte, zarovnávejte, obnovujte a převracejte aktivní pravítko, aniž byste změnili ostatní.
    • +
    • Umístěte jednotlivá pravítka nad ostatní okna a zapněte nebo vypněte jejich stíny.
    • +
    • Nastavte výchozí hodnoty pro nová pravítka v Nastavení.
    • +
    • Při dalším otevření Free Ruler obnoví vaši sadu pravítek včetně poloh a viditelných ramen.
    • +
    + + + + diff --git a/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/InfoPlist.strings b/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/InfoPlist.strings new file mode 100644 index 0000000..4975ea1 --- /dev/null +++ b/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/InfoPlist.strings @@ -0,0 +1,4 @@ + +/* Localized Help Book metadata. */ +"HPDBookIndexPath" = "cs.lproj.helpindex"; +"HPDBookTitle" = "Nápověda pro Free Ruler"; diff --git a/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/cs.lproj.helpindex b/Free Ruler/FreeRuler.help/Contents/Resources/cs.lproj/cs.lproj.helpindex new file mode 100644 index 0000000000000000000000000000000000000000..08f3de5507a5ee2433ac59698694809e3bc4d40e GIT binary patch literal 1645 zcmV-z29o(=c6c&N8~^}B1#moQ|l@8RQZ%R1)jQ| zicWo|elK1xMqg|$+Ag+UP%oryvtcg5h4+IY_&0fPM{)gUJJ>UQnoqj+iCxk8 zT+Y4xK#$LOrpvpd0iDn1e9dGA^Cp8#F~b8~-qp=*V+&RXF{*%VNTJ}xk|I=1)tEP$ z=NbbQg-t`jUkyzMh(25%Ns9x!VeQaIgvAoBEc{iD2_o-B8TA$g3Z$SGweL^xnuPK= z0=c(R{!=Csxj~>+s)B&Uj)bD(XWej=b?f3%`z zh|dZYt}(H#blRu)X6G#LYL$(v*Ya;`L~nD}i)(t{*5pfbrG5HUxPuPtclWx!(x;=R z4V{h}KC|TR>(!6*K94H1mo+h-*hDw7{BTI#=6d)(SG;(aZ*R7ysxdBRSh^p z=hR>kDZjTC$2sU>o8z9|T03hPN?fi+wlyMj=AMiLN&n$AKMhdh`}}encinvxPDj1L zH92Fq5X%3juJv8|+t%C2!)E5TA}9B9)q(`>bK`7tX-NGovEw4)F{#f(duGiEz21mD zxr+uriZY>jW#Ii1$Gz;<?gvI?iH`K0j4)mpDQ0wf{04C=md7A7w?Wz@y8=*BU>?bbsu#1N! z23@4FzQX0h=RpAzV6fL!C#18`|UzRqxM<_!K=v|U{`oXB#PraF&5FM5dc&CWZ3qI4vlwWU zFsOd2nyMoB2W~^q!uMgwg!Do21|$&FKSC{lm&)QXzE6*MesX{-bRe!EIJ6fUfbvCz0W0JG z-NlBHcdiU%7e(IB5+)&T?E!d3_gfj3L9DhU36H4qnWu<1P5oN{vK}|saCKf?~!v-A;H;p zGF}bB@%`SipJ5qeVSw)rzsuYxi@?u*ew;VWm?e?>?zM}1YX=GwFZ^^hV1Vf5U*PPP z(eWtL5*Raj;GX9|ri3}eR|AH-LLe6QLIle^t1Coh;PZoSo`+yF2fV&}6>aEHSCU96 zAprmY000000001hfm7PN$)?=&dQDvAf50DaXQ0xW}*S!}gJNPBE zEGEzt0f5!!mn0Y>q9=|WV56KE*6tQ9B;+%~B1E?9hA(#o!~`*~)DK)+Hzg!-ieEC`eg{4#=v!A-6;?DR>zFL0uc06enG( rV{ERI%iVgg+@gTMQ*E~U0l>l~{k~WW~~$0 literal 0 HcmV?d00001 diff --git a/Free Ruler/Localizable.xcstrings b/Free Ruler/Localizable.xcstrings index b1993b7..619d5a0 100644 --- a/Free Ruler/Localizable.xcstrings +++ b/Free Ruler/Localizable.xcstrings @@ -5,6 +5,12 @@ "comment" : "Application menu item title for manually checking for software updates", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zkontrolovat aktualizace…" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -47,6 +53,12 @@ "comment" : "Label for the active ruler color setting", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Barva" + } + }, "en" : { "stringUnit" : { "state" : "translated", @@ -59,6 +71,12 @@ "comment" : "Window title for a ruler window", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pravítko" + } + }, "en" : { "stringUnit" : { "state" : "translated", @@ -71,6 +89,12 @@ "comment" : "Window title for the active ruler settings panel", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastavení pravítka" + } + }, "en" : { "stringUnit" : { "state" : "translated", @@ -83,6 +107,12 @@ "comment" : "Context menu item title to open the active ruler settings panel", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastavení pravítka…" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -125,6 +155,12 @@ "comment" : "Label for the active ruler color setting", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Barva pravítka" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -167,6 +203,12 @@ "comment" : "Label for the active ruler foreground opacity setting", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Průhlednost popředí" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -209,6 +251,12 @@ "comment" : "Label for the active ruler background opacity setting", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Průhlednost pozadí" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -251,6 +299,12 @@ "comment" : "Checkbox title for whether the active ruler floats above other apps", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobrazovat pravítko nad ostatními aplikacemi" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -293,6 +347,12 @@ "comment" : "Checkbox title for whether the active ruler draws a window shadow", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobrazovat stín pravítka" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -335,6 +395,12 @@ "comment" : "Menu item title to hide the horizontal ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skrýt vodorovné pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -377,6 +443,12 @@ "comment" : "Menu item title to hide the vertical ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skrýt svislé pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -419,6 +491,12 @@ "comment" : "Window title for the horizontal ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vodorovné pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -461,6 +539,12 @@ "comment" : "Hotkey status bezel text indicating the horizontal ruler was flipped", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Převrátit vodorovně" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -503,6 +587,12 @@ "comment" : "Hotkey status bezel text indicating the ruler now floats above other windows", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pravítko plave nad okny" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -545,6 +635,12 @@ "comment" : "Hotkey status bezel text indicating rulers are grouped", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pravítka seskupena" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -587,6 +683,12 @@ "comment" : "Hotkey status bezel text indicating the ruler no longer floats above other windows", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pravítko neplave nad okny" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -629,6 +731,12 @@ "comment" : "Hotkey status bezel text indicating rulers are ungrouped", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pravítka uvolněna" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -671,6 +779,12 @@ "comment" : "Hotkey status bezel text indicating ruler shadow is disabled", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stín vypnut" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -713,6 +827,12 @@ "comment" : "Hotkey status bezel text indicating ruler shadow is enabled", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stín zapnut" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -755,6 +875,12 @@ "comment" : "Hotkey status bezel format for the selected measurement unit", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jednotky: %@" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -793,10 +919,160 @@ } } }, + "HotkeyBezel.Unit.Pixels" : { + "comment" : "Pixels unit name for the hotkey status bezel", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "pixely" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pixel" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "pixels" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "píxeles" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "pikselit" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ピクセル" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "像素" + } + } + } + }, + "HotkeyBezel.Unit.Millimeters" : { + "comment" : "Millimeters unit name for the hotkey status bezel", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "milimetry" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Millimeter" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "millimeters" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "milímetros" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "millimetrit" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ミリメートル" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "毫米" + } + } + } + }, + "HotkeyBezel.Unit.Inches" : { + "comment" : "Inches unit name for the hotkey status bezel", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "palce" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zoll" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "inches" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "pulgadas" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "tuumat" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インチ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "英寸" + } + } + } + }, "HotkeyBezel.FlipVertical" : { "comment" : "Hotkey status bezel text indicating the vertical ruler was flipped", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Převrátit svisle" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -849,6 +1125,12 @@ "comment" : "Tooltip and accessibility label for the button that restores the default ruler color", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obnovit barvu pravítka" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -891,6 +1173,12 @@ "comment" : "Menu item title to show the horizontal ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobrazit vodorovné pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -933,6 +1221,12 @@ "comment" : "Menu item title to show the vertical ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zobrazit svislé pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -975,6 +1269,12 @@ "comment" : "Inches unit abbreviation", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "in" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -1017,6 +1317,12 @@ "comment" : "Millimeters unit abbreviation", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "mm" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -1059,6 +1365,12 @@ "comment" : "Pixels unit abbreviation", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "px" + } + }, "de" : { "stringUnit" : { "state" : "translated", @@ -1101,6 +1413,12 @@ "comment" : "Window title for the vertical ruler", "extractionState" : "manual", "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Svislé pravítko" + } + }, "de" : { "stringUnit" : { "state" : "translated", diff --git a/Free Ruler/cs.lproj/MainMenu.strings b/Free Ruler/cs.lproj/MainMenu.strings new file mode 100644 index 0000000..7b36238 --- /dev/null +++ b/Free Ruler/cs.lproj/MainMenu.strings @@ -0,0 +1,159 @@ + +/* Class = "NSMenuItem"; title = "Free Ruler"; ObjectID = "1Xt-HY-uBw"; */ +"1Xt-HY-uBw.title" = "Free Ruler"; + +/* Class = "NSMenuItem"; title = "Cycle Units"; ObjectID = "2nm-aL-kZd"; */ +"2nm-aL-kZd.title" = "Přepínat jednotky"; + +/* Class = "NSMenuItem"; title = "Quit Free Ruler"; ObjectID = "4sb-4s-VLi"; */ +"4sb-4s-VLi.title" = "Ukončit Free Ruler"; + +/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "5QF-Oa-p0T"; */ +"5QF-Oa-p0T.title" = "Úpravy"; + +/* Class = "NSMenuItem"; title = "About Free Ruler"; ObjectID = "5kV-Vb-QxS"; */ +"5kV-Vb-QxS.title" = "O aplikaci Free Ruler"; + +/* Class = "NSMenuItem"; title = "Redo"; ObjectID = "6dh-zS-Vam"; */ +"6dh-zS-Vam.title" = "Opakovat"; + +/* Class = "NSMenuItem"; title = "Reset Ruler Position"; ObjectID = "6ph-5N-O9R"; */ +"6ph-5N-O9R.title" = "Obnovit polohu pravítka"; + +/* Class = "NSMenuItem"; title = "Group Rulers"; ObjectID = "7Ga-Fb-LLc"; */ +"7Ga-Fb-LLc.title" = "Seskupit pravítka"; + +/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */ +"AYu-sK-qS6.title" = "Main Menu"; + +/* Class = "NSMenuItem"; title = "Millimeters"; ObjectID = "B6Y-Hi-AkN"; */ +"B6Y-Hi-AkN.title" = "Milimetry"; + +/* Class = "NSMenuItem"; title = "Settings…"; ObjectID = "BOF-NM-1cW"; */ +"BOF-NM-1cW.title" = "Nastavení…"; + +/* Class = "NSMenu"; title = "Help"; ObjectID = "F2S-fz-NVQ"; */ +"F2S-fz-NVQ.title" = "Nápověda"; + +/* Class = "NSMenuItem"; title = "Free Ruler Help"; ObjectID = "FKE-Sm-Kum"; */ +"FKE-Sm-Kum.title" = "Nápověda pro Free Ruler"; + +/* Class = "NSMenuItem"; title = "Float Ruler"; ObjectID = "GDK-AC-uC8"; */ +"GDK-AC-uC8.title" = "Zobrazovat pravítko nad aplikacemi"; + +/* Class = "NSMenuItem"; title = "Flip Horizontal"; ObjectID = "GZl-Zd-Ad4"; */ +"GZl-Zd-Ad4.title" = "Převrátit vodorovně"; + +/* Class = "NSMenuItem"; title = "Options"; ObjectID = "H8h-7b-M4v"; */ +"H8h-7b-M4v.title" = "Volby"; + +/* Class = "NSMenu"; title = "Options"; ObjectID = "HyV-fh-RgO"; */ +"HyV-fh-RgO.title" = "Volby"; + +/* Class = "NSMenuItem"; title = "Flip Vertical"; ObjectID = "IQD-xF-keq"; */ +"IQD-xF-keq.title" = "Převrátit svisle"; + +/* Class = "NSMenuItem"; title = "Show All"; ObjectID = "Kd2-mp-pUS"; */ +"Kd2-mp-pUS.title" = "Zobrazit vše"; + +/* Class = "NSMenuItem"; title = "Bring All to Front"; ObjectID = "LE2-aR-0XJ"; */ +"LE2-aR-0XJ.title" = "Převést vše do popředí"; + +/* Class = "NSMenuItem"; title = "Services"; ObjectID = "NMo-om-nkz"; */ +"NMo-om-nkz.title" = "Služby"; + +/* Class = "NSMenuItem"; title = "Hide Vertical Ruler"; ObjectID = "NgD-7h-fjO"; */ +"NgD-7h-fjO.title" = "Skrýt svislé pravítko"; + +/* Class = "NSMenuItem"; title = "Minimize"; ObjectID = "OY7-WF-poV"; */ +"OY7-WF-poV.title" = "Minimalizovat"; + +/* Class = "NSMenuItem"; title = "Hide Free Ruler"; ObjectID = "Olw-nP-bQN"; */ +"Olw-nP-bQN.title" = "Skrýt Free Ruler"; + +/* Class = "NSMenuItem"; title = "Zoom"; ObjectID = "R4o-n2-Eq4"; */ +"R4o-n2-Eq4.title" = "Roztáhnout"; + +/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "Ruw-6m-B2m"; */ +"Ruw-6m-B2m.title" = "Vybrat vše"; + +/* Class = "NSMenu"; title = "Window"; ObjectID = "Td7-aD-5lo"; */ +"Td7-aD-5lo.title" = "Okno"; + +/* Class = "NSMenuItem"; title = "Flip"; ObjectID = "TkR-03-X6l"; */ +"TkR-03-X6l.title" = "Převrátit"; + +/* Class = "NSMenuItem"; title = "Hide Others"; ObjectID = "Vdr-fp-XzO"; */ +"Vdr-fp-XzO.title" = "Skrýt ostatní"; + +/* Class = "NSMenu"; title = "Edit"; ObjectID = "W48-6f-4Dl"; */ +"W48-6f-4Dl.title" = "Úpravy"; + +/* Class = "NSMenuItem"; title = "Paste and Match Style"; ObjectID = "WeT-3V-zwk"; */ +"WeT-3V-zwk.title" = "Vložit a použít styl"; + +/* Class = "NSMenuItem"; title = "Show Ruler Shadow"; ObjectID = "a8D-hN-A59"; */ +"a8D-hN-A59.title" = "Zobrazovat stín pravítka"; + +/* Class = "NSMenuItem"; title = "Window"; ObjectID = "aUF-d1-5bR"; */ +"aUF-d1-5bR.title" = "Okno"; + +/* Class = "NSMenu"; title = "Ruler"; ObjectID = "bib-Uj-vzu"; */ +"bib-Uj-vzu.title" = "Pravítko"; + +/* Class = "NSMenuItem"; title = "Ruler"; ObjectID = "dMs-cI-mzQ"; */ +"dMs-cI-mzQ.title" = "Pravítko"; + +/* Class = "NSMenuItem"; title = "Undo"; ObjectID = "dRJ-4n-Yzg"; */ +"dRJ-4n-Yzg.title" = "Odvolat"; + +/* Class = "NSMenuItem"; title = "Hide Horizontal Ruler"; ObjectID = "fLB-gk-0Jy"; */ +"fLB-gk-0Jy.title" = "Skrýt vodorovné pravítko"; + +/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "gVA-U4-sdL"; */ +"gVA-U4-sdL.title" = "Vložit"; + +/* Class = "NSMenu"; title = "Services"; ObjectID = "hz9-B4-Xy5"; */ +"hz9-B4-Xy5.title" = "Služby"; + +/* Class = "NSMenuItem"; title = "Unit"; ObjectID = "iDP-2z-irv"; */ +"iDP-2z-irv.title" = "Jednotky"; + +/* Class = "NSMenuItem"; title = "Align Ruler at Mouse Location"; ObjectID = "iKV-uW-hwy"; */ +"iKV-uW-hwy.title" = "Přesunout pravítko na polohu kurzoru"; + +/* Class = "NSMenuItem"; title = "Inches"; ObjectID = "lt1-Hj-2TR"; */ +"lt1-Hj-2TR.title" = "Palce"; + +/* Class = "NSMenu"; title = "Flip"; ObjectID = "mEK-Pg-ijY"; */ +"mEK-Pg-ijY.title" = "Převrátit"; + +/* Class = "NSMenuItem"; title = "Close"; ObjectID = "n0M-rw-v5l"; */ +"n0M-rw-v5l.title" = "Zavřít"; + +/* Class = "NSMenuItem"; title = "Pixels"; ObjectID = "pYR-Ba-kKi"; */ +"pYR-Ba-kKi.title" = "Pixely"; + +/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "pa3-QI-u2k"; */ +"pa3-QI-u2k.title" = "Smazat"; + +/* Class = "NSMenuItem"; title = "Ruler Settings…"; ObjectID = "rSt-Tg-232"; */ +"rSt-Tg-232.title" = "Nastavení pravítka…"; + +/* Class = "NSMenuItem"; title = "New Ruler"; ObjectID = "rWt-KM-qSf"; */ +"rWt-KM-qSf.title" = "Nové pravítko"; + +/* Class = "NSMenu"; title = "Free Ruler"; ObjectID = "uQy-DD-JDr"; */ +"uQy-DD-JDr.title" = "Free Ruler"; + +/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "uRl-iY-unG"; */ +"uRl-iY-unG.title" = "Vyjmout"; + +/* Class = "NSMenuItem"; title = "Help"; ObjectID = "wpr-3q-Mcd"; */ +"wpr-3q-Mcd.title" = "Nápověda"; + +/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "x3v-GG-iWU"; */ +"x3v-GG-iWU.title" = "Kopírovat"; + +/* Class = "NSMenu"; title = "Unit"; ObjectID = "z2p-dA-zcS"; */ +"z2p-dA-zcS.title" = "Jednotky"; diff --git a/Free Ruler/cs.lproj/PreferencesController.strings b/Free Ruler/cs.lproj/PreferencesController.strings new file mode 100644 index 0000000..9c303d2 --- /dev/null +++ b/Free Ruler/cs.lproj/PreferencesController.strings @@ -0,0 +1,9 @@ + +/* Class = "NSWindow"; title = "Free Ruler Settings"; ObjectID = "F0z-JX-Cv5"; */ +"F0z-JX-Cv5.title" = "Nastavení Free Ruler"; + +/* Class = "NSTextFieldCell"; title = "Default settings for new rulers"; ObjectID = "PREF-defaults-header-cell"; */ +"PREF-defaults-header-cell.title" = "Výchozí nastavení pro nová pravítka"; + +/* Class = "NSButtonCell"; title = "Reset to factory defaults"; ObjectID = "PREF-factory-cell"; */ +"PREF-factory-cell.title" = "Obnovit tovární nastavení"; diff --git a/Free Ruler/cs.lproj/RulerSettingsController.strings b/Free Ruler/cs.lproj/RulerSettingsController.strings new file mode 100644 index 0000000..a10769f --- /dev/null +++ b/Free Ruler/cs.lproj/RulerSettingsController.strings @@ -0,0 +1,9 @@ + +/* Class = "NSButtonCell"; title = "Reset to default"; ObjectID = "RSET-reset-defaults-cell"; */ +"RSET-reset-defaults-cell.title" = "Obnovit výchozí"; + +/* Class = "NSButtonCell"; title = "Save as default"; ObjectID = "RSET-save-defaults-cell"; */ +"RSET-save-defaults-cell.title" = "Uložit jako výchozí"; + +/* Class = "NSWindow"; title = "Ruler Settings"; ObjectID = "RSET-window"; */ +"RSET-window.title" = "Nastavení pravítka"; diff --git a/Free Ruler/cs.lproj/RulerSettingsControlsView.strings b/Free Ruler/cs.lproj/RulerSettingsControlsView.strings new file mode 100644 index 0000000..825aacb --- /dev/null +++ b/Free Ruler/cs.lproj/RulerSettingsControlsView.strings @@ -0,0 +1,21 @@ + +/* Class = "NSTextFieldCell"; title = "Background Opacity"; ObjectID = "RSV-bg-cell"; */ +"RSV-bg-cell.title" = "Průhlednost pozadí"; + +/* Class = "NSTextFieldCell"; title = "Ruler Color"; ObjectID = "RSV-color-cell"; */ +"RSV-color-cell.title" = "Barva pravítka"; + +/* Class = "NSTextFieldCell"; title = "Dimensions"; ObjectID = "RSV-dimensions-cell"; */ +"RSV-dimensions-cell.title" = "Rozměry"; + +/* Class = "NSTextFieldCell"; title = "Foreground Opacity"; ObjectID = "RSV-fg-cell"; */ +"RSV-fg-cell.title" = "Průhlednost popředí"; + +/* Class = "NSButtonCell"; title = "Float ruler above other applications"; ObjectID = "RSV-float-cell"; */ +"RSV-float-cell.title" = "Zobrazovat pravítko nad ostatními aplikacemi"; + +/* Class = "NSButtonCell"; title = "Show ruler shadow"; ObjectID = "RSV-shadow-cell"; */ +"RSV-shadow-cell.title" = "Zobrazovat stín pravítka"; + +/* Class = "NSTextFieldCell"; title = "Unit"; ObjectID = "RSV-unit-cell"; */ +"RSV-unit-cell.title" = "Jednotka"; diff --git a/scripts/generate-help-index.sh b/scripts/generate-help-index.sh index d52c514..43b5f27 100755 --- a/scripts/generate-help-index.sh +++ b/scripts/generate-help-index.sh @@ -3,7 +3,16 @@ set -euo pipefail cd "$(dirname "$0")/.." -help_lproj_dir="$PWD/Free Ruler/FreeRuler.help/Contents/Resources/English.lproj" -help_index="$help_lproj_dir/English.lproj.helpindex" +help_resources_dir="$PWD/Free Ruler/FreeRuler.help/Contents/Resources" -hiutil -I lsm -C -ag -s en -f "$help_index" "$help_lproj_dir" +for help_lproj_dir in "$help_resources_dir"/*.lproj; do + language="$(basename "$help_lproj_dir" .lproj)" + index_language="$language" + + if [[ "$language" == "English" ]]; then + index_language="en" + fi + + help_index="$help_lproj_dir/$language.lproj.helpindex" + hiutil -I lsm -C -ag -s "$index_language" -f "$help_index" "$help_lproj_dir" +done From b62e52bc86684512ddbc3b8822011f451ad5061f Mon Sep 17 00:00:00 2001 From: Pascal Date: Sat, 27 Jun 2026 22:35:35 -0400 Subject: [PATCH 2/2] bump version and build number, 2.1.0b1 --- Free Ruler.xcodeproj/project.pbxproj | 17 +++++++++-------- package.json | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Free Ruler.xcodeproj/project.pbxproj b/Free Ruler.xcodeproj/project.pbxproj index 83b92d0..703c598 100644 --- a/Free Ruler.xcodeproj/project.pbxproj +++ b/Free Ruler.xcodeproj/project.pbxproj @@ -302,6 +302,7 @@ knownRegions = ( en, Base, + cs, de, fi, "zh-Hans", @@ -411,7 +412,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 501; + CURRENT_PROJECT_VERSION = 507; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Free Ruler/Info.github.plist"; @@ -420,7 +421,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.0.19; + MARKETING_VERSION = 2.1.0b1; PRODUCT_BUNDLE_IDENTIFIER = com.pascal.freeruler; PRODUCT_NAME = "Free Ruler"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -440,7 +441,7 @@ CODE_SIGN_IDENTITY = "Developer ID Application"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 501; + CURRENT_PROJECT_VERSION = 507; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Free Ruler/Info.github.plist"; @@ -449,7 +450,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.0.19; + MARKETING_VERSION = 2.1.0b1; PRODUCT_BUNDLE_IDENTIFIER = com.pascal.freeruler; PRODUCT_NAME = "Free Ruler"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -658,7 +659,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 501; + CURRENT_PROJECT_VERSION = 507; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Free Ruler/Info.plist"; @@ -667,7 +668,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.0.19; + MARKETING_VERSION = 2.1.0b1; PRODUCT_BUNDLE_IDENTIFIER = com.pascal.freeruler; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -685,7 +686,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 501; + CURRENT_PROJECT_VERSION = 507; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "Free Ruler/Info.plist"; @@ -694,7 +695,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 2.0.19; + MARKETING_VERSION = 2.1.0b1; PRODUCT_BUNDLE_IDENTIFIER = com.pascal.freeruler; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/package.json b/package.json index 2c66b7c..9be1081 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "freeruler", - "version": "2.0.19", + "version": "2.1.0b1", "description": "A free ruler for macOS", "main": "none", "scripts": {