]> Untitled Git - lemmy.git/commitdiff
Adding Esperanto.
authorDessalines <tyhou13@gmx.com>
Mon, 26 Aug 2019 21:42:53 +0000 (14:42 -0700)
committerDessalines <tyhou13@gmx.com>
Mon, 26 Aug 2019 21:42:53 +0000 (14:42 -0700)
- Fixes #240

README.md
ui/src/components/moment-time.tsx
ui/src/i18next.ts
ui/src/translations/eo.ts [new file with mode: 0644]
ui/src/utils.ts
ui/translation_report.ts

index 278a90c6293ed371976395caef91f481d2a51f94..4e143db40f525e4d0c1e49aa56a09bfd45cd9039 100644 (file)
--- a/README.md
+++ b/README.md
@@ -163,18 +163,19 @@ Lemmy is free, open-source software, meaning no advertising, monetizing, or vent
 
 If you'd like to add translations, take a look a look at the [english translation file](ui/src/translations/en.ts).
 
-- Languages supported: English (`en`), Chinese (`zh`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`).
+- Languages supported: English (`en`), Chinese (`zh`), Esperanto (`eo`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`).
 
 ### Report
 
 lang | done | missing
 --- | --- | ---
-de | 91% | cross_posts,cross_post,users,settings,subscribed,expires,nsfw,show_nsfw,crypto,monero,joined,by,to,transfer_community,transfer_site 
-es | 96% | cross_posts,cross_post,by,to,transfer_community,transfer_site 
-fr | 93% | cross_posts,cross_post,users,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
-ru | 96% | cross_posts,cross_post,monero,by,to,transfer_community,transfer_site 
-sv | 94% | cross_posts,cross_post,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
-zh | 93% | cross_posts,cross_post,users,settings,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
+de | 90% | cross_posts,cross_post,users,settings,subscribed,expires,recent_comments,nsfw,show_nsfw,crypto,monero,joined,by,to,transfer_community,transfer_site 
+es | 96% | cross_posts,cross_post,recent_comments,by,to,transfer_community,transfer_site 
+eo | 100% |  
+fr | 93% | cross_posts,cross_post,users,settings,recent_comments,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
+ru | 95% | cross_posts,cross_post,recent_comments,monero,by,to,transfer_community,transfer_site 
+sv | 93% | cross_posts,cross_post,settings,recent_comments,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
+zh | 93% | cross_posts,cross_post,users,settings,recent_comments,nsfw,show_nsfw,monero,by,to,transfer_community,transfer_site 
 
 
 ## Credits
index 78b3df020e8832e596e538cec22cea5e375624a3..c6cd981b32581a9f5e402931482124a440487e14 100644 (file)
@@ -1,11 +1,5 @@
 import { Component } from 'inferno';
 import * as moment from 'moment';
-import 'moment/locale/es';
-import 'moment/locale/de';
-import 'moment/locale/zh-cn';
-import 'moment/locale/fr';
-import 'moment/locale/sv';
-import 'moment/locale/ru';
 import { getMomentLanguage } from '../utils';
 import { i18n } from '../i18next';
 
index 5b22aaaae9897cccbea975a8ff696dbde648ca9f..ba81b8d4bd006f98baeca1a65e98594aba1e65e2 100644 (file)
@@ -1,6 +1,7 @@
 import * as i18n from 'i18next';
 import { getLanguage } from './utils';
 import { en } from './translations/en';
+import { eo } from './translations/eo';
 import { es } from './translations/es';
 import { de } from './translations/de';
 import { zh } from './translations/zh';
