text:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE locale SYSTEM "../../lib/pkp/dtd/locale.dtd">

<locale name="cs_CZ" full_name="Čeština">

	<message key="common.openJournalSystems">Open Journal Systems</message>
	<message key="common.confirmComplete">Jste si jistý, že chcete označit tento úkol jako dokončený? Poté nebudete mít možnost provést změny.</message>
	<message key="common.payment">Platba</message>
	<message key="common.payments">Platby</message>

	<message key="navigation.journalHelp">Nápověda časopisu</message>
	<message key="navigation.archives">Archív</message>
	<message key="navigation.current">Aktuální</message>
	<message key="navigation.otherJournals">Další časopisy</message>
	<message key="navigation.browseByIssue">Podle čísla</message>
	<message key="navigation.browseByAuthor">Podle autora</message>
	<message key="navigation.infoForAuthors">Pro autory</message>
	<message key="navigation.infoForLibrarians">Pro knihovníky</message>
	<message key="navigation.competingInterestGuidelines">Směrnice pro střet zájmů</message>
	<message key="navigation.infoForAuthors.long">Informace pro autory</message>
	<message key="navigation.infoForLibrarians.long">Informace pro knihovníky</message>

	<message key="common.queue.long.submissionsUnassigned">Nepřidělené</message>
	<message key="common.queue.short.submissionsUnassigned">Nepřidělené</message>
	<message key="common.queue.long.submissionsInEditing">Právě editované příspěvky</message>
	<message key="common.queue.short.submissionsInEditing">Editované</message>
	<message key="common.queue.long.submissionsInReview">Příspěvky v recenzním řízení</message>
	<message key="common.queue.short.submissionsInReview">V recenzním řízení</message>
	<message key="common.queue.long.submissionsArchives">Archív</message>
	<message key="common.queue.short.submissionsArchives">Archív</message>
	<message key="common.queue.long.active">Aktivní příspěvky</message>
	<message key="common.queue.short.active">Aktivní</message>
	<message key="common.queue.long.completed">Archív</message>
	<message key="common.queue.short.completed">Archív</message>

	<message key="section.section">Sekce</message>
	<message key="section.sections">Sekce časopisu</message>
	<message key="section.title">Název sekce</message>
	<message key="section.abbreviation">Zkratka</message>
	<message key="section.abbreviation.example">(Například články=ČL)</message>

	<message key="article.articles">Články</message>
	<message key="article.submissionId">ID příspěvku</message>
	<message key="article.title">Název</message>
	<message key="article.authors">Autoři</message>
	<message key="article.indexingInformation">Informace pro indexaci</message>
	<message key="article.metadata">Metadata</message>
	<message key="article.journalSection">Sekce časopisu</message>
	<message key="article.file">Soubor</message>
	<message key="article.suppFile">Doplňkový soubor</message>
	<message key="article.suppFiles">Doplňkové soubory</message>
	<message key="article.suppFilesAbbrev">Doplň. soubory</message>
	<message key="article.discipline">Akademická disciplína a subdisciplíny</message>
	<message key="article.subjectClassification">Třídění podle předmětu</message>
	<message key="article.subject">Klíčová slova</message>
	<message key="article.coverage">Pokrytí</message>
	<message key="article.coverageGeo">Zeměpisné pokrytí</message>
	<message key="article.coverageChron">Chronologické nebo historické pokrytí</message>
	<message key="article.coverageSample">Charakteristiky výzkumného souboru</message>
	<message key="article.type">Typ, metoda nebo přístup</message>
	<message key="article.language">Jazyk</message>
	<message key="article.sectionEditor">ES</message>
	<message key="article.commentsToEditor">Komentář autora</message>
	<message key="article.submission">Příspěvek</message>
	<message key="article.submissions">Příspěvky</message>
	<message key="article.abstract">Abstrakt</message>
	<message key="article.details">Detaily</message>

	<message key="submission.submissionEditing">Editování příspěvku</message>
	<message key="submission.changeSection">Změnit na</message>
	<message key="submission.sent">Odesláno</message>
	<message key="submission.editorDecision">Rozhodnutí editora</message>
	<message key="submission.round">Kolo {$round}</message>
	<message key="submission.editorReview">Posudek editora</message>
	<message key="submission.notifyAuthor">Informovat autora</message>
	<message key="submission.notifyEditor">Informovat editora</message>
	<message key="submission.editorAuthorRecord">Evidence e-mailů editora/autora</message>
	<message key="submission.reviewersVersion">Recenzentem okomentovaná verze souboru</message>
	<message key="submission.postReviewVersion">Verze souboru po recenzi</message>
	<message key="submission.editorVersion">Verze editora</message>
	<message key="submission.authorsRevisedVersion">Autorem revidovaná verze souboru</message>
	<message key="submission.authorVersion">Verze autora</message>
	<message key="submission.copyediting">Redigování</message>
	<message key="submission.copyedit">Redigovat</message>
	<message key="submission.proofreading">Korektura</message>
	<message key="submission.scheduling">Plánování</message>
	<message key="submission.scheduledIn">Naplánována publikace v {$issueName}.</message>
	<message key="submission.scheduledIn.tba">(Bude oznámeno)</message>

	<message key="submissions.sec">Sec</message>
	<message key="submissions.step1">Krok 1</message>
	<message key="submissions.step3">Krok 3</message>
	<message key="submissions.queuedReview">Ve frontě k recenzi</message>
	<message key="submissions.scheduled">Naplánované</message>
	<message key="submissions.published">Publikované</message>
	<message key="submissions.initial">Počáteční</message>
	<message key="submissions.proofread">Korektura</message>
	<message key="submissions.initialProof">Počáteční kontrola</message>
	<message key="submissions.postAuthor">Po autorovi</message>
	<message key="submissions.reviewRound">Kolo recenze</message>
	<message key="submissions.proof">Kontrola</message>
	<message key="submissions.editorDecision">Rozhodnutí editora</message>
	<message key="submissions.editorRuling">Pravidla editorování</message>
	<message key="submission.eventLog">Log událostí</message>

	<message key="submissions.copyeditComplete">Zredigované</message>
	<message key="submissions.layoutComplete">Po typografické úpravě</message>
	<message key="submissions.proofreadingComplete">Po korektuře</message>

	<message key="journal.currentIssue">Aktuální výtisk</message>
	<message key="journal.journals">Časopisy</message>
	<message key="journal.path">Cesta</message>
	<message key="context.context">Časopis</message>

	<message key="user.showAllJournals">Zobrazit moje časopisy</message>
	<message key="user.registerForOtherJournals">Registrovat se do dalších časopisů</message>
	<message key="user.myJournals">Moje časopisy</message>

	<message key="user.role.manager">Manažer časopisu</message>
	<message key="user.role.editor">Editor</message>
	<message key="user.role.sectionEditor">Editor sekce</message>
	<message key="user.role.layoutEditor">Typograf</message>
	<message key="user.role.copyeditor">Redaktor</message>
	<message key="user.role.proofreader">Korektor</message>
	<message key="user.role.author">Autor</message>
	<message key="user.role.subscriptionManager">Manažer předplatného</message>
	<message key="user.role.managers">Manažeři časopisu</message>
	<message key="user.role.editors">Editoři</message>
	<message key="user.role.sectionEditors">Editoři sekcí</message>
	<message key="user.role.layoutEditors">Typografové</message>
	<message key="user.role.copyeditors">Redaktoři</message>
	<message key="user.role.proofreaders">Korektoři</message>
	<message key="user.role.authors">Autoři</message>
	<message key="user.role.subscriptionManagers">Manažeři předplatného</message>

	<message key="issue.issue">Číslo</message>
	<message key="issue.issues">Čísla</message>
	<message key="issue.title">Název</message>
	<message key="issue.volume">Ročník</message>
	<message key="issue.number">Číslo</message>
	<message key="issue.vol">Vol</message>
	<message key="issue.no">No</message>
	<message key="issue.year">Rok</message>
	<message key="issue.noIssues">Žádná čísla</message>
	<message key="issue.toc">Obsah</message>
	<message key="issue.abstract">Abstrakt</message>

	<message key="submission.event.logLevel">Úroveň</message>
	<message key="submission.event.logLevel.info">Info</message>
	<message key="submission.event.logLevel.notice">Oznámení</message>
	<message key="submission.event.logLevel.warning">Varování</message>
	<message key="submission.event.logLevel.error">Chyba</message>

	<message key="submission.event.general.defaultEvent">Událost příspěvku</message>
	<message key="submission.event.submissionSubmitted">Článek odeslán</message>
	<message key="submission.event.general.issueScheduled">Příspěvek odeslán do fronty pro naplánování publikace</message>
	<message key="submission.event.general.issueAssigned">Příspěvek zařazen do čísla</message>
	<message key="submission.event.general.articlePublished">Článek publikován</message>

	<message key="submission.event.author.authorRevision">Autorova revize odeslána</message>

	<message key="submission.event.general.authorRevision">Autorův revidovaný soubor aktualizován</message>

	<message key="submission.event.editor.editorAssigned">Editor přidělen k příspěvku</message>
	<message key="submission.event.editor.editorUnassigned">Editor odebrán od příspěvku</message>
	<message key="submission.event.editor.editorDecision">Editorovo rozhodnutí odesláno</message>
	<message key="submission.event.editor.editorFile">Editorův soubor aktualizován</message>
	<message key="submission.event.editor.submissionArchived">Příspěvek odeslán do archívu</message>
	<message key="submission.event.editor.submissionRestored">Příspěvek obnoven z archívu</message>

	<message key="submission.event.copyedit.copyeditorAssigned">Redaktor přidělen k příspěvku</message>
	<message key="submission.event.copyedit.copyeditorUnassigned">Redaktor odebrán od příspěvku</message>
	<message key="submission.event.copyedit.copyeditInitiated">Přidělené redigování zahájeno</message>
	<message key="submission.event.copyedit.copyeditRevision">Soubor s revizemi redaktora aktualizován</message>
	<message key="submission.event.copyedit.copyeditInitialCompleted">Úvodní redigování dokončeno</message>
	<message key="submission.event.copyedit.copyeditFinalCompleted">Finální redigování dokončeno</message>
	<message key="submission.event.copyedit.copyeditSetFile">Redigovaný soubor aktualizován</message>

	<message key="submission.event.proofread.proofreaderAssigned">Korektor přidělen k příspěvku</message>
	<message key="submission.event.proofread.proofreaderUnassigned">Korektor odebrán od příspěvku</message>
	<message key="submission.event.proofread.proofreadInitiated">Přidělená korektura zahájena</message>
	<message key="submission.event.proofread.proofreadRevision">Soubor s korekturami aktualizován</message>
	<message key="submission.event.proofread.proofreadCompleted">Přidělená korektura dokončena</message>

	<message key="submission.event.layout.layoutEditorAssigned">Typograf přidělen k příspěvku</message>
	<message key="submission.event.layout.layoutEditorUnassigned">Typograf odebrán od příspěvku</message>
	<message key="submission.event.layout.layoutInitiated">Typografické úpravy zahájeny</message>
	<message key="submission.event.layout.layoutGalleyCreated">Sazebnice aktualizována</message>
	<message key="submission.event.layout.layoutComplete">Typografické úpravy dokončeny</message>

	<message key="reader.subscribersOnly">Pouze pro předplatitele</message>
	<message key="reader.subscriptionRequiredLoginText">Pro přístup k položce je vyžadováno předplatné. Přihlašte se do časopisu pro ověření předplatného.</message>
	<message key="reader.openAccess">Volný přístup</message>
	<message key="reader.subscriptionAccess">Předplacený přístup</message>
	<message key="reader.subscriptionOrFeeAccess">Předplatné nebo volný přístup</message>

	<message key="comments.commentsOnArticle">Komentáře k tomuto článku</message>
	<message key="comments.authenticated">{$userName}</message>

	<message key="admin.settings.oaiRegistrationDescription"><![CDATA[Aby byl obsah všech časopisů hostovaných na této stránce indexován v celosvětově distribuovaném systému výzkumných databází, zaregistrujte URL Vaší stránky do shromažďovače metadat Public Knowledge Projektu. Tento nástroj sbírá metadata z každé indexované položky tohoto časopisu a umožňuje přesné a hromadné vyhledávání v rámci výzkumných stránek, které dodržují protokol Iniciativy otevřených archivů pro shromažďování metadat  (Open Archives Initiative (OAI) Protocol for Metadata Harvesting).

Klikněte zde a vložte {$siteUrl} pod  URL stránky a {$oaiUrl} pod  Základní URL pro OAI Archív.

Vězte, že rozhraní OAI může být pro tuto stránku vypnuto editací konfigurace OJS systému. Příští verze OJS umožní, aby rozhraní OAI bylo povoleno nebo zakázáno pro jednotlivé časopisy na této stránce.]]></message>

	<message key="admin.languages.downloadUnavailable"><![CDATA[
Stahování jazykových balíčků ze serveru Public Knowledge Projektu není momentálně dostupné protože:

Váš server nemá nebo neumožňuje vykonání GNU utility "tar"

OJS nemůže modifikovat registrační soubor lokalizací – typicky "registry/locales.xml".

Jazykové balíčky mohou být ručně staženy z webových stránek PKP.
]]></message>

	<message key="admin.auth.defaultSourceDescription"><![CDATA[
Specifikování jiného výchozího zdroje ověření než OJS má následující efekt:

Pokud se uživatel pokusí zaregistrovat nový účet na této stránce s uživatelským jménem, které existuje ve zdroji ověření (ale ne v OJS databázi), pokus o registraci je povolen pouze tehdy, pokud je zadané heslo platné pro tento uživatelský účet.

]]></message>

	<message key="admin.overwriteConfigFileInstructions"><![CDATA[
POZNÁMKA!

Systém nemohl automaticky přepsat konfigurační soubor. K provedení změn konfigurace musíte otevřít <tt>config.inc.php</tt> ve vhodném textovém editoru a nahradit jeho obsah obsahem textového pole níže.
]]></message>

	<message key="subscriptionManager.subscriptionManagement">Správa předplatného</message>

	<message key="plugins.categories.generic.description">Všeobecné plug-iny se používají k rozšíření OJS různými způsoby, které nejsou podporovány jinými kategoriemi plug-inů.</message>
	<message key="plugins.categories.auth.description">Autorizační plug-iny umožňují OJS delegovat ověření uživatelů na jiné systémy jako například LDAP servery.</message>

	<message key="plugins.categories.citationFormats.description">Plug-iny pro citační styly poskytují uživatelům různé formáty, ve kterých mohou být přístupné citace článků.</message>

	<message key="manager.setup.lockssDescription"><![CDATA[OJS podporuje technologii LOCKSS (Lots of Copies Keep Stuff Safe) systém, aby zajistil bezpečnou a stálou archivaci časopisu. LOCKSS je open source software vyvinutý v Stanford University Library, který umožňuje knihovnám zabezpečovat vybrané webové časopisy tím, že se pravidelně dotazuje webových stránek časopisu na nově publikovaný obsah a archivuje ho. Každý archív je neustále kontrolován porovnáváním oproti archívům dalších knihoven, a pokud je zjištěno jeho poškození nebo ztráta jsou tyto archívy použity k jeho obnovení.

Nastavení podpory technologie LOCKSS pro OJS nemusí být provedeno, dokud není publikování časopisu zaběhané. Potom následujte tyto dva kroky:]]></message>

	<message key="manager.setup.authorCopyrightNotice.sample"><![CDATA[
Navrhovaná oznámení o copyrightu Creative Commons

1. Navrhovaná pravidla pro časopisy, které nabízejí otevřený přístup

Autoři, kteří publikují v tomto časopise, souhlasí s následujícími body:

Autoři si ponechávají copyright a garantují časopisu právo prvního publikování, přitom je práce zároveň licencována pod Creative Commons Attribution licencí, která umožňuje ostatním sdílet tuto práci s tím, že přiznají jejího autora a první publikování v tomto časopisu.

Autoři mohou vstupovat do dalších samostatných smluvních dohod pro neexkluzivní šíření práce ve verzi, ve které byla publikována v časopise (například publikovat ji v knize), avšak s tím, že přiznají její první publikování v tomto časopisu.

Autorům je dovoleno a doporučováno, aby zpřístupnili svou práci online (například na svých webových stránkách) před a v průběhu redakčního řízení jejich příspěvku, protože takový postup může vést k produktivním výměnám názorů a také dřívější a vyšší citovanosti publikované práce (Viz Efekt otevřeného přístupu).

 Navrhovaná pravidla pro časopisy, které nabízejí zpožděný otevřený přístup

Autoři, kteří publikují v tomto časopise, souhlasí s následujícími body:

 Autoři si ponechávají copyright a garantují časopisu právo prvního publikování, práce je po [SPECIFIKUJTE PO JAK DLOUHÉM ČASOVÉM OBDOBÍ] od publikování zároveň licencována pod Creative Commons Attribution licencí, která umožňuje ostatním sdílet tuto práci s tím, že přiznají jejího autora a první publikování v tomto časopisu.

 Autoři mohou vstupovat do dalších samostatných smluvních dohod pro neexkluzivní šíření práce ve verzi, ve které byla publikována v časopise (například publikovat ji v knize), avšak s tím, že přiznají její první publikování v tomto časopisu.

 Autorům je dovoleno a doporučováno, aby zpřístupnili svou práci online (například na svých webových stránkách) před a v průběhu redakčního řízení jejich příspěvku, protože takový postup může vést k produktivním výměnám názorů a také dřívější a vyšší citovanosti publikované práce (Viz Efekt otevřeného přístupu).

]]></message>
	<message key="manager.setup.subjectClassificationDescription"><![CDATA[Časopis bude používat systém klasifikace oborů dostupný na webu.

Název systému klasifikace]]></message>
	<message key="manager.setup.registerJournalForIndexingDescription"><![CDATA[Aby byl obsah tohoto časopisu indexován v celosvětově distribuovaném systému výzkumných databází, zaregistrujte URL Vašeho časopisu do shromažďovače metadat Public Knowledge Projektu. Tento nástroj sbírá metadata z každé indexované položky tohoto časopisu a umožňuje přesné a hromadné vyhledávání v rámci výzkumných stránek, které dodržují  protokol Iniciativy otevřených archivů pro shromažďování metadat  (Open Archives Initiative (OAI) Protocol for Metadata Harvesting).

Vězte, že pokud již Váš administrátor stránek zaregistroval tyto stránky do PKP shromažďovače, Váš časopis bude indexován automaticky a Vy nemusíte časopis registrovat.

Klikněte zde a vložte {$siteUrl} pod URL stránky a {$oaiUrl} pod Základní URL pro OAI Archív.]]></message>

	<message key="manager.setup.basicEditorialStepsDescription"><![CDATA[Kroky: Fronta příspěvků > Recenze příspěvku > Editování příspěvku > Obsah.

Zvolte model, podle kterého bude s těmito aspekty procesu editace nakládáno. (Pro stanovení hlavního editora a editorů sekcí přejděte v části Správa časopisu na stránku Editoři.)]]></message>
	<message key="manager.setup.referenceLinkingDescription"><![CDATA[
Aby mohli čtenáři nalézt online verze prací citovaných autory, jsou dostupné následující možnosti.

Přidat čtenářský nástroj
Manažer časopisu může do čtenářských nástrojů, které doprovází publikované položky, přidat funkci "Nalézt referenci", což čtenářům umožní zkopírovat název reference a vyhledat tak v předvolených databázích citovanou práci.

Vložit odkazy do referencí
Typograf může přidat odkaz do referencí, které je možné vyhledat online. K tomu použije následující instrukce (lze je upravovat).

]]></message>

	<message key="manager.people.confirmDisable">Zablokovat tohoto uživatele? Tato akce zabrání uživateli, aby se přihlásil do systému.

