time-to-leave
time-to-leave copied to clipboard
Translating Time to Leave to other Languages
Time to Leave now supports multiple languages. You can help to translate it into new languages, or enhance the supported languages by translating missing strings. Please refer to this comment to get the list of missing strings translations. Please check if there's any open item for the translation, and if it's not assigned to anyone.
⚠️ Please, only translate into language you are fluent on.
How to contribute
- Demonstrate your interest in translating to a new language in this issue
- Open a new issue in the project (see #460 for reference) and we'll assign that to you
- Follow the guide below to do the translation
Adding new languages
- Add the language locale in
src/configs/app.config.js
, on the arraylanguages
with the name for the language not translated, but instead in the native name for the language. Make sure it is sorted by the language locale. - Create a new directory under
locales
, with the locale of the language - Copy the
json
files fromlocales/en/
to the new created directory - Translate the strings in the new
locales/{LANG}/translation.json
- You'll see strings for "Time to Leave". This is the app name, and you don't need to translate it.
- Translate README, by creating a new
docs/README-{LANG}.md
, with a copy of the mainREADME.md
, but translating into the specific language - Include a reference to newly created
docs/README-{LANG}.md
inREADME.md
, close to the top, following the template:-
<a href="docs/README-{LANG}.md"><img src="https://img.shields.io/badge/{LANG}-{Name for the language in original language}-purple" alt="This document is also available in {Language name}"></a>
-
- Add coverage for the new locale on the
getLanguageName
test on https://github.com/thamara/time-to-leave/blob/d7f49f1565b70a81fdd60faba823d2da0cb4f30d/tests/main/user-preferences.js ,
The translations can be done incrementally, so don't feel like you need to do take all this work alone.
Including missing translations
- Refer to this comment to get the list of missing strings translations.
- Check if there's any open item, if not, feel free to open one
- Check if someone is already working on it, if not, please comment saying you are interested in working on that
- Translate the strings and submit a PR
Ongoing translations
Fully supported languages
⚠️ Check for the updated list in the comment: https://github.com/thamara/time-to-leave/issues/475#issuecomment-808787273 The list below is mainly to track maintainers.
- Bengali (bn)
- Brazilian Portuguese (pt-BR) (@thamara, @tupaschoal, @araujoarthur0)
- Catalán (ca-CA) (@servatj)
- Dutch (nl) (@Semvrij)
- English (en) (@thamara, @tupaschoal, @araujoarthur0)
- French (fr-FR) (@QuentinPhilipp)
- German (de-DE)
- Greek (el)
- Gujarati (gu) (@nikkhil31)
- Hebrew (he) (@TomerPacific)
- Hindi (hi)
- Indonesian (id) (@aqmalio)
- Italian (it) (@giovannipessiva, @cinziaborello)
- Japonese (ja) (@suke6mix)
- Korean (ko) (@Esot3riA)
- Marathi (mr) (@RuteshRathod)
- Persian (fa-IR): (@R3z4Pr0gramm3r)
- Polish (pl)
- Portuguese (pt-PT) (@drcor)
- Russian (ru-RU)
- Spanish (es)
- Swedish (sv-SE) (@wonkyung)
- Tamil (ta) (@code-reaper08)
- Thai (th-TH)
- Simplified Chinese (zh-CN)
- Traditional Chinese (zh-TW) (@jswildcards)
- Turkish (tr-TR) (@omerisildak)
- Ukrainian (uk-UA) (@timagixe)
Let us know if you have any questions.
Hi I can help with spanish :+1:
Hi, I have opened an issue for italian: https://github.com/thamara/time-to-leave/issues/480
@SolKuczala Thanks, or should I say gracias! Can you please open an issue so I can assign that to you?
Hello, I've opened an issue for Traditional Chinese: #496 😄
Hello, I've opened an issue for Hindi : #497
Hi, I opened the issue #528 to translate this project to Thai.
Hi. I have translated it to french.
Hi, I've opened issue #536 for Polish translation.
Hello, I've opened issue #544 for Korean translation!
Missing Translations:
fr-FR (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
de-DE (4/192 - 2.08% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
pl (6/192 - 3.12% missing):
{
"$Menu": {
"failed-entries": "Failed entries",
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
mr (12/192 - 6.25% missing):
{
"$Menu": {
"export": "Export",
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
it (13/192 - 6.77% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$Notification": {
"punch-reminder": "Don't forget to punch in!",
"time-to-leave": "Hey there! I think it's time to leave."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
zh-TW (11/192 - 5.73% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
nl (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
hi (10/192 - 5.21% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
ko (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
th-TH (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
id (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
ca-CA (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
In pl "Menu" is used the same as in English
Thanks!
@thamara, what do you think about translating of other github related files?
What do you have in mind @SaviPrograms ?
Translation of contriburing and developing guide
I'll allow Thamara to have the final word, but I'd say that's not needed. Translating the app and readme is nice because users don't need to know English, but to contribute they do, as it's the language we use to interact here.
I agree with what @tupaschoal had said.
I'm interested in helping out to translate to ES Spanish.
@RafaelDavisH currently we are missing only one translation to Spanish:
"$Notification": {
"punch-reminder": "Don't forget to punch in!"
}
- So this would be?
"$Notification": {
"punch-reminder": "No olvides marcar tarjeta!"
}
That's the only part that gets translated right?
@RuteshRathod we got a few strings missing in Marathi. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
mr (12/192 - 6.25% missing):
{
"$Menu": {
"export": "Export",
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
@giovannipessiva we got a few strings missing in Italian. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
it (13/192 - 6.77% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$Notification": {
"punch-reminder": "Don't forget to punch in!",
"time-to-leave": "Hey there! I think it's time to leave."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
@jswildcards we got a few strings missing in Italian. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
zh-TW (11/192 - 5.73% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
},
"$UpdateManager": {
"dismissBtn": "Dismiss",
"downloadBtn": "Download latest version",
"old-version-msg": "You are using an old version of TTL and missing out on a lot of new cool things!",
"remindBtn": "Remind me later",
"title": "TTL Check for updates",
"upto-date-msg": "Your TTL is up to date."
}
}
@Semvrij we got a few strings missing in Dutch. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
nl (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
@Esot3riA we got a few strings missing in Korean. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
ko (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
@servatj we got a few strings missing in Catalan. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
ca-CA (5/192 - 2.60% missing):
{
"$Menu": {
"fresh-start": "Fresh Start",
"fresh-start-confirm": "Are you sure you want a fresh start?",
"migrate": "Migrate",
"report": "Report",
"should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start."
}
}
@Semvrij we got a few strings missing in Dutch. Would you be interested in translating those? If opening a PR for is too much trouble, you can share the translations in a comment and I'll adjust it.
nl (5/192 - 2.60% missing):
{ "$Menu": { "fresh-start": "Fresh Start", "fresh-start-confirm": "Are you sure you want a fresh start?", "migrate": "Migrate", "report": "Report", "should-migrate-to-flexible": "One of the new features of this Time to Leave release is a flexible number of entries for the calendar.\n\nThis new view uses a new database format.\nTo use it, you can either migrate your existing database to the new format or make a fresh start." } }
I created a pull request.
Hello, I opened the issue #609 to translate to Japanese.
Summary - 29 languages supported (186 strings)
Locale | Translation progress | Missing strings |
---|---|---|
bn | 0 | |
ca | 0 | |
de-DE | 0 | |
el | 2 (Open issue) | |
es | 0 | |
fa-IR | 0 | |
fr-FR | 0 | |
gu | 0 | |
he | 0 | |
hi | 0 | |
id | 0 | |
it | 0 | |
ja | 0 | |
ko | 0 | |
mr | 0 | |
nl | 0 | |
pl | 0 | |
pt-BR | 0 | |
pt-MI | 0 | |
pt-PT | 4 (Open issue) | |
ru-RU | 0 | |
sv-SE | 0 | |
ta | 0 | |
th-TH | 0 | |
tr-TR | 0 | |
uk-UA | 0 | |
zh-CN | 1 (Open issue) | |
zh-TW | 0 |
Missing Translations:
el
2/186 - 1.08% missing:
{
"$Menu": {
"ok": "OK"
},
"$Preferences": {
"cadentStar": "Cadent Star"
}
}
pt-PT
4/186 - 2.15% missing:
{
"$FlexibleMonthCalendar": {
"total": "Total"
},
"$Menu": {
"menu": "Menu",
"ok": "OK"
},
"$Preferences": {
"hours-per-day": "HH:mm"
}
}
zh-CN
1/186 - 0.54% missing:
{
"$Preferences": {
"hours-per-day": "HH:mm"
}
}
Hi @thamara , just made a PR to translate TTL to Hebrew. Can you check it out?