Translation additions.

- Adding Japanese. Fixes #566
- Adding some German translations. Fixes #567
- Fixing pt-br
pull/569/head
Dessalines 2020-02-29 15:18:56 -05:00
parent 429738c9b4
commit f997eeca0a
5 changed files with 239 additions and 3 deletions

6
ui/src/i18next.ts vendored
View File

@ -13,7 +13,8 @@ import { it } from './translations/it';
import { fi } from './translations/fi'; import { fi } from './translations/fi';
import { ca } from './translations/ca'; import { ca } from './translations/ca';
import { fa } from './translations/fa'; import { fa } from './translations/fa';
import { pt_br } from './translations/pt_br'; import { pt_BR } from './translations/pt_BR';
import { ja } from './translations/ja';
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66 // https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
const resources = { const resources = {
@ -30,7 +31,8 @@ const resources = {
fi, fi,
ca, ca,
fa, fa,
pt_br, pt_BR,
ja,
}; };
function format(value: any, format: any, lng: any): any { function format(value: any, format: any, lng: any): any {

4
ui/src/utils.ts vendored
View File

@ -11,6 +11,7 @@ import 'moment/locale/fi';
import 'moment/locale/ca'; import 'moment/locale/ca';
import 'moment/locale/fa'; import 'moment/locale/fa';
import 'moment/locale/pt-br'; import 'moment/locale/pt-br';
import 'moment/locale/ja';
import { import {
UserOperation, UserOperation,
@ -278,6 +279,7 @@ export const languages = [
{ code: 'es', name: 'Español' }, { code: 'es', name: 'Español' },
{ code: 'de', name: 'Deutsch' }, { code: 'de', name: 'Deutsch' },
{ code: 'fa', name: 'فارسی' }, { code: 'fa', name: 'فارسی' },
{ code: 'ja', name: '日本語' },
{ code: 'pt_BR', name: 'Português Brasileiro' }, { code: 'pt_BR', name: 'Português Brasileiro' },
{ code: 'zh', name: '中文' }, { code: 'zh', name: '中文' },
{ code: 'fi', name: 'Suomi' }, { code: 'fi', name: 'Suomi' },
@ -331,6 +333,8 @@ export function getMomentLanguage(): string {
lang = 'fa'; lang = 'fa';
} else if (lang.startsWith('pt')) { } else if (lang.startsWith('pt')) {
lang = 'pt-br'; lang = 'pt-br';
} else if (lang.startsWith('ja')) {
lang = 'ja';
} else { } else {
lang = 'en'; lang = 'en';
} }

View File

@ -204,5 +204,38 @@
"user_already_exists": "Nutzer existiert bereits.", "user_already_exists": "Nutzer existiert bereits.",
"couldnt_update_user": "Konnte Nutzer nicht aktualisieren", "couldnt_update_user": "Konnte Nutzer nicht aktualisieren",
"system_err_login": "system_err_login":
"Systemfehler. Versuche dich aus- und wieder einzuloggen." "Systemfehler. Versuche dich aus- und wieder einzuloggen.",
"cross_posted_to": "Crossposted auf: ",
"create_private_message": "Privatnachricht erstellen",
"send_secure_message": "Sichere Nachricht absenden",
"send_message": "Nachricht absenden",
"message": "Nachricht",
"avatar": "Avatar",
"upload_avatar": "Avatar hochladen",
"show_avatars": "Avatare anzeigen",
"old": "Alt",
"docs": "Dokumentation",
"message_sent": "Nachricht versandt",
"messages": "Nachrichten",
"old_password": "Letztes Passwort",
"matrix_user_id": "Matrix Benutzer",
"private_message_disclaimer": "Achtung: Private Nachrichten sind in Lemmy nicht sicher. Bitte erstelle einen <1>Riot.im</1> Account für sicheren Nachrichtenverkehr.",
"send_notifications_to_email": "Sende Benachrichtigungen per Email",
"downvotes_disabled": "Downvotes deaktiviert",
"enable_downvotes": "Aktiviere Downvotes",
"open_registration": "Registrierung öffnen",
"registration_closed": "Registrierung geschlossen",
"enable_nsfw": "NSFW Erlauben",
"donate_to_lemmy": "Lemmy spenden",
"donate": "Spenden",
"from": "von",
"logged_in": "Eingeloggt",
"couldnt_get_comments": "Konnte Kommentare nicht laden.",
"post_title_too_long": "Posttitel zu lang.",
"email_already_exists": "Email existiert bereits.",
"couldnt_create_private_message": "Konnte Privatnachricht nicht erstelllen.",
"no_private_message_edit_allowed": "Editieren der Privatnachricht nicht erlaubt.",
"couldnt_update_private_message": "Konnte Privatnachricht nicht aktualisieren.",
"time": "Zeit",
"action": "Aktion"
} }

197
ui/translations/ja.json vendored 100644
View File

@ -0,0 +1,197 @@
{
"post": "投稿",
"remove_post": "投稿を削除",
"no_posts": "投稿はありません。",
"create_a_post": "投稿を作成",
"create_post": "投稿を作成",
"number_of_posts": "{{count}} 件の投稿",
"posts": "投稿",
"related_posts": "こちらの投稿が関連しているかもしれません",
"cross_posts": "このリンクはこちらにも投稿されています:",
"cross_post": "クロスポスト",
"cross_posted_to": "こちらにも投稿済み: ",
"comments": "コメント",
"number_of_comments": "{{count}} 件のコメント",
"remove_comment": "コミュニティを削除",
"communities": "コミュニティ",
"users": "ユーザー",
"create_a_community": "コミュニティを作成",
"create_community": "コミュニティを作成",
"remove_community": "コミュニティを削除",
"subscribed_to_communities": "登録済みの<1>コミュニティ</1>",
"trending_communities": "話題の<1>コミュニティ</1>",
"list_of_communities": "コミュニティ一覧",
"number_of_communities": "{{count}} 個のコミュニティ",
"community_reqs": "英小文字、アンダースコア、空白なし。",
"create_private_message": "プライベートメッセージの作成",
"send_secure_message": "メッセージを安全に送信",
"send_message": "メッセージを送信",
"message": "メッセージ",
"edit": "編集",
"reply": "返信",
"cancel": "キャンセル",
"preview": "プレビュー",
"upload_image": "画像をアップロード",
"avatar": "アバター",
"upload_avatar": "アバターをアップロード",
"show_avatars": "アバターを表示",
"formatting_help": "書式のヘルプ",
"view_source": "ソースを表示",
"unlock": "凍結解除",
"lock": "凍結",
"sticky": "固定",
"unsticky": "固定解除",
"link": "リンク",
"archive_link": "リンクをアーカイブ",
"mod": "モデレーター",
"mods": "モデレーター",
"moderates": "モデレーター",
"settings": "設定",
"remove_as_mod": "モデレーターから除外",
"appoint_as_mod": "モデレーターに任命",
"modlog": "モデレーションログ",
"admin": "管理者",
"admins": "管理者",
"remove_as_admin": "管理者から除外",
"appoint_as_admin": "管理者に任命",
"remove": "強制削除",
"removed": "強制削除済み",
"locked": "凍結中",
"stickied": "固定中",
"reason": "理由",
"mark_as_read": "既読にする",
"mark_as_unread": "未読にする",
"delete": "削除",
"deleted": "削除済み",
"delete_account": "アカウントを削除",
"delete_account_confirm": "警告: あなたのデータを全て恒久的に削除します。確認のためパスワードを入力してください。",
"restore": "復元",
"ban": "アクセス禁止",
"ban_from_site": "サイトへアクセス禁止",
"unban": "アクセス禁止解除",
"unban_from_site": "サイトへのアクセス禁止解除",
"banned": "アクセス禁止中",
"save": "保存",
"unsave": "保存解除",
"create": "作成",
"creator": "投稿者",
"username": "ユーザー名",
"email_or_username": "メールアドレスまたはユーザー名",
"number_of_users": "{{count}} 名のユーザー",
"number_of_subscribers": "{{count}} 名の登録者",
"number_of_points": "{{count}} ポイント",
"number_online": "{{count}} 名のユーザーがオンライン",
"name": "名前",
"title": "タイトル",
"category": "カテゴリー",
"subscribers": "登録者",
"saved": "保存済み",
"unsubscribe": "登録解除",
"subscribe": "登録",
"subscribed": "登録済み",
"prev": "前",
"next": "次",
"sidebar": "説明",
"sort_type": "並び順の種類",
"hot": "人気",
"new": "新しい順",
"old": "古い順",
"top_day": "日間トップ",
"week": "週間",
"month": "月間",
"year": "年間",
"all": "全て",
"top": "トップ",
"api": "API",
"docs": "ドキュメント",
"inbox": "受信箱",
"inbox_for": "<1>{{user}}</1> の受信箱",
"mark_all_as_read": "全てを既読にする",
"type": "種類",
"unread": "未読",
"replies": "返信",
"mentions": "言及",
"reply_sent": "返信を送信しました",
"message_sent": "メッセージを送信しました",
"search": "検索",
"overview": "全種類",
"view": "表示",
"logout": "ログアウト",
"login_sign_up": "ログイン / 登録",
"login": "ログイン",
"sign_up": "登録",
"notifications_error": "お遣いのブラウザーではデスクトップ通知が利用不可能です。Firefox か Chrome をお試しください。",
"unread_messages": "未読のメッセージ",
"messages": "メッセージ",
"password": "パスワード",
"verify_password": "パスワードの確認",
"old_password": "現在のパスワード",
"forgot_password": "パスワードを忘れた",
"reset_password_mail_sent": "パスワードリセット用のメールを送信しました。",
"password_change": "パスワードの変更",
"new_password": "新しいパスワード",
"no_email_setup": "サーバーのメール設定が正しくありません。",
"email": "メールアドレス",
"matrix_user_id": "Matrix のユーザーアカウント",
"private_message_disclaimer": "Lemmy でのプライベートメッセージは安全ではありません。安全なメッセージを送るには <1>Riot.im</1> でアカウントを作成してください。",
"send_notifications_to_email": "通知をメール送信",
"optional": "任意",
"language": "言語",
"browser_default": "ブラウザーのデフォルト",
"enable_downvotes": "反対票を有効化",
"open_registration": "ユーザー登録を受け付ける",
"registration_closed": "登録は受け付けていません",
"enable_nsfw": "閲覧注意を有効化",
"url": "URL",
"body": "本文",
"copy_suggested_title": "タイトルの提案をコピーする: {{title}}",
"community": "コミュニティ",
"expand_here": "拡大表示",
"subscribe_to_communities": "<1>コミュニティ</1>をいくつか登録してみましょう。",
"recent_comments": "最新コメント",
"no_results": "検索結果なし。",
"setup": "設定",
"lemmy_instance_setup": "Lemmy インスタンス設定",
"setup_admin": "サイト管理者を設定",
"your_site": ":サイト",
"modified": "変更",
"nsfw": "閲覧注意",
"show_nsfw": "閲覧注意のコンテンツを表示",
"theme": "テーマ",
"sponsors": "スポンサー",
"sponsor_message": "Lemmy は自由で<1>オープンソース</1>の、つまり広告も収益化もベンチャーキャピタルも決してないソフトウェアです。あなたの寄付はプロジェクトの開発を直接支援します。次の方々に感謝します:",
"support_on_patreon": "Patreon で支援",
"support_on_liberapay": "Liberapay で支援",
"donate_to_lemmy": "Lemmy に寄付",
"donate": "寄付",
"general_sponsors": "ジェネラルスポンサーは Lemmy に $10 $39 の支払いを申し出てくれた方達です。",
"crypto": "暗号通貨",
"bitcoin": "ビットコイン",
"ethereum": "Ethereum",
"monero": "Monero",
"code": "コード",
"joined": "登録",
"by": "投稿者",
"to": "宛先",
"transfer_community": "コミュニティを譲渡",
"transfer_site": "サイトを譲渡",
"are_you_sure": "本当によろしいですか?",
"yes": "はい",
"no": "いいえ",
"powered_by": "Powered by",
"landing_0": "Lemmy は<1>リンクアグリゲーター</1> / Reddit 代替ソフトウェアで、<2>fediverse</2> 上で動作することを目的にしています。<3></3>セルフホスト可能で、リアルタイム更新のコメントスレッドがあり、小さい(<4>80kB以下</4>ものです。ActivityPub ネットワークへの連合が計画にあります。<5></5>まだ<6>初期のベータバージョン</6>で、現在は多くの機能がうまく動作しないか実装されていません。<7></7>新機能の提案やバグの報告は<8>こちら</8>でお願いします。<9></9><10>Rust</10>、<11>Actix</11>、<12>Inferno</12>、<13>Typescript</13>で作っています。",
"not_logged_in": "ログインしていません。",
"logged_in": "ログインしました。",
"community_ban": "このコミュニティへのアクセスを禁止されています。",
"site_ban": "サイトへのアクセスを禁止されています。",
"couldnt_create_comment": "投稿を作成できませんでした。",
"couldnt_find_community": "コミュニティが見付かりません。",
"couldnt_find_post": "投稿が見付かりません。",
"couldnt_find_that_username_or_email": "ユーザー名またはメールアドレスが見付かりません。",
"password_incorrect": "パスワードが不正です。",
"passwords_dont_match": "パスワードが一致しません。",
"admin_already_created": "済みませんが、既に管理者が設定されています。",
"email_already_exists": "メールアドレスが既に使用されています",
"time": "時刻",
"action": "行動"
}