Volitelně můžete uživateli poskytnout zdůvodnění, proč byl jeho účet zablokován.</message>
	<message key="manager.people.noAdministrativeRights"><![CDATA[Promiňte, nad tímto uživatelem nemáte administrátorská práva. Důvodem může být:

Uživatel je administrátorem stránek

Uživatel je aktivní v časopisech, které Vy nespravujete

	Tento úkol musí provést administrátor stránek.
	]]></message>

	<message key="editor.submissionReview.notes"><![CDATA[

Zvýrazněné položky indikují, že je vyžadována akce editora.

"Termín splnění" je vyplněn v okamžiku, kdy recenzent přijme žádost o recenzi; ukazuje počet týdnů do termínu splnění nebo (-) počet týdnů po termínu.

]]></message>

	<message key="editor.article.selectReviewerNotes"><![CDATA[Jméno odkazuje k profilu recenzenta.

Hodnocení je z 5 (Výborný).

Týdny udávají průměrnou dobu potřebnou pro zhotovení recenze.

Poslední udává datum poslední akceptované recenze.

Aktivní udává kolik recenzí je právě zvažováno nebo zpracováváno.]]></message>

	<message key="sectionEditor.activeEditorialAssignments">Aktivní editorské úkoly</message>
	<message key="sectionEditor.completedEditorialAssignments">Dokončené editorské úkoly</message>
	<message key="sectionEditor.noneAssigned">Nepřiděleny žádné příspěvky.</message>
	<message key="sectionEditor.copyedit.confirmRenotify">Opětovným informováním tohoto redaktora znovu zahájíte jeho úkoly. Určitě si přejete to udělat?</message>
	<message key="sectionEditor.author.confirmRenotify">Opětovným informováním tohoto autora znovu zahájíte jeho úkoly. Určitě si přejete to udělat?</message>
	<message key="sectionEditor.layout.confirmRenotify">Opětovným informováním tohoto typografa znovu zahájíte jeho úkoly. Určitě si přejete to udělat?</message>
	<message key="sectionEditor.proofreader.confirmRenotify">Opětovným informováním tohoto korektora znovu zahájíte jeho úkoly. Určitě si přejete to udělat?</message>

	<message key="sectionEditor.regrets.breadcrumb">Odmítnutí</message>
	<message key="sectionEditor.regrets.title">#{$articleId} Odmítnutí recenzenty, zrušení & předchozí kola</message>
	<message key="sectionEditor.regrets">Odmítnutí</message>
	<message key="sectionEditor.regrets.link">Zobrazit odmítnutí, zrušení, předchozí kola</message>
	<message key="sectionEditor.regrets.reviewRound">Recenze, kolo {$round}</message>
	<message key="sectionEditor.regrets.decisionRound">Rozhodnutí editora, kolo {$round}</message>
	<message key="sectionEditor.regrets.regretsAndCancels">Odmítnutí recenzentem & zrušení</message>
	<message key="sectionEditor.regrets.regret">Odmítnutí</message>
	<message key="sectionEditor.regrets.result">Výsledek</message>
	<message key="sectionEditor.review.enrollReviewer">Zapsat existujícího uživatele jako recenzenta</message>
	<message key="sectionEditor.review.createReviewer">Vytvořit nového recenzenta</message>

	<message key="layoutEditor.activeEditorialAssignments">Aktivní editorské úkoly</message>
	<message key="layoutEditor.completedEditorialAssignments">Dokončené editorské úkoly</message>
	<message key="layoutEditor.noActiveAssignments">Žádné aktivní editorské úkoly.</message>
	<message key="layoutEditor.layoutEditingAssignments">Úkoly pro typografické úpravy</message>
	<message key="layoutEditor.galley.uploadGalleyFormat">Nahrát sazebnicový formát</message>
	<message key="layoutEditor.galley.replaceGalley">Nahradit soubor</message>
	<message key="layoutEditor.galley.uploadSuppFile">Nahrát doplňkový soubor</message>
	<message key="submission.layout.imageInvalid">Neplatný formát obrázku. Podporované formáty jsou .gif, .jpg a .png.</message>

	<message key="reviewer.pendingReviews">Články čekající na recenzi</message>
	<message key="reviewer.completedReviews">Hotové</message>
	<message key="reviewer.averageQuality">Hodnocení</message>

	<message key="reviewer.article.fileToBeReviewed">Soubor k recenzování</message>
	<message key="reviewer.article.notifyTheEditor">Informovat editora</message>
	<message key="reviewer.article.canDoReview">Zpracuji recenzi</message>
	<message key="reviewer.article.cannotDoReview">Nemohu zpracovat recenzi</message>
	<message key="reviewer.article.restrictedFileAccess">Příspěvek bude zpřístupněn poté, co recenzent odsouhlasí, že zpracuje recenzi.</message>
	<message key="reviewer.article.submissionEditor">Editor příspěvku</message>
	<message key="reviewer.article.reviewerCommentsDescription">Zde napište nebo sem nakopírujte komentář recenzenta</message>
	<message key="reviewer.article.editorToEnter">Vyplní editor</message>
	<message key="reviewer.article.sendReminder">Poslat připomínku</message>
	<message key="reviewer.article.automatic">(Automaticky)</message>
	<message key="reviewer.article.recommendation">Doporučení</message>
	<message key="reviewer.article.submitReview">Odeslat recenzi editorovi</message>
	<message key="reviewer.article.reviewerComments">Komentář</message>
	<message key="reviewer.article.uploadedFile">Nahrané soubory</message>
	<message key="reviewer.article.reviewersAnnotatedVersion">Verze nahraná recenzentem</message>
	<message key="reviewer.article.reviewersAnnotatedVersionDescription">(Pokud chcete soubor pro editora optařit poznámkami, uložte ho na Váš pevný disk a použijte Procházet/Nahrát.)</message>
        <message key="reviewer.article.schedule.request">Požadavky editora</message>
        <message key="reviewer.article.schedule.response">Vaše odpověď</message>
        <message key="reviewer.article.schedule.submitted">Recenze odeslána</message>
        <message key="reviewer.article.schedule.due">Termín pro recenzi</message>
	<message key="reviewer.article.decision.accept">Přijmout příspěvek</message>
	<message key="reviewer.article.decision.pendingRevisions">Požadovat přepracování</message>
	<message key="reviewer.article.decision.resubmitHere">Znovu předložit k recenzi</message>
        <message key="reviewer.article.decision.resubmitElsewhere">Znovu zaslat někam jinam</message>
	<message key="reviewer.article.decision.decline">Odmítnout příspěvek</message>
	<message key="reviewer.article.decision.seeComments">Viz komentář</message>
	<message key="reviewer.article.schedule">Plánování</message>
        <message key="reviewer.article.submissionToBeReviewed">Příspěvek k recenzování</message>
        <message key="reviewer.article.reviewSchedule">Plán recenze</message>
        <message key="reviewer.article.reviewSteps">Kroky recenze</message>
        <message key="reviewer.article.reviewerGuidelines">Instrukce pro recenzenta</message>
        <message key="reviewer.article.notifyEditorA">Informovat editora příspěvku</message>
        <message key="reviewer.article.notifyEditorB">zda zpracujete recenzi.</message>
        <message key="reviewer.article.consultGuidelines">Pokud budete zpracovávat recenzi, držte se níže uvedených Instrukcí pro recenzenta.</message>
        <message key="reviewer.article.downloadSubmission">Pro stažení a zpracování rezenze souborů spojených s tímto příspěvkem klikněte na názvy těchto souborů.</message>
        <message key="reviewer.article.enterCompetingInterests"><![CDATA[Prohlašte, zda jste nebo nejste ve střetu zájmů ve vztahu k tomuto výzkumu (viz Pravidla upravující střet zájmů).]]></message>
	<message key="reviewer.competingInterests">Střet zájmů</message>
        <message key="reviewer.article.enterReviewA">Pro vložení (nebo nakopírování) Vaší recenze tohoto příspěvku klikněte na ikonu.</message>
        <message key="reviewer.article.uploadFile">Navíc můžete nahrát soubory ke konzultaci pro editora a/nebo autora.</message>
        <message key="reviewer.article.selectRecommendation">Pro dovršení celého procesu vyberte doporučení a odešlete recenzi. Než vyberete doporučení, musíte vložit recenzi nebo nahrát soubor.</message>
	<message key="reviewer.article.mustSelectDecision">Nebylo vybráno žádné doporučení. Před odesláním musíte vybrat doporučení.</message>
	<message key="reviewer.article.confirmDecision">Jakmile zaznamenáte rozhodnutí, nebudete již moci v této recenzi provést žádné změny. Jste si jistý, že chcete pokračovat?</message>
	<message key="reviewer.article.ensuringBlindReview">Zajištění anonymní recenze</message>

	<message key="copyeditor.article.fileToCopyedit">Soubor pro redaktora</message>
	<message key="copyeditor.article.copyeditorFile">Soubor od redaktora</message>
	<message key="copyeditor.article.uploadedFile">Nahraný soubor</message>
	<message key="copyeditor.article.copyeditorFinalFile">Soubor od redaktora</message>

	<message key="proofreader.noProofreadingAssignments">Žádné úkoly pro korektora</message>

	<message key="author.submit.uploadInstructions"><![CDATA[

Pro nahrání manuskriptu do tohoto časopisu dokončete následující kroky.

Na této stránce klikněte na Prohlížet (nebo Vybrat soubor), čímž otevřete okno sloužící pro nalezení souboru na harddisku Vašeho počítače.

Najděte soubor, který chcete odeslat a označte ho.

V okně pro výběr souboru klikněte na Otevřít; tím dojde k umístění jména souboru na tuto stránku.

Na této stránce klikněte na Nahrát; tím se soubor z Vašeho počítače nahraje do časopisu a bude přejmenován v souladu s pravidly časopisu.

Jakmile byl příspěvek nahrán, klikněte na Uložit a pokračovat dole na této stránce.

]]></message>

	<message key="submission.review.mustUploadFileForReview">Email se žádostí nemůže být odeslán dokud není vložena verze pro recenzi.</message>

	<message key="submission.copyedit.mustUploadFileForInitialCopyedit">Email se žádostí nemůže být odeslán dokud není vybrán soubor pro redigování v Rozhodnutí editora na stránce Recenze.</message>
	<message key="submission.copyedit.mustUploadFileForCopyedit">Email se žádostí nemůže být odeslán dokud není nahrán soubor pro redigování.</message>
	<message key="submission.copyedit.initialCopyedit">Úvodní verze pro redigování</message>
	<message key="submission.copyedit.editorsCopyedit">Redigovaná verze editora</message>
	<message key="submission.copyedit.editorAuthorReview">Redigovaná verze autora</message>
	<message key="submission.copyedit.finalCopyedit">Finální redigovaná verze</message>
	<message key="submission.copyedit.copyeditVersion">Redaktorova verze</message>
	<message key="submission.copyedit.selectCopyeditor">Přidělit redaktora</message>
	<message key="submission.copyedit.useFile">Použít soubor</message>
	<message key="submission.copyedit.copyeditComments">Komentář redaktora</message>
	<message key="submission.copyedit.instructions">Instrukce pro redigování</message>

	<message key="submission.layout.noLayoutFile">Žádný (Nahrajte finální redigovanou verzi jako verzi typografa před tím, než odešlete žádost)</message>
	<message key="submission.layout.assignLayoutEditor">Přidělit typografa</message>
	<message key="submission.layout.replaceLayoutEditor">Nahradit typografa</message>
	<message key="submission.layout.layoutComments">Komentář typografa</message>
	<message key="submission.layout.instructions">Instrukce pro typografické úpravy</message>
	<message key="submission.layout.referenceLinking">Provázání referencí</message>

	<message key="submission.proofreadingComments">Komentář korektora</message>
	<message key="submission.proofread.corrections">Korekční opravy</message>
	<message key="submission.proofread.instructions">Instrukce pro korektury</message>

	<message key="submission.logType.article">Článek</message>
	<message key="submission.logType.author">Autor</message>
	<message key="submission.logType.editor">Editor</message>
	<message key="submission.logType.review">Recenze</message>
	<message key="submission.logType.copyedit">Redigování</message>
	<message key="submission.logType.layout">Typografie</message>
	<message key="submission.logType.proofread">Korektury</message>

	<message key="submission.comments.editorAuthorCorrespondence">Korespondence Editor/Autor</message>
	<message key="submission.comments.copyeditComments">Komentáře pro redigování</message>
	<message key="submission.comments.viewableDescription"><![CDATA[Tyto komentáře mohou být sdíleny s autorem.

(Po uložení je možné přidat další komentáře.)]]></message>
	<message key="submission.comments.canShareWithAuthor">Pro autora a editora</message>
	<message key="submission.comments.cannotShareWithAuthor">Pro editora</message>
	<message key="submission.comments.blindCcReviewers">Po odeslání poskytnout editovatelnou BCC (skrytou) kopii pro zaslání recenzentům.</message>
	<message key="submission.comments.forAuthorEditor">Pro autora a editora</message>
	<message key="submission.comments.forEditor">Pro editora</message>
	<message key="submission.comments.saveAndEmailAuthor">Uložit a zaslat emailem autorovi</message>
	<message key="submission.comments.saveAndEmailEditor">Uložit a zaslat emailem editorovi</message>

	<message key="user.login.registerNewAccount">Nejste uživatel? Zaregistrujte se na těchto stránkách</message>
	<message key="user.login.resetPasswordInstructions"><![CDATA[Tento systém zasílá z bezpečnostních důvodů registrovaným uživatelům resetované heslo namísto obnovení
současného hesla.

Pro resetování Vašeho hesla vložte níže Vaši emailovou adresu. Na tuto emailovou adresu bude zasláno potvrzení.]]></message>

	<message key="user.register.selectJournal">Zvolte časopis, do kterého se chcete zaregistrovat</message>
	<message key="user.register.noJournals">Na této stránce nejsou žádné časopisy, do kterých byste se mohl zaregistrovat.</message>
	<message key="user.register.privacyStatement">Prohlášení o soukromí</message>
	<message key="user.register.alreadyRegisteredOtherContext"><![CDATA[Klikněte zde, pokud jste již registrovaný do tohoto nebo jiného časopisu na této stránce.]]></message>
	<message key="user.register.notAlreadyRegisteredOtherContext"><![CDATA[Klikněte zde, pokud ještě nejste registrovaný do tohoto nebo jiného časopisu na této stránce.]]></message>
	<message key="user.register.loginToRegister">Pro zaregistrování do tohoto časopisu vložte Vaše existující uživatelské jméno a heslo.</message>
	<message key="user.register.registrationDisabled">Tento časopis v současnosti nepřijímá žádné registrace uživatelů.</message>
	<message key="user.register.form.passwordLengthTooShort">Heslo, které jste vložil není dostatečně dlouhé.</message>
	<message key="user.register.readerDescription">Informován emailem při vydání čísla časopisu.</message>
	<message key="user.register.openAccessNotificationDescription">Informován emailem v okamžiku udělení otevřeného přístupu číslu časopisu.</message>
	<message key="user.register.authorDescription">Schopen přispívat do časopisu.</message>
	<message key="user.register.reviewerDescriptionNoInterests">Ochotný zpracovávat recenze k příspěvkům do časopisu.</message>
	<message key="user.register.reviewerDescription">Ochotný zpracovávat recenze k příspěvkům do časopisu. Určit oblast zájmu (významné oblasti a výzkumné metody).</message>

	<message key="search.browseAuthorIndex">Procházet index autorů</message>
	<message key="search.searchFor">Vyhledávat v článcích</message>
	<message key="search.author">Autor</message>
	<message key="search.withinJournal">V rámci</message>
	<message key="search.allJournals">Všechny časopisy</message>
	<message key="search.authorIndex">Procházet index autorů</message>
	<message key="search.authorDetails">Detaily autora</message>
	<message key="search.syntaxInstructions"><![CDATA[Tipy pro vyhledávání:

Nezáleží na velikosti písmen vyhledávaného výrazu

Běžná slova jsou ignorována

Ve výchozím nastavení jsou vraceny pouze články obsahující všechny termíny dotazu (tzn. AND je aplikováno)

Kombinujte více slov pomocí OR pro nalezení článků obsahujících některý z termínů; např. vzdělávání OR výzkum

Pro vytvoření komplexnějších dotazů použijte závorky; např. archiv ((časopis OR konference) NOT disertace)

Vyhledejte přesnou frázi vložením hledaného výrazu do uvozovek; např. "open access publikování"

Vylučte slovo tím, že před něj vložíte - nebo NOT; např. online -politika nebo online NOT politika

Použijte * v termínu jako divokou kartu pro nalezení jakékoliv sekvence znaků; např. soci* etika by vrátilo dokumenty obsahující "sociologický" nebo "sociální"

]]></message>

	<message key="article.pdf.title">Portable Document Format (PDF)</message>

	<message key="article.nonpdf.title">Stažení článku</message>
	<message key="article.nonpdf.note"><![CDATA[Stahování vybraného souboru by mělo začít automaticky. Pokud nezačne, klikněte na odkaz níže. Vězte, že soubor může vyžadovat pro své zobrazení speciální prohlížeč nebo plug-in.

Pokud nezačalo stahování automaticky, klikněte zde.]]></message>

	<message key="site.journalsHosted">Časopisy hostované na této stránce</message>
	<message key="site.journalView">Zobrazit časopis</message>
	<message key="site.journalRegister">Registrovat</message>
	<message key="site.journalCurrent">Aktuální číslo</message>

	<message key="current.current">Aktuální</message>
	<message key="current.noCurrentIssue">Žádné aktuální číslo</message>
	<message key="current.noCurrentIssueDesc">Tento časopis dosud nepublikoval žádná čísla.</message>

	<message key="archive.archives">Archivy</message>
	<message key="archive.browse">Procházet starší čísla</message>
	<message key="archive.issueUnavailable">Číslo nedostupné</message>

	<message key="about.statistics">Statistiky</message>
	<message key="about.journalContact">Kontakt na časopis</message>
	<message key="about.aboutTheJournal">O časopisu</message>
	<message key="about.editorialTeam">Editorský tým</message>
	<message key="about.editorialTeam.biography">Biografie</message>
	<message key="about.editorialPolicies">Ediční pravidla</message>
	<message key="about.focusAndScope">Zaměření a záběr</message>
	<message key="about.sectionPolicies">Pravidla sekcí</message>
	<message key="about.submissions">Příspěvky</message>
	<message key="about.sponsors">Sponzoři</message>
	<message key="about.contributors">Zdroje podpory</message>
	<message key="about.onlineSubmissions">Online příspěvky</message>
	<message key="about.onlineSubmissions.haveAccount">Máte již uživatelské jméno/heslo pro {$journalTitle}?</message>
	<message key="about.onlineSubmissions.login">Jít na přihlášení</message>
	<message key="about.onlineSubmissions.needAccount">Potřebujete uživatelské jméno/heslo?</message>
	<message key="about.onlineSubmissions.registration">Jít na registraci</message>
	<message key="about.onlineSubmissions.registrationRequired">Registrace a přihlášení je zapotřebí pro online zasílání příspěvků a kontrolu jejich aktuálního stavu.</message>
	<message key="about.authorGuidelines">Pokyny autorům</message>
	<message key="about.submissionPreparationChecklist">Zaškrtávací seznam pro přípravu příspěvku</message>
	<message key="about.submissionPreparationChecklist.description">Jako součást procesu odesílání příspěvku je požadováno, aby autoři zaškrnutím potvrdili, že jejich příspěvek je v souladu se všemi následujícími položkami. Příspěvky, které nebudou v souladu s těmito pravidly, mohou být autorům vráceny.</message>
	<message key="about.copyrightNotice">Oznámení o copyrightu</message>
	<message key="about.privacyStatement">Prohlášení o soukromí</message>
	<message key="about.authorFees">Autorské poplatky</message>
	<message key="about.authorFeesMessage">Tento časopis si účtuje následující autorské poplatky.</message>
	<message key="about.peerReviewProcess">Recenzní řízení</message>
	<message key="about.publicationFrequency">Frekvence publikování</message>
	<message key="about.openAccessPolicy">Pravidla otevřeného přístupu</message>
	<message key="about.delayedOpenAccess">Zpožděný otevřený přístup</message>
	<message key="about.delayedOpenAccessDescription1">Obsah tohoto čísla bude dostupný ve formátu otevřeného přístupu</message>
	<message key="about.delayedOpenAccessDescription2">měsíc(e) poté, co bylo číslo publikováno.</message>
	<message key="about.authorSelfArchive">Vlastní archivování autora</message>
	<message key="about.archiving">Archivování</message>
	<message key="about.subscriptions">Předplatné</message>
	<message key="about.subscriptionsContact">Kontakt pro předplatné</message>
	<message key="about.availableSubscriptionTypes">Typy předplatného</message>
	<message key="about.memberships">Členství</message>
	<message key="about.journalSponsorship">Sponzorování časopisu</message>
	<message key="about.aboutThisPublishingSystem">O tomto publikačním systému</message>
	<message key="about.aboutOJSJournal"><![CDATA[Tento časopis používá Open Journal Systems {$ojsVersion}, což je open source software pro správu a publikování časopisů vyvinutý, podporovaný a volně šířený v rámci projektu Public Knowledge Project pod GNU General Public licencí.]]></message>
	<message key="about.aboutOJSSite"><![CDATA[Tato stránka používá Open Journal Systems {$ojsVersion}, což je open source software pro správu a publikování časopisů vyvinutý, podporovaný a volně šířený v rámci projektu Public Knowledge Project pod GNU General Public licencí.]]></message>

	<message key="help.ojsHelp">Pomoc pro Open Journal Systems</message>
	<message key="help.ojsHelpAbbrev">OJS Pomoc</message>

	<message key="donations.thankYou">Děkujeme</message>
	<message key="donations.thankYouMessage">Děkujeme za Váš příspěvek. Velice si vážíme Vaší pomoci.</message>

	<message key="payment.loginRequired">Pro provedení platby musíte být přihlášený.</message>
	<message key="payment.loginRequired.forArticle">Pro přístup k položce je vyžadováno předplatné nebo platba za shlédnutí. Přihlaste se do časopisu, aby mohlo být ověřeno předplatné nebo zaplacen polatek.</message>
	<message key="payment.loginRequired.forDonation">Abyste mohl darovat dar, musíte být přihlášen.</message>

	<message key="payment.paid">Zaplaceno</message>
	<message key="payment.payNow">Zaplatit nyní</message>
	<message key="payment.waive">Převést</message>
	<message key="payment.alreadyPaid">Již zaplaceno</message>
	<message key="payment.alreadyPaidMessage">Zatrhněte toto políčko, pokud jste již odeslal platbu do časopisu, aby se dokončil proces odesílání příspěvku. Dokud nedorazí platba, nebude příspěvek recenzován. Pro zobrazení instrukcí k platbě klikněte na ZAPLATIT NYNÍ.</message>
	<message key="payment.paymentReceived">Platba přijata</message>
	<message key="payment.paymentSent">Platba již byla odeslána</message>
	<message key="payment.type.submission">Poplatek za příspěvek</message>
	<message key="payment.type.publication">Poplatek za publikování</message>
	<message key="payment.type.fastTrack">Poplatek za rychlé zpracování recenze</message>
	<message key="payment.type.membership">Poplatek za individuální členství</message>
	<message key="payment.type.subscription">Předplatné</message>
	<message key="payment.type.donation">Dary</message>

	<message key="payment.donation.makeDonation">Darovat</message>

	<message key="payment.submission.paySubmission">Zaplatit poplatek za příspěvek</message>
	<message key="payment.fastTrack.payFastTrack">Poplatek za rychlé zpracování</message>
	<message key="payment.fastTrack.inFastTrack">v rychlém zpracování</message>
	<message key="payment.publication.payPublication">Zaplatit za publikování</message>
	<message key="payment.publication.publicationPaid">Poplatek za publikování zaplacen</message>

	<message key="payment.membership.buyMembership">Koupit individuální členství</message>
	<message key="payment.membership.renewMembership">Obnovit individuální členství</message>
	<message key="payment.membership.ends">Končí</message>

	<message key="payment.subscription.renew">Obnovit předplatné</message>
	<message key="payment.subscription.expires">Vyprší</message>

	<message key="installer.ojsInstallation">OJS instalace</message>
	<message key="installer.ojsUpgrade">OJS Upgrade</message>
	<message key="installer.upgradeInstructions"><![CDATA[
Verze OJS {$version}

Děkujeme za stažení Open Journal Systému vytvořeného Public Knowledge Projectem. Než budete pokračovat, přečtěte si prosím README a UPGRADE soubory dodané s tímto softwarem. Pro více informací o Public Knowledge Projectu a jeho softwarových projektech navštivte prosím PKP webové stránky. Pokud máte bug reporty nebo dotazy na technickou podporu OJS, navštivte support forum nebo navštivte PKP online bug reporting systém. Přestože je support forum preferovaným způsobem kontaktování, můžete také týmu poslat email na pkp.contact@gmail.com.

Je důrazně doporučeno, abyste udělali zálohu vaší databáze, adresáře souborů a OJS instalace před tím, než budete pokračovat.

Pokud máte zapnutý PHP Safe Mode, ujistěte se prosím, že max_execution_time instrukce ve vašem php.ini konfiguračním souboru je nastaven na vysoký limit. Pokud bude tohoto nebo jakéhokoliv dalšího časového limitu (např. "Timeout" instrukce u Apache) dosaženo a bude přerušen proces upgradování, budou vyžadovány ruční zásahy.

]]></message>
	<message key="installer.localeInstructions">Výchozí jazyk pro použití tohoto systému. Pokud Vás zajímá odpora jazyků zde neuvedených, prostudujte si dokumentaci k OJS.</message>
	<message key="installer.additionalLocalesInstructions">Zvolte jakékoliv doplňkové jazyky, které mají být podorovány v tomto systému. Tyto jazyky budou dostupné pro použití v časopisech hostovaných na této stránce. Doplňkové jazyky mohou být také kdykoliv nainstalovány přes webové administrační rozhraní.</message>
	<message key="installer.filesDirInstructions"><![CDATA[Zadejte celou cestu k existujícímu adresáři, ve kterém se mají uchovávat nahrané soubory. Tento adresář by neměl být přímo dostupný z webu. Prosím, před zahájením instalace se ujistěte, že tento adresář existuje a je zapsatelný. Ve Windows by měla cesta obsahovat dopředná lomítka, např.: "C:/myjournal/files".]]></message>
	<message key="installer.databaseSettingsInstructions">OJS vyžaduje přístup k SQL databázy, aby mohl uchovávat svoje data. Vit systémové požadavky výše pro seznam podporovaných databází. Do políček níže uveďte nastavení, které má být použito pro připojení do databáze.</message>
	<message key="installer.reinstallAfterDatabaseError"><![CDATA[Varování: Pokud instalace selhala v průběhu instalace databáze, budete možná muset odstranit Vaši OJS databázy nebo databázové tabulky před tím, než se pokusíte databázy přeinstalovat.]]></message>
	<message key="installer.overwriteConfigFileInstructions"><![CDATA[
DŮLEŽITÉ!

Instalace nemohla automaticky přepsat konfigurační soubor. Než se pokusíte používat systém, otevřete prosím <tt>config.inc.php</tt> ve vhodném textovém editoru a nahraďte jeho obsah obsahem níže uvedeného textového pole.
]]></message>
	<message key="installer.installationComplete"><![CDATA[
Instalace OJS byla úspěšně dokončena.

Abyste začali používat systém, přihlaste se pomocí uživatelského jména a hesla, které jste zadali na předchozí stránce.

Pokud chcete dostávat informace o novinkách a aktualizacích, zaregistrujte se prosím na http://pkp.sfu.ca/ojs/register. Pokud máte otázky nebo komentáře, navštivte prosím support forum.
]]></message>
	<message key="installer.upgradeComplete"><![CDATA[
Upgrade OJS na verzi {$version} byl úspěšně dokončen.

Nezapomeňte upravit "installed" nastavení ve Vašem config.inc.php konfiguračním souboru zpět na On.

Pokud jste se ještě nezaregistroval a přejete si dostávat informace o novinkách a aktualizacích, zaregistrujte se prosím na http://pkp.sfu.ca/ojs/register. Pokud máte otázky nebo komentáře, navštivte prosím support forum.
]]></message>

	<message key="log.author.submitted">{$authorName} vložil nový příspěvek, ID {$submissionId}.</message>
	<message key="log.author.documentRevised">{$authorName} pozměnil článek {$articleId}. Nové ID souboru je {$fileId}.</message>
	<message key="log.review.reviewerUnassigned">{$reviewerName} byl odebrán z recenzování příspěvku {$articleId} v recenzním kole {$round}.</message>
	<message key="log.review.reviewInitiated">Recenzní kolo {$round} prováděné recenzentem {$reviewerName} pro příspěvek {$articleId} bylo zahájeno.</message>
	<message key="log.review.reviewReinitiated">Recenzní kolo {$round} prováděné recenzentem {$reviewerName} pro příspěvek {$articleId} bylo znovu zahájeno.</message>
	<message key="log.review.reviewCancelled">Recenzní kolo {$round} prováděné recenzentem {$reviewerName} pro příspěvek {$articleId} bylo zrušeno.</message>
	<message key="log.review.reviewCleared">Recenzní kolo {$round} prováděné recenzentem {$reviewerName} pro příspěvek {$articleId} bylo vyčíštěno.</message>
	<message key="log.review.reviewerRated">{$reviewerName} byl ohodnocen pro recenzní kolo {$round} příspěvku {$articleId}.</message>
	<message key="log.review.reviewDueDateSet">Termín splnění recenzního kola {$round} příspěvku {$articleId} recenzenta {$reviewerName} byl nastaven na {$dueDate}.</message>
	<message key="log.review.reviewRecommendationSet">Doporučení pro recenzní kolo {$round} příspěvku {$articleId} od recenzenta {$reviewerName} bylo stanoveno.</message>
	<message key="log.review.reviewRecommendationSetByProxy">Doporučení pro recenzní kolo {$round} příspěvku {$articleId} bylo stanoveno editorem, {$editorName}, v zastoupení recenzenta {$reviewerName}.</message>
	<message key="log.review.resubmit">Příspěvek {$articleId} byl znovu odeslán k recenzi.</message>
	<message key="log.review.reviewDeclined">{$reviewerName} odmítl recenzní kolo {$round} pro příspěvek {$articleId}.</message>
	<message key="log.review.reviewAccepted">{$reviewerName} přijal recenzní kolo {$round} pro příspěvek {$articleId}.</message>
	<message key="log.review.reviewDeclinedByProxy">{$userName} odmítl recenzní kolo {$round} pro příspěvek {$articleId} v zastoupení recenzenta {$reviewerName}.</message>
	<message key="log.review.reviewAcceptedByProxy">{$userName} přijal recenzní kolo {$round} pro příspěvek {$articleId} v zastoupení recenzenta {$reviewerName}.</message>
	<message key="log.review.reviewFileByProxy">Editor, {$userName}, nahrál soubor s recenzí pro kolo {$round} příspěvku {$articleId} v zastoupení recenzenta {$reviewerName}.</message>
	<message key="log.review.reviewerFile">Soubor recenzenta byl nahrán.</message>
	<message key="log.editor.decision">Rozhodnutí editora ({$decision}) pro článek {$submissionId} zaznamenal {$editorName}.</message>

	<message key="log.copyedit.initiate">Redigování příspěvku {$articleId} zahájil {$copyeditorName}.</message>
	<message key="log.copyedit.copyeditFileSet">Byl vybrán výchozí soubor pro redigování.</message>
	<message key="log.copyedit.initialEditComplete">{$copyeditorName} dokončil úvodní redigování příspěvku {$articleId}.</message>
	<message key="log.copyedit.finalEditComplete">{$copyeditorName} dokončil závěrečné redigování příspěvku {$articleId}.</message>
	<message key="log.copyedit.copyeditorAssigned">{$copyeditorName} byl přidělen pro redigování příspěvku {$articleId}.</message>
	<message key="log.copyedit.copyeditorFile">Redaktorova verze souboru s příspěvkem byla nahrána.</message>
	<message key="log.copyedit.authorFile">Byla nahrána autorem redigovaná verze souboru s příspěvkem.</message>

	<message key="log.layout.layoutEditorAssigned">{$editorName} byl přidělen jako typograf pro příspěvek {$articleId}.</message>
	<message key="log.layout.layoutEditorUnassigned">{$editorName} byl odebrán z pozice typografa pro příspěvek {$articleId}.</message>
	<message key="log.layout.layoutEditComplete">{$editorName} dokončil typografické úpravy příspěvku {$articleId}.</message>

	<message key="log.editor.metadataModified">Metadata tohoto článku pozměnil {$editorName}.</message>
	<message key="log.editor.editorFile">Editorova verze souboru s příspěvkem byla nahrána.</message>
	<message key="log.editor.archived">Příspěvek {$articleId} byl archivován.</message>
	<message key="log.editor.restored">Příspěvek {$articleId} byl obnoven do fronty.</message>
	<message key="log.editor.editorAssigned">{$editorName} byl přidělen jako editor příspěvku {$articleId}.</message>
	<message key="log.editor.submissionExpedited">{$editorName} urychleně vyřídil redakční proces příspěvku {$articleId}.</message>

	<message key="log.proofread.assign">{$assignerName} přidělil {$proofreaderName} pro zpracování korektur příspěvku {$articleId}.</message>
	<message key="log.proofread.complete">{$proofreaderName} odeslal {$articleId} do plánování.</message>

	<message key="log.imported">{$userName} importoval článek {$articleId}.</message>

	<message key="rt.admin.settings">Možnosti nástrojů pro čtení</message>

	<message key="rt.admin.settings.description">Nástroje pro čtení se objeví v panelu vedle publikovaných položek v sekcích časopisu určených k indexování. Nástroje pro čtení sestávají ze sady volitelných nástrojů (uvedených níže) vztahujících se k publikované položce a ze sady nástrojů, které poskytují přístup k souvisejícím položkám uspořádaným podle oblasti a disciplíny.</message>
	<message key="rt.admin.settings.enableReadingTools">Povolit nástroje pro čtení pro stanovené sekce časopisu.</message>
	<message key="rt.admin.settings.relatedItems">Oblast</message>
	<message key="rt.admin.settings.relatedItemsLink"><![CDATA[Viz Sady souvisejících položek pro zobrazení, přidání, opravu nebo smazání souvisejících položek pro každou oblast.]]></message>

	<message key="rt.admin.options">Nástroje pro položku časopisu</message>
	<message key="rt.admin.relatedItems">Nástroje pro související položku</message>

	<message key="rt.admin.settings.addComment">Přidat komentář (umožňuje čtenářům zavěsit komentář, manažer časopisu ho může smazat).</message>
	<message key="rt.admin.settings.addComment.authenticated">Uživatelé musí být registrováni a přihlášeni, aby mohli zavěsit komntář. Anonymní komentáře nejsou povoleny.</message>
	<message key="rt.admin.settings.addComment.anonymous">Uživatelé musí být registrováni a přihlášení, aby mohli zavěsit komentář. Anonymní komentáře jsou povoleny.</message>
	<message key="rt.admin.settings.addComment.unauthenticated">Uživatelé nemusí být registrováni a přihlášeni, aby mohli zavěsit komentář. Anonymní komentáře jsou povoleny.</message>

	<message key="rt.admin.validateUrls.description"><![CDATA[URL adresy, které jsou možná neplatné pro vyhledávací stránky, jsou zobrazeny níže.

Měli byste ručně ověřit každou adresu URL označenou jako neplatnou, protože tento test není 100% přesný.

Ověřování může selhat při vyhledávání URL, které vyžadují "posted form data".]]></message>

	<message key="rt.metadata.dublinCore.primaryAuthor">Tvůrce</message>

	<message key="rt.metadata.pkp.primaryAuthor">Autorovo jméno, pracoviště, stát</message>
	<message key="rt.metadata.pkp.peerReviewed">Recenzovaný článek</message>
	<message key="rt.metadata.pkp.doi">Digital Object Identifier</message>

	<message key="rt.beNotifiedWhen">Být informován pokud...</message>

	<message key="rt.thisJournal">Prohledat časopis</message>

	<message key="rt.context.authorTermsDescription">Pro vyhledání prací s podobným spoluautorstvím nechejte u položek s více než jedním autorem zaškrtnutá všechna jména. Zaškrtnutím jednoho jména můžete prohledávat autory postupně. Více o vyhledaných zdrojích se dozvíte klinutím na O ZDROJÍCH. Tyto zdroje byly vybrány pro svou relevantnost a otevřený (volný) přístup k části nebo k celému svému obsahu.</message>

	<message key="debug.notes.currencyListLoad">Nahraný seznam měn "{$filename}" z XML</message>

	<message key="about.aboutThisPublishingSystem.altText">OJS ediční a vydavatelský proces</message>
	<message key="help.searchReturnResults">Zpět k výsledkům vyhledávání</message>
	<message key="submission.reviewForm">Formulář posudku</message>
	<message key="submission.reviewFormResponse">Odpovědi na formulář posudku</message>
	<message key="reviewer.article.enterReviewForm">Pro vyplnění formuláře posudku klikněte na ikonu.</message>
	<message key="reviewer.article.reviewFormResponse.form.responseRequired">Vyplňte prosím požadované položky.</message>
	<message key="common.pageHeader.altText">Záhlaví stránky</message>
	<message key="common.homePageHeader.altText">Záhlaví domácí stránky</message>
	<message key="common.journalHomepageImage.altText">Obrázek domácí stránky časopisu</message>
	<message key="article.coverPage.altText">Obrázek obalu</message>
	<message key="article.accessLogoOpen.altText">Otevřený přístup</message>
	<message key="article.accessLogoRestricted.altText">Omezený přístup</message>
	<message key="article.comments.sectionDefault">Výchozí</message>
	<message key="article.comments.disable">Zakázat</message>
	<message key="article.comments.enable">Povolit</message>
	<message key="article.fontSize">Velikost fontu</message>
	<message key="article.fontSize.small.altText">Malý</message>
	<message key="article.fontSize.medium.altText">Střední</message>
	<message key="article.fontSize.large.altText">Velký</message>
	<message key="user.noRoles.chooseJournal">Váš účet není aktuálně asociován s žádným časopisem. Prosím, vyberte si časopis:</message>
	<message key="user.noRoles.noRolesForJournal">Váš účet nemá aktuálně v tomto časopisu žádné role. Vyberte prosím níže akci:</message>
	<message key="user.noRoles.submitArticle">Poslat článek</message>
	<message key="user.noRoles.submitArticleRegClosed">Poslat článek: registrace autorů je aktuálně zakázána.</message>
	<message key="user.noRoles.regReviewer">Registrovat se jako recenzent</message>
	<message key="user.noRoles.regReviewerClosed">Registrovat se jako recenzent: registrace recenzentů je aktuálně zakázána.</message>
	<message key="issue.coverPage.altText">Titulní stránka</message>
	<message key="plugins.categories.implicitAuth">Výchozí autentifikační pluginy</message>
	<message key="plugins.categories.implicitAuth.description">Výchozí autentifikační pluginy zavádí podporu autentifikace uživatelů založenou na http záhlavích.</message>
	<message key="submission.layout.publicGalleyId">Identifikátor veřejné sazebnice</message>
	<message key="submission.layout.galleyPublicIdentificationExists">Identifikace veřejné sazebnice již existuje.</message>
	<message key="payment.type.purchaseArticle">Zaplatit poplatek za článek</message>
	<message key="journal.issn">ISSN</message>
	<message key="article.article">Článek</message>
	<message key="subscriptionTypes.currency">Měna</message>
	<message key="subscriptionTypes.year">rok</message>
	<message key="subscriptionTypes.years">roků</message>
	<message key="subscriptionTypes.month">měsíc</message>
	<message key="subscriptionTypes.months">měsíců</message>
	<message key="subscriptionTypes.nonExpiring">Nevyprší</message>
	<message key="subscriptionTypes.format">Formát</message>
	<message key="subscriptionTypes.format.online">Online</message>
	<message key="subscriptionTypes.format.print">Tištěný</message>
	<message key="subscriptionTypes.format.printOnline">Tištěný a online</message>
	<message key="subscriptions.inactive">Neaktivní</message>
	<message key="subscriptions.status">Stav</message>
	<message key="subscriptions.status.active">Aktivní</message>
	<message key="subscriptions.status.needsInformation">Vyžaduje informace</message>
	<message key="subscriptions.status.needsApproval">Vyžaduje schválení</message>
	<message key="subscriptions.status.awaitingManualPayment">Čekání na ručně provedenou platbu</message>
	<message key="subscriptions.status.awaitingOnlinePayment">Čekání na online platbu</message>
	<message key="subscriptions.status.other">Jiné, viz poznámky</message>
	<message key="subscriptionManager.individualSubscriptions">Individuální předplatné</message>
	<message key="subscriptionManager.institutionalSubscriptions">Institucionální předplatné</message>
	<message key="subscriptionManager.subscriptionTypes">Typy předplatného</message>
	<message key="user.subscriptions.form.deleteIpRange">Smazat</message>
	<message key="user.subscriptions.form.addIpRange">Přidat</message>
	<message key="about.subscriptionTypes.format">Formát</message>
	<message key="about.subscriptionTypes.duration">Trvání</message>
	<message key="installer.installApplication">Instalovat Open Journal Systems</message>
	<message key="installer.upgradeApplication">Upgradovat Open Journal Systems</message>
	<message key="user.manageMySubscriptions">Spravovat moje předplatné</message>
	<message key="subscriptions.individualDescription">Individuální předplatné vyžaduje pro přístup k obsahu předplatného přihlášení.</message>
	<message key="subscriptions.institutionalDescription">Institucionální předplatné nevyžaduje přihlášení. Pro udělení přístupu k předplacenému obsahu je použita doména uživatele a/nebo IP adresa.</message>
	<message key="subscriptions.institutionalOnlinePaymentDescription"><![CDATA[Poznámka: Institucionální předplatné pořízené online vyžaduje schválení domény a IP adresy před tím, než je předplatné aktivováno.]]></message>
	<message key="manager.setup.reviewProcessEmailDescription">Editoři posílají recenzentům požadavky na recenze s příspěvkem v příloze emailu. Recenzenti posílají editorům jejich souhlas (nebo odmítnutí) se zpracováním recenze a stejně tak posudek a doporučení. Editoři vkládají souhlas (nebo odmítnutí) a stejně tak posudek a doporučení na stránkách pro recenzování příspěvku, aby zaznamenali recenzní řízení.</message>
	<message key="manager.setup.citations.enable">Povolit autorům samostatně poskytnout formátovaný seznam referencí (citací) jako součást jejich příspěvku.</message>
	<message key="reviewer.article.reviewGuidelinesDescription">Pokyny pro zpracování recenze poskytnou recenzentům kritéria pro posouzení vhodnosti příspěvku k publikování v časopisu a muhou zahrnovat jakékoliv specifické instrukce pro přípravu efektivního a užitečného (nápomocného) posudku. Při zpracování recenze mají recenzenti k dispozici dvě otevřená textová pole - provní "pro autora a editora" a druhé "pro editora." Alternativně může manažer časopisu pod "Forluláři posudků" vytvořit formulář posudku. V každem případě budou mít editoři možnost vložit posudky do korespondece s autorem.</message>
	<message key="user.subscriptions.mySubscriptions">Moje předplatné</message>
	<message key="user.subscriptions.individualSubscriptions">Individuální předplatné</message>
	<message key="user.subscriptions.institutionalSubscriptions">Institucionální předplatné</message>
	<message key="user.subscriptions.renew">Obnovit</message>
	<message key="user.subscriptions.purchase">Koupit</message>
	<message key="user.subscriptions.purchaseNewSubscription">Koupit nové předplatné</message>
	<message key="user.subscriptions.purchaseIndividualSubscription">Koupit individuální předplatné</message>
	<message key="user.subscriptions.purchaseInstitutionalSubscription">Koupit institucionální předplatné</message>
	<message key="user.subscriptions.expires">Vyprší</message>
	<message key="user.subscriptions.expired">Vypršené</message>
	<message key="user.subscriptions.viewSubscriptionTypes">Zobrazit dostupné typy předplatného</message>
	<message key="user.subscriptions.form.typeId">Typ předplatného</message>
	<message key="user.subscriptions.form.membership">Členství</message>
	<message key="user.subscriptions.form.membershipRequired">Zvolený typ předplatného vyžaduje informace o členství.</message>
	<message key="user.subscriptions.form.typeIdValid">Zvolte prosím platný typ předplatného.</message>
	<message key="user.subscriptions.form.subscriptionExists">Tento uživatelský účet již má individuální předplatné.</message>
	<message key="user.subscriptions.form.membershipInstructions">Informace o členství pokud jsou požadovány pro zvolený typ předplatného.</message>
	<message key="user.subscriptions.form.institutionName">Název instituce</message>
	<message key="user.subscriptions.form.institutionNameRequired">Je vyžadován název instituce.</message>
	<message key="user.subscriptions.form.institutionMailingAddress">Poštovní adresa</message>
	<message key="user.subscriptions.form.domain">Doména</message>
	<message key="user.subscriptions.form.ipRange">Rozsah IP</message>
	<message key="user.subscriptions.form.ipRangeItem"><![CDATA[•]]></message>
	<message key="user.subscriptions.form.ipRangeValid">Vložte prosím platný rozsah IP.</message>
	<message key="about.history">Historie časopisu</message>
	<message key="about.subscriptions.individual">Individuální předplatné</message>
	<message key="about.subscriptions.institutional">Institucionální předplatné</message>
	<message key="about.subscriptionTypes.name">Jméno</message>
	<message key="about.subscriptionTypes.cost">Cena</message>
	<message key="payment.subscription.purchase">Koupit předplatné</message>
	<message key="notification.type.editing">Události editování</message>
	<message key="notification.type.issuePublished">Bylo vydáno číslo.</message>
	<message key="notification.type.newAnnouncement">Bylo vytvořeno nové oznámení.</message>
	<message key="notification.type.reviewing">Události recenzí</message>
	<message key="notification.type.site">Události na stránkách</message>
	<message key="notification.type.submissions">Události příspěvku</message>
	<message key="user.subscriptions.form.domainInstructions"><![CDATA[Pokud je zde vložena doména, je rozsah IP volitelný.
Platné hodnoty jsou doménová jména (např.: lib.sfu.ca).]]></message>
	<message key="user.subscriptions.form.domainIPRangeRequired">Zvolený typ předplatného vyžaduje doméno a/nebo IP rozsah pro ověření předplatného.</message>
	<message key="user.subscriptions.form.domainValid">Vložte prosím platnou doménu.</message>
	<message key="user.subscriptions.form.ipRangeInstructions"><![CDATA[Pokud je zde vložen rozsah IP, je doména volitelná.
Platné hodnoty zahrnují IP adresu (např.: 142.58.103.1), IP rozsah (např.: 142.58.103.1 - 142.58.103.4), IP rozsah se zástupným symbolem '*' (např.: 142.58.*.*), a IP rozsah s CIDR (např.: 142.58.100.0/24).]]></message>
	<message key="notification.mailListDescription">Pro příjem okamžitých oznámení o přidání důležitého nového obsahu do časopisu vložte vaši emailovou adresu.</message>
	<message key="notification.notificationsPublicDescription"><![CDATA[Tato stránka zobrazuje důležité aktuality související s tímto časopisem - například vydání nového čísla nebo oznámení. Můžete se přihlásit k odběru těchto oznámení prostřednictvím RSS čtečky (kliknutím na obrázek napravo) nebo prostřednictvím emailu.]]></message>
	<message key="notification.type.articleSubmitted">Byl odeslán nový článek "{$param}".</message>
	<message key="notification.type.editorDecisionComment">Byl zanechán komentář k rozhodnutí editora pro "{$param}".</message>
	<message key="notification.type.galleyModified">Byla změněna sazebnice pro "{$param}".</message>
	<message key="notification.type.metadataModified">Byla modifikována metadata pro "{$param}".</message>
	<message key="notification.type.reviewerComment">Recenzent zanechal komentář pro "{$param}".</message>
	<message key="notification.type.reviewerFormComment">Byl odeslán recenzní posudek pro "{$param}".</message>
	<message key="notification.type.submissionComment">Editora zanechal komentář pro "{$param}".</message>
	<message key="notification.type.userComment">Čtenář zanechal komentář k "{$param}".</message>

	<message key="editor.navigation.issues">Čísla</message>
