From 50a0c6b59006da4f96e98a2b213399f96eb4cff9 Mon Sep 17 00:00:00 2001 From: Autom <40275136+AutomCoding@users.noreply.github.com> Date: Thu, 15 Aug 2019 18:36:22 +0200 Subject: [PATCH 1/5] Create sv.ts First half translated --- ui/src/translations/sv.ts | 161 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 ui/src/translations/sv.ts diff --git a/ui/src/translations/sv.ts b/ui/src/translations/sv.ts new file mode 100644 index 0000000..913054a --- /dev/null +++ b/ui/src/translations/sv.ts @@ -0,0 +1,161 @@ +export const sv = { + translation: { + post: 'inlägg', + remove_post: 'Radera inlägg', + no_posts: 'Inga inlägg.', + create_a_post: 'Skriv ett inlägg', + create_post: 'Skapa inlägg', + number_of_posts:'{{count}} inlägg', + posts: 'Inlägg', + related_posts: 'Dessa inlägg kan vara relaterade', + comments: 'Kommentarer', + number_of_comments:'{{count}} kommentarer', + remove_comment: 'Radera kommentar', + communities: 'Gemenskaper', + users: 'Användare', + create_a_community: 'Skapa en gemenskap', + create_community: 'Skapa gemenskap', + remove_community: 'Radera gemenskap', + subscribed_to_communities:'Prenumererar på <1>gemenskaper', + trending_communities:'Populära <1>gemenskaper', + list_of_communities: 'Lista övergemenskaper', + community_reqs: 'gemener, understreck och inga blanksteg.', + edit: 'redigera', + reply: 'svara', + cancel: 'Avbryt', + unlock: 'lås upp', + lock: 'lås', + link: 'länk', + mod: 'moderator', + mods: 'moderatorer', + moderates: 'Modererar', + remove_as_mod: 'tag bort som moderator', + appoint_as_mod: 'lägg till som moderator', + modlog: 'Moderationslogg', + admin: 'administratör', + admins: 'administratörer', + remove_as_admin: 'tag bort som administratör', + appoint_as_admin: 'lägg till som administratör', + remove: 'ta bort', + removed: 'borttagen', + locked: 'låst', + reason: 'Anledning', + mark_as_read: 'markera som läst', + mark_as_unread: 'markera som oläst', + delete: 'radera', + deleted: 'raderad', + restore: 'återställ', + ban: 'blockera', + ban_from_site: 'blockera från webbplats', + unban: 'ta bort blockering', + unban_from_site: 'ta bort blockering från webbplats', + save: 'spara', + unsave: 'förkasta', // Is perhaps 'ångra' more appropriate? + create: 'skapa', + username: 'Användarnamn', + email_or_username: 'E-postadress eller användarnamn', + number_of_users:'{{count}} användare', + number_of_subscribers:'{{count}} prenumeranter', + number_of_points:'{{count}} poäng', + name: 'Namn', + title: 'Titel', + category: 'Kategori', + subscribers: 'Prenumeranter', + both: 'Båda', + saved: 'Sparade', + unsubscribe: 'Avbryt prenumeration', + subscribe: 'Prenumerera', + subscribed: 'Prenumererar', + prev: 'Föregående', + next: 'Nästa', + sidebar: 'Sidlist', + sort_type: 'Sorteringstyp', + hot: 'Hett', + new: 'Ny', + top_day: 'Bästa dag', + week: 'Vecka', + month: 'Månad', + year: 'År', + all: 'Samtliga', + top: 'Topp', + api: 'API', + inbox: 'Inkorg', + inbox_for: 'Inkorg tillhörande <1>{{user}}', + mark_all_as_read: 'markera alla som lästa', + type: 'Typ', + unread: 'Oläst', + reply_sent: 'Svar skickat', + search: 'Sök', + overview: 'Översikt', + view: 'Vy', + logout: 'Logga ut', + login_sign_up: 'Logga in eller skapa konto', + login: 'Logga in', + sign_up: 'Skapa konto', + notifications_error: 'Din webbläsare har inte stöd för skrivbordsaviseringar. Testa Firefox eller Chrome.', + unread_messages: 'Olästa meddelanden', + password: 'Lösenord', + verify_password: 'Bekräfta lösenord', + email: 'E-postadress', + optional: 'Valfritt', + expires: 'Går ut', + url: 'URL', + body: 'Brödtext', // Probably not the best in context. + copy_suggested_title: 'kopiera föreslagen titel: {{title}}', + community: 'Gemenskap', + expand_here: 'Utvidga här', + subscribe_to_communities: 'Prenumerera på några <1>gemenskaper.', + chat: 'Chatta', + no_results: 'Inga resultat.', + setup: 'Installering', + lemmy_instance_setup: 'Installering av Lemmy-instans', + setup_admin: 'Skapa en administratör', + your_site: 'din webbplats', + modified: 'ändrades', + sponsors: 'Sponsorer', + sponsors_of_lemmy: 'Lemmys sponsorer', + sponsor_message: 'Lemmy är fri mjukvara med <1>öppen källkod, vilket innebär att ingen reklam, vinstindrivning eller venturekapital förekommer, någonsin. Dina donationer går direkt till att stöda utvecklingen av projektet. Stort tack till följande personer:', + support_on_patreon: 'Stöd på Patreon', + general_sponsors:'Allmänna sponsorer är dem som givit mellan 10 och 39 dollar till Lemmy.', + crypto: 'Kryptovaluta', + bitcoin: 'Bitcoin', + ethereum: 'Ethereum', + code: 'Kod', + joined: 'Gick med', + powered_by: 'Drivs av', + landing_0: 'Lemmy är en <1>länksamlare och alternativ till reddit, ämnad att arbeta i <2>Fediversumet.<3>Lemmy kan drivas av vem som helst, har kommentarstrådar som updateras i realid och är mycket liten (<4>ca 80 kB). Federering med ActivityPub-nätverket är planerat. <5>Detta är en <6>väldigt tidig betaversion och många funktioner saknas därför eller är trasiga. <7>Föreslå nya funktioner eller anmäl buggar <8>här.<9>Skapad i <10>Rust, <11>Actix, <12>Inferno och <13>Typescript.', + not_logged_in: 'Not logged in.', + community_ban: 'You have been banned from this community.', + site_ban: 'You have been banned from the site', + couldnt_create_comment: 'Couldn\'t create comment.', + couldnt_like_comment: 'Couldn\'t like comment.', + couldnt_update_comment: 'Couldn\'t update comment.', + couldnt_save_comment: 'Couldn\'t save comment.', + no_comment_edit_allowed: 'Not allowed to edit comment.', + no_post_edit_allowed: 'Not allowed to edit post.', + no_community_edit_allowed: 'Not allowed to edit community.', + couldnt_find_community: 'Couldn\'t find community.', + couldnt_update_community: 'Couldn\'t update Community.', + community_already_exists: 'Community already exists.', + community_moderator_already_exists: 'Community moderator already exists.', + community_follower_already_exists: 'Community follower already exists.', + community_user_already_banned: 'Community user already banned.', + couldnt_create_post: 'Couldn\'t create post.', + couldnt_like_post: 'Couldn\'t like post.', + couldnt_find_post: 'Couldn\'t find post.', + couldnt_get_posts: 'Couldn\'t get posts', + couldnt_update_post: 'Couldn\'t update post', + couldnt_save_post: 'Couldn\'t save post.', + no_slurs: 'No slurs.', + not_an_admin: 'Not an admin.', + site_already_exists: 'Site already exists.', + couldnt_update_site: 'Couldn\'t update site.', + couldnt_find_that_username_or_email: 'Couldn\'t find that username or email.', + password_incorrect: 'Password incorrect.', + passwords_dont_match: 'Passwords do not match.', + admin_already_created: 'Sorry, there\'s already an admin.', + user_already_exists: 'User already exists.', + couldnt_update_user: 'Couldn\'t update user.', + system_err_login: 'System error. Try logging out and back in.', + }, +} From b126b59e156a09134a537714565dfaa6b73c610b Mon Sep 17 00:00:00 2001 From: Autom <40275136+AutomCoding@users.noreply.github.com> Date: Thu, 15 Aug 2019 18:38:20 +0200 Subject: [PATCH 2/5] Typo (missing apostrophe in contraction) --- ui/src/translations/de.ts | 2 +- ui/src/translations/en.ts | 2 +- ui/src/translations/zh.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/src/translations/de.ts b/ui/src/translations/de.ts index 543d74d..5ec5591 100644 --- a/ui/src/translations/de.ts +++ b/ui/src/translations/de.ts @@ -118,7 +118,7 @@ export const de = { ethereum: 'Ethereum', code: 'Code', powered_by: 'Powered by', - landing_0: 'GERMAN Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>Its self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', + landing_0: 'GERMAN Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>It\'s self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', }, } diff --git a/ui/src/translations/en.ts b/ui/src/translations/en.ts index 7c2b184..d8cb6ca 100644 --- a/ui/src/translations/en.ts +++ b/ui/src/translations/en.ts @@ -123,7 +123,7 @@ export const en = { code: 'Code', joined: 'Joined', powered_by: 'Powered by', - landing_0: 'Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>Its self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', + landing_0: 'Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>It\'s self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', not_logged_in: 'Not logged in.', community_ban: 'You have been banned from this community.', site_ban: 'You have been banned from the site', diff --git a/ui/src/translations/zh.ts b/ui/src/translations/zh.ts index 59e09d7..2a40767 100644 --- a/ui/src/translations/zh.ts +++ b/ui/src/translations/zh.ts @@ -122,7 +122,7 @@ export const zh = { code: '代码', joined: '已加入', powered_by: '保留所有权利', - landing_0: 'Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>Its self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', + landing_0: 'Lemmy is a <1>link aggregator / reddit alternative, intended to work in the <2>fediverse.<3>It\'s self-hostable, has live-updating comment threads, and is tiny (<4>~80kB). Federation into the ActivityPub network is on the roadmap. <5>This is a <6>very early beta version, and a lot of features are currently broken or missing. <7>Suggest new features or report bugs <8>here.<9>Made with <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', not_logged_in: '未登录.', community_ban: '你被此节点禁止.', site_ban: '你被此站点禁止', From e053040c58f731a9b88e9b4a0c69f7f93ba9c929 Mon Sep 17 00:00:00 2001 From: Autom <40275136+AutomCoding@users.noreply.github.com> Date: Thu, 15 Aug 2019 18:55:32 +0200 Subject: [PATCH 3/5] Translate remaining Swedish --- ui/src/translations/sv.ts | 68 +++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/ui/src/translations/sv.ts b/ui/src/translations/sv.ts index 913054a..b959ca1 100644 --- a/ui/src/translations/sv.ts +++ b/ui/src/translations/sv.ts @@ -72,7 +72,7 @@ export const sv = { sort_type: 'Sorteringstyp', hot: 'Hett', new: 'Ny', - top_day: 'Bästa dag', + top_day: 'Dagstoppen', week: 'Vecka', month: 'Månad', year: 'År', @@ -124,38 +124,38 @@ export const sv = { joined: 'Gick med', powered_by: 'Drivs av', landing_0: 'Lemmy är en <1>länksamlare och alternativ till reddit, ämnad att arbeta i <2>Fediversumet.<3>Lemmy kan drivas av vem som helst, har kommentarstrådar som updateras i realid och är mycket liten (<4>ca 80 kB). Federering med ActivityPub-nätverket är planerat. <5>Detta är en <6>väldigt tidig betaversion och många funktioner saknas därför eller är trasiga. <7>Föreslå nya funktioner eller anmäl buggar <8>här.<9>Skapad i <10>Rust, <11>Actix, <12>Inferno och <13>Typescript.', - not_logged_in: 'Not logged in.', - community_ban: 'You have been banned from this community.', - site_ban: 'You have been banned from the site', - couldnt_create_comment: 'Couldn\'t create comment.', - couldnt_like_comment: 'Couldn\'t like comment.', - couldnt_update_comment: 'Couldn\'t update comment.', - couldnt_save_comment: 'Couldn\'t save comment.', - no_comment_edit_allowed: 'Not allowed to edit comment.', - no_post_edit_allowed: 'Not allowed to edit post.', - no_community_edit_allowed: 'Not allowed to edit community.', - couldnt_find_community: 'Couldn\'t find community.', - couldnt_update_community: 'Couldn\'t update Community.', - community_already_exists: 'Community already exists.', - community_moderator_already_exists: 'Community moderator already exists.', - community_follower_already_exists: 'Community follower already exists.', - community_user_already_banned: 'Community user already banned.', - couldnt_create_post: 'Couldn\'t create post.', - couldnt_like_post: 'Couldn\'t like post.', - couldnt_find_post: 'Couldn\'t find post.', - couldnt_get_posts: 'Couldn\'t get posts', - couldnt_update_post: 'Couldn\'t update post', - couldnt_save_post: 'Couldn\'t save post.', - no_slurs: 'No slurs.', - not_an_admin: 'Not an admin.', - site_already_exists: 'Site already exists.', - couldnt_update_site: 'Couldn\'t update site.', - couldnt_find_that_username_or_email: 'Couldn\'t find that username or email.', - password_incorrect: 'Password incorrect.', - passwords_dont_match: 'Passwords do not match.', - admin_already_created: 'Sorry, there\'s already an admin.', - user_already_exists: 'User already exists.', - couldnt_update_user: 'Couldn\'t update user.', - system_err_login: 'System error. Try logging out and back in.', + not_logged_in: 'Inte inloggad.', + community_ban: 'Du har blockerats från den här gemenskapen.', + site_ban: 'Du har blockerats från webbplatsen.', + couldnt_create_comment: 'Kunde inte skapa kommentar.', + couldnt_like_comment: 'Kunde inte gilla kommentar.', + couldnt_update_comment: 'Kunde inte uppdatera kommentar.', + couldnt_save_comment: 'Kunde inte spara kommentar.', + no_comment_edit_allowed: 'Har inte behörighet att redigera komentar.', + no_post_edit_allowed: 'Har inte behörighet att redigera inlägg.', + no_community_edit_allowed: 'Har inte behörighet att redigera gemenskap.', + couldnt_find_community: 'Kunde inte hitta gemenskap.', + couldnt_update_community: 'Kunde inte uppdatera gemenskap.', + community_already_exists: 'Gemenskapen finns redan.', + community_moderator_already_exists: 'Gemenskapsmoderatorn finns redan.', + community_follower_already_exists: 'Gemenskapsföljaren finns redan.', + community_user_already_banned: 'Gemenskapsanvändaren redan blockerad.', + couldnt_create_post: 'Kunde inte skapa inlägg.', + couldnt_like_post: 'Kunde inte gilla inlägg.', + couldnt_find_post: 'Kunde inte hitta inlägg.', + couldnt_get_posts: 'Kunde inte hämta inlägg.', + couldnt_update_post: 'Kunde inte uppdatera inlägg.', + couldnt_save_post: 'Kunde inte spara inlägg.', + no_slurs: 'Inga förolämpningar.', + not_an_admin: 'Inte en administratör.', + site_already_exists: 'Webbplatsen finns redan.', + couldnt_update_site: 'Kunde inte uppdatera webbplats.', + couldnt_find_that_username_or_email: 'Kunde inte hitta det användarnamnet eller e-postadressen.', + password_incorrect: 'Ogiltigt lösenord.', + passwords_dont_match: 'Lösenorden stämmer inte överens.', + admin_already_created: 'Beklagar, men det finns redan en administratör.', + user_already_exists: 'Användaren finns redan.', + couldnt_update_user: 'Kunde inte uppdatera användare.', + system_err_login: 'Systemfel. Försök att logga ut och sedan in igen.', }, } From 620be4ecd8d5e9e9cad7418e893feb9e8f521a50 Mon Sep 17 00:00:00 2001 From: Autom <40275136+AutomCoding@users.noreply.github.com> Date: Thu, 15 Aug 2019 19:08:57 +0200 Subject: [PATCH 4/5] Minor tweaks Line 74: Change grammatical gender to neutrum for undefined target. Line 126: Possibly a more accurate translation. --- ui/src/translations/sv.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/translations/sv.ts b/ui/src/translations/sv.ts index b959ca1..01e35f5 100644 --- a/ui/src/translations/sv.ts +++ b/ui/src/translations/sv.ts @@ -71,7 +71,7 @@ export const sv = { sidebar: 'Sidlist', sort_type: 'Sorteringstyp', hot: 'Hett', - new: 'Ny', + new: 'Nytt', top_day: 'Dagstoppen', week: 'Vecka', month: 'Månad', @@ -123,7 +123,7 @@ export const sv = { code: 'Kod', joined: 'Gick med', powered_by: 'Drivs av', - landing_0: 'Lemmy är en <1>länksamlare och alternativ till reddit, ämnad att arbeta i <2>Fediversumet.<3>Lemmy kan drivas av vem som helst, har kommentarstrådar som updateras i realid och är mycket liten (<4>ca 80 kB). Federering med ActivityPub-nätverket är planerat. <5>Detta är en <6>väldigt tidig betaversion och många funktioner saknas därför eller är trasiga. <7>Föreslå nya funktioner eller anmäl buggar <8>här.<9>Skapad i <10>Rust, <11>Actix, <12>Inferno och <13>Typescript.', + landing_0: 'Lemmy är en <1>länksamlare och alternativ till reddit, ämnad att fungera i <2>Fediversumet.<3>Lemmy kan drivas av vem som helst, har kommentarstrådar som updateras i realid och är mycket liten (<4>ca 80 kB). Federering med ActivityPub-nätverket är planerat. <5>Detta är en <6>väldigt tidig betaversion och många funktioner saknas därför eller är trasiga.<7>Föreslå nya funktioner eller anmäl buggar <8>här.<9>Skapad i <10>Rust, <11>Actix, <12>Inferno och <13>Typescript.', not_logged_in: 'Inte inloggad.', community_ban: 'Du har blockerats från den här gemenskapen.', site_ban: 'Du har blockerats från webbplatsen.', From 3008b45a89fcfaf4941a9c64d003a684f2385908 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 15 Aug 2019 14:11:02 -0700 Subject: [PATCH 5/5] Adding moment translation, and to i18next.ts file. --- ui/src/components/moment-time.tsx | 1 + ui/src/i18next.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ui/src/components/moment-time.tsx b/ui/src/components/moment-time.tsx index ba1e90b..2179499 100644 --- a/ui/src/components/moment-time.tsx +++ b/ui/src/components/moment-time.tsx @@ -3,6 +3,7 @@ import * as moment from 'moment'; // import 'moment/locale/de'; import 'moment/locale/zh-cn'; import 'moment/locale/fr'; +import 'moment/locale/sv'; import { getLanguage } from '../utils'; import { i18n } from '../i18next'; diff --git a/ui/src/i18next.ts b/ui/src/i18next.ts index 756bab8..2bd5d55 100644 --- a/ui/src/i18next.ts +++ b/ui/src/i18next.ts @@ -4,14 +4,16 @@ import { en } from './translations/en'; import { de } from './translations/de'; import { zh } from './translations/zh'; import { fr } from './translations/fr'; +import { sv } from './translations/sv'; // https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66 // TODO don't forget to add moment locales for new languages. const resources = { - en: en, - de: de, - zh: zh, - fr, fr, + en, + de, + zh, + fr, + sv, } function format(value: any, format: any, lng: any) {