time-to-leave icon indicating copy to clipboard operation
time-to-leave copied to clipboard

Translating Time to Leave to other Languages

Open thamara opened this issue 3 years ago • 36 comments

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 array languages 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 from locales/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 main README.md, but translating into the specific language
  • Include a reference to newly created docs/README-{LANG}.md in README.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.

thamara avatar Oct 17 '20 22:10 thamara

Hi I can help with spanish :+1:

SolKuczala avatar Oct 19 '20 20:10 SolKuczala

Hi, I have opened an issue for italian: https://github.com/thamara/time-to-leave/issues/480

giovannipessiva avatar Oct 19 '20 20:10 giovannipessiva

@SolKuczala Thanks, or should I say gracias! Can you please open an issue so I can assign that to you?

thamara avatar Oct 19 '20 20:10 thamara

Hello, I've opened an issue for Traditional Chinese: #496 😄

jswildcards avatar Oct 22 '20 04:10 jswildcards

Hello, I've opened an issue for Hindi : #497

susheelg1197 avatar Oct 22 '20 08:10 susheelg1197

Hi, I opened the issue #528 to translate this project to Thai.

fuslonflare avatar Oct 24 '20 04:10 fuslonflare

Hi. I have translated it to french.

The-Kernel-Panic avatar Oct 24 '20 18:10 The-Kernel-Panic

Hi, I've opened issue #536 for Polish translation.

saviusz avatar Oct 24 '20 19:10 saviusz

Hello, I've opened issue #544 for Korean translation!

Esot3riA avatar Oct 25 '20 06:10 Esot3riA

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."
  }
}

thamara avatar Oct 25 '20 12:10 thamara

In pl "Menu" is used the same as in English

saviusz avatar Oct 25 '20 18:10 saviusz

Thanks!

thamara avatar Oct 26 '20 01:10 thamara

@thamara, what do you think about translating of other github related files?

saviusz avatar Oct 29 '20 17:10 saviusz

What do you have in mind @SaviPrograms ?

tupaschoal avatar Oct 29 '20 17:10 tupaschoal

Translation of contriburing and developing guide

saviusz avatar Oct 29 '20 17:10 saviusz

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.

tupaschoal avatar Oct 29 '20 18:10 tupaschoal

I agree with what @tupaschoal had said.

thamara avatar Oct 30 '20 02:10 thamara

I'm interested in helping out to translate to ES Spanish.

RafaelDavisH avatar Oct 31 '20 00:10 RafaelDavisH

@RafaelDavisH currently we are missing only one translation to Spanish:

"$Notification": {
    "punch-reminder": "Don't forget to punch in!"
  }

thamara avatar Oct 31 '20 14:10 thamara

  • So this would be?

"$Notification": {
    "punch-reminder": "No olvides marcar tarjeta!"
  }

That's the only part that gets translated right?

RafaelDavisH avatar Oct 31 '20 14:10 RafaelDavisH

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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."
  }
}

thamara avatar Nov 09 '20 03:11 thamara

@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.

Semvrij avatar Nov 09 '20 14:11 Semvrij

Hello, I opened the issue #609 to translate to Japanese.

suke6mix avatar Jan 22 '21 01:01 suke6mix

Summary - 29 languages supported (186 strings)

Locale Translation progress Missing strings
bn Progress 0
ca Progress 0
de-DE Progress 0
el Progress 2 (Open issue)
es Progress 0
fa-IR Progress 0
fr-FR Progress 0
gu Progress 0
he Progress 0
hi Progress 0
id Progress 0
it Progress 0
ja Progress 0
ko Progress 0
mr Progress 0
nl Progress 0
pl Progress 0
pt-BR Progress 0
pt-MI Progress 0
pt-PT Progress 4 (Open issue)
ru-RU Progress 0
sv-SE Progress 0
ta Progress 0
th-TH Progress 0
tr-TR Progress 0
uk-UA Progress 0
zh-CN Progress 1 (Open issue)
zh-TW Progress 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"
 }
}

thamara avatar Mar 27 '21 19:03 thamara

Hi @thamara , just made a PR to translate TTL to Hebrew. Can you check it out?

TomerPacific avatar Oct 08 '22 05:10 TomerPacific