</locale>


text:
#include "ipcd.h"
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <syslog.h>
#include <string.h>
#include <stdarg.h> // variable argument lists
#include <semaphore.h>

/* Compute fibonacci series */
int fib(int n) {
   if (n <= 1)
      return n;
   return fib(n-1) + fib(n-2);
}

/* Log message */
void log_message(char *filename, const char* format, ...) {
	FILE *logfile;
	logfile = fopen(filename, "a");
	if (!logfile) return;
	va_list list;
	va_start( list, format );
	vfprintf(logfile, format, list);
	va_end( list );
	fprintf(logfile, "\n");
	fclose(logfile);
}

int main(int argc, char *argv[]) {

	fprintf(stdout, "Initiating daemon...\n");

	/* Log file */
	char* filename = "/tmp/bora/ipcd.log";

	/* Our process ID and Session ID */
	pid_t pid, sid;

	/* Fork off the parent process */
	pid = fork();
	if (pid < 0) {
		exit(EXIT_FAILURE);
	}
	/* If we got a good PID, then
	   we can exit the parent process. */
	if (pid > 0) {
		printf("Daemon created. Check log file %s\n", filename);
		exit(EXIT_SUCCESS);
	}

	/* Change the file mode mask */
	umask(0);

	/* Create a new SID for the child process */
	sid = setsid();
	if (sid < 0) {
		/* Log the failure */
		exit(EXIT_FAILURE);
	}

	/* Change the current working directory */
	if ((chdir("/")) < 0) {
		/* Log the failure */
		exit(EXIT_FAILURE);
	}

	/* Close out the standard file descriptors */
	close(STDIN_FILENO);
	close(STDOUT_FILENO);
	close(STDERR_FILENO);

	/* Daemon-specific initialization goes here */

	/* Create directory if it does not exist */
	struct stat st = {0};
	if (stat("/tmp/bora", &st) == -1) {
	    mkdir("/tmp/bora", 0755);
	}

	/* Get daemon PID and create log file */
	int daemon_pid = getpid();
	log_message(filename, "ipcd started with PID: %d", daemon_pid);

	/* Create shared memory segment */
	shm_unlink(SHM_NAME); // Unlink any memory which has been created before. Not doing this fails ftruncate.

	int shmid; /* shared memory file descriptor */
	if ((shmid = shm_open(SHM_NAME, O_CREAT | O_RDWR, 0666)) == -1) {
		log_message(filename, "shm_open: shm_open failed:%s", strerror(errno));
		exit(EXIT_FAILURE);
	}

	/* Set the size of the memory segment (one-time operation) */
	if (ftruncate(shmid, sizeof(shmseg_t)) == -1) {
		log_message(filename, "ftruncate: ftruncate failed:%s", strerror(errno));
		exit(EXIT_FAILURE);
	}

	/* Attach shared memory segment */
	char* shmaddr; /* pointer to the attached segment */
	if ((shmaddr = mmap(NULL, sizeof(shmseg_t), PROT_READ|PROT_WRITE, MAP_SHARED, shmid, 0)) == (char *)-1) {
		log_message(filename, "mmap: mmap failed, error:%s", strerror(errno));
		exit(EXIT_FAILURE);
	}

	/* Initialize data structure with zeroes */
	shmseg_t* my_data = (shmseg_t*) shmaddr;
	my_data->input = 0;
	my_data->result = 0;

	/* Initialize begin semaphore */
	sem_unlink(SEM_NAME_BEGIN);

	sem_t* semaphore_begin;
	if ((semaphore_begin = sem_open(SEM_NAME_BEGIN, O_CREAT, 0666, 0)) == (sem_t *)-1) {
		log_message(filename, "sem_open: sem_open failed");
		exit(EXIT_FAILURE);
	}

	/* Initialize end semaphore */
	sem_unlink(SEM_NAME_END);

	sem_t* semaphore_end;
	if ((semaphore_end = sem_open(SEM_NAME_END, O_CREAT, 0666, 0)) == (sem_t *)-1) {
		log_message(filename, "sem_open: sem_open failed");
		exit(EXIT_FAILURE);
	}

	/* Assignment 5 - Part (a) */
	sem_unlink(SEM_NAME_MUTEX);

	/* Initialize mutex semaphore. Initialized with value = 1, so that the first client can enter the critical section */
	sem_t* semaphore_mutex;
	if ((semaphore_mutex = sem_open(SEM_NAME_MUTEX, O_CREAT, 0666, 1)) == (sem_t *)-1) {
		log_message(filename, "sem_open: sem_open failed");
		exit(EXIT_FAILURE);
	}

	/* The Big Loop */
	while (1) {
		/* Wait using semaphore for the client input. */
		sem_wait(semaphore_begin);

		/* compute Fib(n) and write the result to the shared memory segment */
		my_data->result = fib(my_data->input);
		log_message(filename, "Daemon PID: %d, Computation complete: fib(%d) = %d", daemon_pid, my_data->input, my_data->result);

		/* Post semaphore to indicate that the result is available */
		sem_post(semaphore_end);
	}

 	exit(EXIT_SUCCESS);
}

