summaryrefslogtreecommitdiffstats
path: root/ui/src
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-08-07 12:12:53 -0700
committerDessalines <tyhou13@gmx.com>2019-08-07 12:12:53 -0700
commit411e7ef16e7cde0f8a63ee741680c5090998da2e (patch)
tree83618ccca72849c6e9a82ee45f1bfda8d249f667 /ui/src
parent5ef8b8bb066f9f3f6694e5f8feb9ae60696b4304 (diff)
Main done.
Diffstat (limited to 'ui/src')
-rw-r--r--ui/src/components/main.tsx55
-rw-r--r--ui/src/i18next.ts15
2 files changed, 48 insertions, 22 deletions
diff --git a/ui/src/components/main.tsx b/ui/src/components/main.tsx
index 73d6deac..c6d3808b 100644
--- a/ui/src/components/main.tsx
+++ b/ui/src/components/main.tsx
@@ -7,6 +7,7 @@ import { WebSocketService, UserService } from '../services';
import { PostListings } from './post-listings';
import { SiteForm } from './site-form';
import { msgOp, repoUrl, mdToHtml, fetchLimit, routeSortTypeToEnum, routeListingTypeToEnum } from '../utils';
+import { T } from 'inferno-i18next';
interface MainState {
subscribedCommunities: Array<CommunityUser>;
@@ -135,7 +136,9 @@ export class Main extends Component<any, MainState> {
{this.trendingCommunities()}
{UserService.Instance.user && this.state.subscribedCommunities.length > 0 &&
<div>
- <h5><T i18nKey="subscribed_to_communities">#<Link class="text-white" to="/communities">#</Link></T></h5>
+ <h5>
+ <T i18nKey="subscribed_to_communities">#<Link class="text-white" to="/communities">#</Link></T>
+ </h5>
<ul class="list-inline">
{this.state.subscribedCommunities.map(community =>
<li class="list-inline-item"><Link to={`/c/${community.community_name}`}>{community.community_name}</Link></li>
@@ -144,7 +147,9 @@ export class Main extends Component<any, MainState> {
</div>
}
<Link class="btn btn-sm btn-secondary btn-block mb-3"
- to="/create_community"><T i18nKey="create_a_community"> </T></Link>
+ to="/create_community">
+ <T i18nKey="create_a_community">#</T>
+ </Link>
{this.sidebar()}
</div>
}
@@ -155,7 +160,9 @@ export class Main extends Component<any, MainState> {
trendingCommunities() {
return (
<div>
- {/* <h5>{t('Trending')} <Link class="text-white" to="/communities">communities</Link></h5> */}
+ <h5>
+ <T i18nKey="trending_communities">#<Link class="text-white" to="/communities">#</Link></T>
+ </h5>
<ul class="list-inline">
{this.state.trendingCommunities.map(community =>
<li class="list-inline-item"><Link to={`/c/${community.name}`}>{community.name}</Link></li>
@@ -193,18 +200,32 @@ export class Main extends Component<any, MainState> {
{this.canAdmin &&
<ul class="list-inline mb-1 text-muted small font-weight-bold">
<li className="list-inline-item">
- <span class="pointer" onClick={linkEvent(this, this.handleEditClick)}>edit</span>
+ <span class="pointer" onClick={linkEvent(this, this.handleEditClick)}>
+ <T i18nKey="edit">#</T>
+ </span>
</li>
</ul>
}
<ul class="my-2 list-inline">
- <li className="list-inline-item badge badge-light">{this.state.site.site.number_of_users} Users</li>
- <li className="list-inline-item badge badge-light">{this.state.site.site.number_of_posts} Posts</li>
- <li className="list-inline-item badge badge-light">{this.state.site.site.number_of_comments} Comments</li>
- <li className="list-inline-item"><Link className="badge badge-light" to="/modlog">Modlog</Link></li>
+ <li className="list-inline-item badge badge-light">
+ <T i18nKey="number_of_users" interpolation={{count: this.state.site.site.number_of_users}}>#</T>
+ </li>
+ <li className="list-inline-item badge badge-light">
+ <T i18nKey="number_of_posts" interpolation={{count: this.state.site.site.number_of_posts}}>#</T>
+ </li>
+ <li className="list-inline-item badge badge-light">
+ <T i18nKey="number_of_comments" interpolation={{count: this.state.site.site.number_of_comments}}>#</T>
+ </li>
+ <li className="list-inline-item">
+ <Link className="badge badge-light" to="/modlog">
+ <T i18nKey="modlog">#</T>
+ </Link>
+ </li>
</ul>
<ul class="my-1 list-inline small">
- <li class="list-inline-item">admins: </li>
+ <li class="list-inline-item">
+ <T i18nKey="admins" class="d-inline">#</T>:
+ </li>
{this.state.site.admins.map(admin =>
<li class="list-inline-item"><Link class="text-info" to={`/u/${admin.name}`}>{admin.name}</Link></li>
)}
@@ -223,15 +244,15 @@ export class Main extends Component<any, MainState> {
landing() {
return (
<div>
- <h5>Powered by
- <svg class="icon mx-2"><use xlinkHref="#icon-mouse"></use></svg>
- <a href={repoUrl}>Lemmy<sup>Beta</sup></a>
+ <h5>
+ <T i18nKey="powered_by" class="d-inline">#</T>
+ <svg class="icon mx-2"><use xlinkHref="#icon-mouse">#</use></svg>
+ <a href={repoUrl}>Lemmy<sup>beta</sup></a>
</h5>
- <p>Lemmy is a <a href="https://en.wikipedia.org/wiki/Link_aggregation">link aggregator</a> / reddit alternative, intended to work in the <a href="https://en.wikipedia.org/wiki/Fediverse">fediverse</a>.</p>
- <p>Its self-hostable, has live-updating comment threads, and is tiny (<code>~80kB</code>). Federation into the ActivityPub network is on the roadmap.</p>
- <p>This is a <b>very early beta version</b>, and a lot of features are currently broken or missing.</p>
- <p>Suggest new features or report bugs <a href={repoUrl}>here.</a></p>
- <p>Made with <a href="https://www.rust-lang.org">Rust</a>, <a href="https://actix.rs/">Actix</a>, <a href="https://www.infernojs.org">Inferno</a>, <a href="https://www.typescriptlang.org/">Typescript</a>.</p>
+ <p>
+ <T i18nKey="landing_0">#<a href="https://en.wikipedia.org/wiki/Link_aggregation">#</a><a href="https://en.wikipedia.org/wiki/Fediverse">#</a><br></br><code>#</code><br></br><b>#</b><br></br><a href={repoUrl}>#</a><br></br><a href="https://www.rust-lang.org">#</a><a href="https://actix.rs/">#</a><a href="https://www.infernojs.org">#</a><a href="https://www.typescriptlang.org/">#</a>
+ </T>
+ </p>
</div>
)
}
diff --git a/ui/src/i18next.ts b/ui/src/i18next.ts
index b2eb9688..0af98423 100644
--- a/ui/src/i18next.ts
+++ b/ui/src/i18next.ts
@@ -1,15 +1,20 @@
import * as i18next from 'i18next';
+// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
const resources = {
en: {
translation: {
- trending: 'NO',
subscribed_to_communities:'Subscribed to <1>communities</1>',
create_a_community: 'Create a community',
-
-
-
-
+ trending_communities:'Trending <1>communities</1>',
+ edit: 'edit',
+ number_of_users:'{{count}} Users',
+ number_of_posts:'{{count}} Posts',
+ number_of_comments:'{{count}} Comments',
+ modlog: 'Modlog',
+ admins: 'admins',
+ powered_by: 'Powered by',
+ landing_0: 'Lemmy is a <1>link aggregator</1> / reddit alternative, intended to work in the <2>fediverse</2>.<3></3>Its self-hostable, has live-updating comment threads, and is tiny (<4>~80kB</4>). Federation into the ActivityPub network is on the roadmap. <5></5>This is a <6>very early beta version</6>, and a lot of features are currently broken or missing. <7></7>Suggest new features or report bugs <8>here.</8><9></9>Made with <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.',
foo: 'foo',