@@ -12,6 +13,7 @@ import { ru } from './translations/ru';
 // TODO don't forget to add moment locales for new languages.
 const resources = {
   en,
+  eo,
   es,
   de,
   zh,
diff --git a/ui/src/translations/eo.ts b/ui/src/translations/eo.ts
new file mode 100644 (file)
index 0000000..07ad7fb
--- /dev/null
@@ -0,0 +1,173 @@
+export const eo = {
+  translation: {
+    post: 'Poŝti',
+    remove_post: 'Fortiri Poŝton',
+    no_posts: 'Ne Poŝtoj.',
+    create_a_post: 'Verki Poŝton',
+    create_post: 'Verki Poŝton',
+    number_of_posts:'{{count}} Poŝtoj',
+    posts: 'Poŝtoj',
+    related_posts: 'Tiuj poŝtoj eble rilatas',
+    cross_posts: 'Tiuj ligilo ankaŭ estas poŝtinta al:',
+    cross_post: 'laŭapoŝto',
+    comments: 'Komentoj',
+    number_of_comments:'{{count}} Komentoj',
+    remove_comment: 'Fortiri Komentojn',
+    communities: 'Komunumoj',
+    users: 'Uzantoj',
+    create_a_community: 'Krei komunumon',
+    create_community: 'Krei Komunumon',
+    remove_community: 'Forigi Komunumon',
+    subscribed_to_communities:'Abonita al <1>komunumoj</1>',
+    trending_communities:'Furora <1>komunumoj</1>',
+    list_of_communities: 'Listo de komunumoj',
+    community_reqs: 'minusklaj leteroj, substrekoj, kaj ne spacetoj.',
+    edit: 'redakti',
+    reply: 'repliki',
+    cancel: 'nuligi',
+    unlock: 'malŝlosi',
+    lock: 'ŝlosi',
+    link: 'ligi',
+    mod: 'moderanto',
+    mods: 'moderantoj',
+    moderates: 'Moderigas',
+    settings: 'Agordoj',
+    remove_as_mod: 'forigi per moderanto',
+    appoint_as_mod: 'nomumi per moderanto',
+    modlog: 'Moderlogo',
+    admin: 'administranto',
+    admins: 'administrantoj',
+    remove_as_admin: 'forigi per administranto',
+    appoint_as_admin: 'nomumi per administranto',
+    remove: 'fortiri',
+    removed: 'fortirita',
+    locked: 'ŝlosita',
+    reason: 'Kialo',
+    mark_as_read: 'marki kiel legita',
+    mark_as_unread: 'marki kiel nelegita',
+    delete: 'forigi',
+    deleted: 'forigita',
+    restore: 'restaŭri',
+    ban: 'forbari',
+    ban_from_site: 'forbari de retejo',
+    unban: 'malforbari',
+    unban_from_site: 'malforbari de retejo',
+    save: 'konservi',
+    unsave: 'malkonservi',
+    create: 'krei',
+    username: 'Uzantnomo',
+    email_or_username: 'Retadreso aŭ Uzantnomo',
+    number_of_users:'{{count}} Uzantoj',
+    number_of_subscribers:'{{count}} Abonantoj',
+    number_of_points:'{{count}} Voĉdonoj',
+    name: 'Nomo',
+    title: 'Titolo',
+    category: 'Kategorio',
+    subscribers: 'Abonantoj',
+    both: 'Ambaŭ',
+    saved: 'Konservita',
+    unsubscribe: 'Malaboni',
+    subscribe: 'Aboni',
+    subscribed: 'Abonita',
+    prev: 'Antaŭe',
+    next: 'Poste',
+    sidebar: 'Flankstango',
+    sort_type: 'Klasi per kia',
+    hot: 'Varmaj',
+    new: 'Novaj',
+    top_day: 'Supraj tagaj',
+    week: 'Semajno',
+    month: 'Monato',
+    year: 'Jaro',
+    all: 'Ĉiam',
+    top: 'Supraj',
+    api: 'API',
+    inbox: 'Ricevujo',
+    inbox_for: 'Ricevujo de <1>{{user}}</1>',
+    mark_all_as_read: 'marki ĉiujn kiel legitaj',
+    type: 'Tipo',
+    unread: 'Nelegitaj',
+    reply_sent: 'Repliko sendis',
+    search: 'Serĉi',
+    overview: 'Resumo',
+    view: 'Rigardi',
+    logout: 'Elsaluti',
+    login_sign_up: 'Ensaluti / Registriĝi',
+    login: 'Ensaluti',
+    sign_up: 'Registriĝi',
+    notifications_error: 'Labortablaj avizoj estas nehavebla en via retumilo. Provu Firefox-on aŭ Chrome-on.',
+    unread_messages: 'Nelegitaj Mesaĝoj',
+    password: 'Pasvorto',
+    verify_password: 'Konfirmu Vian Pasvorton',
+    email: 'Retadreso',
+    optional: 'Fakultativa',
+    expires: 'Finiĝos',
+    url: 'URL',
+    body: 'Ĉefparto',
+    copy_suggested_title: 'kopii la sugestiitan titolon: {{title}}',
+    community: 'Komunumo',
+    expand_here: 'Ekspansii ĉi tie',
+    subscribe_to_communities: 'Aboni al iuj <1>komunumoj</1>.',
+    chat: 'Babilo',
+    recent_comments: 'Freŝaj Komentoj',
+    no_results: 'Ne rezultoj.',
+    setup: 'Agordi',
+    lemmy_instance_setup: 'Agordi Instancon de Lemmy',
+    setup_admin: 'Agordi Retejan Administranton',
+    your_site: 'via retejo',
+    modified: 'modifita',
+    nsfw: 'NSFW',
+    show_nsfw: 'Vidigi NSFW-an enhavon',
+    sponsors: 'Subtenantoj',
+    sponsors_of_lemmy: 'Subtenantoj de Lemmy',
+    sponsor_message: 'Lemmy estas senpaga, <1>liberkoda</1> programaro. Tio signifas ne reklami, pagigi, aŭ riska kapitalo, ĉiam. Viaj donacoj rekte subtenas plentempan evoluon de la projekto. Dankon al tiuj homoj:',
+    support_on_patreon: 'Subteni per Patreon',
+    general_sponsors:'Ĝeneralaj Subtenantoj estas tiuj ke donacis inter $10 kaj $39 al Lemmy.',
+    crypto: 'Crypto',
+    bitcoin: 'Bitcoin',
+    ethereum: 'Ethereum',
+    monero: 'Monero',
+    code: 'Kodo',
+    joined: 'Unuiĝis',
+    by: 'de',
+    to: 'al',
+    transfer_community: 'transdoni la komunumon',
+    transfer_site: 'transdoni la retejon',
+    powered_by: 'Konstruis per',
+    landing_0: 'Lemmy estas <1>ligila agregatilo</1> / Reddit anstataŭo ke intenciĝas funkci en la <2>federacio-universo</2>.<3></3>ĝi estas mem-gastigebla, havas nuna-ĝisdatigajn komentarojn, kaj estas malgrandega (<4>~80kB</4>). Federacio en la ActivityPub-an reton estas planizita. <5></5>Estas <6>fruega beta versio</6>, kaj multaj trajtoj estas nune difektaj aŭ mankaj. <7></7>Sugestias novajn trajtojn aŭ raportas cimojn <8>ĉi tie.</8><9></9>Faris per <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.',
+    not_logged_in: 'Ne estas ensalutinta.',
+    community_ban: 'Vi estas forbarita de la komunumo.',
+    site_ban: 'Vi estas forbarita de la retejo',
+    couldnt_create_comment: 'Ne povis krei la komenton.',
+    couldnt_like_comment: 'Ne povis ŝati la komenton.',
+    couldnt_update_comment: 'Ne povis ĝisdatigi komenton.',
+    couldnt_save_comment: 'Ne povis konservi komenton.',
+    no_comment_edit_allowed: 'Ne rajtas redakti la komenton.',
+    no_post_edit_allowed: 'Ne rajtas redakti la poŝton.',
+    no_community_edit_allowed: 'Ne rajtas redakti la komunumon.',
+    couldnt_find_community: 'Ne povis trovi la komunumon.',
+    couldnt_update_community: 'Ne povis ĝisdatigi la komunumon.',
+    community_already_exists: 'Komunumo jam ekzistas.',
+    community_moderator_already_exists: 'Komunuma moderanto jam ekzistas.',
+    community_follower_already_exists: 'Komunuma sekvanto.',
+    community_user_already_banned: 'Komunuma uzanto jam estas forbarita.',
+    couldnt_create_post: 'Ne povis krei la poŝton.',
+    couldnt_like_post: 'Ne povis ŝati la poŝton.',
+    couldnt_find_post: 'Ne povis trovi la poŝton.',
+    couldnt_get_posts: 'Ne povis irpreni poŝtojn',
+    couldnt_update_post: 'Ne povis ĝisdatigi la poŝton',
+    couldnt_save_post: 'Ne povis konservi la poŝton.',
+    no_slurs: 'Ne bigotaj vortoj.',
+    not_an_admin: 'Ne estas administranto.',
+    site_already_exists: 'Retejo jam ekzistas.',
+    couldnt_update_site: 'Ne povis ĝisdatigi la retejon.',
+    couldnt_find_that_username_or_email: 'Ne povis trovi tiun uzantnomon aŭ retadreson.',
+    password_incorrect: 'Pasvorto malĝustas.',
+    passwords_dont_match: 'Pasvortoj ne samas.',
+    admin_already_created: 'Pardonu, jam estas administranto.',
+    user_already_exists: 'Uzanto jam ekzistas.',
+    couldnt_update_user: 'Ne povis ĝisdatigi la uzanton.',
+    system_err_login: 'Sistema eraro. Provu elsaluti kaj ensaluti.',
+  },
+}
+
index 1cd5c9c4d83c3cd93281721bfb3858a4ce2082fd..c7de7a511affe778844e8ec4fce74d7f2b2bf5fa 100644 (file)
@@ -1,3 +1,11 @@
+import 'moment/locale/es';
+import 'moment/locale/eo';
+import 'moment/locale/de';
+import 'moment/locale/zh-cn';
+import 'moment/locale/fr';
+import 'moment/locale/sv';
+import 'moment/locale/ru';
+
 import { UserOperation, Comment, User, SortType, ListingType } from './interfaces';
 import * as markdown_it from 'markdown-it';
 import * as markdown_it_container from 'markdown-it-container';
@@ -188,6 +196,8 @@ export function getMomentLanguage(): string {
     lang = 'ru';
   } else if (lang.startsWith('es')) {
     lang = 'es';
+  } else if (lang.startsWith('eo')) {
+    lang = 'eo';
   } else {
     lang = 'en';
   }
index 26994948e02f8f9537c4bcf5ae766c5725250039..93579a3713562dd25d7230ea8908cf6f0ee928da 100644 (file)
@@ -1,4 +1,5 @@
 import { en } from './src/translations/en';
+import { eo } from './src/translations/eo';
 import { es } from './src/translations/es';
 import { de } from './src/translations/de';
 import { zh } from './src/translations/zh';
@@ -9,6 +10,7 @@ import { ru } from './src/translations/ru';
 let files = [
   {t: de, n: 'de'}, 
   {t: es, n: 'es'}, 
+  {t: eo, n: 'eo'}, 
   {t: fr, n: 'fr'}, 
   {t: ru, n: 'ru'}, 
   {t: sv, n: 'sv'},