// Daemon skeleton code source: http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html

redpajama_set_name: RedPajamaGithub


text:
require 'rails/generators/active_record'

module Whatnow
  class InstallGenerator < ActiveRecord::Generators::Base
    desc 'This generator creates a migration file at db/migrate and an initializer'

    source_root File.expand_path('../install_templates', __FILE__)

    argument :name, type: :string, default: 'create_whatnow'

    def copy_files
      migration_template 'create_whatnow_reviews.rb', 'db/migrate/create_whatnow_reviews.rb'
      copy_file 'initializer.rb', 'config/initializers/whatnow.rb'
    end
  end
end


text:
import {Injectable} from "@angular/core";
import {Http} from "@angular/http";
import {Observable} from "rxjs/Observable";
import {BaseService} from "./base-service";
import {Profile} from "../classes/profile";
import {Status} from "../classes/status";

@Injectable()
export class LoginService extends BaseService {
	constructor(protected http: Http) {
		super(http);
	}

	private loginUrl = "api/login/";

	private logoutUrl = "api/logout/";

	public isLoggedIn = false;// *ONLY* use for setting appropriate nav links, this
	// does not provide secure information (not adequate authentication)

	getLogout() : Observable<Status> {

		return(this.http.get(this.logoutUrl)
			.map(this.extractMessage)
			.catch(this.handleError));

	}

