# JuliaSurveyForm: JuliaCon Survery Form generated from Julia

**URL:** https://discourse.julialang.org/t/juliasurveyform-juliacon-survery-form-generated-from-julia/84068
**Category:** Package Announcements
**Tags:** package, announcement
**Created:** [July 11, 2022, 6:33pm UTC](https://discourse.julialang.org/t/juliasurveyform-juliacon-survery-form-generated-from-julia/84068 "2022-07-11T18:33:34Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Roger-luo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/roger-luo/32/3399_2.png) [@Roger-luo](https://discourse.julialang.org/u/Roger-luo)
#### Post date: [July 11, 2022, 6:33pm UTC](https://discourse.julialang.org/t/juliasurveyform-juliacon-survery-form-generated-from-julia/84068/1 "2022-07-11T18:33:34Z")

</div>

We translate new questions for JuliaCon survey every year, which has been a bit painful since it’s hard to look for differences between the previous year and the new survey and keep track of the translation and updates of the survey in Google docs. Thus I decided to create this package that creates the JuliaCon survey in pure Julia.

> **[GitHub - JuliaCon/JuliaSurveyForm.jl: A package generates Julia-based survey...](https://github.com/JuliaCon/JuliaSurveyForm.jl)**
>
> A package generates Julia-based survey form in many different languages and formats. - GitHub - JuliaCon/JuliaSurveyForm.jl: A package generates Julia-based survey form in many different languages ...

It encodes the survey in a TOML file and generates other formats (e.g markdown) from the schema, a few highlights

- Survey form is encoded in TOML file, makes it easier to see the diff directly via github/git diff
- Generates other language translation using Google translate with simply `translate(survey, <locale>)` so native speakers can skip some trivial translations, and only translate what has been changed or what does not make sense.
- build-in Julia type for questions, e.g `CountryOrRegionQuestion` type makes the survey form more compact to read and guarantees there is no missing country or region name (via the awesome [cjdoris/Countries.jl](https://github.com/cjdoris/Countries.jl)), similar for other special question types too. And this is highly extensible within Julia.
- Generates the markdown format from the TOML for easier reading on Github.

Using the package, I not only translate [simplified Chinese](https://github.com/Roger-luo/JuliaSurveyForm.jl/blob/main/surveys/JuliaSurvey.zh_CN.toml) version, but also [traditional Chinese](https://github.com/Roger-luo/JuliaSurveyForm.jl/blob/main/surveys/JuliaSurvey.zh_TW.toml) (generated from simplified Chinese), [Japanese](https://github.com/Roger-luo/JuliaSurveyForm.jl/blob/main/surveys/JuliaSurvey.ja_JP.toml) (generated from simplified Chinese), [Korean](https://github.com/Roger-luo/JuliaSurveyForm.jl/blob/main/surveys/JuliaSurvey.ko_KR.toml) (generated from simplified Chinese).

In principle, a few things can be done on top of this:

- submitting the Julia survey from Julia REPL.
- automatically create a Google form using the Google form REST API (or other online form services).

Due to time constraints, I didn’t work on these. But it would be fun to submit the survey from Julia REPL 😉 so maybe next year I’ll do it

Tho the main use case is for JuliaCon, but in principle this package can be used for other survey forms and their localication. This package is not registered yet. So you would have to install it via the git link. Perhaps I will change the name to something more general in the future if the functionality is more “complete”.
