Skip to content

Commit

Permalink
Merge pull request #67 from jpineda1/jpineda1/czech-traslation
Browse files Browse the repository at this point in the history
czech manifesto-glossary
  • Loading branch information
rasummer authored Jun 11, 2018
2 parents 8c4a38d + c82056a commit 633114d
Show file tree
Hide file tree
Showing 9 changed files with 297 additions and 5 deletions.
9 changes: 6 additions & 3 deletions app/controllers/Application.scala
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ class Application(components: ControllerComponents, implicit private val assetsF
private val ko = FullLang(Lang("ko"), "ko_KR", "ltr")
private val fa = FullLang(Lang("fa"), "fa_FA", "rtl")
private val sw = FullLang(Lang("sw"), "sw_SW", "ltr")
private val cz = FullLang(Lang("cz"), "cz_CZ", "ltr")

private val all = Seq(de, en, es, fr, it, ja, pt, ptBR, tr, id, zhCN, ko, fa, sw)
private val all = Seq(de, en, es, fr, it, ja, pt, ptBR, tr, id, zhCN, ko, fa, sw, cz)

private val dateFormat: DateTimeFormatter =
DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss 'GMT'")
Expand Down Expand Up @@ -114,7 +115,8 @@ class Application(components: ControllerComponents, implicit private val assetsF
render(zhCN, views.html.zhCN.manifesto()),
render(ko, views.html.ko.manifesto()),
render(fa, views.html.fa.manifesto()),
render(sw, views.html.sw.manifesto())
render(sw, views.html.sw.manifesto()),
render(cz, views.html.cz.manifesto())
)
}

Expand Down Expand Up @@ -181,7 +183,8 @@ class Application(components: ControllerComponents, implicit private val assetsF
render(it, views.html.it.glossary()),
render(de, views.html.de.glossary()),
render(zhCN, views.html.zhCN.glossary()),
render(ko, views.html.ko.glossary())
render(ko, views.html.ko.glossary()),
render(cz, views.html.cz.glossary())
)
}
}
93 changes: 93 additions & 0 deletions app/views/cz/glossary.scala.html

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions app/views/cz/manifesto.scala.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
@*
* Main manifesto.
*@


<section id="the-reactive-manifesto">

<p>Organizace pracující napříč různými odvětvími vývoje software objevují nezávisle stále stejné vzory v návrhu a implementaci softwarových systémů. Takové systémy jsou pak robustnější, odolnější, pružnější a nabízejí řešení více odpovídající moderním požadavkům. </p>
<p>V poslední době dochází k těmto proměnám na základě rapidních změn požadavků na softwarová řešení. Před pouhými pár lety měla rozsáhlá aplikace jen deset serverů, odezvu v sekundách, hodiny offline provozu kvůli údržbě a gigabyty dat. Dnešní aplikace běží na všem od mobilních telefonů po cloudové clustery s tisíci multi-core procesory. Uživatelé očekávají odezvu v rámci milisekund a 100% dostupnost; data měříme v petabytech. Dnešní požadavky nelze zkrátka uspokojit včerejšími strukturami.</p>
<p>Věříme, že je třeba uceleného přístupu k návrhu systémů, a že všechny nezbytné aspekty byly již rozpoznány: systém musí být responzivní, odolný, pružný a řízený zprávami. Takový systém potom nazýváme reaktivní.</p>
<p>Systémy navržené jako reaktivní jsou pružnější, volně provázané a <a href="/cz/glossary#Scalability">škálovatelné</a>. Díky tomu je jejich vývoj snazší a změny jednodušší. Takové systémy jsou tolerantnější k <a href="/cz/glossary#Failure">výpadkům</a>, které řeší elegantnějším způsobem, než kolapsem celého systému; mají vysokou odezvu a nabízejí <a href="/cz/glossary#User">uživateli</a> interaktivní zpětnou vazbu.
</p>

<h3>Reaktivní systém je:</h3>

</section>

<section id="responsive" class="trait">