	postLogin(profile: Profile) : Observable<Status> {

		return(this.http.post(this.loginUrl, profile)
			.map(this.extractMessage)
			.catch(this.handleError));

	}

}


text:
package com.rackspacecloud.blueflood.outputs.formats;

import com.rackspacecloud.blueflood.types.Points;

/**
 * This class represents the metric data that we return to
 * callers when they call our query APIs.
 */
public class MetricData {
    private static final String NUMBER = "number";
    private final Points data;
    private String unit;

    public MetricData(Points points, String unit) {
        this.data = points;
        this.unit = unit;
    }

    public Points getData() {
        return data;
    }

    public String getUnit() {
        return unit;
    }

    public String getType() {
        // Previously, we have an enum to represent the type
        // (number, boolean, string). Since we remove boolean
        // and string, we now only support number. The string
        // "number" gets returned as type attribute in the
        // query output JSON payload. We return static string
        // "number" here to preserve backwards compatibility
        return NUMBER;
    }

    public void setUnit(String unit) { this.unit = unit; }
}


text:
require "util"
require "stdlib/log/logger"
require "stdlib/gui/gui"
require "src/gui"
require "src/move"
require "src/armor"
require "src/test"

LOG = Logger.new("MagneticFloor")

function print(stuff)
  game.players[1].print(stuff)
