Merge branch 'master' into dev
This commit is contained in:
commit
da2229a303
14 changed files with 65 additions and 24 deletions
2
README.md
vendored
2
README.md
vendored
|
@ -44,7 +44,7 @@ The overall goal is to create an easily self-hostable, decentralized alternative
|
|||
|
||||
Each lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing.
|
||||
|
||||
*Note: Federation is still in active development*
|
||||
*Note: Federation is still in active development and the WebSocket, as well as, HTTP API are currently unstable*
|
||||
|
||||
### Why's it called Lemmy?
|
||||
|
||||
|
|
2
ansible/VERSION
vendored
2
ansible/VERSION
vendored
|
@ -1 +1 @@
|
|||
v0.6.69
|
||||
v0.6.71
|
||||
|
|
6
docker/prod/docker-compose.yml
vendored
6
docker/prod/docker-compose.yml
vendored
|
@ -1,4 +1,4 @@
|
|||
version: '3.3'
|
||||
version: '2.2'
|
||||
|
||||
services:
|
||||
postgres:
|
||||
|
@ -12,7 +12,7 @@ services:
|
|||
restart: always
|
||||
|
||||
lemmy:
|
||||
image: dessalines/lemmy:v0.6.69
|
||||
image: dessalines/lemmy:v0.6.71
|
||||
ports:
|
||||
- "127.0.0.1:8536:8536"
|
||||
restart: always
|
||||
|
@ -32,6 +32,7 @@ services:
|
|||
volumes:
|
||||
- ./volumes/pictshare:/usr/share/nginx/html/data
|
||||
restart: always
|
||||
mem_limit: 100m
|
||||
|
||||
iframely:
|
||||
image: dogbin/iframely:latest
|
||||
|
@ -40,3 +41,4 @@ services:
|
|||
volumes:
|
||||
- ./iframely.config.local.js:/iframely/config.local.js:ro
|
||||
restart: always
|
||||
mem_limit: 100m
|
||||
|
|
2
docs/src/contributing_websocket_http_api.md
vendored
2
docs/src/contributing_websocket_http_api.md
vendored
|
@ -1,6 +1,6 @@
|
|||
# Lemmy API
|
||||
|
||||
*Note: this may lag behind the actual API endpoints [here](../server/src/api).*
|
||||
*Note: this may lag behind the actual API endpoints [here](../server/src/api). The API should be considered unstable and may change any time.*
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
pub const VERSION: &str = "v0.6.69";
|
||||
pub const VERSION: &str = "v0.6.71";
|
||||
|
|
5
ui/src/components/sponsors.tsx
vendored
5
ui/src/components/sponsors.tsx
vendored
|
@ -10,10 +10,9 @@ interface SilverUser {
|
|||
}
|
||||
|
||||
let general = [
|
||||
'Ernest Wiśniewski',
|
||||
'HN',
|
||||
'Forrest Weghorst',
|
||||
'Serge Tarkovski',
|
||||
'alexx henry',
|
||||
'Nathan J. Goode',
|
||||
'Andre Vallestero',
|
||||
'NotTooHighToHack',
|
||||
];
|
||||
|
|
10
ui/src/i18next.ts
vendored
10
ui/src/i18next.ts
vendored
|
@ -16,9 +16,14 @@ import { fi } from './translations/fi';
|
|||
import { ca } from './translations/ca';
|
||||
import { fa } from './translations/fa';
|
||||
import { hi } from './translations/hi';
|
||||
import { pl } from './translations/pl';
|
||||
import { pt_BR } from './translations/pt_BR';
|
||||
import { ja } from './translations/ja';
|
||||
import { ka } from './translations/ka';
|
||||
import { gl } from './translations/gl';
|
||||
import { tr } from './translations/tr';
|
||||
import { hu } from './translations/hu';
|
||||
import { uk } from './translations/uk';
|
||||
|
||||
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
|
||||
const resources = {
|
||||
|
@ -39,8 +44,13 @@ const resources = {
|
|||
fi,
|
||||
ca,
|
||||
fa,
|
||||
pl,
|
||||
pt_BR,
|
||||
ja,
|
||||
gl,
|
||||
tr,
|
||||
hu,
|
||||
uk,
|
||||
};
|
||||
|
||||
function format(value: any, format: any, lng: any): any {
|
||||
|
|
42
ui/src/utils.ts
vendored
42
ui/src/utils.ts
vendored
|
@ -12,10 +12,15 @@ import 'moment/locale/it';
|
|||
import 'moment/locale/fi';
|
||||
import 'moment/locale/ca';
|
||||
import 'moment/locale/fa';
|
||||
import 'moment/locale/pl';
|
||||
import 'moment/locale/pt-br';
|
||||
import 'moment/locale/ja';
|
||||
import 'moment/locale/ka';
|
||||
import 'moment/locale/hi';
|
||||
import 'moment/locale/gl';
|
||||
import 'moment/locale/tr';
|
||||
import 'moment/locale/hu';
|
||||
import 'moment/locale/uk';
|
||||
|
||||
import {
|
||||
UserOperation,
|
||||
|
@ -66,15 +71,20 @@ export const languages = [
|
|||
{ code: 'eo', name: 'Esperanto' },
|
||||
{ code: 'es', name: 'Español' },
|
||||
{ code: 'de', name: 'Deutsch' },
|
||||
{ code: 'gl', name: 'Galego' },
|
||||
{ code: 'hu', name: 'Magyar Nyelv' },
|
||||
{ code: 'ka', name: 'ქართული ენა' },
|
||||
{ code: 'hi', name: 'मानक हिन्दी' },
|
||||
{ code: 'fa', name: 'فارسی' },
|
||||
{ code: 'ja', name: '日本語' },
|
||||
{ code: 'pl', name: 'Polski' },
|
||||
{ code: 'pt_BR', name: 'Português Brasileiro' },
|
||||
{ code: 'zh', name: '中文' },
|
||||
{ code: 'fi', name: 'Suomi' },
|
||||
{ code: 'fr', name: 'Français' },
|
||||
{ code: 'sv', name: 'Svenska' },
|
||||
{ code: 'tr', name: 'Türkçe' },
|
||||
{ code: 'uk', name: 'українська мова' },
|
||||
{ code: 'ru', name: 'Русский' },
|
||||
{ code: 'nl', name: 'Nederlands' },
|
||||
{ code: 'it', name: 'Italiano' },
|
||||
|
@ -366,6 +376,8 @@ export function getMomentLanguage(): string {
|
|||
lang = 'ca';
|
||||
} else if (lang.startsWith('fa')) {
|
||||
lang = 'fa';
|
||||
} else if (lang.startsWith('pl')) {
|
||||
lang = 'pl';
|
||||
} else if (lang.startsWith('pt')) {
|
||||
lang = 'pt-br';
|
||||
} else if (lang.startsWith('ja')) {
|
||||
|
@ -378,6 +390,14 @@ export function getMomentLanguage(): string {
|
|||
lang = 'el';
|
||||
} else if (lang.startsWith('eu')) {
|
||||
lang = 'eu';
|
||||
} else if (lang.startsWith('gl')) {
|
||||
lang = 'gl';
|
||||
} else if (lang.startsWith('tr')) {
|
||||
lang = 'tr';
|
||||
} else if (lang.startsWith('hu')) {
|
||||
lang = 'hu';
|
||||
} else if (lang.startsWith('uk')) {
|
||||
lang = 'uk';
|
||||
} else {
|
||||
lang = 'en';
|
||||
}
|
||||
|
@ -863,14 +883,18 @@ export function previewLines(text: string, lines: number = 3): string {
|
|||
}
|
||||
|
||||
function canUseWebP() {
|
||||
var elem = document.createElement('canvas');
|
||||
|
||||
if (!!(elem.getContext && elem.getContext('2d'))) {
|
||||
var testString = !(window.mozInnerScreenX == null) ? 'png' : 'webp';
|
||||
// was able or not to get WebP representation
|
||||
return elem.toDataURL('image/webp').startsWith('data:image/' + testString);
|
||||
}
|
||||
|
||||
// very old browser like IE 8, canvas not supported
|
||||
// TODO pictshare might have a webp conversion bug, try disabling this
|
||||
return false;
|
||||
|
||||
// var elem = document.createElement('canvas');
|
||||
// if (!!(elem.getContext && elem.getContext('2d'))) {
|
||||
// var testString = !(window.mozInnerScreenX == null) ? 'png' : 'webp';
|
||||
// // was able or not to get WebP representation
|
||||
// return (
|
||||
// elem.toDataURL('image/webp').startsWith('data:image/' + testString)
|
||||
// );
|
||||
// }
|
||||
|
||||
// // very old browser like IE 8, canvas not supported
|
||||
// return false;
|
||||
}
|
||||
|
|
2
ui/src/version.ts
vendored
2
ui/src/version.ts
vendored
|
@ -1 +1 @@
|
|||
export const version: string = 'v0.6.69';
|
||||
export const version: string = 'v0.6.71';
|
||||
|
|
1
ui/translations/gl.json
vendored
Normal file
1
ui/translations/gl.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
1
ui/translations/hu.json
vendored
Normal file
1
ui/translations/hu.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
12
ui/translations/pl.json
vendored
12
ui/translations/pl.json
vendored
|
@ -65,14 +65,14 @@
|
|||
"remove_as_admin": "wycofaj uprawnienia administratora",
|
||||
"appoint_as_admin": "przyznaj uprawnienia administratora",
|
||||
"remove": "usuń",
|
||||
"removed": "usunięte",
|
||||
"removed": "usunięte przez moderatora",
|
||||
"locked": "zablokowane",
|
||||
"stickied": "przyklejone",
|
||||
"reason": "Powód",
|
||||
"mark_as_read": "zaznacz jako przeczytane",
|
||||
"mark_as_unread": "zaznacz jako nieprzeczytane",
|
||||
"delete": "usuń",
|
||||
"deleted": "usunięte",
|
||||
"deleted": "usunięte przez autora",
|
||||
"delete_account": "Usuń Konto",
|
||||
"delete_account_confirm": "Ostrzeżenie: twoje dane zostaną bezpowrotnie usunięte. Wpisz swoje hasło aby potwierdzić.",
|
||||
"restore": "przywróć",
|
||||
|
@ -189,7 +189,7 @@
|
|||
"theme": "Motyw",
|
||||
"sponsors": "Sponsorzy",
|
||||
"sponsors_of_lemmy": "Sponsorzy projektu Lemmy",
|
||||
"sponsor_message": "Lemmy jest wolnym, <1>otwartoźródłowym</1> oprogramowaniem, co oznacza zero reklam, opłat, czy innych form kapitalizacji, od zawsze na zawsze. Twoje darowizny idą bezpośrednio na rozwój projektu w pełno-etatowym wymiarze. Specjalne wyrazy podziękowania dla następujących osób:",
|
||||
"sponsor_message": "Lemmy jest wolnym, <1>otwartoźródłowym</1> oprogramowaniem, bez reklam, opłat, czy innych form kapitalizacji, od zawsze na zawsze. Twoje darowizny idą bezpośrednio na rozwój projektu w pełno-etatowym wymiarze. Specjalne wyrazy podziękowania dla następujących osób:",
|
||||
"support_on_patreon": "Wspieraj w serwisie Patreon",
|
||||
"support_on_liberapay": "Wspieraj na Liberapay",
|
||||
"donate_to_lemmy": "Przekaż datek na Lemmiego",
|
||||
|
@ -209,7 +209,7 @@
|
|||
"are_you_sure": "na pewno?",
|
||||
"no": "nie",
|
||||
"powered_by": "Powered by",
|
||||
"landing": "Lemmy jest <1>agregatorem linków</1> / alternatywą dla reddita. Jest przeznaczony do działania w ramach cyfrowej przestrzeni nazywanej <2>fediverse<2>. <3></3>Opiera się na samodzielnym hostingu, posiada aktualizowane na żywo wątki z komentarzami, i zajmuje bardzo mało miejsce (<4>~80kB</4>). Federacja w ramach sieci ActivityPub jest w planach. <5></5>Ta wersja jest <6>bardzo wczesną wersją beta</6>, co oznacza, że wiele funkcji nadal nie działa tak jak powinny. <7></7><8>Pod tym adresem</8> można sugerować nową funkcjonalność i zgłaszać błędy.<9></9>Stworzono z wykorzystaniem <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
|
||||
"landing_0": "Lemmy jest <1>agregatorem linków</1> / alternatywą dla reddita. Jest przeznaczony do działania w ramach cyfrowej przestrzeni nazywanej <2>fediverse</2>. <3></3>Opiera się na samodzielnym hostingu, posiada aktualizowane na żywo wątki z komentarzami, i zajmuje bardzo mało miejsce (<4>~80kB</4>). Federacja w ramach sieci ActivityPub jest w planach. <5></5>Ta wersja jest <6>bardzo wczesną wersją beta</6>, co oznacza, że wiele funkcji nadal nie działa tak jak powinny. <7></7><8>Pod tym adresem</8> można sugerować nową funkcjonalność i zgłaszać błędy.<9></9>Stworzono z wykorzystaniem <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.",
|
||||
"not_logged_in": "Nie jesteś zalogowana/y.",
|
||||
"logged_in": "Zalogowano.",
|
||||
"community_ban": "Zostałaś/eś zbanowana/y z tej społeczności.",
|
||||
|
@ -260,5 +260,7 @@
|
|||
"site_saved": "Witryna Zapisana.",
|
||||
"admin_settings": "Ustawienia Administratora",
|
||||
"emoji_picker": "Wybór Emoji",
|
||||
"silver_sponsors": "Srebrni Sponsorzy to ci, którzy wpłacili co najmniej $40 na Lemmiego."
|
||||
"silver_sponsors": "Srebrni Sponsorzy to ci, którzy wpłacili co najmniej $40 na Lemmiego.",
|
||||
"select_a_community": "Wybierz społeczność",
|
||||
"invalid_username": "Nieprawidłowa nazwa użytkownika."
|
||||
}
|
||||
|
|
1
ui/translations/tr.json
vendored
Normal file
1
ui/translations/tr.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
1
ui/translations/uk.json
vendored
Normal file
1
ui/translations/uk.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
Reference in a new issue