<p><strong>Responzivní</strong>: <a href="/cz/glossary#System">Systém</a> odpoví v požadovaném čase, pokud je nějaká odpověď vůbec možná. Rychlá odezva je nejen předpoklad funkčnosti a použitelnosti, ale umožňuje také rychlou a efektivní detekci problémů. Responzivní systémy poskytují rapidní konzistentní časovou odezvu zajišťující spolehlivost služby. Tato konzistence usnadňuje zpracování chyb a zvyšuje důvěru v kvalitu služby, což podporuje nové iterace vývoje.</p>

</section>

<section id="resilient" class="trait">

<p><strong>Odolný</strong>: Systém zůstává responzivní i v případě <a href="/cz/glossary#Failure">výpadku</a>. Toto neplatí pouze pro kritické systémy s garantovanou vysokou dostupností - každý neodolný systém je po výpadku nedostupný. Odolnost je dosažena <a href="/cz/glossary#Replication">replikací</a>, zamezením šíření výpadku, <a href="/cz/glossary#Isolation">izolací</a> a <a href="/cz/glossary#Delegation">delegací</a> zpracování chyb. K výpadku může dojít u každé z <a href="/cz/glossary#Component">komponent</a> systému; izolací komponent lze dosáhnout stavu, kdy dojde v různých částech systému k výpadku, aniž by došlo k výpadku systému jako celku. Zotavení každé z komponent je delegováno na jinou (externí) komponentu a dostupnost je zajištěna replikací tam, kde je to nezbytné. Uživatel dané komponenty tak není zatížen nutností zpracovat její případné poruchy přímo.</p>

</section>

<section id="elastic" class="trait">

<p><strong>Pružný</strong>: Systém zůstává responzivní i při proměnlivé zátěži. Reaktivní systém umí reagovat na změny zátěže v podobě proměnlivé frekvence požadavků pomocí zvyšování či snižování <a href="/cz/glossary#Resource">zdrojů</a> přidělených dané službě. Pružný systém nemá žádné úzké hrdlo a umožňuje distribuci požadavků mezi komponentami pomocí sdílení nebo replikace. Reaktivní systémy podporují prediktivní škálovací algoritmy zohledňující míru zátěže v reálném čase. <a href="/cz/glossary#Elasticity">Pružnost</a> je takto dosažitelná i na běžných nenákladných zařízeních a platformách.</p>

</section>

<section id="message-driven" class="trait">

<p><strong>Zprávami-řízený</strong>: Jasné oddělení komponent v reaktivním systému je založeno na <a href="/cz/glossary#Asynchronous">asynchronním</a> <a href="/cz/glossary#Message-Driven">zasílání zpráv</a>, což zajišťuje volnou provázanost, izolaci a <a href="/cz/glossary#Location-Transparency">transparentnost polohy</a>. Toto oddělení také umožňuje reprezentaci a delegaci zpracovaní <a href="/cz/glossary#Failure">výpadků</a> ve formě zpráv. Řízení zprávami dále umožňuje i správu zátěže, pružnost a řízení toku dat pomocí správy a monitorování front zpráv a aplikací <a href="/cz/glossary#Back-Pressure">back-pressure</a> tam, kde třeba. Transparentnost polohy zpráv umožňuje komunikaci s komponentami pro kontrolu či správu výpadků bez nutnosti změny kódu nebo sémantiky programu nezávisle na tom, zda se komponenta nachází ve vzdáleném clusteru nebo na stejném stroji. <a href="/cz/glossary#Non-Blocking">Neblokující</a> komunikace umožňuje efektnívní využití <a href="/cz/glossary#Resource">zdroje</a>, protože komponenta zůstává aktivní i v době mezi příjmem zpráv, což vede k nižším režijním nákladům.</p>

@image("reactive-traits-cz.svg")

</section>

<section id="conclusion">

<p>Rozsáhlé systémy se skládají z menších a závisí tedy na reaktivních vlastnostech svých komponent. To znamená, že reaktivní principy musí být aplikovány na všech úrovních abstrakce. Ty nejrozsáhlejší systémy na světě obsluhující miliardy uživatelů denně jsou na těchto principech postaveny. Je na čase aplikovat je vědomě hned od začátku vývoje namísto jejich objevování znovu a znovu.</p>