end

function printBool(stuff)
  game.players[1].print(tostring(stuff))
end

function setup()
  global.hoverboard = global.hoverboard or {}
end

function activateEquipment(index)
  global.hoverboard[index].inserted = true
  global.hoverboard[index].active = false
  UI.initialize(index)
end

function deactivateEquipment(index)
  if global.hoverboard[index].inserted == true then
    global.hoverboard[index].inserted = false
    UI.destroy(index)
  end
end

function createPlayerMag(i)
  local entity = {
    charge = 0,
    active = false,
    inserted = false,
  }
  global.hoverboard[i] = entity
end

script.on_init(setup)

script.on_event(defines.events.on_player_joined_game, function(event)
  createPlayerMag(event.player_index)
end)

script.on_event(defines.events.on_tick, function(event)
  local n = 0
  for k,v in pairs(game.players) do
    if global.hoverboard[k] == nil then
      createPlayerMag(v.index)
    end
    if global.hoverboard[k].inserted == true and global.hoverboard[k].active == true then
      locomotion(k)
      tileCheck(k)
      UI.updateStatus(k)
    end
  end

end)

script.on_event(defines.events.on_player_placed_equipment, function(event)
  local index = event.player_index
  if getArmor(index) ~= false and event.equipment.name == "hoverboard" then
      activateEquipment(index)
  end
end)

