Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Naučte se základy češtiny a ukrajinštiny pro běžné životní situace. / Вивчіть основи чеської та української мови для повсякденного життя. / Learn the basics of Czech and Ukrainian for everyday life situations.

License

NotificationsYou must be signed in to change notification settings

cesko-digital/movapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Čeština

Tým Movappu po dvou letech končí svou činnost a loučí se s vámi. Aplikace bude i nadále fungovat. Pokud byste chtěli projekt adoptovat a navázat na jeho vývoj, kontaktujte Česko.Digital napryvit@movapp.cz

CílemMovapp.cz je usnadnit dorozumění mezi Čechy a Ukrajinci.Mова [mova] znamená ukrajinskyjazyk. Movapp je aplikace pro trénink jazyků. Projekt vzniká v komunitě expertních dobrovolníkůČesko.Digital. Kontakt:pryvit@movapp.cz.

Zdrojový kód je pod MIT licencí. Texty, obrázky a audiosoubory jsou pod licencíCC BY-NC 4.0.

Chcete-li nám pomáhat na dalším rozvoji projektu, vyplňte formulář nacesko.digital/join a přidejte se do Slacku. Najdete nás v kanáluua-movapp (komunikujeme česky, slovensky, anglicky a trochu také ukrajinsky).

Українська

Після двох років команда Movapp припиняє діяльність і прощається з вами. Додаток продовжуватиме працювати. Якщо ви хочете перейняти проект і продовжити його розвиток, будь ласка, контактуйте Česko.Digital наpryvit@movapp.cz

МетаMovapp.cz – полегшити спілкування між чехами та українцями. Movapp — це програма для мовного навчання. Проект створений у спільноті експертів-волонтерівČesko.Digital. Контакти:pryvit@movapp.cz.

Вихідний код знаходиться під ліцензією MIT. Тексти, зображення та аудіофайли ліцензовані відповідно доCC BY-NC 4.0.

Якщо ви хочете стати членом команди волонтерів і допомогти нам розвивати проєкт, заповніть форму наcesko.digital/join та приєднайтеся до нашого Slack. Ви можете знайти нас на каналіua-movapp (спілкуємося чеською, словацькою, англійською а також трохи українською).

English

After two years we are saying goodbye and ending all our activities. The application will however continue to function. If you would like to adopt the project and continue its development, please contact Česko.Digital atpryvit@movapp.cz.

The goal ofMovapp.cz is to make communication between Czechs and Ukrainians easier.Mова [mohva] meanslanguage in Ukrainian. Movapp is an application for language training. The project is developed byČesko.Digital - the community of volunteering experts. Contact:pryvit@movapp.cz.

Source code is available under the MIT license. Text, pictures and audiofiles are available under theCC BY-NC 4.0 license.

If you want to help us, fill in the form atcesko.digital/join and join Slack. You can find us in theua-movapp channel (we speak Czech, Slovak, English, and a little bit Ukrainian).

Development

The web is written inNext.js and hosted onVercel. To run it locally:

git clone https://github.com/cesko-digital/movapp.gitcd movappnpm installnpm run dev

Run tests:

npmtest

If you have questions,write to us on Slack or create an issue

Development Guidelines

  • TypeScript everywhere (as much as posisble) Avoid the use ofany,as typecasting,ts-ignore.
  • Tailwind everywhere (as much as possible). We are trying to keep the styling approach consistent so stick to Tailwind unless you have a specific reason to use something else.
  • Useeslint andprettier in your IDE.
  • Keep it simple. A lot of our contributors are junior/mid-level developers so we favor code-readability and easy onboarding to optimal performance and code cleverness. Dumb is readable, readable is smart.
  • Don't reinvent the wheel. For more complex, standard components (modal, dropdown, etc) we use 3rd party headless libraries likeHeadlessUI orRadixUI.

Development Onboarding Notes

  • Intro to Next.js

  • Intro to TypeScript

  • Intro to Tailwind

  • Localization: We usenext-i18next to switch localization between the main site language (i.e., Czech) and Ukrainian.

    const { t } = useTranslation();...<p>{t('homepage.box_child_title')}</p>
  • Language variants: We use theNEXT_PUBLIC_COUNTRY_VARIANT environment variable to decide whether to build the Czech, Slovak or Polish variant of the site. Seelocales.ts for more details. When making changes, check that your code works in all language variants. The merge request pipeline automatically deploys the preview of each language variant.

  • Language variant singpost is deployed separately from the main app using GitHub pages. Seedocs/signpost-readme.md for more details.

  • Data management:

    • We useAirtable for managing the site content (phrases, categories).
    • The data is pulled into themovapp-data repository, enriched with sounds generated using Azure text-to-speech API and hosted on a CDN atdata.movapp.eu
    • This website, as well as mobile apps pull the data from the CDN.
  • Generating PDFs

    • Pages donwloadable as PDFs have apdf.tsx orpdf/[param].tsx file next to theirindex.html. This file contains the simplified print-friendly version of the page.
      • Tip: Flexbox or CSS grid styling can result in ugly page break inside rows/elements. Prefer using tables, divs, paragraphs in combination withbreak-inside CSS rule to produce clean page breaks.
    • The page is generated duringnpm run build and then theexportPdfs.ts post-build script usespupeeteer to turn the html file into a PDF a saves it in thepublic/pdf folder. See the script for implementation details.
      • Warning: Always run always run post-build scripts with"NODE_OPTIONS='--unhandled-rejections=strict'. Otherwise, they can fail on Vercel without killing the build, blocking the build slot for other deployments before the Vercel's 45 min timeout.
    • The generated PDFs are not commited to git, but generated on Vercel with every deployment.
    • The pdfs inside public folder are then accesible from regular Next pages:<a href="/pdf/generatedFile".pdf>Download PDF</a>

Contributions

  • Transliteration tables between Czech and Ukrainian were kindly provided by:vsistek/ua-translit-cz/ under an MIT license.

Other repositories

About

Naučte se základy češtiny a ukrajinštiny pro běžné životní situace. / Вивчіть основи чеської та української мови для повсякденного життя. / Learn the basics of Czech and Ukrainian for everyday life situations.

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp