From 8e2b200a417af6d5f13625fc3702c47dafbe941d Mon Sep 17 00:00:00 2001 From: Muratcan Date: Thu, 16 Nov 2023 01:52:28 +0300 Subject: [PATCH 1/3] Turkish language --- packages/react-native/src/evm/i18n/strings.ts | 42 +++---- packages/react-native/src/evm/i18n/tr.ts | 115 ++++++++++++++++++ packages/react-native/src/evm/i18n/types.ts | 2 +- 3 files changed, 132 insertions(+), 27 deletions(-) create mode 100644 packages/react-native/src/evm/i18n/tr.ts diff --git a/packages/react-native/src/evm/i18n/strings.ts b/packages/react-native/src/evm/i18n/strings.ts index 120bf0055c3..b2a58da0d23 100644 --- a/packages/react-native/src/evm/i18n/strings.ts +++ b/packages/react-native/src/evm/i18n/strings.ts @@ -2,41 +2,31 @@ import { DeepPartial, deepMerge } from "../types/deepPartial"; import { _en } from "./en"; import { _es } from "./es"; import { _ja } from "./ja"; +import { _tr } from "./tr"; import { Locale, LocaleType } from "./types"; +const locales = { en: _en, es: _es, ja: _ja }; + export const setLocale = (locale: Locale): LocaleType => { - if (typeof locale === "string") { - switch (locale) { - case "en": - return _en; - case "es": - return _es; - case "ja": - return _ja; - default: - throw new Error(`Locale ${locale} not supported`); + if (typeof locale === 'string') { + const selectedLocale = locales[locale]; + if (!selectedLocale) { + throw new Error(`Locale ${locale} not supported`); } + return selectedLocale; } return locale; }; -export const en = (locale?: DeepPartial): LocaleType => { - if (!locale) { - return _en; - } - return deepMerge(_en, locale); -}; - -export const ja = (locale?: DeepPartial): LocaleType => { +export const getLocale = (localeKey: keyof typeof locales, locale?: DeepPartial): LocaleType => { + const defaultLocale = locales[localeKey]; if (!locale) { - return _ja; + return defaultLocale; } - return deepMerge(_ja, locale); + return deepMerge(defaultLocale, locale); }; -export const es = (locale?: DeepPartial): LocaleType => { - if (!locale) { - return _es; - } - return deepMerge(_es, locale); -}; +export const en = (locale?: DeepPartial) => getLocale('en', locale); +export const es = (locale?: DeepPartial) => getLocale('es', locale); +export const ja = (locale?: DeepPartial) => getLocale('ja', locale); +export const tr = (locale?: DeepPartial) => getLocale('tr', locale); diff --git a/packages/react-native/src/evm/i18n/tr.ts b/packages/react-native/src/evm/i18n/tr.ts new file mode 100644 index 00000000000..c4d45051278 --- /dev/null +++ b/packages/react-native/src/evm/i18n/tr.ts @@ -0,0 +1,115 @@ +export const _tr = { + connect_wallet: { + label: "Connect Wallet", + }, + connect_wallet_details: { + additional_actions: "Ek İşlemler", + address_copied_clipboard: "Adres panoya kopyalandı", + backup_wallet: "Yedek Cüzdan", + backup_personal_wallet: "Kişisel cüzdanı yedekle", + import_wallet: "Cüzdanı İçe Aktar", + connected_to_smart_wallet: "Akıllı Cüzdana Bağlanıldı", + current_network: "Mevcut Ağ", + backup: "Yedekle", + connect_to_app: "Uygulamaya Bağlan", + guest: "Misafir", + connect: "Bağlan", + new_to_wallets: "Cüzdanlara yeni misiniz?", + view_transaction_history: "İşlem Geçmişini Görüntüle", + get_started: "Başlayın", + receive_funds: "Fon Al", + search_or_paste_token: "Token adresini ara veya yapıştır", + connect_a_wallet: "Bir Cüzdana Bağlan", + continue_as_guest: "Misafir olarak devam et", + tos: "Hizmet Şartları", + privacy_policy: "Gizlilik Politikası", + by_connecting_you_agree: "Bağlanarak, kabul etmiş olursunuz", + copy_address_or_scan: + "Cüzdan adresini kopyala veya fonları bu cüzdana göndermek için QR kodunu tara.", + request_testnet_funds: "Testnet Fonları Talep Et", + your_address: "Adresiniz", + qr_code: "QR Kodu", + select_token: "Token seç", + send_to: "Gönder", + send_funds: "Fon Gönder", + no_tokens_found: "Token bulunamadı", + confirm_in_wallet: "Cüzdanınızda onaylayın", + select_network: "Ağ Seç", + switch_to: "Geçiş Yap", + no_supported_chains_detected: "Desteklenen bir ağ tespit edilemedi", + recommended: "Önerilir", + network_mismatch: + "Kontrat ve cüzdanınız arasında bir ağ uyuşmazlığı var", + }, + connecting_wallet: { + creating_encrypting: + "Aygıt cüzdanınızı oluşturmak, şifrelemek ve güvene almak.", + connecting_your_wallet: "Cüzdana bağlanmak", + connecting_through_pop_up: + "Cüzdan açılır penceresi yoluyla uygulamaya giriş yapın ve bağlanın", + }, + local_wallet: { + guest_wallet: "Misafir Cüzdanı", + backup_your_wallet: "Cüzdanınızın yedeğini alın", + create_new_wallet: "Yeni cüzdan oluşturun", + private_key_mnemonic: "Ya da Özel anahtar veya Kelimeler", + private_key_mnemonic_placeholder: "Özel anahtar / Kelimeler", + application_can_authorize_transactions: + "Bu uygulama cüzdanınız adına herhangi bir izin olmadan işlem başlatabilir. Yalnızca güvenilir uygulamalara giriş yapmanızı öneriyoruz.", + double_check_password: "Lütfen, parolanızı veya gizli anahtarınızı kontrol edin.", + error_accessing_file: "Dosyaya erişirken hata. Lütfen tekrar deneyin.", + wallet_address: "Cüzdan Adresi", + this_will_download_json: + "Bu, cüzdan bilgilerinizi içeren bir JSON dosyasını parola ile şifrelenmiş olarak cihazınıza indirecektir.", + this_is_a_temporary_wallet: + "Bu geçici bir misafir cüzdanıdır. Erişimi kaybetmemek için bir yedeğini indirin.", + }, + smart_wallet: { + switch_to_smart: "Akıllı Cüzdan'a Geçiş Yapın", + switch_to_personal: "Kişisel Cüzdan'a Geçiş Yapın", + network_mismatch: "Ağ Uyuşmazlığı", + connecting: "Bağlanılıyor", + }, + embedded_wallet: { + request_new_code: "Yeni kod iste", + sign_in: "Giriş Yap", + sign_in_google: "Google ile Giriş Yap", + sign_in_facebook: "Facebook ile Giriş Yap", + sign_in_apple: "Apple ile Giriş Yap", + sign_in_email: "E-posta ile Giriş Yap", + enter_your_email: "E-posta adresinizi girin", + forgot_password: "Parolamı unuttum", + enter_account_recovery_code: "Hesap kurtarma kodunu girin", + backup_your_account: "Hesabınızı yedekleyin", + create_password: "Parola oluştur", + enter_password: "Parola gir", + set_password_message: "Hesabınızı korumak için bir parola belirleyin", + enter_password_for_email: "Parola girin", + make_sure_you_save_it: "Kaydettiğinizden emin olun", + }, + wallet_connect: { + no_results_found: "Sonuç bulunamadı", + search_wallets: "Cüzdanları Ara", + }, + common: { + connect_app: "Uygulamaya bağlan", + unknown_network: "Bilinmeyen Ağ", + fetching: "Yükleniyor...", + password: "Parola", + reject: "Reddet", + approve: "Onayla", + switch_network: "Ağ Değiştir", + import: "İçe Aktar", + username: "Kullanıcı Adı", + amount: "Miktar", + send: "Gönder", + receive: "Al", + continue: "Devam", + error_switching_network: "Ağ değiştirirken hata", + or: "VEYA", + from: "kimden", + to: "kime", + next: "Sonraki", + learn_more: "Daha Fazla Öğren", + }, +}; diff --git a/packages/react-native/src/evm/i18n/types.ts b/packages/react-native/src/evm/i18n/types.ts index 7ef01a3e3c0..566fd8b1541 100644 --- a/packages/react-native/src/evm/i18n/types.ts +++ b/packages/react-native/src/evm/i18n/types.ts @@ -1,5 +1,5 @@ import { _en } from "./en"; -export type Locale = LocaleType | "en" | "es" | "ja"; +export type Locale = LocaleType | "en" | "es" | "ja" | "tr"; export type LocaleType = typeof _en; From e7a5a5ad1f6e85c5197d01326e27b28696a1802b Mon Sep 17 00:00:00 2001 From: V Date: Thu, 16 Nov 2023 07:14:00 +0300 Subject: [PATCH 2/3] Update packages/react-native/src/evm/i18n/strings.ts Co-authored-by: iketw <121973632+iketw@users.noreply.github.com> Signed-off-by: V --- packages/react-native/src/evm/i18n/strings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/src/evm/i18n/strings.ts b/packages/react-native/src/evm/i18n/strings.ts index b2a58da0d23..5d82782b59e 100644 --- a/packages/react-native/src/evm/i18n/strings.ts +++ b/packages/react-native/src/evm/i18n/strings.ts @@ -5,7 +5,7 @@ import { _ja } from "./ja"; import { _tr } from "./tr"; import { Locale, LocaleType } from "./types"; -const locales = { en: _en, es: _es, ja: _ja }; +const locales = { en: _en, es: _es, ja: _ja, tr: _tr }; export const setLocale = (locale: Locale): LocaleType => { if (typeof locale === 'string') { From dfe4690c617a90cb876e9589dc4321a70e7d0a96 Mon Sep 17 00:00:00 2001 From: Jonas Daniels Date: Thu, 11 Jan 2024 21:04:23 +1300 Subject: [PATCH 3/3] Create big-flies-tan.md Signed-off-by: Jonas Daniels --- .changeset/big-flies-tan.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/big-flies-tan.md diff --git a/.changeset/big-flies-tan.md b/.changeset/big-flies-tan.md new file mode 100644 index 00000000000..c5055066e6e --- /dev/null +++ b/.changeset/big-flies-tan.md @@ -0,0 +1,6 @@ +--- +"@thirdweb-dev/react-native": patch +"@thirdweb-dev/react": patch +--- + +Add Turkish language support