script.on_event(defines.events.on_player_removed_equipment, function(event)
  local index = event.player_index
  if getArmor(index) ~= false and event.equipment == "hoverboard" then
    deactivateEquipment(index)
  end
end)

script.on_event(defines.events.on_entity_died, function(event)
  if event.entity.name == "player" then
    global.dead = true
  end
end)

function switchMode(index)
  if global.hoverboard[index].inserted == true then
    if global.hoverboard[index].active == false then
      global.hoverboard[index].active = true
    elseif global.hoverboard[index].active == true then
      global.hoverboard[index].active = false
    end
    UI.switchMode(global.hoverboard[index].active,index)
  end
end

script.on_event(defines.events.on_gui_click,function(event)
  local index = event.player_index
  if event.element.name == "mode" then
    switchMode(index)
  end
end)


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to Apereo under one or more contributor license
    agreements. See the NOTICE file distributed with this work
    for additional information regarding copyright ownership.
    Apereo licenses this file to you under the Apache License,
    Version 2.0 (the "License"); you may not use this file
    except in compliance with the License.  You may obtain a
    copy of the License at the following location:

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
                        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
                        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">

    <import resource="classpath:commonTestContext.xml"/>

    <bean id="repositoryPointcutInterface" class="org.jasig.portal.aop.RepositoryPointcutInterfaceImpl" />

    <aop:config>
        <aop:pointcut id="daoExecution"
            expression="within(@org.springframework.stereotype.Repository *) && execution(* org.jasig.portal..*.*(..))"/>

        <aop:pointcut id="allExecutions" expression="execution(* *.*(..))"/>

        <aop:aspect ref="testAspect">
            <aop:after pointcut-ref="daoExecution" method="executeAspect"/>
        </aop:aspect>

        <aop:aspect ref="countingMethodInterceptor">
            <aop:around method="countInvocation" pointcut="execution(* org.jasig.portal.aop.RepositoryPointcutInterface.*(..))"/>
        </aop:aspect>
    </aop:config>

    <bean id="countingMethodInterceptorRepositoryAdvice" class="org.springframework.aop.aspectj.AspectJAroundAdvice">
        <constructor-arg>
            <bean class="org.springframework.util.ReflectionUtils" factory-method="findMethod">
                <constructor-arg value="org.jasig.portal.aop.CountingMethodInterceptor"/>
                <constructor-arg value="countInvocation"/>
                <constructor-arg value="org.aspectj.lang.ProceedingJoinPoint"/>
            </bean>
        </constructor-arg>
        <constructor-arg ref="allExecutions" />
        <constructor-arg>
            <bean class="org.springframework.aop.aspectj.SingletonAspectInstanceFactory">
                <constructor-arg ref="countingMethodInterceptor" />
            </bean>
        </constructor-arg>
    </bean>

    <bean id="testAspect" class="org.jasig.portal.aop.TestAspect" />

    <bean id="countingMethodInterceptor" class="org.jasig.portal.aop.CountingMethodInterceptor" />

</beans>


text:
gem "moip2"

auth = Moip2::Auth::OAuth.new("oauth")

client = Moip2::Client.new(:sandbox, auth)

api = Moip2::Api.new(client)

# Now you must require permission access:
api.connect.authorize_url("APP-DVLBF0ANBO1S", "https://meusite.com", "RECEIVE_FUNDS, REFUND")
# Read more here: https://dev.moip.com.br/v2.0/reference#solicitar-permissao

# Once the seller has granted your required accesses, you use the code from
# the response to generate the accessToken.

# Generate acessToken:
response = api.connect.authorize(
  client_id: "your_id", # Ex.: APP-DVLBF0ANBO1S
  client_secret: "your_secret",
  code: "your_code",
  redirect_uri: "https://meusite.com",
  grant_type: "authorization_code",
)

# Get accessToken:
response[:access_token]


text:
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/user_notes/storage/user_note_database.h"

#include "base/files/file_util.h"
#include "base/json/values_util.h"
#include "sql/error_delegate_util.h"
#include "sql/meta_table.h"
#include "sql/statement.h"
#include "sql/transaction.h"

namespace user_notes {

namespace {

// `kCurrentVersionNumber` and `kCompatibleVersionNumber` are used for DB
// migrations. Update both accordingly when changing the schema.
// Version 1 - 2021-04 - Initial Schema - https://crrev.com/c/3546500
const int kCurrentVersionNumber = 1;

const int kCompatibleVersionNumber = 1;

}  // namespace

UserNoteDatabase::UserNoteDatabase(const base::FilePath& path_to_database_dir)
    : db_(sql::DatabaseOptions{.exclusive_locking = true,
                               .page_size = 4096,
                               .cache_size = 128}),
      db_file_path_(path_to_database_dir.Append(kDatabaseName)) {}

UserNoteDatabase::~UserNoteDatabase() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
}

bool UserNoteDatabase::Init() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (db_.is_open()) {
    return true;
  }

  // Use of Unretained is safe as sql::Database will only run the callback while
  // it's alive. As UserNoteDatabase instance owns the sql::Database it's
  // guaranteed that the UserNoteDatabase will be alive when the callback is
  // run.
  db_.set_error_callback(base::BindRepeating(
      &UserNoteDatabase::DatabaseErrorCallback, base::Unretained(this)));
  db_.set_histogram_tag("UserNotes");

  const base::FilePath dir = db_file_path_.DirName();
  if (!base::DirectoryExists(dir) && !base::CreateDirectory(dir)) {
    DLOG(ERROR) << "Failed to create directory for user notes database";
    return false;
  }

  if (!db_.Open(db_file_path_)) {
    DLOG(ERROR) << "Failed to open user notes database: "
                << db_.GetErrorMessage();
    return false;
  }

  if (!InitSchema()) {
    DLOG(ERROR) << "Failed to create schema for user notes database: "
                << db_.GetErrorMessage();
    db_.Close();
    return false;
  }
  return true;
}

UserNoteMetadataSnapshot UserNoteDatabase::GetNoteMetadataForUrls(
    const UserNoteStorage::UrlSet& urls) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return UserNoteMetadataSnapshot();

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return UserNoteMetadataSnapshot();

  UserNoteMetadataSnapshot metadata_snapshot;
  for (GURL url : urls) {
    sql::Statement statement(
        db_.GetCachedStatement(SQL_FROM_HERE,
                               "SELECT id, creation_date, modification_date "
                               "FROM notes WHERE url = ?"));

    if (!statement.is_valid())
      continue;

    statement.BindString(0, url.spec());

    while (statement.Step()) {
      DCHECK_EQ(3, statement.ColumnCount());

      std::string id = statement.ColumnString(0);
      base::StringPiece string_piece(id);
      uint64_t high = 0;
      uint64_t low = 0;
      if (!base::HexStringToUInt64(string_piece.substr(0, 16), &high) ||
          !base::HexStringToUInt64(string_piece.substr(16, 16), &low)) {
        continue;
      }
      base::UnguessableToken token =
          base::UnguessableToken::Deserialize(high, low);

      base::Time creation_date = statement.ColumnTime(1);
      base::Time modification_date = statement.ColumnTime(2);

      auto metadata = std::make_unique<UserNoteMetadata>(
          creation_date, modification_date, /*min_note_version=*/1);
      metadata_snapshot.AddEntry(url, token, std::move(metadata));
    }
  }

  transaction.Commit();

  return metadata_snapshot;
}

std::vector<std::unique_ptr<UserNote>> UserNoteDatabase::GetNotesById(
    const UserNoteStorage::IdSet& ids) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  std::vector<std::unique_ptr<UserNote>> user_notes;

  if (!EnsureDBInit())
    return user_notes;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return user_notes;

  for (const base::UnguessableToken& id : ids) {
    auto user_note = GetNoteById(id);
    if (!user_note)
      continue;

    user_notes.emplace_back(std::move(user_note));
  }

  transaction.Commit();

  return user_notes;
}

std::unique_ptr<UserNote> UserNoteDatabase::GetNoteById(
    const base::UnguessableToken& id) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  // Get creation_date, modification_date, url and type from notes.
  sql::Statement statement_notes(
      db_.GetCachedStatement(SQL_FROM_HERE,
                             "SELECT creation_date, modification_date, url, "
                             "type FROM notes WHERE id = ?"));
  if (!statement_notes.is_valid())
    return nullptr;
  statement_notes.BindString(0, id.ToString());
  if (!statement_notes.Step())
    return nullptr;
  DCHECK_EQ(4, statement_notes.ColumnCount());
  base::Time creation_date = statement_notes.ColumnTime(0);
  base::Time modification_date = statement_notes.ColumnTime(1);
  std::string url = statement_notes.ColumnString(2);
  int type = statement_notes.ColumnInt(3);
  auto metadata = std::make_unique<UserNoteMetadata>(
      creation_date, modification_date, /*min_note_version=*/1);

  // Get plain_text from notes_body.
  sql::Statement statement_notes_body(db_.GetCachedStatement(
      SQL_FROM_HERE, "SELECT plain_text FROM notes_body WHERE note_id = ?"));
  if (!statement_notes_body.is_valid())
    return nullptr;
  statement_notes_body.BindString(0, id.ToString());
  if (!statement_notes_body.Step())
    return nullptr;
  DCHECK_EQ(1, statement_notes_body.ColumnCount());
  auto body =
      std::make_unique<UserNoteBody>(statement_notes_body.ColumnString16(0));

  // Get original_text and selector from notes_text_target.
  sql::Statement statement_notes_text_target(
      db_.GetCachedStatement(SQL_FROM_HERE,
                             "SELECT original_text, selector FROM "
                             "notes_text_target WHERE note_id = ?"));
  if (!statement_notes_text_target.is_valid())
    return nullptr;
  statement_notes_text_target.BindString(0, id.ToString());
  if (!statement_notes_text_target.Step())
    return nullptr;
  DCHECK_EQ(2, statement_notes_text_target.ColumnCount());
  std::u16string original_text = statement_notes_text_target.ColumnString16(0);
  std::string selector = statement_notes_text_target.ColumnString(1);
  auto target = std::make_unique<UserNoteTarget>(
      static_cast<UserNoteTarget::TargetType>(type), original_text, GURL(url),
      selector);

  return std::make_unique<UserNote>(id, std::move(metadata), std::move(body),
                                    std::move(target));
}