</section>


1 change: 1 addition & 0 deletions app/views/footer.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<a href="@routes.Application.index("ko")" >@messages("title")(Lang("ko"))</a> (@messages("footer.korean")) <br/>
<a href="@routes.Application.index("fa")" >@messages("title")(Lang("fa"))</a> (@messages("footer.farsi")) <br/>
<a href="@routes.Application.index("sw")" >@messages("title")(Lang("sw"))</a> (@messages("footer.swahili")) <br/>
<a href="@routes.Application.index("cz")" >@messages("title")(Lang("cz"))</a> (@messages("footer.czech")) <br/>
<br>
<p>@Html(messages("footer.ribbonSupport", "<a href='" + routes.Application.ribbons(lang.code) + "'>", "</a>"))</p>
<p class="copyright">&copy; @messages("footer.copyright")</p>
Expand Down
2 changes: 1 addition & 1 deletion conf/application.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
play.http.secret.key="DEV-ONLY"
play.http.secret.key=${?APPLICATION_SECRET}

play.i18n.langs=[de, en, es, fr, it, ja, pt, pt-BR, tr, id, zh-CN, ko, fa, sw]
play.i18n.langs=[de, en, es, fr, it, ja, pt, pt-BR, tr, id, zh-CN, ko, fa, sw, cz]

play.application.loader = "services.ReactiveManifestoApplicationLoader"

Expand Down
3 changes: 2 additions & 1 deletion conf/messages
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,5 @@ footer.indonesia = Indonesian
footer.simpleChinese = Simplified Chinese
footer.korean = Korean
footer.farsi = Farsi
footer.swahili = Swahili
footer.swahili = Swahili
footer.czech = Czech
62 changes: 62 additions & 0 deletions conf/messages.cz
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Title
title = Reaktivní Manifest
title.formatted = {0}Reaktivní{1} Manifest

# Signing
sign.hello = Hello
sign.addYourSignature = Add your signature
sign.thankYouAndSpreadTheWord = Thank you! And spread the word!
sign.removeYourSignature = Remove your signature
sign.hiThere = Hi there,{0} You need to be logged to sign the manifesto
sign.signInWith = Sign In with {0}
sign.signTheManifesto = Podepsat manifest
sign.logout = Logout

# Manifesto
manifesto.publishVersion = Published on September 16 2014. (v2.0)
manifesto.downloadAsPDF = Download as PDF
manifesto.suggestImprovements = Suggest improvements

# List
list.title = Signatures
list.loading = Loading...
list.peopleAlreadySigned = {0} people already signed
list.fullList = Full list
list.search = Search
list.fetchMore = Fetch more...
list.goBackToTheManifesto = Go back to the manifesto

# Glossary
glossary.title = Glossary
glossary.backToTop = Back To Top

# Ribbons
ribbons.title = Ribbons
ribbons.showYourSupport = Show your support!
ribbons.instructions = Choose a ribbon that you like, right or left, and copy/paste the code underneath in your html page right before the <code>&lt;/body&gt;</code> tag.

# Privacy
privacy.title = Privacy Policy

# Cookie
cookie.title = Cookie Policy


# Footer
footer.ribbonSupport = Show your support {0}with a ribbon{1}.
footer.copyright = 2014, the above authors, this declaration may be freely copied in any form, but only in its entirety through this notice.
footer.english = English
footer.german = German
footer.french = French
footer.italian = Italian
footer.spanish = Spanish
footer.japanese = Japanese
footer.portuguese = Portuguese
footer.portugueseBrazilian = Portuguese Brazilian
footer.turkish = Turkish
footer.indonesia = Indonesian
footer.simpleChinese = Simplified Chinese
footer.korean = Korean
footer.farsi = Farsi
footer.swahili = Swahili
footer.czech = Czech
82 changes: 82 additions & 0 deletions public/images/reactive-traits-cz.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/pdf/the-reactive-manifesto-2.0-cz.pdf
Binary file not shown.

0 comments on commit 633114d

Please sign in to comment.