Merge pull request #273 from SamR1/init-dutch-translation

Init Dutch translations files
This commit is contained in:
Sam 2022-11-19 11:15:14 +01:00 committed by GitHub
commit df7532a633
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 270 additions and 6 deletions

View File

@ -55,6 +55,7 @@ class BaseConfig:
'fr', 'fr',
'de', 'de',
# 'nb', # disabled for now # 'nb', # disabled for now
# 'nl', # disabled for now
] ]
OAUTH2_TOKEN_EXPIRES_IN = { OAUTH2_TOKEN_EXPIRES_IN = {
'authorization_code': 864000, # 10 days 'authorization_code': 864000, # 10 days

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.d575ea61.js"></script><script defer="defer" src="/static/js/app.b20bcb4d.js"></script><link href="/static/css/app.b6bd588e.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html> <!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.d575ea61.js"></script><script defer="defer" src="/static/js/app.37e9e314.js"></script><link href="/static/css/app.b6bd588e.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,207 @@
# Dutch translations for PROJECT.
# Copyright (C) 2022 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
"PO-Revision-Date: 2022-11-19 09:31+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: nl\n"
"Language-Team: nl <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n"
#: fittrackee/emails/templates/layout.html:215
#: fittrackee/emails/templates/layout.txt:1
#, python-format
msgid "Hi %(username)s,"
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.txt:6
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:6
#: fittrackee/emails/templates/layout.html:218
#: fittrackee/emails/templates/password_change/body.txt:3
#: fittrackee/emails/templates/password_reset_request/body.txt:6
#, python-format
msgid ""
"For security, this request was received from a %(operating_system)s "
"device using %(browser_name)s."
msgstr ""
#: fittrackee/emails/templates/layout.html:221
#: fittrackee/emails/templates/layout.txt:5
msgid "Thanks,"
msgstr ""
#: fittrackee/emails/templates/layout.html:222
#: fittrackee/emails/templates/layout.txt:6
msgid "The FitTrackee Team"
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:2
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
msgid "Confirm your account"
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:3
msgid "Use this link to confirm your account."
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:4
#: fittrackee/emails/templates/account_confirmation/body.txt:1
msgid "You have created an account on FitTrackee."
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:4
msgid "Use the button below to confirm your address email."
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:11
#: fittrackee/emails/templates/account_confirmation/body.txt:4
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
msgid "Verify your email"
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:18
#: fittrackee/emails/templates/account_confirmation/body.txt:7
msgid ""
"If this account creation wasn't initiated by you, please ignore this "
"email."
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.html:22
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
#: fittrackee/emails/templates/password_reset_request/body.html:24
msgid ""
"If you're having trouble with the button above, copy and paste the URL "
"below into your web browser."
msgstr ""
#: fittrackee/emails/templates/account_confirmation/body.txt:2
msgid "Use the link below to confirm your address email."
msgstr ""
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
msgid "Email changed"
msgstr ""
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
msgid "Your email is being updated."
msgstr ""
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
msgid ""
"You recently requested to change your email address for your FitTrackee "
"account to:"
msgstr ""
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
msgid ""
"If this email change wasn't initiated by you, please change your password"
" immediately or contact your administrator if your account is locked."
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
msgid "Confirm email change"
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
msgid "Use this link to confirm email change."
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
msgid ""
"You recently requested to change your email address for your FitTrackee "
"account."
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
msgid "Use the button below to confirm this address."
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
msgid "If this email change wasn't initiated by you, please ignore this email."
msgstr ""
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
msgid "Use the link below to confirm this address."
msgstr ""
#: fittrackee/emails/templates/password_change/body.html:2
#: fittrackee/emails/templates/password_change/subject.txt:1
msgid "Password changed"
msgstr ""
#: fittrackee/emails/templates/password_change/body.html:3
msgid "Your password has been changed."
msgstr ""
#: fittrackee/emails/templates/password_change/body.html:4
#: fittrackee/emails/templates/password_change/body.txt:1
msgid "The password for your FitTrackee account has been changed."
msgstr ""
#: fittrackee/emails/templates/password_change/body.html:5
#: fittrackee/emails/templates/password_change/body.txt:4
msgid ""
"If this password change wasn't initiated by you, please change your "
"password immediately or contact your administrator if your account is "
"locked."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:2
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
msgid "Password reset request"
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:3
#, python-format
msgid ""
"Use this link to reset your password. The link is only valid for "
"%(expiration_delay)s."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:4
#: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "You recently requested to reset your password for your FitTrackee account."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:4
msgid "Use the button below to reset it."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:5
#: fittrackee/emails/templates/password_reset_request/body.txt:2
#, python-format
msgid "This password reset link is only valid for %(expiration_delay)s."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:13
#: fittrackee/emails/templates/password_reset_request/body.txt:4
msgid "Reset your password"
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.html:20
#: fittrackee/emails/templates/password_reset_request/body.txt:7
msgid "If you did not request a password reset, please ignore this email."
msgstr ""
#: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "Use the link below to reset it."
msgstr ""

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,27 @@
import AboutTranslations from './about.json'
import AdministrationTranslations from './administration.json'
import ApiTranslations from './api.json'
import ButtonsTranslations from './buttons.json'
import CommonTranslations from './common.json'
import DashboardTranslations from './dashboard.json'
import ErrorTranslations from './error.json'
import OAuth2Translations from './oauth2.json'
import SportsTranslations from './sports.json'
import StatisticsTranslations from './statistics.json'
import UserTranslations from './user.json'
import WorkoutsTranslations from './workouts.json'
export default {
about: AboutTranslations,
admin: AdministrationTranslations,
api: ApiTranslations,
buttons: ButtonsTranslations,
common: CommonTranslations,
dashboard: DashboardTranslations,
error: ErrorTranslations,
oauth2: OAuth2Translations,
sports: SportsTranslations,
statistics: StatisticsTranslations,
user: UserTranslations,
workouts: WorkoutsTranslations,
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -98,6 +98,7 @@ const dateStringFormats: Record<string, string> = {
en: 'MMM. do, yyyy', en: 'MMM. do, yyyy',
fr: 'd MMM yyyy', fr: 'd MMM yyyy',
// nb: 'do MMM yyyy', // nb: 'do MMM yyyy',
// nl: 'd MMM yyyy',
} }
export const getDateFormat = (dateFormat: string, language: string): string => { export const getDateFormat = (dateFormat: string, language: string): string => {

View File

@ -9,6 +9,7 @@ export const localeFromLanguage: Record<string, Locale> = {
en: enUS, en: enUS,
fr: fr, fr: fr,
// nb: nb, // disabled for now // nb: nb, // disabled for now
// nl: nl, // disabled for now
} }
export const languageLabels: Record<string, string> = { export const languageLabels: Record<string, string> = {
@ -16,6 +17,7 @@ export const languageLabels: Record<string, string> = {
en: 'English', en: 'English',
fr: 'Français', fr: 'Français',
// nb: 'Norsk bokmål', // disabled for now // nb: 'Norsk bokmål', // disabled for now
// nl: 'Nederlands', // disabled for now
} }
const { availableLocales } = createI18n.global const { availableLocales } = createI18n.global

View File

@ -19,6 +19,8 @@ export const setZxcvbnOptions = async (language: string) => {
fr: zxcvbnFrPackage, fr: zxcvbnFrPackage,
// no package available for norwegian bokmal, fallback on english // no package available for norwegian bokmal, fallback on english
nb: zxcvbnEnPackage, nb: zxcvbnEnPackage,
// no package available for dutch (Nederlands), fallback on english
nl: zxcvbnEnPackage,
} }
const zxcvbnPackage = zxcvbnLangPackages[language] const zxcvbnPackage = zxcvbnLangPackages[language]
const options = { const options = {