bool UserNoteDatabase::CreateNote(std::unique_ptr<UserNote> model,
                                  std::u16string note_body_text) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  sql::Statement create_note(db_.GetCachedStatement(SQL_FROM_HERE,
                                                    "INSERT INTO notes("
                                                    "id,"
                                                    "creation_date,"
                                                    "modification_date,"
                                                    "url,"
                                                    "origin,"
                                                    "type)"
                                                    "VALUES(?,?,?,?,?,?)"));

  if (!create_note.is_valid())
    return false;

  // TODO: possibly the time should be passed to this function, for example for
  // sync to add notes with past creation date.
  create_note.BindString(0, model->id().ToString());
  create_note.BindTime(1, model->metadata().creation_date());
  create_note.BindTime(2, model->metadata().modification_date());
  create_note.BindString(3, model->target().target_page().spec());
  create_note.BindString(
      4, url::Origin::Create(model->target().target_page()).Serialize());
  create_note.BindInt(5, model->target().type());

  if (!create_note.Run())
    return false;

  sql::Statement notes_text_target(db_.GetCachedStatement(
      SQL_FROM_HERE,
      "INSERT INTO notes_text_target(note_id, original_text, selector) "
      "VALUES(?,?,?)"));
  if (!notes_text_target.is_valid())
    return false;

  notes_text_target.BindString(0, model->id().ToString());
  notes_text_target.BindString16(1, model->target().original_text());
  notes_text_target.BindString(2, model->target().selector());

  if (!notes_text_target.Run())
    return false;

  sql::Statement notes_body(db_.GetCachedStatement(
      SQL_FROM_HERE,
      "INSERT INTO notes_body(note_id, type, plain_text) "
      "VALUES(?,?,?)"));
  if (!notes_body.is_valid())
    return false;

  notes_body.BindString(0, model->id().ToString());
  notes_body.BindInt(1, UserNoteBody::BodyType::PLAIN_TEXT);
  notes_body.BindString16(2, note_body_text);

  if (!notes_body.Run())
    return false;

  transaction.Commit();
  return true;
}

bool UserNoteDatabase::UpdateNote(std::unique_ptr<UserNote> model,
                                  std::u16string note_body_text,
                                  bool is_creation) {
  if (is_creation) {
    return CreateNote(std::move(model), note_body_text);
  }

  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  // Only the text of the note body can be modified.
  // TODO(crbug.com/1313967): This will need to be updated if in the future we
  // wish to support changing the target text.
  sql::Statement update_notes_body(db_.GetCachedStatement(
      SQL_FROM_HERE, "UPDATE notes_body SET plain_text = ? WHERE note_id = ?"));
  if (!update_notes_body.is_valid())
    return false;

  update_notes_body.BindString16(0, note_body_text);
  update_notes_body.BindString(1, model->id().ToString());

  if (!update_notes_body.Run())
    return false;

  sql::Statement update_modification_date(db_.GetCachedStatement(
      SQL_FROM_HERE, "UPDATE notes SET modification_date = ? WHERE id = ?"));
  if (!update_modification_date.is_valid())
    return false;

  update_modification_date.BindTime(0, base::Time::Now());
  update_modification_date.BindString(1, model->id().ToString());

  if (!update_modification_date.Run())
    return false;

  transaction.Commit();

  return true;
}

bool UserNoteDatabase::DeleteNoteWithStringId(std::string id) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  sql::Statement delete_notes_body(db_.GetCachedStatement(
      SQL_FROM_HERE, "DELETE FROM notes_body WHERE note_id = ?"));

  if (!delete_notes_body.is_valid())
    return false;

  delete_notes_body.BindString(0, id);
  if (!delete_notes_body.Run())
    return false;

  sql::Statement delete_notes_text_target(db_.GetCachedStatement(
      SQL_FROM_HERE, "DELETE FROM notes_text_target WHERE note_id = ?"));
  if (!delete_notes_text_target.is_valid())
    return false;

  delete_notes_text_target.BindString(0, id);
  if (!delete_notes_text_target.Run())
    return false;

  sql::Statement delete_notes(
      db_.GetCachedStatement(SQL_FROM_HERE, "DELETE FROM notes WHERE id = ?"));
  if (!delete_notes.is_valid())
    return false;

  delete_notes.BindString(0, id);
  if (!delete_notes.Run())
    return false;

  return true;
}

bool UserNoteDatabase::DeleteNote(const base::UnguessableToken& id) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  bool is_notes_deleted = DeleteNoteWithStringId(id.ToString());
  transaction.Commit();
  return is_notes_deleted;
}

bool UserNoteDatabase::DeleteAllForUrl(const GURL& url) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  sql::Statement statement(db_.GetCachedStatement(
      SQL_FROM_HERE, "SELECT id FROM notes WHERE url = ?"));

  if (!statement.is_valid())
    return false;

  statement.BindString(0, url.spec());

  std::vector<std::string> ids;
  while (statement.Step())
    ids.emplace_back(statement.ColumnString(0));

  if (!statement.Succeeded())
    return false;

  for (const std::string& id : ids) {
    if (!DeleteNoteWithStringId(id))
      return false;
  }

  transaction.Commit();
  return true;
}

bool UserNoteDatabase::DeleteAllForOrigin(const url::Origin& page) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  sql::Statement statement(db_.GetCachedStatement(
      SQL_FROM_HERE, "SELECT id FROM notes WHERE origin = ?"));

  if (!statement.is_valid())
    return false;

  statement.BindString(0, page.Serialize());

  std::vector<std::string> ids;
  while (statement.Step()) {
    ids.emplace_back(statement.ColumnString(0));
  }

  if (!statement.Succeeded())
    return false;

  for (const std::string& id : ids) {
    if (!DeleteNoteWithStringId(id))
      return false;
  }

  transaction.Commit();
  return true;
}

bool UserNoteDatabase::DeleteAllNotes() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!EnsureDBInit())
    return false;

  sql::Transaction transaction(&db_);
  if (!transaction.Begin())
    return false;

  sql::Statement delete_notes_body(
      db_.GetCachedStatement(SQL_FROM_HERE, "DELETE FROM notes_body"));

  if (!delete_notes_body.is_valid())
    return false;

  if (!delete_notes_body.Run())
    return false;

  sql::Statement delete_notes_text_target(
      db_.GetCachedStatement(SQL_FROM_HERE, "DELETE FROM notes_text_target"));
  if (!delete_notes_text_target.is_valid())
    return false;

  if (!delete_notes_text_target.Run())
    return false;

  sql::Statement delete_notes(
      db_.GetCachedStatement(SQL_FROM_HERE, "DELETE FROM notes"));
  if (!delete_notes.is_valid())
    return false;

  if (!delete_notes.Run())
    return false;

  transaction.Commit();
  return true;
}

bool UserNoteDatabase::EnsureDBInit() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  if (db_.is_open())
    return true;
  return Init();
}

void UserNoteDatabase::DatabaseErrorCallback(int error, sql::Statement* stmt) {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  if (!sql::IsErrorCatastrophic(error))
    return;

  // Ignore repeated callbacks.
  db_.reset_error_callback();

  // After this call, the `db_` handle is poisoned so that future calls will
  // return errors until the handle is re-opened.
  db_.RazeAndClose();
}

bool UserNoteDatabase::InitSchema() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);

  sql::MetaTable meta_table;
  bool has_metatable = meta_table.DoesTableExist(&db_);
  bool has_schema = db_.DoesTableExist("notes");

  if (!has_metatable && has_schema) {
    // Existing DB with no meta table. Cannot determine DB version.
    db_.Raze();
  }

  // Create the meta table if it doesn't exist.
  if (!meta_table.Init(&db_, kCurrentVersionNumber, kCompatibleVersionNumber)) {
    return false;
  }

  // If DB and meta table already existed and current version is not compatible
  // with DB then it should fail.
  if (meta_table.GetCompatibleVersionNumber() > kCurrentVersionNumber) {
    return false;
  }
  if (!has_schema) {
    return CreateSchema();
  }

  meta_table.SetVersionNumber(kCurrentVersionNumber);
  meta_table.SetCompatibleVersionNumber(kCompatibleVersionNumber);
  return true;
}

bool UserNoteDatabase::CreateSchema() {
  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
  sql::Transaction transaction(&db_);
  if (!transaction.Begin()) {
    return false;
  }

  // `id` is the primary key of the table.
  // `creation_date` The date and time in seconds when the row was created.
  // `modification_date` The date and time in seconds when the row was last
  //  modified.
  // `url` The URL of the target page.
  // `type` The type of target this note has (0-page, 1-page text).
  // clang-format off
  static constexpr char kUserNotesTableSql[] =
      "CREATE TABLE IF NOT EXISTS notes("
          "id TEXT PRIMARY KEY NOT NULL,"
          "creation_date INTEGER NOT NULL,"
          "modification_date INTEGER NOT NULL,"
          "url TEXT NOT NULL,"
          "origin TEXT NOT NULL,"
          "type INTEGER NOT NULL)";
  // clang-format on
  if (!db_.Execute(kUserNotesTableSql)) {
    return false;
  }

  // Optimizes user note look up by url.
  // clang-format off
  static constexpr char kUserNoteByUrlIndexSql[] =
      "CREATE INDEX IF NOT EXISTS notes_by_url "
          "ON notes(url)";
  // clang-format on
  if (!db_.Execute(kUserNoteByUrlIndexSql)) {
    return false;
  }

  // Optimizes user note look up by origin.
  // clang-format off
  static constexpr char kUserNoteByOriginIndexSql[] =
      "CREATE INDEX IF NOT EXISTS notes_by_origin "
          "ON notes(origin)";
  // clang-format on
  if (!db_.Execute(kUserNoteByOriginIndexSql)) {
    return false;
  }

  // `note_id` is the primary key of the table. Matches the `id` of
  // corresponding note in `notes` table.
  // `original_text` The original text to which the note was attached.
  // `selector` The text fragment selector that identifies the target text.
  // clang-format off
  static constexpr char kUserNotesTextTargetTableSql[] =
      "CREATE TABLE IF NOT EXISTS notes_text_target("
          "note_id TEXT PRIMARY KEY NOT NULL,"
          "original_text TEXT NOT NULL,"
          "selector TEXT NOT NULL)";
  // clang-format on
  if (!db_.Execute(kUserNotesTextTargetTableSql)) {
    return false;
  }

  // `note_id` is the primary key of the table. Matches the `id` of
  // corresponding note in `notes` table.
  // `type` The type of body this note has (only plain text is currently
  // supported). `plain_text` The note body in plain text.
  // clang-format off
  static constexpr char kUserNotesBodyTableSql[] =
      "CREATE TABLE IF NOT EXISTS notes_body("
          "note_id TEXT PRIMARY KEY NOT NULL,"
          "type INTEGER NOT NULL,"
          "plain_text TEXT)";
  // clang-format on
  if (!db_.Execute(kUserNotesBodyTableSql)) {
    return false;
  }

  return transaction.Commit();
}
}  // namespace user_notes


text:
class AsyncReadline
  class WatcherConnection < EventMachine::Connection
    def initialize(parent, prompt, handler)
      @parent = parent
      @prompt = prompt
      @handler = handler
    end

    def post_init
      Library.rl_callback_handler_install @prompt, method(:callback)
      self.notify_readable = true
    end

    def notify_readable
      Library.rl_callback_read_char
    end

    def unbind
      Library.rl_callback_handler_remove
    end

    private

    def callback(line)
      EM.next_tick do
        @handler.call line
      end
    end
  end
end