From 0bb2877b07e0dfc6ba5a44df79aa30da9fcd66e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCrkan=20G=C3=BCr?= Date: Sat, 16 May 2020 22:35:00 +0200 Subject: [PATCH] frontend: Add Turkish language support --- frontend/app/locales/tr.json | 170 +++++++++++++++++++++++++++ frontend/app/utils/loadLocale.ts | 5 + frontend/tasks/supportedLocales.json | 2 +- 3 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 frontend/app/locales/tr.json diff --git a/frontend/app/locales/tr.json b/frontend/app/locales/tr.json new file mode 100644 index 00000000..a3472141 --- /dev/null +++ b/frontend/app/locales/tr.json @@ -0,0 +1,170 @@ +{ + "anonymousLoginForm.length-limit": "Kullanıcı adı en az 3 karakter olmalı", + "anonymousLoginForm.log-in": "Giriş yap", + "anonymousLoginForm.symbol-limit": "Kullanıcı adı harf ile başlayıp; yalnızca harf, rakam, alt çizgi veya boşluk içerebilir", + "anonymousLoginForm.user-name": "Kullanıcı adı", + "authPanel.anonymous-provider": "Anonim", + "authPanel.disable-comments": "Yorumları devre dışı bırak", + "authPanel.disabled-cookies": "Giriş yapabilmek ve yorum yapabilmek için çerezleri etkinleştirmeniz gerekmekte", + "authPanel.enable-comments": "Yorumları etkinleştir", + "authPanel.enable-cookies": "Giriş yapmak ve yorum yazmak için çerezleri etkinleştir", + "authPanel.hide-settings": "Ayarları gizle", + "authPanel.logged-as": "Kullanıcı adınız", + "authPanel.login": "Giriş:", + "authPanel.logout": "Çıkış yap?", + "authPanel.new-page": "yeni sayfa", + "authPanel.or-provider": "veya", + "authPanel.other-provider": "Diğer", + "authPanel.read-only": "Yazmaya kapalı", + "authPanel.request-to-delete-data": "Bilgilerimi sil", + "authPanel.show-settings": "Ayarları göster", + "blockingDuration.day": "bir günlük", + "blockingDuration.month": "bir aylık", + "blockingDuration.permanently": "Kalıcı olarak", + "blockingDuration.week": "bir haftalık", + "comment.block": "Engelle", + "comment.block-user": "{userName} kullanıcısı {duration} engellensin mi?", + "comment.blocked-user": "Engellendi", + "comment.blocking-period": "Engelleme süresi", + "comment.cancel": "İptal", + "comment.controversy": "Tartışma: {value}", + "comment.copied": "Kopyalandı!", + "comment.copy": "Kopyala", + "comment.delete": "Sil", + "comment.delete-message": "Bu yorumu silmek istediğinize emin misiniz?", + "comment.deleted-comment": "Yorum silindi", + "comment.deleted-user": "Silindi", + "comment.edit": "Düzenle", + "comment.expired-time": "Düzenleme zamanı aşıldı.", + "comment.go-to-parent": "Üst yoruma git", + "comment.hide": "Gizle", + "comment.hide-user-comment": "{userName} kullanıcısının yorumları gizlensin mi?", + "comment.pin": "Sabitle", + "comment.pin-comment": "Bu yorum sabitlensin mi?", + "comment.reply": "Yanıtla", + "comment.time": "{day} günü {time}", + "comment.toggle-verification": "Onayı aç/kapa", + "comment.unblock": "Engeli kaldır", + "comment.unblock-user": "Bu kullanıcının engelini kaldırmak istiyor musunuz?", + "comment.unpin": "Sabitlemeyi kaldır", + "comment.unpin-comment": "Bu yorumun sabitliğini kaldırmak istiyor musunuz?", + "comment.unverified-user": "Onaylanmamış kullanıcı", + "comment.unverify-user": "{userName} kullanıcısının onayı kaldırılsın mı?", + "comment.verified-user": "Onaylanmış kullanıcı", + "comment.verify-user": "{userName} kullanıcısı onaylansın mı?", + "comment.vote-error": "Oylama hatası: {voteErrorMessage}", + "commentForm.anonymous-uploading-disabled": "Anonim kullanıcılar resim yükleme özelliğini kullanamazlar, lütfen resim ekleyebilmek için giriş yapın.", + "commentForm.exceeded-size": "{fileName} dosyası boyut limitini ({maxImageSize}) aşıyor", + "commentForm.input-placeholder": "Bir yorum yazın", + "commentForm.new-comment": "Yeni yorum", + "commentForm.notice-about-styling": "Markdown ile şekillendirebilirsiniz", + "commentForm.preview": "Önizleme", + "commentForm.reply": "Yanıtla", + "commentForm.save": "Kaydet", + "commentForm.send": "Gönder", + "commentForm.subscribe-by": "Abone ol:", + "commentForm.subscribe-or": "veya", + "commentForm.unauthorized-uploading-disabled": "Yetkisiz kullanıcılar resim yükleme özelliğini kullanamazlar, lütfen resim ekleyebilmek için giriş yapın.", + "commentForm.unexpected-error": "Bir hata oluştu. Lütfen daha sonra tekrar deneyin.", + "commentForm.upload-file-fail": "{fileName} yüklemesi başarısız: \"{errorMessage}\"", + "commentForm.uploading": "Yükleniyor...", + "commentForm.uploading-file": "{fileName} yükleniyor...", + "commentSort.sort-by": "Sıralama ölçütü", + "commentsSort.best": "En iyiler", + "commentsSort.least-controversial": "En az tartışılan", + "commentsSort.least-recently-updated": "En eski güncellenen", + "commentsSort.most-controversial": "En çok tartışılan", + "commentsSort.newest": "En yeniler", + "commentsSort.oldest": "En eskiler", + "commentsSort.recently-updated": "En son güncellenen", + "commentsSort.worst": "En kötüler", + "emailLoginForm.back": "Geri", + "emailLoginForm.confirm": "Onayla", + "emailLoginForm.email-address": "E-posta adresi", + "emailLoginForm.empty-token": "Parola bölümü boş olamaz", + "emailLoginForm.expired-token": "Parola eski", + "emailLoginForm.invalid-email": "Adres geçerli bir e-posta adresi olmalı", + "emailLoginForm.loading": "Yükleniyor...", + "emailLoginForm.send-verification": "Onayı gönder", + "emailLoginForm.token": "Parola", + "emailLoginForm.user-not-found": "Kullanıcı bulunamadı", + "errors.0": "Bir hata oluştu. Lütfen daha sonra tekrar deneyin.", + "errors.1": "Yorum bulunamadı. Lütfen sayfayı yenileyip tekrar deneyin.", + "errors.10": "Yorumu düzenlemek için artık çok geç.", + "errors.11": "Yoruma yanıt yazılmış, artık düzenlenemez.", + "errors.12": "Oylama sonucu kaydedilemedi. Lütfen daha sonra tekrar deneyin.", + "errors.13": "Kendi yorumunuzu oylayamazsınız.", + "errors.14": "Yorumu zaten oyladınız.", + "errors.15": "Yorum için çok fazla oy var.", + "errors.16": "Yorum için en alt skora ulaşıldı.", + "errors.17": "Eylem reddedildi. Lütfen daha sonra tekrar deneyin.", + "errors.18": "İstenilen dosya bulunamadı.", + "errors.2": "Failed to unmarshal incoming request.", + "errors.3": "Bu işlemi yapmak için yetkiniz yok.", + "errors.4": "Yorum verisi geçersiz.", + "errors.5": "Yorum bulunamadı. Lütfen sayfayı yenileyip tekrar deneyin.", + "errors.6": "Site bulunamadı. Lütfen sayfayı yenileyip tekrar deneyin.", + "errors.7": "Kullanıcı engellendi.", + "errors.8": "Kullanıcı engellendi.", + "errors.9": "Yorum değiştirilemedi. Lütfen daha sonra tekrar deneyin.", + "errors.failed-fetch": "İçerik yüklenemedi. Lütfen internet bağlantınızı kontrol edin veya daha sonra tekrar deneyin.", + "errors.forbidden": "İzin yok.", + "errors.not-authorized": "Yetki yetersiz.", + "errors.to-many-request": "Maksimum talep limitine ulaştınız.", + "errors.unexpected-error": "Bir hata oluştu.", + "root.pinned-comments": "Sabitlenmiş yorumlar", + "root.powered-by": "Remark42 ile üretildi", + "root.show-more": "Daha fazla göster", + "settings.block": "engelle", + "settings.block-time": "{day} günü {time}'a kadar", + "settings.block-user": "{userName} kullanıcısını engellemek istediğinize emin misiniz?", + "settings.blocked-users-header": "Engellenen kullanıcılar:", + "settings.blocked-users-title": "Engellenen kullanıcılar", + "settings.hidden-user-header": "Gizlenmiş kullanıcılar:", + "settings.hidden-users-title": "Gizlenmiş kullanıcılar", + "settings.hide": "gizle", + "settings.no-blocked-users": "Engellenmiş kullanıcı yok.", + "settings.no-hidden-users": "Gizlenmiş kullanıcı yok.", + "settings.permanently": "kalıcı olarak", + "settings.show": "göster", + "settings.unblock": "engeli kaldır", + "settings.unblock-user": "{userName} kullanıcısının engeli kaldırılsın mı?", + "settings.unknown": "bilinmeyen", + "subscribeByEmail.back": "Geri", + "subscribeByEmail.close": "Kapat", + "subscribeByEmail.email": "E-posta", + "subscribeByEmail.expired-token": "Eski parola", + "subscribeByEmail.have-been-subscribed": "Güncellemelere e-posta ile abone oldunuz", + "subscribeByEmail.have-been-unsubscribed": "Güncellemelere e-posta aboneliğiniz kaldırıldı", + "subscribeByEmail.only-registered-users": "Yalnızca kayıtlı kullanıcılar erişebilir", + "subscribeByEmail.submit": "Gönder", + "subscribeByEmail.subscribe": "Abone ol", + "subscribeByEmail.subscribe-by-email": "E-posta ile abone ol", + "subscribeByEmail.subscribe-to-replies": "Yanıtlara abone ol", + "subscribeByEmail.subscribed": "Güncellemelere e-posta ile abone oldunuz", + "subscribeByEmail.token": "Parola", + "subscribeByEmail.unsubscribe": "Aboneliği kaldır", + "subscribeByRSS.button-title": "RSS ile abone ol", + "subscribeByRSS.replies": "Yanıtlar", + "subscribeByRSS.site": "Site", + "subscribeByRSS.thread": "Başlık", + "subscribeByRSS.title": "RSS", + "toolbar.attach-image": "Resim ekleyin, sürükleyip-bıraın veya kopyaladığınız resmi yapıştırın", + "toolbar.bold": "Kalın yazı ekle ", + "toolbar.code": "Kod ekle", + "toolbar.header": "Başlık ekle", + "toolbar.italic": "Eğik yazı ekle ", + "toolbar.link": "Bağlantı ekle ", + "toolbar.ordered-list": "Sıralı liste ekle", + "toolbar.quote": "Alıntı ekle", + "toolbar.unordered-list": "Liste ekle", + "user-info.last-comments": "{userName} tarafından son yorumlar", + "user-info.unexpected-error": "Bir hata oluştu", + "vote.anonymous": "Anonim kullanıcılar oy kullanamaz", + "vote.deleted": "Silinmiş yorum oylanamaz", + "vote.guest": "Oy vermek için giriş yapın", + "vote.only-positive": "Sadece pozitif oy verilebilir", + "vote.only-post-page": "Yalnızca gönderinin sayfasında oylama yapılabilir", + "vote.own-comment": "Kendi yorumunuza oy veremezsiniz", + "vote.readonly": "Yazmaya kapalı başlıklarda oy veremezsiniz" +} diff --git a/frontend/app/utils/loadLocale.ts b/frontend/app/utils/loadLocale.ts index aaee4429..3f1b9f28 100644 --- a/frontend/app/utils/loadLocale.ts +++ b/frontend/app/utils/loadLocale.ts @@ -28,6 +28,11 @@ export async function loadLocale(locale: string): Promise .then(res => res.default) .catch(() => enMessages); } + if (locale === 'tr') { + return import(/* webpackChunkName: "tr" */ '../locales/tr.json') + .then(res => res.default) + .catch(() => enMessages); + } return enMessages; } diff --git a/frontend/tasks/supportedLocales.json b/frontend/tasks/supportedLocales.json index 4cdf4433..34cb8030 100644 --- a/frontend/tasks/supportedLocales.json +++ b/frontend/tasks/supportedLocales.json @@ -1 +1 @@ -["en", "ru", "de", "fi", "es", "zh"] +["en", "ru", "de", "fi", "es", "zh", "tr"]