decred.org/dcrdex@v1.0.5/client/core/locale_ntfn.go (about)

     1  package core
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"decred.org/dcrdex/client/intl"
     7  	"golang.org/x/text/language"
     8  	"golang.org/x/text/message"
     9  )
    10  
    11  type translation struct {
    12  	subject  intl.Translation
    13  	template intl.Translation
    14  }
    15  
    16  const originLang = "en-US"
    17  
    18  // originLocale is the American English translations.
    19  var originLocale = map[Topic]*translation{
    20  	TopicAccountRegistered: {
    21  		subject:  intl.Translation{T: "Account registered"},
    22  		template: intl.Translation{T: "You may now trade at %s", Notes: "args: [host]"},
    23  	},
    24  	TopicFeePaymentInProgress: {
    25  		subject:  intl.Translation{T: "Fee payment in progress"},
    26  		template: intl.Translation{T: "Waiting for %d confirmations before trading at %s", Notes: "args: [confs, host]"},
    27  	},
    28  	TopicRegUpdate: {
    29  		subject:  intl.Translation{T: "regupdate"},
    30  		template: intl.Translation{T: "Fee payment confirmations %v/%v", Notes: "args: [confs, required confs]"},
    31  	},
    32  	TopicFeePaymentError: {
    33  		subject:  intl.Translation{T: "Fee payment error"},
    34  		template: intl.Translation{T: "Error encountered while paying fees to %s: %v", Notes: "args: [host, error]"},
    35  	},
    36  	TopicAccountUnlockError: {
    37  		subject:  intl.Translation{T: "Account unlock error"},
    38  		template: intl.Translation{T: "error unlocking account for %s: %v", Notes: "args: [host, error]"},
    39  	},
    40  	TopicFeeCoinError: {
    41  		subject:  intl.Translation{T: "Fee coin error"},
    42  		template: intl.Translation{T: "Empty fee coin for %s.", Notes: "args: [host]"},
    43  	},
    44  	TopicWalletConnectionWarning: {
    45  		subject:  intl.Translation{T: "Wallet connection warning"},
    46  		template: intl.Translation{T: "Incomplete registration detected for %s, but failed to connect to the Decred wallet", Notes: "args: [host]"},
    47  	},
    48  	TopicBondWalletNotConnected: {
    49  		subject:  intl.Translation{T: "Bond wallet not connected"},
    50  		template: intl.Translation{T: "Wallet for selected bond asset %s is not connected"},
    51  	},
    52  	TopicWalletUnlockError: {
    53  		subject:  intl.Translation{T: "Wallet unlock error"},
    54  		template: intl.Translation{T: "Connected to wallet to complete registration at %s, but failed to unlock: %v", Notes: "args: [host, error]"},
    55  	},
    56  	TopicWalletCommsWarning: {
    57  		subject:  intl.Translation{T: "Wallet connection issue"},
    58  		template: intl.Translation{T: "Unable to communicate with %v wallet! Reason: %v", Notes: "args: [asset name, error message]"},
    59  	},
    60  	TopicWalletPeersWarning: {
    61  		subject:  intl.Translation{T: "Wallet network issue"},
    62  		template: intl.Translation{T: "%v wallet has no network peers!", Notes: "args: [asset name]"},
    63  	},
    64  	TopicWalletPeersRestored: {
    65  		subject:  intl.Translation{T: "Wallet connectivity restored"},
    66  		template: intl.Translation{T: "%v wallet has reestablished connectivity.", Notes: "args: [asset name]"},
    67  	},
    68  	TopicSendError: {
    69  		subject:  intl.Translation{T: "Send error"},
    70  		template: intl.Translation{Version: 1, T: "Error encountered while sending %s: %v", Notes: "args: [ticker, error]"},
    71  	},
    72  	TopicSendSuccess: {
    73  		subject:  intl.Translation{T: "Send successful"},
    74  		template: intl.Translation{Version: 1, T: "Sending %s %s to %s has completed successfully. Tx ID = %s", Notes: "args: [value string, ticker, destination address, coin ID]"},
    75  	},
    76  	TopicAsyncOrderFailure: {
    77  		subject:  intl.Translation{T: "In-Flight Order Error"},
    78  		template: intl.Translation{T: "In-Flight order with ID %v failed: %v", Notes: "args: order ID, error]"},
    79  	},
    80  	TopicOrderQuantityTooHigh: {
    81  		subject:  intl.Translation{T: "Trade limit exceeded"},
    82  		template: intl.Translation{T: "Order quantity exceeds current trade limit on %s", Notes: "args: [host]"},
    83  	},
    84  	TopicOrderLoadFailure: {
    85  		subject:  intl.Translation{T: "Order load failure"},
    86  		template: intl.Translation{T: "Some orders failed to load from the database: %v", Notes: "args: [error]"},
    87  	},
    88  	TopicYoloPlaced: {
    89  		subject:  intl.Translation{T: "Market order placed"},
    90  		template: intl.Translation{T: "selling %s %s at market rate (%s)", Notes: "args: [qty, ticker, token]"},
    91  	},
    92  	TopicBuyOrderPlaced: {
    93  		subject:  intl.Translation{T: "Order placed"},
    94  		template: intl.Translation{Version: 1, T: "Buying %s %s, rate = %s (%s)", Notes: "args: [qty, ticker, rate string, token]"},
    95  	},
    96  	TopicSellOrderPlaced: {
    97  		subject:  intl.Translation{T: "Order placed"},
    98  		template: intl.Translation{Version: 1, T: "Selling %s %s, rate = %s (%s)", Notes: "args: [qty, ticker, rate string, token]"},
    99  	},
   100  	TopicMissingMatches: {
   101  		subject:  intl.Translation{T: "Missing matches"},
   102  		template: intl.Translation{T: "%d matches for order %s were not reported by %q and are considered revoked", Notes: "args: [missing count, token, host]"},
   103  	},
   104  	TopicWalletMissing: {
   105  		subject:  intl.Translation{T: "Wallet missing"},
   106  		template: intl.Translation{T: "Wallet retrieval error for active order %s: %v", Notes: "args: [token, error]"},
   107  	},
   108  	TopicMatchErrorCoin: {
   109  		subject:  intl.Translation{T: "Match coin error"},
   110  		template: intl.Translation{T: "Match %s for order %s is in state %s, but has no maker swap coin.", Notes: "args: [side, token, match status]"},
   111  	},
   112  	TopicMatchErrorContract: {
   113  		subject:  intl.Translation{T: "Match contract error"},
   114  		template: intl.Translation{T: "Match %s for order %s is in state %s, but has no maker swap contract.", Notes: "args: [side, token, match status]"},
   115  	},
   116  	TopicMatchRecoveryError: {
   117  		subject:  intl.Translation{T: "Match recovery error"},
   118  		template: intl.Translation{T: "Error auditing counter-party's swap contract (%s %v) during swap recovery on order %s: %v", Notes: "args: [ticker, contract, token, error]"},
   119  	},
   120  	TopicOrderCoinError: {
   121  		subject:  intl.Translation{T: "Order coin error"},
   122  		template: intl.Translation{T: "No funding coins recorded for active order %s", Notes: "args: [token]"},
   123  	},
   124  	TopicOrderCoinFetchError: {
   125  		subject:  intl.Translation{T: "Order coin fetch error"},
   126  		template: intl.Translation{T: "Source coins retrieval error for order %s (%s): %v", Notes: "args: [token, ticker, error]"},
   127  	},
   128  	TopicMissedCancel: {
   129  		subject:  intl.Translation{T: "Missed cancel"},
   130  		template: intl.Translation{T: "Cancel order did not match for order %s. This can happen if the cancel order is submitted in the same epoch as the trade or if the target order is fully executed before matching with the cancel order.", Notes: "args: [token]"},
   131  	},
   132  	TopicBuyOrderCanceled: {
   133  		subject:  intl.Translation{T: "Order canceled"},
   134  		template: intl.Translation{Version: 1, T: "Buy order on %s-%s at %s has been canceled (%s)", Notes: "args: [base ticker, quote ticker, host, token]"},
   135  	},
   136  	TopicSellOrderCanceled: {
   137  		subject:  intl.Translation{T: "Order canceled"},
   138  		template: intl.Translation{Version: 1, T: "Sell order on %s-%s at %s has been canceled (%s)"},
   139  	},
   140  	TopicBuyMatchesMade: {
   141  		subject:  intl.Translation{T: "Matches made"},
   142  		template: intl.Translation{Version: 1, T: "Buy order on %s-%s %.1f%% filled (%s)", Notes: "args: [base ticker, quote ticker, fill percent, token]"},
   143  	},
   144  	TopicSellMatchesMade: {
   145  		subject:  intl.Translation{T: "Matches made"},
   146  		template: intl.Translation{Version: 1, T: "Sell order on %s-%s %.1f%% filled (%s)", Notes: "args: [base ticker, quote ticker, fill percent, token]"},
   147  	},
   148  	TopicSwapSendError: {
   149  		subject:  intl.Translation{T: "Swap send error"},
   150  		template: intl.Translation{T: "Error encountered sending a swap output(s) worth %s %s on order %s", Notes: "args: [qty, ticker, token]"},
   151  	},
   152  	TopicInitError: {
   153  		subject:  intl.Translation{T: "Swap reporting error"},
   154  		template: intl.Translation{T: "Error notifying DEX of swap for match %s: %v", Notes: "args: [match, error]"},
   155  	},
   156  	TopicReportRedeemError: {
   157  		subject:  intl.Translation{T: "Redeem reporting error"},
   158  		template: intl.Translation{T: "Error notifying DEX of redemption for match %s: %v", Notes: "args: [match, error]"},
   159  	},
   160  	TopicSwapsInitiated: {
   161  		subject:  intl.Translation{T: "Swaps initiated"},
   162  		template: intl.Translation{T: "Sent swaps worth %s %s on order %s", Notes: "args: [qty, ticker, token]"},
   163  	},
   164  	TopicRedemptionError: {
   165  		subject:  intl.Translation{T: "Redemption error"},
   166  		template: intl.Translation{T: "Error encountered sending redemptions worth %s %s on order %s", Notes: "args: [qty, ticker, token]"},
   167  	},
   168  	TopicMatchComplete: {
   169  		subject:  intl.Translation{T: "Match complete"},
   170  		template: intl.Translation{T: "Redeemed %s %s on order %s", Notes: "args: [qty, ticker, token]"},
   171  	},
   172  	TopicRefundFailure: {
   173  		subject:  intl.Translation{T: "Refund Failure"},
   174  		template: intl.Translation{T: "Refunded %s %s on order %s, with some errors", Notes: "args: [qty, ticker, token]"},
   175  	},
   176  	TopicMatchesRefunded: {
   177  		subject:  intl.Translation{T: "Matches Refunded"},
   178  		template: intl.Translation{T: "Refunded %s %s on order %s", Notes: "args: [qty, ticker, token]"},
   179  	},
   180  	TopicMatchRevoked: {
   181  		subject:  intl.Translation{T: "Match revoked"},
   182  		template: intl.Translation{T: "Match %s has been revoked", Notes: "args: [match ID token]"},
   183  	},
   184  	TopicOrderRevoked: {
   185  		subject:  intl.Translation{T: "Order revoked"},
   186  		template: intl.Translation{T: "Order %s on market %s at %s has been revoked by the server", Notes: "args: [token, market name, host]"},
   187  	},
   188  	TopicOrderAutoRevoked: {
   189  		subject:  intl.Translation{T: "Order auto-revoked"},
   190  		template: intl.Translation{T: "Order %s on market %s at %s revoked due to market suspension", Notes: "args: [token, market name, host]"},
   191  	},
   192  	TopicMatchRecovered: {
   193  		subject:  intl.Translation{T: "Match recovered"},
   194  		template: intl.Translation{T: "Found maker's redemption (%s: %v) and validated secret for match %s", Notes: "args: [ticker, coin ID, match]"},
   195  	},
   196  	TopicCancellingOrder: {
   197  		subject:  intl.Translation{T: "Cancelling order"},
   198  		template: intl.Translation{T: "A cancel order has been submitted for order %s", Notes: "args: [token]"},
   199  	},
   200  	TopicOrderStatusUpdate: {
   201  		subject:  intl.Translation{T: "Order status update"},
   202  		template: intl.Translation{T: "Status of order %v revised from %v to %v", Notes: "args: [token, old status, new status]"},
   203  	},
   204  	TopicMatchResolutionError: {
   205  		subject:  intl.Translation{T: "Match resolution error"},
   206  		template: intl.Translation{T: "%d matches reported by %s were not found for %s.", Notes: "args: [count, host, token]"},
   207  	},
   208  	TopicFailedCancel: {
   209  		subject: intl.Translation{T: "Failed cancel"},
   210  		template: intl.Translation{
   211  			Version: 1,
   212  			T:       "Cancel order for order %s failed and is now deleted.",
   213  			Notes: `args: [token], "failed" means we missed the preimage request ` +
   214  				`and either got the revoke_order message or it stayed in epoch status for too long.`,
   215  		},
   216  	},
   217  	TopicAuditTrouble: {
   218  		subject:  intl.Translation{T: "Audit trouble"},
   219  		template: intl.Translation{T: "Still searching for counterparty's contract coin %v (%s) for match %s. Are your internet and wallet connections good?", Notes: "args: [coin ID, ticker, match]"},
   220  	},
   221  	TopicDexAuthError: {
   222  		subject:  intl.Translation{T: "DEX auth error"},
   223  		template: intl.Translation{T: "%s: %v", Notes: "args: [host, error]"},
   224  	},
   225  	TopicUnknownOrders: {
   226  		subject:  intl.Translation{T: "DEX reported unknown orders"},
   227  		template: intl.Translation{T: "%d active orders reported by DEX %s were not found.", Notes: "args: [count, host]"},
   228  	},
   229  	TopicOrdersReconciled: {
   230  		subject:  intl.Translation{T: "Orders reconciled with DEX"},
   231  		template: intl.Translation{T: "Statuses updated for %d orders.", Notes: "args: [count]"},
   232  	},
   233  	TopicWalletConfigurationUpdated: {
   234  		subject:  intl.Translation{T: "Wallet configuration updated"},
   235  		template: intl.Translation{T: "Configuration for %s wallet has been updated. Deposit address = %s", Notes: "args: [ticker, address]"},
   236  	},
   237  	TopicWalletPasswordUpdated: {
   238  		subject:  intl.Translation{T: "Wallet Password Updated"},
   239  		template: intl.Translation{T: "Password for %s wallet has been updated.", Notes: "args:  [ticker]"},
   240  	},
   241  	TopicMarketSuspendScheduled: {
   242  		subject:  intl.Translation{T: "Market suspend scheduled"},
   243  		template: intl.Translation{T: "Market %s at %s is now scheduled for suspension at %v", Notes: "args: [market name, host, time]"},
   244  	},
   245  	TopicMarketSuspended: {
   246  		subject:  intl.Translation{T: "Market suspended"},
   247  		template: intl.Translation{T: "Trading for market %s at %s is now suspended.", Notes: "args: [market name, host]"},
   248  	},
   249  	TopicMarketSuspendedWithPurge: {
   250  		subject:  intl.Translation{T: "Market suspended, orders purged"},
   251  		template: intl.Translation{T: "Trading for market %s at %s is now suspended. All booked orders are now PURGED.", Notes: "args: [market name, host]"},
   252  	},
   253  	TopicMarketResumeScheduled: {
   254  		subject:  intl.Translation{T: "Market resume scheduled"},
   255  		template: intl.Translation{T: "Market %s at %s is now scheduled for resumption at %v", Notes: "args: [market name, host, time]"},
   256  	},
   257  	TopicMarketResumed: {
   258  		subject:  intl.Translation{T: "Market resumed"},
   259  		template: intl.Translation{T: "Market %s at %s has resumed trading at epoch %d", Notes: "args: [market name, host, epoch]"},
   260  	},
   261  	TopicUpgradeNeeded: {
   262  		subject:  intl.Translation{T: "Upgrade needed"},
   263  		template: intl.Translation{T: "You may need to update your client to trade at %s.", Notes: "args: [host]"},
   264  	},
   265  	TopicDEXConnected: {
   266  		subject:  intl.Translation{T: "Server connected"},
   267  		template: intl.Translation{T: "%s is connected", Notes: "args: [host]"},
   268  	},
   269  	TopicDEXDisconnected: {
   270  		subject:  intl.Translation{T: "Server disconnect"},
   271  		template: intl.Translation{T: "%s is disconnected", Notes: "args: [host]"},
   272  	},
   273  	TopicDexConnectivity: {
   274  		subject:  intl.Translation{T: "Internet Connectivity"},
   275  		template: intl.Translation{T: "Your internet connection to %s is unstable, check your internet connection", Notes: "args: [host]"},
   276  	},
   277  	TopicPenalized: {
   278  		subject:  intl.Translation{T: "Server has penalized you"},
   279  		template: intl.Translation{T: "Penalty from DEX at %s\nlast broken rule: %s\ntime: %v\ndetails:\n\"%s\"\n", Notes: "args: [host, rule, time, details]"},
   280  	},
   281  	TopicSeedNeedsSaving: {
   282  		subject:  intl.Translation{T: "Don't forget to back up your application seed"},
   283  		template: intl.Translation{T: "A new application seed has been created. Make a back up now in the settings view."},
   284  	},
   285  	TopicUpgradedToSeed: {
   286  		subject:  intl.Translation{T: "Back up your new application seed"},
   287  		template: intl.Translation{T: "The client has been upgraded to use an application seed. Back up the seed now in the settings view."},
   288  	},
   289  	TopicDEXNotification: {
   290  		subject:  intl.Translation{T: "Message from DEX"},
   291  		template: intl.Translation{T: "%s: %s", Notes: "args: [host, msg]"},
   292  	},
   293  	TopicQueuedCreationFailed: {
   294  		subject:  intl.Translation{T: "Failed to create token wallet"},
   295  		template: intl.Translation{T: "After creating %s wallet, failed to create the %s wallet", Notes: "args: [parentSymbol, tokenSymbol]"},
   296  	},
   297  	TopicRedemptionResubmitted: {
   298  		subject:  intl.Translation{T: "Redemption Resubmitted"},
   299  		template: intl.Translation{T: "Your redemption for match %s in order %s was resubmitted."},
   300  	},
   301  	TopicSwapRefunded: {
   302  		subject:  intl.Translation{T: "Swap Refunded"},
   303  		template: intl.Translation{T: "Match %s in order %s was refunded by the counterparty."},
   304  	},
   305  	TopicRedemptionConfirmed: {
   306  		subject:  intl.Translation{T: "Redemption Confirmed"},
   307  		template: intl.Translation{T: "Your redemption for match %s in order %s was confirmed"},
   308  	},
   309  	TopicWalletTypeDeprecated: {
   310  		subject:  intl.Translation{T: "Wallet Disabled"},
   311  		template: intl.Translation{T: "Your %s wallet type is no longer supported. Create a new wallet."},
   312  	},
   313  	TopicOrderResumeFailure: {
   314  		subject:  intl.Translation{T: "Resume order failure"},
   315  		template: intl.Translation{T: "Failed to resume processing of trade: %v"},
   316  	},
   317  	TopicBondConfirming: {
   318  		subject:  intl.Translation{T: "Confirming bond"},
   319  		template: intl.Translation{T: "Waiting for %d confirmations to post bond %v (%s) to %s", Notes: "args: [reqConfs, bondCoinStr, assetID, acct.host]"},
   320  	},
   321  	TopicBondConfirmed: {
   322  		subject:  intl.Translation{T: "Bond confirmed"},
   323  		template: intl.Translation{T: "New tier = %d (target = %d).", Notes: "args: [effectiveTier, targetTier]"},
   324  	},
   325  	TopicBondExpired: {
   326  		subject:  intl.Translation{T: "Bond expired"},
   327  		template: intl.Translation{T: "New tier = %d (target = %d).", Notes: "args: [effectiveTier, targetTier]"},
   328  	},
   329  	TopicBondRefunded: {
   330  		subject:  intl.Translation{T: "Bond refunded"},
   331  		template: intl.Translation{T: "Bond %v for %v refunded in %v, reclaiming %v of %v after tx fees", Notes: "args: [bondIDStr, acct.host, refundCoinStr, refundVal, Amount]"},
   332  	},
   333  	TopicBondPostError: {
   334  		subject:  intl.Translation{T: "Bond post error"},
   335  		template: intl.Translation{T: "postbond request error (will retry): %v (%T)", Notes: "args: [err, err]"},
   336  	},
   337  	TopicBondPostErrorConfirm: {
   338  		subject:  intl.Translation{T: "Bond post error"},
   339  		template: intl.Translation{T: "Error encountered while waiting for bond confirms for %s: %v"},
   340  	},
   341  	TopicDexAuthErrorBond: {
   342  		subject:  intl.Translation{T: "Authentication error"},
   343  		template: intl.Translation{T: "Bond confirmed, but failed to authenticate connection: %v", Notes: "args: [err]"},
   344  	},
   345  	TopicAccountRegTier: {
   346  		subject:  intl.Translation{T: "Account registered"},
   347  		template: intl.Translation{T: "New tier = %d", Notes: "args: [effectiveTier]"},
   348  	},
   349  	TopicUnknownBondTierZero: {
   350  		subject: intl.Translation{T: "Unknown bond found"},
   351  		template: intl.Translation{
   352  			T: "Unknown %s bonds were found and added to active bonds " +
   353  				"but your target tier is zero for the dex at %s. Set your " +
   354  				"target tier in Settings to stay bonded with auto renewals.",
   355  			Notes: "args: [bond asset, dex host]",
   356  		},
   357  	},
   358  	TopicDEXDisabled: {
   359  		subject:  intl.Translation{T: "DEX server status"},
   360  		template: intl.Translation{T: "DEX server %s has been disabled.", Notes: "args: [host]"},
   361  	},
   362  	TopicDEXEnabled: {
   363  		subject:  intl.Translation{T: "DEX server status"},
   364  		template: intl.Translation{T: "DEX server %s has been enabled.", Notes: "args: [host]"},
   365  	},
   366  }
   367  
   368  var ptBR = map[Topic]*translation{
   369  	TopicAccountRegistered: {
   370  		subject:  intl.Translation{T: "Conta Registrada"},
   371  		template: intl.Translation{T: "Você agora pode trocar em %s"},
   372  	},
   373  	TopicFeePaymentInProgress: {
   374  		subject:  intl.Translation{T: "Pagamento da Taxa em andamento"},
   375  		template: intl.Translation{T: "Esperando por %d confirmações antes de trocar em %s"},
   376  	},
   377  	TopicRegUpdate: {
   378  		subject:  intl.Translation{T: "Atualização de registro"},
   379  		template: intl.Translation{T: "Confirmações da taxa %v/%v"},
   380  	},
   381  	TopicFeePaymentError: {
   382  		subject:  intl.Translation{T: "Erro no Pagamento da Taxa"},
   383  		template: intl.Translation{T: "Erro enquanto pagando taxa para %s: %v"},
   384  	},
   385  	TopicAccountUnlockError: {
   386  		subject:  intl.Translation{T: "Erro ao Destrancar carteira"},
   387  		template: intl.Translation{T: "erro destrancando conta %s: %v"},
   388  	},
   389  	TopicFeeCoinError: {
   390  		subject:  intl.Translation{T: "Erro na Taxa"},
   391  		template: intl.Translation{T: "Taxa vazia para %s."},
   392  	},
   393  	TopicWalletConnectionWarning: {
   394  		subject:  intl.Translation{T: "Aviso de Conexão com a Carteira"},
   395  		template: intl.Translation{T: "Registro incompleto detectado para %s, mas falhou ao conectar com carteira decred"},
   396  	},
   397  	TopicWalletUnlockError: {
   398  		subject:  intl.Translation{T: "Erro ao Destravar Carteira"},
   399  		template: intl.Translation{T: "Conectado com carteira para completar o registro em %s, mas falha ao destrancar: %v"},
   400  	},
   401  	TopicSendError: {
   402  		subject:  intl.Translation{T: "Erro Retirada"},
   403  		template: intl.Translation{T: "Erro encontrado durante retirada de %s: %v"},
   404  	},
   405  	TopicSendSuccess: {
   406  		template: intl.Translation{T: "Retirada de %s %s (%s) foi completada com sucesso. ID da moeda = %s"},
   407  		subject:  intl.Translation{T: "Retirada Enviada"},
   408  	},
   409  	TopicOrderLoadFailure: {
   410  		template: intl.Translation{T: "Alguns pedidos falharam ao carregar da base de dados: %v"},
   411  		subject:  intl.Translation{T: "Carregamendo de Pedidos Falhou"},
   412  	},
   413  	TopicYoloPlaced: {
   414  		template: intl.Translation{T: "vendendo %s %s a taxa de mercado (%s)"},
   415  		subject:  intl.Translation{T: "Ordem de Mercado Colocada"},
   416  	},
   417  	TopicBuyOrderPlaced: {
   418  		subject:  intl.Translation{T: "Ordem Colocada"},
   419  		template: intl.Translation{T: "Buying %s %s, valor = %s (%s)"},
   420  	},
   421  	TopicSellOrderPlaced: {
   422  		subject:  intl.Translation{T: "Ordem Colocada"},
   423  		template: intl.Translation{T: "Selling %s %s, valor = %s (%s)"},
   424  	},
   425  	TopicMissingMatches: {
   426  		template: intl.Translation{T: "%d combinações para pedidos %s não foram reportados por %q e foram considerados revocados"},
   427  		subject:  intl.Translation{T: "Pedidos Faltando Combinações"},
   428  	},
   429  	TopicWalletMissing: {
   430  		template: intl.Translation{T: "Erro ao recuperar pedidos ativos por carteira %s: %v"},
   431  		subject:  intl.Translation{T: "Carteira Faltando"},
   432  	},
   433  	TopicMatchErrorCoin: {
   434  		subject:  intl.Translation{T: "Erro combinação de Moedas"},
   435  		template: intl.Translation{T: "Combinação %s para pedido %s está no estado %s, mas não há um executador para trocar moedas."},
   436  	},
   437  	TopicMatchErrorContract: {
   438  		template: intl.Translation{T: "Combinação %s para pedido %s está no estado %s, mas não há um executador para trocar moedas."},
   439  		subject:  intl.Translation{T: "Erro na Combinação de Contrato"},
   440  	},
   441  	TopicMatchRecoveryError: {
   442  		template: intl.Translation{T: "Erro auditando contrato de troca da contraparte (%s %v) durante troca recuperado no pedido %s: %v"},
   443  		subject:  intl.Translation{T: "Erro Recuperando Combinações"},
   444  	},
   445  	TopicOrderCoinError: {
   446  		template: intl.Translation{T: "Não há Moedas de financiamento registradas para pedidos ativos %s"},
   447  		subject:  intl.Translation{T: "Erro no Pedido da Moeda"},
   448  	},
   449  	TopicOrderCoinFetchError: {
   450  		template: intl.Translation{T: "Erro ao recuperar moedas de origem para pedido %s (%s): %v"},
   451  		subject:  intl.Translation{T: "Erro na Recuperação do Pedido de Moedas"},
   452  	},
   453  	TopicMissedCancel: {
   454  		template: intl.Translation{T: "Pedido de cancelamento não combinou para pedido %s. Isto pode acontecer se o pedido de cancelamento foi enviado no mesmo epoque do que a troca ou se o pedido foi completamente executado antes da ordem de cancelamento ser executada."},
   455  		subject:  intl.Translation{T: "Cancelamento Perdido"},
   456  	},
   457  	TopicSellOrderCanceled: {
   458  		template: intl.Translation{T: "Sell pedido sobre %s-%s em %s foi cancelado (%s)"},
   459  		subject:  intl.Translation{T: "Cancelamento de Pedido"},
   460  	},
   461  	TopicBuyOrderCanceled: {
   462  		template: intl.Translation{T: "Buy pedido sobre %s-%s em %s foi cancelado (%s)"},
   463  		subject:  intl.Translation{T: "Cancelamento de Pedido"},
   464  	},
   465  	TopicSellMatchesMade: {
   466  		template: intl.Translation{T: "Sell pedido sobre %s-%s %.1f%% preenchido (%s)"},
   467  		subject:  intl.Translation{T: "Combinações Feitas"},
   468  	},
   469  	TopicBuyMatchesMade: {
   470  		template: intl.Translation{T: "Buy pedido sobre %s-%s %.1f%% preenchido (%s)"},
   471  		subject:  intl.Translation{T: "Combinações Feitas"},
   472  	},
   473  	TopicSwapSendError: {
   474  		template: intl.Translation{T: "Erro encontrado ao enviar a troca com output(s) no valor de %s %s no pedido %s"},
   475  		subject:  intl.Translation{T: "Erro ao Enviar Troca"},
   476  	},
   477  	TopicInitError: {
   478  		template: intl.Translation{T: "Erro notificando DEX da troca %s por combinação: %v"},
   479  		subject:  intl.Translation{T: "Erro na Troca"},
   480  	},
   481  	TopicReportRedeemError: {
   482  		template: intl.Translation{T: "Erro notificando DEX da redenção %s por combinação: %v"},
   483  		subject:  intl.Translation{T: "Reportando Erro na redenção"},
   484  	},
   485  	TopicSwapsInitiated: {
   486  		template: intl.Translation{T: "Enviar trocas no valor de %s %s no pedido %s"},
   487  		subject:  intl.Translation{T: "Trocas Iniciadas"},
   488  	},
   489  	TopicRedemptionError: {
   490  		template: intl.Translation{T: "Erro encontrado enviado redenção no valor de %s %s no pedido %s"},
   491  		subject:  intl.Translation{T: "Erro na Redenção"},
   492  	},
   493  	TopicMatchComplete: {
   494  		template: intl.Translation{T: "Resgatado %s %s no pedido %s"},
   495  		subject:  intl.Translation{T: "Combinação Completa"},
   496  	},
   497  	TopicRefundFailure: {
   498  		template: intl.Translation{T: "Devolvidos %s %s no pedido %s, com algum erro"},
   499  		subject:  intl.Translation{T: "Erro no Reembolso"},
   500  	},
   501  	TopicMatchesRefunded: {
   502  		template: intl.Translation{T: "Devolvidos %s %s no pedido %s"},
   503  		subject:  intl.Translation{T: "Reembolso Sucedido"},
   504  	},
   505  	TopicMatchRevoked: {
   506  		template: intl.Translation{T: "Combinação %s foi revocada"},
   507  		subject:  intl.Translation{T: "Combinação Revocada"},
   508  	},
   509  	TopicOrderRevoked: {
   510  		template: intl.Translation{T: "Pedido %s no mercado %s em %s foi revocado pelo servidor"},
   511  		subject:  intl.Translation{T: "Pedido Revocado"},
   512  	},
   513  	TopicOrderAutoRevoked: {
   514  		template: intl.Translation{T: "Pedido %s no mercado %s em %s revocado por suspenção do mercado"},
   515  		subject:  intl.Translation{T: "Pedido Revocado Automatiamente"},
   516  	},
   517  	TopicMatchRecovered: {
   518  		template: intl.Translation{T: "Encontrado redenção do executador (%s: %v) e validado segredo para pedido %s"},
   519  		subject:  intl.Translation{T: "Pedido Recuperado"},
   520  	},
   521  	TopicCancellingOrder: {
   522  		template: intl.Translation{T: "Uma ordem de cancelamento foi submetida para o pedido %s"},
   523  		subject:  intl.Translation{T: "Cancelando Pedido"},
   524  	},
   525  	TopicOrderStatusUpdate: {
   526  		template: intl.Translation{T: "Status do pedido %v revisado de %v para %v"},
   527  		subject:  intl.Translation{T: "Status do Pedido Atualizado"},
   528  	},
   529  	TopicMatchResolutionError: {
   530  		template: intl.Translation{T: "%d combinações reportada para %s não foram encontradas para %s."},
   531  		subject:  intl.Translation{T: "Erro na Resolução do Pedido"},
   532  	},
   533  	TopicFailedCancel: {
   534  		template: intl.Translation{T: "Ordem de cancelamento para pedido %s presa em estado de Epoque por 2 epoques e foi agora deletado."},
   535  		subject:  intl.Translation{T: "Falhou Cancelamento"},
   536  	},
   537  	TopicAuditTrouble: {
   538  		template: intl.Translation{T: "Continua procurando por contrato de contrapartes para moeda %v (%s) para combinação %s. Sua internet e conexão com a carteira estão ok?"},
   539  		subject:  intl.Translation{T: "Problemas ao Auditar"},
   540  	},
   541  	TopicDexAuthError: {
   542  		template: intl.Translation{T: "%s: %v"},
   543  		subject:  intl.Translation{T: "Erro na Autenticação"},
   544  	},
   545  	TopicUnknownOrders: {
   546  		template: intl.Translation{T: "%d pedidos ativos reportados pela DEX %s não foram encontrados."},
   547  		subject:  intl.Translation{T: "DEX Reportou Pedidos Desconhecidos"},
   548  	},
   549  	TopicOrdersReconciled: {
   550  		template: intl.Translation{T: "Estados atualizados para %d pedidos."},
   551  		subject:  intl.Translation{T: "Pedidos Reconciliados com DEX"},
   552  	},
   553  	TopicWalletConfigurationUpdated: {
   554  		template: intl.Translation{T: "configuração para carteira %s foi atualizada. Endereço de depósito = %s"},
   555  		subject:  intl.Translation{T: "Configurações da Carteira Atualizada"},
   556  	},
   557  	TopicWalletPasswordUpdated: {
   558  		template: intl.Translation{T: "Senha para carteira %s foi atualizada."},
   559  		subject:  intl.Translation{T: "Senha da Carteira Atualizada"},
   560  	},
   561  	TopicMarketSuspendScheduled: {
   562  		template: intl.Translation{T: "Mercado %s em %s está agora agendado para suspensão em %v"},
   563  		subject:  intl.Translation{T: "Suspensão de Mercado Agendada"},
   564  	},
   565  	TopicMarketSuspended: {
   566  		template: intl.Translation{T: "Trocas no mercado %s em %s está agora suspenso."},
   567  		subject:  intl.Translation{T: "Mercado Suspenso"},
   568  	},
   569  	TopicMarketSuspendedWithPurge: {
   570  		template: intl.Translation{T: "Trocas no mercado %s em %s está agora suspenso. Todos pedidos no livro de ofertas foram agora EXPURGADOS."},
   571  		subject:  intl.Translation{T: "Mercado Suspenso, Pedidos Expurgados"},
   572  	},
   573  	TopicMarketResumeScheduled: {
   574  		template: intl.Translation{T: "Mercado %s em %s está agora agendado para resumir em %v"},
   575  		subject:  intl.Translation{T: "Resumo do Mercado Agendado"},
   576  	},
   577  	TopicMarketResumed: {
   578  		template: intl.Translation{T: "Mercado %s em %s foi resumido para trocas no epoque %d"},
   579  		subject:  intl.Translation{T: "Mercado Resumido"},
   580  	},
   581  	TopicUpgradeNeeded: {
   582  		template: intl.Translation{T: "Você pode precisar atualizar seu cliente para trocas em %s."},
   583  		subject:  intl.Translation{T: "Atualização Necessária"},
   584  	},
   585  	TopicDEXConnected: {
   586  		subject:  intl.Translation{T: "DEX conectado"},
   587  		template: intl.Translation{T: "%s está conectado"},
   588  	},
   589  	TopicDEXDisconnected: {
   590  		template: intl.Translation{T: "%s está desconectado"},
   591  		subject:  intl.Translation{T: "Server Disconectado"},
   592  	},
   593  	TopicPenalized: {
   594  		template: intl.Translation{T: "Penalidade de DEX em %s\núltima regra quebrada: %s\nhorário: %v\ndetalhes:\n\"%s\"\n"},
   595  		subject:  intl.Translation{T: "Server Penalizou Você"},
   596  	},
   597  	TopicSeedNeedsSaving: {
   598  		subject:  intl.Translation{T: "Não se esqueça de guardar a seed do app"},
   599  		template: intl.Translation{T: "Uma nova seed para a aplicação foi criada. Faça um backup agora na página de configurações."},
   600  	},
   601  	TopicUpgradedToSeed: {
   602  		subject:  intl.Translation{T: "Guardar nova seed do app"},
   603  		template: intl.Translation{T: "O cliente foi atualizado para usar uma seed. Faça backup dessa seed na página de configurações."},
   604  	},
   605  	TopicDEXNotification: {
   606  		subject:  intl.Translation{T: "Mensagem da DEX"},
   607  		template: intl.Translation{T: "%s: %s"},
   608  	},
   609  }
   610  
   611  // zhCN is the Simplified Chinese (PRC) translations.
   612  var zhCN = map[Topic]*translation{
   613  	TopicAccountRegistered: {
   614  		subject:  intl.Translation{T: "注册账户"},
   615  		template: intl.Translation{T: "您现在可以在 %s 进行交易"}, // alt. 您现在可以切换到 %s
   616  	},
   617  	TopicFeePaymentInProgress: {
   618  		subject:  intl.Translation{T: "费用支付中"},
   619  		template: intl.Translation{T: "在切换到 %s 之前等待 %d 次确认"}, // alt. 在 %s 交易之前等待 %d 确认
   620  	},
   621  	TopicRegUpdate: {
   622  		subject:  intl.Translation{T: "费用支付确认"}, // alt. 记录更新 (but not displayed)
   623  		template: intl.Translation{T: "%v/%v 费率确认"},
   624  	},
   625  	TopicFeePaymentError: {
   626  		subject:  intl.Translation{T: "费用支付错误"},
   627  		template: intl.Translation{T: "向 %s 支付费用时遇到错误: %v"}, // alt. 为 %s 支付费率时出错:%v
   628  	},
   629  	TopicAccountUnlockError: {
   630  		subject:  intl.Translation{T: "解锁钱包时出错"},
   631  		template: intl.Translation{T: "解锁帐户 %s 时出错: %v"}, // alt. 解锁 %s 的帐户时出错: %v
   632  	},
   633  	TopicFeeCoinError: {
   634  		subject:  intl.Translation{T: "汇率错误"},
   635  		template: intl.Translation{T: "%s 的空置率。"}, // alt. %s 的费用硬币为空。
   636  	},
   637  	TopicWalletConnectionWarning: {
   638  		subject:  intl.Translation{T: "钱包连接通知"},
   639  		template: intl.Translation{T: "检测到 %s 的注册不完整,无法连接 decred 钱包"}, // alt. 检测到 %s 的注册不完整,无法连接到 Decred 钱包
   640  	},
   641  	TopicWalletUnlockError: {
   642  		subject:  intl.Translation{T: "解锁钱包时出错"},
   643  		template: intl.Translation{T: "与 decred 钱包连接以在 %s 上完成注册,但无法解锁: %v"}, // alt. 已连接到 Decred 钱包以在 %s 完成注册,但无法解锁:%v
   644  	},
   645  	TopicSendError: {
   646  		subject:  intl.Translation{T: "提款错误"},
   647  		template: intl.Translation{T: "在 %s 提取过程中遇到错误: %v"}, // alt. 删除 %s 时遇到错误: %v
   648  	},
   649  	TopicSendSuccess: {
   650  		subject:  intl.Translation{T: "提款已发送"},
   651  		template: intl.Translation{T: "已成功发送 %s %s 到 %s。交易 ID = %s"}, // alt. %s %s (%s) 的提款已成功完成。硬币 ID = %s
   652  	},
   653  	TopicOrderLoadFailure: {
   654  		subject:  intl.Translation{T: "请求加载失败"},
   655  		template: intl.Translation{T: "某些订单无法从数据库加载:%v"}, // alt. 某些请求无法从数据库加载:
   656  	},
   657  	TopicYoloPlaced: {
   658  		subject:  intl.Translation{T: "下达市价单"},
   659  		template: intl.Translation{T: "以市场价格 (%[3]s) 出售 %[1]s %[2]s"},
   660  	},
   661  	// [qty, ticker, rate string, token], RETRANSLATE -> Retranslated.
   662  	TopicBuyOrderPlaced: {
   663  		subject:  intl.Translation{T: "已下订单"},
   664  		template: intl.Translation{T: "购买 %s %s,价格 = %s(%s)"},
   665  	},
   666  	TopicSellOrderPlaced: {
   667  		subject:  intl.Translation{T: "已下订单"},
   668  		template: intl.Translation{T: "卖出 %s %s,价格 = %s(%s)"}, // alt. Selling %s %s,值 = %s (%s)
   669  	},
   670  	TopicMissingMatches: {
   671  		subject:  intl.Translation{T: "订单缺失匹配"},
   672  		template: intl.Translation{T: "%[2]s 订单的 %[1]d 匹配项未被 %[3]q 报告并被视为已撤销"}, // alt. %d 订单 %s 的匹配没有被 %q 报告并被视为已撤销
   673  	},
   674  	TopicWalletMissing: {
   675  		subject:  intl.Translation{T: "丢失的钱包"},
   676  		template: intl.Translation{T: "活动订单 %s 的钱包检索错误: %v"}, // alt. 通过钱包 %s 检索活动订单时出错: %v
   677  	},
   678  	TopicMatchErrorCoin: {
   679  		subject:  intl.Translation{T: "货币不匹配错误"},
   680  		template: intl.Translation{T: "订单 %s 的组合 %s 处于状态 %s,但没有用于交换货币的运行程序。"}, // alt. 订单 %s 的匹配 %s 处于状态 %s,但没有交换硬币服务商。
   681  	},
   682  	TopicMatchErrorContract: {
   683  		subject:  intl.Translation{T: "合约组合错误"},
   684  		template: intl.Translation{T: "订单 %s 的匹配 %s 处于状态 %s,没有服务商交换合约。"},
   685  	},
   686  	TopicMatchRecoveryError: {
   687  		subject:  intl.Translation{T: "检索匹配时出错"},
   688  		template: intl.Translation{T: "在检索订单 %s: %v 的交易期间审核交易对手交易合约 (%s %v) 时出错"}, // ? 在订单 %s: %v 的交易恢复期间审核对方的交易合约 (%s %v) 时出错
   689  	},
   690  	TopicOrderCoinError: {
   691  		subject:  intl.Translation{T: "硬币订单错误"},
   692  		template: intl.Translation{T: "没有为活动订单 %s 记录资金硬币"}, // alt. 没有为活动订单 %s 注册资金货币
   693  	},
   694  	TopicOrderCoinFetchError: {
   695  		subject:  intl.Translation{T: "硬币订单恢复错误"},
   696  		template: intl.Translation{T: "检索订单 %s (%s) 的源硬币时出错: %v"}, // alt. 订单 %s (%s) 的源硬币检索错误: %v
   697  	},
   698  	TopicMissedCancel: {
   699  		subject:  intl.Translation{T: "丢失取消"},
   700  		template: intl.Translation{T: "取消订单与订单 %s 不匹配。如果取消订单与交易所同时发送,或者订单在取消订单执行之前已完全执行,则可能发生这种情况。"},
   701  	},
   702  	TopicBuyOrderCanceled: {
   703  		subject:  intl.Translation{T: "订单取消"},
   704  		template: intl.Translation{T: "在 %s-%s 上的买单 %s 已被取消(%s)"}, // alt. %s 上 %s-%s 上的 %s 请求已被取消 (%s)  alt2. 买入 %s-%s 的 %s 订单已被取消 (%s)
   705  	},
   706  	TopicSellOrderCanceled: {
   707  		subject:  intl.Translation{T: "订单取消"},
   708  		template: intl.Translation{T: "在 %s-%s 上的卖单,价格为 %s,已被取消(%s)"}, // alt. %s 上 %s-%s 上的 %s 请求已被取消 (%s)  alt2. 卖出 %s-%s 的 %s 订单已被取消 (%s)
   709  	},
   710  	TopicBuyMatchesMade: {
   711  		subject:  intl.Translation{T: "匹配完成"},
   712  		template: intl.Translation{T: "在 %s-%s 上的买单已完成 %.1f%%(%s)"}, // alt. %s 请求超过 %s-%s %.1f%% 已填充(%s)
   713  	},
   714  	TopicSellMatchesMade: {
   715  		subject:  intl.Translation{T: "匹配完成"},
   716  		template: intl.Translation{T: "在 %s-%s 上的卖单已完成 %.1f%%(%s)"}, // alt. %s 请求超过 %s-%s %.1f%% 已填充(%s) alt 2. 卖出 %s-%s %.1f%% 的订单已完成 (%s)
   717  	},
   718  	TopicSwapSendError: {
   719  		subject:  intl.Translation{T: "发送交换时出错"},
   720  		template: intl.Translation{T: "发送 %s 时遇到错误:%v"}, // ? 在订单 %s 上发送价值 %.8f %s 的交换输出时遇到错误
   721  	},
   722  	TopicInitError: {
   723  		subject:  intl.Translation{T: "交易错误"},
   724  		template: intl.Translation{T: "通知 DEX 匹配 %s 的交换时出错: %v"}, // alt. 错误通知 DEX %s 交换组合:%v
   725  	},
   726  	TopicReportRedeemError: {
   727  		subject:  intl.Translation{T: "报销错误"},
   728  		template: intl.Translation{T: "通知 DEX %s 赎回时出错: %v"},
   729  	},
   730  	TopicSwapsInitiated: {
   731  		subject:  intl.Translation{T: "发起交易"},
   732  		template: intl.Translation{T: "在订单 %[3]s 上发送价值 %[1]s %[2]s 的交易"}, // should mention "contract" (TODO) ? 已发送价值 %.8f %s 的交易,订单 %s
   733  	},
   734  	TopicRedemptionError: {
   735  		subject:  intl.Translation{T: "赎回错误"},
   736  		template: intl.Translation{T: "在订单 %[3]s 上发送价值 %[1]s %[2]s 的兑换时遇到错误"}, // alt. 在订单 %s 上发现发送价值 %.8f %s 的赎回错误
   737  	},
   738  	TopicMatchComplete: {
   739  		subject:  intl.Translation{T: "完全匹配"},
   740  		template: intl.Translation{T: "在订单 %s 上兑换了 %s %s"},
   741  	},
   742  	TopicRefundFailure: {
   743  		subject:  intl.Translation{T: "退款错误"},
   744  		template: intl.Translation{T: "按顺序 %[3]s 返回 %[1]s %[2]s,有一些错误"}, // alt. 退款%.8f%s的订单%S,但出现一些错误
   745  	},
   746  	TopicMatchesRefunded: {
   747  		subject:  intl.Translation{T: "退款成功"},
   748  		template: intl.Translation{T: "在订单 %[3]s 上返回了 %[1]s %[2]s"}, // 在订单 %s 上返回了 %.8f %s
   749  	},
   750  	TopicMatchRevoked: {
   751  		subject:  intl.Translation{T: "撤销组合"},
   752  		template: intl.Translation{T: "匹配 %s 已被撤销"}, // alt. 组合 %s 已被撤销
   753  	},
   754  	TopicOrderRevoked: {
   755  		subject:  intl.Translation{T: "撤销订单"},
   756  		template: intl.Translation{T: "%s 市场 %s 的订单 %s 已被服务器撤销"},
   757  	},
   758  	TopicOrderAutoRevoked: {
   759  		subject:  intl.Translation{T: "订单自动撤销"},
   760  		template: intl.Translation{T: "%s 市场 %s 上的订单 %s 由于市场暂停而被撤销"}, // alt. %s 市场 %s 中的订单 %s 被市场暂停撤销
   761  	},
   762  	TopicMatchRecovered: {
   763  		subject:  intl.Translation{T: "恢复订单"},
   764  		template: intl.Translation{T: "找到赎回 (%s: %v) 并验证了请求 %s 的秘密"},
   765  	},
   766  	TopicCancellingOrder: {
   767  		subject:  intl.Translation{T: "取消订单"},
   768  		template: intl.Translation{T: "已为订单 %s 提交了取消操作"}, // alt. 已为订单 %s 提交取消订单
   769  	},
   770  	TopicOrderStatusUpdate: {
   771  		subject:  intl.Translation{T: "订单状态更新"},
   772  		template: intl.Translation{T: "订单 %v 的状态从 %v 修改为 %v"}, // alt. 订单状态 %v 从 %v 修改为 %v
   773  	},
   774  	TopicMatchResolutionError: {
   775  		subject:  intl.Translation{T: "订单解析错误"},
   776  		template: intl.Translation{T: "没有为 %[3]s 找到为 %[2]s 报告的 %[1]d 个匹配项。请联系Decred社区以解决该问题。"}, // alt. %s 报告的 %d 个匹配项没有找到 %s。
   777  	},
   778  	TopicFailedCancel: {
   779  		subject:  intl.Translation{T: "取消失败"},
   780  		template: intl.Translation{T: "订单 %s 的取消请求失败,现已删除。订单 %s 的取消请求失败,现已删除。"}, // alt.   取消订单 %s 的订单 %s 处于 Epoque 状态 2 个 epoques,现在已被删除。
   781  	},
   782  	TopicAuditTrouble: {
   783  		subject:  intl.Translation{T: "审计时的问题"},
   784  		template: intl.Translation{T: "继续寻找组合 %[3]s 的货币 %[1]v (%[2]s) 的交易对手合约。您的互联网和钱包连接是否正常?"},
   785  	},
   786  	TopicDexAuthError: {
   787  		subject:  intl.Translation{T: "身份验证错误"},
   788  		template: intl.Translation{T: "%s: %v"},
   789  	},
   790  	TopicUnknownOrders: {
   791  		subject:  intl.Translation{T: "DEX 报告的未知请求"},
   792  		template: intl.Translation{T: "未找到 DEX %[2]s 报告的 %[1]d 个活动订单。"},
   793  	},
   794  	TopicOrdersReconciled: {
   795  		subject:  intl.Translation{T: "与 DEX 协调的订单"},
   796  		template: intl.Translation{T: "%d 个订单的更新状态。"}, // alt. %d 个订单的状态已更新。
   797  	},
   798  	TopicWalletConfigurationUpdated: {
   799  		subject:  intl.Translation{T: "更新的钱包设置a"},
   800  		template: intl.Translation{T: "钱包 %[1]s 的配置已更新。存款地址 = %[2]s"}, // alt. %s 钱包的配置已更新。存款地址 = %s
   801  	},
   802  	TopicWalletPasswordUpdated: {
   803  		subject:  intl.Translation{T: "钱包密码更新"},
   804  		template: intl.Translation{T: "钱包 %s 的密码已更新。"}, // alt. %s 钱包的密码已更新。
   805  	},
   806  	TopicMarketSuspendScheduled: {
   807  		subject:  intl.Translation{T: "市场暂停预定"},
   808  		template: intl.Translation{T: "%s 上的市场 %s 现在计划在 %v 暂停"},
   809  	},
   810  	TopicMarketSuspended: {
   811  		subject:  intl.Translation{T: "暂停市场"},
   812  		template: intl.Translation{T: "%s 的 %s 市场交易现已暂停。"}, // alt. %s 市场 %s 的交易现已暂停。
   813  	},
   814  	TopicMarketSuspendedWithPurge: {
   815  		subject:  intl.Translation{T: "暂停市场,清除订单"},
   816  		template: intl.Translation{T: "%s 的市场交易 %s 现已暂停。订单簿中的所有订单现已被删除。"}, // alt. %s 市场 %s 的交易现已暂停。所有预订的订单现在都已清除。
   817  	},
   818  	TopicMarketResumeScheduled: {
   819  		subject:  intl.Translation{T: "预定市场摘要"},
   820  		template: intl.Translation{T: "%s 上的市场 %s 现在计划在 %v 恢"},
   821  	},
   822  	TopicMarketResumed: {
   823  		subject:  intl.Translation{T: "总结市场"},
   824  		template: intl.Translation{T: "%[2]s 上的市场 %[1]s 已汇总用于时代 %[3]d 中的交易"}, // alt. M%s 的市场 %s 已在epoch %d 恢复交易
   825  	},
   826  	TopicUpgradeNeeded: {
   827  		subject:  intl.Translation{T: "需要更新"},
   828  		template: intl.Translation{T: "您可能需要更新您的帐户以进行 %s 的交易。"}, // alt. 您可能需要更新您的客户端以在 %s 进行交易。
   829  	},
   830  	TopicDEXConnected: {
   831  		subject:  intl.Translation{T: "DEX 连接"},
   832  		template: intl.Translation{T: "%s 已连接"},
   833  	},
   834  	TopicDEXDisconnected: {
   835  		subject:  intl.Translation{T: "服务器断开连接"},
   836  		template: intl.Translation{T: "%s 离线"}, // alt. %s 已断开连接
   837  	},
   838  	TopicPenalized: {
   839  		subject:  intl.Translation{T: "服务器惩罚了你"},
   840  		template: intl.Translation{T: "%s 上的 DEX 惩罚\n最后一条规则被破坏:%s \n时间: %v \n详细信息:\n \" %s \" \n"},
   841  	},
   842  	TopicSeedNeedsSaving: {
   843  		subject:  intl.Translation{T: "不要忘记备份你的应用程序种子"}, // alt. 别忘了备份应用程序种子
   844  		template: intl.Translation{T: "已创建新的应用程序种子。请立刻在设置界面中进行备份。"},
   845  	},
   846  	TopicUpgradedToSeed: {
   847  		subject:  intl.Translation{T: "备份您的新应用程序种子"},                   // alt. 备份新的应用程序种子
   848  		template: intl.Translation{T: "客户端已升级为使用应用程序种子。请切换至设置界面备份种子。"}, // alt. 客户端已升级。请在“设置”界面中备份种子。
   849  	},
   850  	TopicDEXNotification: {
   851  		subject:  intl.Translation{T: "来自DEX的消息"},
   852  		template: intl.Translation{T: "%s: %s"},
   853  	},
   854  	// Inserted
   855  	TopicDexConnectivity: {
   856  		subject:  intl.Translation{T: "互联网连接"},
   857  		template: intl.Translation{T: "您与 %s 的互联网连接不稳定,请检查您的网络连接", Notes: "args: [host]"},
   858  	},
   859  	TopicWalletPeersWarning: {
   860  		subject:  intl.Translation{T: "钱包网络问题"},
   861  		template: intl.Translation{T: "%v 钱包没有网络对等节点!", Notes: "args: [asset name]"},
   862  	},
   863  	TopicAsyncOrderFailure: {
   864  		subject:  intl.Translation{T: "订单处理错误"},
   865  		template: intl.Translation{T: "ID 为 %v 的正在处理订单失败:%v", Notes: "args: order ID, error]"},
   866  	},
   867  	TopicWalletCommsWarning: {
   868  		subject:  intl.Translation{T: "钱包连接问题"},
   869  		template: intl.Translation{T: "无法与 %v 钱包通信!原因:%v", Notes: "args: [asset name, error message]"},
   870  	},
   871  	TopicBondWalletNotConnected: {
   872  		subject:  intl.Translation{T: "债券钱包未连接"},
   873  		template: intl.Translation{T: "所选债券资产 %s 的钱包未连接"},
   874  	},
   875  	TopicOrderQuantityTooHigh: {
   876  		subject:  intl.Translation{T: "超出交易限制"},
   877  		template: intl.Translation{T: "订单数量超出 %s 当前的交易限制", Notes: "args: [host]"},
   878  	},
   879  	TopicWalletPeersRestored: {
   880  		subject:  intl.Translation{T: "钱包连接已恢复"},
   881  		template: intl.Translation{T: "%v 钱包已重新建立连接。", Notes: "args: [asset name]"},
   882  	},
   883  	// End Inserted
   884  	// START NEW
   885  	TopicQueuedCreationFailed: {
   886  		subject:  intl.Translation{T: "创建代币钱包失败"},
   887  		template: intl.Translation{T: "成功创建 %s 钱包后,创建 %s 钱包失败", Notes: "args: [parentSymbol, tokenSymbol]"},
   888  	},
   889  	TopicRedemptionResubmitted: {
   890  		subject:  intl.Translation{T: "赎回请求已重新提交"},
   891  		template: intl.Translation{T: "您在订单 %s 中的匹配 %s 赎回请求已重新提交"},
   892  	},
   893  	TopicSwapRefunded: {
   894  		subject:  intl.Translation{T: "兑换已退款"},
   895  		template: intl.Translation{T: "订单 %s 中的匹配 %s 已被对方退款"},
   896  	},
   897  	TopicRedemptionConfirmed: {
   898  		subject:  intl.Translation{T: "赎回已确认"},
   899  		template: intl.Translation{T: "您在订单 %s 中的匹配 %s 赎回请求已确认"},
   900  	},
   901  	TopicWalletTypeDeprecated: {
   902  		subject:  intl.Translation{T: "钱包已禁用"},
   903  		template: intl.Translation{T: "您的 %s 钱包类型不再受支持,请创建一个新钱包。"},
   904  	},
   905  	TopicOrderResumeFailure: {
   906  		subject:  intl.Translation{T: "恢复订单失败"},
   907  		template: intl.Translation{T: "恢复交易处理失败:%v"},
   908  	},
   909  	TopicBondConfirming: {
   910  		subject:  intl.Translation{T: "正在确认债券"},
   911  		template: intl.Translation{T: "正在等待 %d 个确认,以将债券 %v (%s) 发布到 %s", Notes: "args: [reqConfs, bondCoinStr, assetID, acct.host]"},
   912  	},
   913  	TopicBondConfirmed: {
   914  		subject:  intl.Translation{T: "债券已确认"},
   915  		template: intl.Translation{T: "新等级 = %d(目标等级 = %d)", Notes: "args: [effectiveTier, targetTier]"},
   916  	},
   917  	TopicBondExpired: {
   918  		subject:  intl.Translation{T: "债券已过期"},
   919  		template: intl.Translation{T: "新等级 = %d (目标 = %d)。", Notes: "args: [effectiveTier, targetTier]"},
   920  	},
   921  	TopicBondRefunded: {
   922  		subject:  intl.Translation{T: "债券已退款"},
   923  		template: intl.Translation{T: "债券 %v 为 %v 已退款,扣除交易费后追回 %v 的 %v", Notes: "args: [bondIDStr, acct.host, refundCoinStr, refundVal, Amount]"},
   924  	},
   925  	TopicBondPostError: {
   926  		subject:  intl.Translation{T: "债券发布错误"},
   927  		template: intl.Translation{T: "保税后 请求错误(将重试):%v (%T)", Notes: "args: [err, err]"},
   928  	},
   929  	TopicBondPostErrorConfirm: {
   930  		subject:  intl.Translation{T: "债券发布错误"},
   931  		template: intl.Translation{T: "在等待 %s 的债券确认时遇到错误:%v"},
   932  	},
   933  	TopicDexAuthErrorBond: {
   934  		subject:  intl.Translation{T: "身份验证错误"},
   935  		template: intl.Translation{T: "债券已确认,但连接验证失败:%v", Notes: "args: [err]"},
   936  	},
   937  	TopicAccountRegTier: {
   938  		subject:  intl.Translation{T: "账户已注册"},
   939  		template: intl.Translation{T: "新等级 = %d", Notes: "args: [effectiveTier]"},
   940  	},
   941  	TopicUnknownBondTierZero: {
   942  		subject: intl.Translation{T: "发现未知债券"},
   943  		template: intl.Translation{
   944  			T:     "发现未知的 %s 债券并已添加到活跃债券中,但在 %s 的 DEX 上您的目标等级为零。请在设置中设置您的目标等级,以便保持债券并启用自动续期。",
   945  			Notes: "args: [bond asset, dex host]",
   946  		},
   947  	},
   948  }
   949  
   950  var plPL = map[Topic]*translation{
   951  	TopicAccountRegistered: {
   952  		subject:  intl.Translation{T: "Konto zarejestrowane"},
   953  		template: intl.Translation{T: "Możesz teraz handlować na %s"},
   954  	},
   955  	TopicFeePaymentInProgress: {
   956  		subject:  intl.Translation{T: "Opłata rejestracyjna w drodze"},
   957  		template: intl.Translation{T: "Oczekiwanie na %d potwierdzeń przed rozpoczęciem handlu na %s"},
   958  	},
   959  	TopicRegUpdate: {
   960  		subject:  intl.Translation{T: "Aktualizacja rejestracji"},
   961  		template: intl.Translation{T: "Potwierdzenia opłaty rejestracyjnej %v/%v"},
   962  	},
   963  	TopicFeePaymentError: {
   964  		subject:  intl.Translation{T: "Błąd płatności rejestracyjnej"},
   965  		template: intl.Translation{T: "Wystąpił błąd przy płatności dla %s: %v"},
   966  	},
   967  	TopicAccountUnlockError: {
   968  		subject:  intl.Translation{T: "Błąd odblokowywania konta"},
   969  		template: intl.Translation{T: "błąd odblokowywania konta dla %s: %v"},
   970  	},
   971  	TopicFeeCoinError: {
   972  		subject:  intl.Translation{T: "Błąd w płatności rejestracyjnej"},
   973  		template: intl.Translation{T: "Nie znaleziono środków na płatność rejestracyjną dla %s."},
   974  	},
   975  	TopicWalletConnectionWarning: {
   976  		subject:  intl.Translation{T: "Ostrzeżenie połączenia z portfelem"},
   977  		template: intl.Translation{T: "Wykryto niedokończoną rejestrację dla %s, ale nie można połączyć się z portfelem Decred"},
   978  	},
   979  	TopicWalletUnlockError: {
   980  		subject:  intl.Translation{T: "Błąd odblokowywania portfela"},
   981  		template: intl.Translation{T: "Połączono z portfelem Decred, aby dokończyć rejestrację na %s, lecz próba odblokowania portfela nie powiodła się: %v"},
   982  	},
   983  	TopicSendError: {
   984  		subject:  intl.Translation{T: "Błąd wypłaty środków"},
   985  		template: intl.Translation{Version: 1, T: "Napotkano błąd przy wysyłaniu %s: %v"},
   986  	},
   987  	TopicSendSuccess: {
   988  		subject:  intl.Translation{T: "Wypłata zrealizowana"},
   989  		template: intl.Translation{Version: 1, T: "Wysyłka %s %s na adres %s została zakończona. Tx ID = %s"},
   990  	},
   991  	TopicOrderLoadFailure: {
   992  		subject:  intl.Translation{T: "Błąd wczytywania zleceń"},
   993  		template: intl.Translation{T: "Niektórych zleceń nie udało się wczytać z bazy danych: %v"},
   994  	},
   995  	TopicYoloPlaced: {
   996  		subject:  intl.Translation{T: "Złożono zlecenie rynkowe"},
   997  		template: intl.Translation{T: "sprzedaż %s %s po kursie rynkowym (%s)"},
   998  	},
   999  	TopicBuyOrderPlaced: {
  1000  		subject:  intl.Translation{T: "Złożono zlecenie"},
  1001  		template: intl.Translation{Version: 1, T: "Kupno %s %s, kurs = %s (%s)"},
  1002  	},
  1003  	TopicSellOrderPlaced: {
  1004  		subject:  intl.Translation{T: "Złożono zlecenie"},
  1005  		template: intl.Translation{Version: 1, T: "Sprzedaż %s %s, kurs = %s (%s)"},
  1006  	},
  1007  	TopicMissingMatches: {
  1008  		subject:  intl.Translation{T: "Brak spasowanych zamówień"},
  1009  		template: intl.Translation{T: "%d spasowań dla zlecenia %s nie zostało odnotowanych przez %q i są uznane za unieważnione"},
  1010  	},
  1011  	TopicWalletMissing: {
  1012  		subject:  intl.Translation{T: "Brak portfela"},
  1013  		template: intl.Translation{T: "Błąd odczytu z portfela dla aktywnego zlecenia %s: %v"},
  1014  	},
  1015  	TopicMatchErrorCoin: {
  1016  		subject:  intl.Translation{T: "Błąd spasowanej monety"},
  1017  		template: intl.Translation{T: "Spasowanie %s dla zlecenia %s jest w stanie %s, lecz brakuje monety po stronie maker."},
  1018  	},
  1019  	TopicMatchErrorContract: {
  1020  		subject:  intl.Translation{T: "Błąd kontraktu spasowania"},
  1021  		template: intl.Translation{T: "Spasowanie %s dla zlecenia %s jest w stanie %s, lecz brakuje kontraktu zamiany po stronie maker."},
  1022  	},
  1023  	TopicMatchRecoveryError: {
  1024  		subject:  intl.Translation{T: "Błąd odzyskiwania spasowania"},
  1025  		template: intl.Translation{T: "Błąd przy audycie kontraktu zamiany u kontrahenta (%s %v) podczas odzyskiwania zamiany dla zlecenia %s: %v"},
  1026  	},
  1027  	TopicOrderCoinError: {
  1028  		subject:  intl.Translation{T: "Błąd monety dla zlecenia"},
  1029  		template: intl.Translation{T: "Nie znaleziono środków fundujących dla aktywnego zlecenia %s"},
  1030  	},
  1031  	TopicOrderCoinFetchError: {
  1032  		subject:  intl.Translation{T: "Błąd pozyskania środków dla zlecenia"},
  1033  		template: intl.Translation{T: "Błąd pozyskania środków źródłowych dla zlecenia %s (%s): %v"},
  1034  	},
  1035  	TopicMissedCancel: {
  1036  		subject:  intl.Translation{T: "Spóźniona anulacja"},
  1037  		template: intl.Translation{T: "Zlecenie anulacji nie zostało spasowane dla zlecenia %s. Może to mieć miejsce, gdy zlecenie anulacji wysłane jest w tej samej epoce, co zlecenie handlu, lub gdy zlecenie handlu zostaje w pełni wykonane przed spasowaniem ze zleceniem anulacji."},
  1038  	},
  1039  	TopicBuyOrderCanceled: {
  1040  		subject:  intl.Translation{T: "Zlecenie anulowane"},
  1041  		template: intl.Translation{Version: 1, T: "Zlecenie kupna na parze %s-%s po kursie %s zostało anulowane (%s)"},
  1042  	},
  1043  	TopicSellOrderCanceled: {
  1044  		subject:  intl.Translation{T: "Zlecenie anulowane"},
  1045  		template: intl.Translation{Version: 1, T: "Zlecenie sprzedaży na parze %s-%s po kursie %s zostało anulowane (%s)"},
  1046  	},
  1047  	TopicSellMatchesMade: {
  1048  		subject:  intl.Translation{T: "Dokonano spasowania"},
  1049  		template: intl.Translation{Version: 1, T: "Zlecenie sprzedaży na parze %s-%s wypełnione w %.1f%% (%s)"},
  1050  	},
  1051  	TopicBuyMatchesMade: {
  1052  		subject:  intl.Translation{T: "Dokonano spasowania"},
  1053  		template: intl.Translation{Version: 1, T: "Zlecenie kupna na parze %s-%s wypełnione w %.1f%% (%s)"},
  1054  	},
  1055  	TopicSwapSendError: {
  1056  		subject:  intl.Translation{T: "Błąd wysyłki środków"},
  1057  		template: intl.Translation{T: "Błąd przy wysyłaniu środków wartych %s %s dla zlecenia %s"},
  1058  	},
  1059  	TopicInitError: {
  1060  		subject:  intl.Translation{T: "Błąd raportowania zamiany"},
  1061  		template: intl.Translation{T: "Błąd powiadomienia DEX o zamianie dla spasowania %s: %v"},
  1062  	},
  1063  	TopicReportRedeemError: {
  1064  		subject:  intl.Translation{T: "Błąd raportowania wykupienia"},
  1065  		template: intl.Translation{T: "Błąd powiadomienia DEX o wykupieniu środków dla spasowania %s: %v"},
  1066  	},
  1067  	TopicSwapsInitiated: {
  1068  		subject:  intl.Translation{T: "Zamiana rozpoczęta"},
  1069  		template: intl.Translation{T: "Wysłano środki o wartości %s %s dla zlecenia %s"},
  1070  	},
  1071  	TopicRedemptionError: {
  1072  		subject:  intl.Translation{T: "Błąd wykupienia"},
  1073  		template: intl.Translation{T: "Napotkano błąd przy wykupywaniu środków o wartości %s %s dla zlecenia %s"},
  1074  	},
  1075  	TopicMatchComplete: {
  1076  		subject:  intl.Translation{T: "Spasowanie zakończone"},
  1077  		template: intl.Translation{T: "Wykupiono %s %s ze zlecenia %s"},
  1078  	},
  1079  	TopicRefundFailure: {
  1080  		subject:  intl.Translation{T: "Niepowodzenie zwrotu środków"},
  1081  		template: intl.Translation{T: "Zwrócono %s %s za zlecenie %s, z pewnymi błędami"},
  1082  	},
  1083  	TopicMatchesRefunded: {
  1084  		subject:  intl.Translation{T: "Zwrot środków za spasowanie zleceń"},
  1085  		template: intl.Translation{T: "Zwrócono %s %s za zlecenie %s"},
  1086  	},
  1087  	TopicMatchRevoked: {
  1088  		subject:  intl.Translation{T: "Spasowanie zleceń unieważnione"},
  1089  		template: intl.Translation{T: "Spasowanie %s zostało unieważnione"},
  1090  	},
  1091  	TopicOrderRevoked: {
  1092  		subject:  intl.Translation{T: "Zlecenie unieważnione"},
  1093  		template: intl.Translation{T: "Zlecenie %s na rynku %s na %s zostało unieważnione przez serwer"},
  1094  	},
  1095  	TopicOrderAutoRevoked: {
  1096  		subject:  intl.Translation{T: "Zlecenie unieważnione automatycznie"},
  1097  		template: intl.Translation{T: "Zlecenie %s na rynku %s na %s zostało unieważnione z powodu wstrzymania handlu na tym rynku"},
  1098  	},
  1099  	TopicMatchRecovered: {
  1100  		subject:  intl.Translation{T: "Odzyskano spasowanie"},
  1101  		template: intl.Translation{T: "Odnaleziono wykup ze strony maker (%s: %v) oraz potwierdzono sekret dla spasowania %s"},
  1102  	},
  1103  	TopicCancellingOrder: {
  1104  		subject:  intl.Translation{T: "Anulowanie zlecenia"},
  1105  		template: intl.Translation{T: "Złożono polecenie anulowania dla zlecenia %s"},
  1106  	},
  1107  	TopicOrderStatusUpdate: {
  1108  		subject:  intl.Translation{T: "Aktualizacja statusu zlecenia"},
  1109  		template: intl.Translation{T: "Status zlecenia %v został zmieniony z %v na %v"},
  1110  	},
  1111  	TopicMatchResolutionError: {
  1112  		subject:  intl.Translation{T: "Błąd rozstrzygnięcia spasowania"},
  1113  		template: intl.Translation{T: "Nie znaleziono %d spasowań odnotowanych przez %s dla %s."},
  1114  	},
  1115  	TopicFailedCancel: {
  1116  		subject:  intl.Translation{T: "Niepowodzenie anulowania"},
  1117  		template: intl.Translation{Version: 1, T: "Polecenie anulacji dla zamówienia %s nie powiodło się i zostało usunięte."},
  1118  	},
  1119  	TopicAuditTrouble: {
  1120  		subject:  intl.Translation{T: "Problem z audytem"},
  1121  		template: intl.Translation{T: "Wciąż szukamy monety kontraktowej kontrahenta %v (%s) dla spasowania %s. Czy Twoje połączenie z Internetem i portfelem jest dobre?"},
  1122  	},
  1123  	TopicDexAuthError: {
  1124  		subject:  intl.Translation{T: "Błąd uwierzytelniania DEX"},
  1125  		template: intl.Translation{T: "%s: %v"},
  1126  	},
  1127  	TopicUnknownOrders: {
  1128  		subject:  intl.Translation{T: "DEX odnotował nieznane zlecenia"},
  1129  		template: intl.Translation{T: "Nie znaleziono %d aktywnych zleceń odnotowanych przez DEX %s."},
  1130  	},
  1131  	TopicOrdersReconciled: {
  1132  		subject:  intl.Translation{T: "Pogodzono zlecenia z DEX"},
  1133  		template: intl.Translation{T: "Zaktualizowano statusy dla %d zleceń."},
  1134  	},
  1135  	TopicWalletConfigurationUpdated: {
  1136  		subject:  intl.Translation{T: "Zaktualizowano konfigurację portfela"},
  1137  		template: intl.Translation{T: "Konfiguracja dla portfela %s została zaktualizowana. Adres do depozytów = %s"},
  1138  	},
  1139  	TopicWalletPasswordUpdated: {
  1140  		subject:  intl.Translation{T: "Zaktualizowano hasło portfela"},
  1141  		template: intl.Translation{T: "Hasło dla portfela %s zostało zaktualizowane."},
  1142  	},
  1143  	TopicMarketSuspendScheduled: {
  1144  		subject:  intl.Translation{T: "Planowane zawieszenie rynku"},
  1145  		template: intl.Translation{T: "Rynek %s na %s zostanie wstrzymany o %v"},
  1146  	},
  1147  	TopicMarketSuspended: {
  1148  		subject:  intl.Translation{T: "Rynek wstrzymany"},
  1149  		template: intl.Translation{T: "Handel na rynku %s na %s jest obecnie wstrzymany."},
  1150  	},
  1151  	TopicMarketSuspendedWithPurge: {
  1152  		subject:  intl.Translation{T: "Rynek wstrzymany, księga zamówień wyczyszczona"},
  1153  		template: intl.Translation{T: "Handel na rynku %s na %s jest obecnie wstrzymany. Wszystkie złożone zamówienia zostały WYCOFANE."},
  1154  	},
  1155  	TopicMarketResumeScheduled: {
  1156  		subject:  intl.Translation{T: "Planowane wznowienie rynku"},
  1157  		template: intl.Translation{T: "Rynek %s na %s zostanie wznowiony o %v"},
  1158  	},
  1159  	TopicMarketResumed: {
  1160  		subject:  intl.Translation{T: "Rynek wznowiony"},
  1161  		template: intl.Translation{T: "Rynek %s na %s wznowił handel w epoce %d"},
  1162  	},
  1163  	TopicUpgradeNeeded: {
  1164  		subject:  intl.Translation{T: "Wymagana aktualizacja"},
  1165  		template: intl.Translation{T: "Aby handlować na %s wymagana jest aktualizacja klienta."},
  1166  	},
  1167  	TopicDEXConnected: {
  1168  		subject:  intl.Translation{T: "Połączono z serwerem"},
  1169  		template: intl.Translation{T: "Połączono z %s"},
  1170  	},
  1171  	TopicDEXDisconnected: {
  1172  		subject:  intl.Translation{T: "Rozłączono z serwerem"},
  1173  		template: intl.Translation{T: "Rozłączono z %s"},
  1174  	},
  1175  	TopicPenalized: {
  1176  		subject:  intl.Translation{T: "Serwer ukarał Cię punktami karnymi"},
  1177  		template: intl.Translation{T: "Punkty karne od serwera DEX na %s\nostatnia złamana reguła: %s\nczas: %v\nszczegóły:\n\"%s\"\n"},
  1178  	},
  1179  	TopicSeedNeedsSaving: {
  1180  		subject:  intl.Translation{T: "Nie zapomnij zrobić kopii ziarna aplikacji"},
  1181  		template: intl.Translation{T: "Utworzono nowe ziarno aplikacji. Zrób jego kopię w zakładce ustawień."},
  1182  	},
  1183  	TopicUpgradedToSeed: {
  1184  		subject:  intl.Translation{T: "Zrób kopię nowego ziarna aplikacji"},
  1185  		template: intl.Translation{T: "Klient został zaktualizowany, by korzystać z ziarna aplikacji. Zrób jego kopię w zakładce ustawień."},
  1186  	},
  1187  	TopicDEXNotification: {
  1188  		subject:  intl.Translation{T: "Wiadomość od DEX"},
  1189  		template: intl.Translation{T: "%s: %s"},
  1190  	},
  1191  	TopicBondExpired: {
  1192  		subject:  intl.Translation{T: "Kaucja wygasła"},
  1193  		template: intl.Translation{T: "Nowy poziom = %d (docelowy = %d)."},
  1194  	},
  1195  	TopicRedemptionConfirmed: {
  1196  		subject:  intl.Translation{T: "Wykup potwierdzony"},
  1197  		template: intl.Translation{T: "Twój wykup środków dla sparowania %s w zamówieniu %s został potwierdzony"},
  1198  	},
  1199  	TopicWalletCommsWarning: {
  1200  		subject:  intl.Translation{T: "Problem z połączeniem portfela"},
  1201  		template: intl.Translation{T: "Nie można połączyć się z portfelem %v! Powód: %v"},
  1202  	},
  1203  	TopicAccountRegTier: {
  1204  		subject:  intl.Translation{T: "Konto zarejestrowane"},
  1205  		template: intl.Translation{T: "Nowy poziom = %d"},
  1206  	},
  1207  	TopicBondPostError: {
  1208  		subject:  intl.Translation{T: "Błąd wpłaty kaucji"},
  1209  		template: intl.Translation{T: "błąd wpłaty kaucji (zostanie wykonana ponowna próba): %v (%T)"},
  1210  	},
  1211  	TopicBondConfirming: {
  1212  		subject:  intl.Translation{T: "Potwierdzanie kaucji"},
  1213  		template: intl.Translation{T: "Oczekiwanie na %d potwierdzeń do wpłaty kaucji %v (%s) na rzecz %s"},
  1214  	},
  1215  	TopicQueuedCreationFailed: {
  1216  		subject:  intl.Translation{T: "Tworzenie portfela tokenu nie powiodło się"},
  1217  		template: intl.Translation{T: "Po utworzeniu portfela %s, utworzenie portfela %s nie powiodło się"},
  1218  	},
  1219  	TopicWalletPeersRestored: {
  1220  		subject:  intl.Translation{T: "Przywrócono łączność z portfelem"},
  1221  		template: intl.Translation{T: "Portfel %v odzyskał połączenie."},
  1222  	},
  1223  	TopicWalletTypeDeprecated: {
  1224  		subject:  intl.Translation{T: "Portfel wyłączony"},
  1225  		template: intl.Translation{T: "Twój portfel %s nie jest już wspierany. Utwórz nowy portfel."},
  1226  	},
  1227  	TopicRedemptionResubmitted: {
  1228  		subject:  intl.Translation{T: "Wykup środków wysłany ponownie"},
  1229  		template: intl.Translation{T: "Twój wykup środków dla sparowania %s został wysłany ponownie."},
  1230  	},
  1231  	TopicBondRefunded: {
  1232  		subject:  intl.Translation{T: "Kaucja zwrócona"},
  1233  		template: intl.Translation{T: "Kaucja %v dla %v zrefundowana w %v, zwraca %v z %v po opłatach transakcyjnych"},
  1234  	},
  1235  	TopicOrderResumeFailure: {
  1236  		subject:  intl.Translation{T: "Zlecenie wznowienia nie powiodło się"},
  1237  		template: intl.Translation{T: "Wznowienie przetwarzania wymiany nie powiodło się: %"},
  1238  	},
  1239  	TopicWalletPeersWarning: {
  1240  		subject:  intl.Translation{T: "Problem z siecią portfela"},
  1241  		template: intl.Translation{T: "Portfel %v nie ma połączeń z resztą sieci (peer)!"},
  1242  	},
  1243  	TopicDexConnectivity: {
  1244  		subject:  intl.Translation{T: "Łączność z Internetem"},
  1245  		template: intl.Translation{T: "Twoje połączenie z %s jest niestabilne. Sprawdź połączenie z Internetem"},
  1246  	},
  1247  	TopicAsyncOrderFailure: {
  1248  		subject:  intl.Translation{T: "Błąd składania zamówienia"},
  1249  		template: intl.Translation{T: "Składanie zamówienia o ID %v nie powiodło się: %v"},
  1250  	},
  1251  	TopicUnknownBondTierZero: {
  1252  		subject:  intl.Translation{T: "Znaleziono nieznaną kaucję"},
  1253  		template: intl.Translation{T: "Znaleziono nieznane kaucje %s i dodano je do aktywnych, ale Twój poziom handlu dla %s wynosi zero. Ustaw poziom docelowy w menu Ustawień, aby podtrzymać kaucje poprzez autoodnawianie."},
  1254  	},
  1255  	TopicDexAuthErrorBond: {
  1256  		subject:  intl.Translation{T: "Błąd uwierzytelnienia"},
  1257  		template: intl.Translation{T: "Kaucja została potwierdzona, ale uwierzytelnienie połączenia nie powiodło się: %v"},
  1258  	},
  1259  	TopicBondConfirmed: {
  1260  		subject:  intl.Translation{T: "Kaucja potwierdzona"},
  1261  		template: intl.Translation{T: "Nowy poziom = %d (docelowy = %d)."},
  1262  	},
  1263  	TopicBondPostErrorConfirm: {
  1264  		subject:  intl.Translation{T: "Błąd wpłaty kaucji"},
  1265  		template: intl.Translation{T: "Napotkano błąd podczas oczekiwania na potwierdzenia kaucji dla %s: %v"},
  1266  	},
  1267  	TopicBondWalletNotConnected: {
  1268  		subject:  intl.Translation{T: "Brak połączenia z portfelem kaucji"},
  1269  		template: intl.Translation{T: "Portfel dla wybranej waluty kaucji %s nie jest połączony"},
  1270  	},
  1271  	TopicOrderQuantityTooHigh: {
  1272  		subject:  intl.Translation{T: "Przekroczono limit handlu"},
  1273  		template: intl.Translation{T: "Kwota zamówienia przekracza aktualny limit handlowy na %s"},
  1274  	},
  1275  	TopicSwapRefunded: {
  1276  		subject:  intl.Translation{T: "Swap zrefundowany"},
  1277  		template: intl.Translation{T: "Sparowanie %s w zamówieniu %s zostało zwrócone przez kontrahenta."},
  1278  	},
  1279  }
  1280  
  1281  // deDE is the German translations.
  1282  var deDE = map[Topic]*translation{
  1283  	TopicAccountRegistered: {
  1284  		subject:  intl.Translation{T: "Account registeriert"},
  1285  		template: intl.Translation{T: "Du kannst nun auf %s handeln"},
  1286  	},
  1287  	TopicFeePaymentInProgress: {
  1288  		subject:  intl.Translation{T: "Abwicklung der Registrationsgebühr"},
  1289  		template: intl.Translation{T: "Warten auf %d Bestätigungen bevor mit dem Handel bei %s begonnen werden kann"},
  1290  	},
  1291  	TopicRegUpdate: {
  1292  		subject:  intl.Translation{T: "Aktualisierung der Registration"},
  1293  		template: intl.Translation{T: "%v/%v Bestätigungen der Registrationsgebühr"},
  1294  	},
  1295  	TopicFeePaymentError: {
  1296  		subject:  intl.Translation{T: "Fehler bei der Zahlung der Registrationsgebühr"},
  1297  		template: intl.Translation{T: "Bei der Zahlung der Registrationsgebühr für %s trat ein Fehler auf: %v"},
  1298  	},
  1299  	TopicAccountUnlockError: {
  1300  		subject:  intl.Translation{T: "Fehler beim Entsperren des Accounts"},
  1301  		template: intl.Translation{T: "Fehler beim Entsperren des Accounts für %s: %v"},
  1302  	},
  1303  	TopicFeeCoinError: {
  1304  		subject:  intl.Translation{T: "Coin Fehler bei Registrationsgebühr"},
  1305  		template: intl.Translation{T: "Fehlende Coin Angabe für Registrationsgebühr bei %s."},
  1306  	},
  1307  	TopicWalletConnectionWarning: {
  1308  		subject:  intl.Translation{T: "Warnung bei Wallet Verbindung"},
  1309  		template: intl.Translation{T: "Unvollständige Registration für %s erkannt, konnte keine Verbindung zum Decred Wallet herstellen"},
  1310  	},
  1311  	TopicBondWalletNotConnected: {
  1312  		subject:  intl.Translation{T: "Kautions-Wallet nicht verbunden"},
  1313  		template: intl.Translation{T: "Das Wallet für den ausgewählten Coin %s zur Bezahlung der Kaution ist nicht verbunden"},
  1314  	},
  1315  	TopicWalletUnlockError: {
  1316  		subject:  intl.Translation{T: "Fehler beim Entsperren des Wallet"},
  1317  		template: intl.Translation{T: "Verbunden zum Wallet um die Registration bei %s abzuschließen, ein Fehler beim entsperren des Wallet ist aufgetreten: %v"},
  1318  	},
  1319  	TopicWalletCommsWarning: {
  1320  		subject:  intl.Translation{T: "Probleme mit der Verbindung zum Wallet"},
  1321  		template: intl.Translation{T: "Kommunikation mit dem %v Wallet nicht möglich! Grund: %q"},
  1322  	},
  1323  	TopicWalletPeersWarning: {
  1324  		subject:  intl.Translation{T: "Problem mit dem Wallet-Netzwerk"},
  1325  		template: intl.Translation{T: "%v Wallet hat keine Netzwerk-Peers!"},
  1326  	},
  1327  	TopicWalletPeersRestored: {
  1328  		subject:  intl.Translation{T: "Wallet-Konnektivität wiederhergestellt"},
  1329  		template: intl.Translation{T: "Die Verbindung mit dem %v Wallet wurde wiederhergestellt."},
  1330  	},
  1331  	TopicSendError: {
  1332  		subject:  intl.Translation{T: "Sendefehler"},
  1333  		template: intl.Translation{T: "Fehler beim senden von %s aufgetreten: %v"},
  1334  	},
  1335  	TopicSendSuccess: {
  1336  		subject:  intl.Translation{T: "Erfolgreich gesendet"},
  1337  		template: intl.Translation{T: "Das Senden von %s wurde erfolgreich abgeschlossen. Coin ID = %s"},
  1338  	},
  1339  	TopicAsyncOrderFailure: {
  1340  		subject:  intl.Translation{T: "In-Flight Order Error"},
  1341  		template: intl.Translation{T: "In-Flight Auftrag mit ID %v fehlgeschlagen: %v", Notes: "args: order ID, error]"},
  1342  	},
  1343  	TopicOrderQuantityTooHigh: {
  1344  		subject:  intl.Translation{T: "Trade limit exceeded"},
  1345  		template: intl.Translation{T: "Auftragsmenge überschreited aktuelles Handelslimit bei %s", Notes: "args: [host]"},
  1346  	},
  1347  	TopicOrderLoadFailure: {
  1348  		subject:  intl.Translation{T: "Fehler beim Laden der Aufträge"},
  1349  		template: intl.Translation{T: "Einige Aufträge konnten nicht aus der Datenbank geladen werden: %v"},
  1350  	},
  1351  	TopicYoloPlaced: {
  1352  		subject:  intl.Translation{T: "Marktauftrag platziert"},
  1353  		template: intl.Translation{T: "Verkaufe %s %s zum Marktpreis (%s)"},
  1354  	},
  1355  	TopicBuyOrderPlaced: {
  1356  		subject:  intl.Translation{T: "Auftrag platziert"},
  1357  		template: intl.Translation{T: "Buying %s %s, Kurs = %s (%s)"},
  1358  	},
  1359  	TopicSellOrderPlaced: {
  1360  		subject:  intl.Translation{T: "Auftrag platziert"},
  1361  		template: intl.Translation{T: "Selling %s %s, Kurs = %s (%s)"},
  1362  	},
  1363  	TopicMissingMatches: {
  1364  		subject:  intl.Translation{T: "Fehlende Matches"},
  1365  		template: intl.Translation{T: "%d Matches für den Auftrag %s wurden nicht von %q gemeldet und gelten daher als widerrufen"},
  1366  	},
  1367  	TopicWalletMissing: {
  1368  		subject:  intl.Translation{T: "Wallet fehlt"},
  1369  		template: intl.Translation{T: "Fehler bei der Wallet-Abfrage für den aktiven Auftrag %s: %v"},
  1370  	},
  1371  	TopicMatchErrorCoin: {
  1372  		subject:  intl.Translation{T: "Fehler beim Coin Match"},
  1373  		template: intl.Translation{T: "Match %s für den Auftrag %s hat den Status %s, hat aber keine Coins für den Swap vom Maker gefunden."},
  1374  	},
  1375  	TopicMatchErrorContract: {
  1376  		subject:  intl.Translation{T: "Fehler beim Match Kontrakt"},
  1377  		template: intl.Translation{T: "Match %s für Auftrag %s hat den Status %s, hat aber keinen passenden Maker Swap Kontrakt."},
  1378  	},
  1379  	TopicMatchRecoveryError: {
  1380  		subject:  intl.Translation{T: "Fehler bei Match Wiederherstellung"},
  1381  		template: intl.Translation{T: "Fehler bei der Prüfung des Swap-Kontrakts der Gegenpartei (%s %v) während der Wiederherstellung des Auftrags %s: %v"},
  1382  	},
  1383  	TopicOrderCoinError: {
  1384  		subject:  intl.Translation{T: "Fehler bei den Coins für einen Auftrag"},
  1385  		template: intl.Translation{T: "Keine Coins zur Finanzierung des aktiven Auftrags %s gefunden"},
  1386  	},
  1387  	TopicOrderCoinFetchError: {
  1388  		subject:  intl.Translation{T: "Fehler beim Abruf der Coins für den Auftrag"},
  1389  		template: intl.Translation{T: "Beim Abruf der Coins als Quelle für den Auftrag %s (%s) ist ein Fehler aufgetreten: %v"},
  1390  	},
  1391  	TopicMissedCancel: {
  1392  		subject:  intl.Translation{T: "Abbruch verpasst"},
  1393  		template: intl.Translation{T: "Der Abbruch passt nicht zum Auftrag %s. Dies kann passieren wenn der Abbruch in der gleichen Epoche wie der Abschluss übermittelt wird oder wenn der Zielauftrag vollständig ausgeführt wird bevor er mit dem Abbruch gematcht werden konnte."},
  1394  	},
  1395  	TopicBuyOrderCanceled: {
  1396  		subject:  intl.Translation{T: "Auftrag abgebrochen"},
  1397  		template: intl.Translation{T: "Auftrag für %s-%s bei %s wurde abgebrochen (%s)"},
  1398  	},
  1399  	TopicSellOrderCanceled: {
  1400  		subject:  intl.Translation{T: "Auftrag abgebrochen"},
  1401  		template: intl.Translation{T: "Auftrag für %s-%s bei %s wurde abgebrochen (%s)"},
  1402  	},
  1403  	TopicBuyMatchesMade: {
  1404  		subject:  intl.Translation{T: "Matches durchgeführt"},
  1405  		template: intl.Translation{T: "Auftrag für %s-%s %.1f%% erfüllt (%s)"},
  1406  	},
  1407  	TopicSellMatchesMade: {
  1408  		subject:  intl.Translation{T: "Matches durchgeführt"},
  1409  		template: intl.Translation{T: "Auftrag für %s-%s %.1f%% erfüllt (%s)"},
  1410  	},
  1411  	TopicSwapSendError: {
  1412  		subject:  intl.Translation{T: "Fehler beim Senden des Swaps"},
  1413  		template: intl.Translation{T: "Beim Senden des Swap Output(s) im Wert von %s %s für den Auftrag %s"},
  1414  	},
  1415  	TopicInitError: {
  1416  		subject:  intl.Translation{T: "Fehler beim Swap Reporting"},
  1417  		template: intl.Translation{T: "Fehler bei der Benachrichtigung des Swaps an den DEX für den Match %s: %v"},
  1418  	},
  1419  	TopicReportRedeemError: {
  1420  		subject:  intl.Translation{T: "Fehler beim Redeem Reporting"},
  1421  		template: intl.Translation{T: "Fehler bei der Benachrichtigung des DEX für die Redemption des Match %s: %v"},
  1422  	},
  1423  	TopicSwapsInitiated: {
  1424  		subject:  intl.Translation{T: "Swaps initiiert"},
  1425  		template: intl.Translation{T: "Swaps im Wert von %s %s für den Auftrag %s gesendet"},
  1426  	},
  1427  	TopicRedemptionError: {
  1428  		subject:  intl.Translation{T: "Fehler bei der Redemption"},
  1429  		template: intl.Translation{T: "Fehler beim Senden von Redemptions im Wert von %s %s für Auftrag %s"},
  1430  	},
  1431  	TopicMatchComplete: {
  1432  		subject:  intl.Translation{T: "Match abgeschlossen"},
  1433  		template: intl.Translation{T: "Redeemed %s %s für Auftrag %s"},
  1434  	},
  1435  	TopicRefundFailure: {
  1436  		subject:  intl.Translation{T: "Fehler bei der Erstattung"},
  1437  		template: intl.Translation{T: "%s %s für Auftrag %s erstattet, mit einigen Fehlern"},
  1438  	},
  1439  	TopicMatchesRefunded: {
  1440  		subject:  intl.Translation{T: "Matches Erstattet"},
  1441  		template: intl.Translation{T: "%s %s für Auftrag %s erstattet"},
  1442  	},
  1443  	TopicMatchRevoked: {
  1444  		subject:  intl.Translation{T: "Match widerrufen"},
  1445  		template: intl.Translation{T: "Match %s wurde widerrufen"},
  1446  	},
  1447  	TopicOrderRevoked: {
  1448  		subject:  intl.Translation{T: "Auftrag widerrufen"},
  1449  		template: intl.Translation{T: "Der Auftrag %s für den %s Markt bei %s wurde vom Server widerrufen"},
  1450  	},
  1451  	TopicOrderAutoRevoked: {
  1452  		subject:  intl.Translation{T: "Auftrag automatisch widerrufen"},
  1453  		template: intl.Translation{T: "Der Auftrag %s für den %s Markt bei %s wurde wegen Aussetzung des Marktes widerrufen"},
  1454  	},
  1455  	TopicMatchRecovered: {
  1456  		subject:  intl.Translation{T: "Match wiederhergestellt"},
  1457  		template: intl.Translation{T: "Die Redemption (%s: %v) des Anbieters wurde gefunden und das Geheimnis für Match %s verifiziert"},
  1458  	},
  1459  	TopicCancellingOrder: {
  1460  		subject:  intl.Translation{T: "Auftrag abgebrochen"},
  1461  		template: intl.Translation{T: "Der Auftrag %s wurde abgebrochen"},
  1462  	},
  1463  	TopicOrderStatusUpdate: {
  1464  		subject:  intl.Translation{T: "Aktualisierung des Auftragsstatus"},
  1465  		template: intl.Translation{T: "Status des Auftrags %v geändert von %v auf %v"},
  1466  	},
  1467  	TopicMatchResolutionError: {
  1468  		subject:  intl.Translation{T: "Fehler bei der Auflösung für Match"},
  1469  		template: intl.Translation{T: "%d Matches durch %s gemeldet wurden für %s nicht gefunden."},
  1470  	},
  1471  	TopicFailedCancel: {
  1472  		subject: intl.Translation{T: "Failed cancel"},
  1473  		template: intl.Translation{
  1474  			Version: 1,
  1475  			T:       "Order Abbruch für %s fehlgeschlagen und wurde nun gelöscht.",
  1476  			Notes: `args: [token], "failed" means we missed the preimage request ` +
  1477  				`and either got the revoke_order message or it stayed in epoch status for too long.`,
  1478  		},
  1479  	},
  1480  	TopicAuditTrouble: {
  1481  		subject:  intl.Translation{T: "Audit-Probleme"},
  1482  		template: intl.Translation{T: "Immernoch auf der Suche den Coins %v (%s) der Gegenseite für Match %s. Überprüfe deine Internetverbindung und die Verbindungen zum Wallet."},
  1483  	},
  1484  	TopicDexAuthError: {
  1485  		subject:  intl.Translation{T: "DEX-Authentifizierungsfehler"},
  1486  		template: intl.Translation{T: "%s: %v"},
  1487  	},
  1488  	TopicUnknownOrders: {
  1489  		subject:  intl.Translation{T: "DEX meldet unbekannte Aufträge"},
  1490  		template: intl.Translation{T: "%d aktive Aufträge von DEX %s gemeldet aber konnten nicht gefunden werden."},
  1491  	},
  1492  	TopicOrdersReconciled: {
  1493  		subject:  intl.Translation{T: "Aufträge mit DEX abgestimmt"},
  1494  		template: intl.Translation{T: "Der Status für %d Aufträge wurde aktualisiert."},
  1495  	},
  1496  	TopicWalletConfigurationUpdated: {
  1497  		subject:  intl.Translation{T: "Aktualisierung der Wallet Konfiguration"},
  1498  		template: intl.Translation{T: "Konfiguration für Wallet %s wurde aktualisiert. Einzahlungsadresse = %s"},
  1499  	},
  1500  	TopicWalletPasswordUpdated: {
  1501  		subject:  intl.Translation{T: "Wallet-Passwort aktualisiert"},
  1502  		template: intl.Translation{T: "Passwort für das %s Wallet wurde aktualisiert."},
  1503  	},
  1504  	TopicMarketSuspendScheduled: {
  1505  		subject:  intl.Translation{T: "Aussetzung des Marktes geplant"},
  1506  		template: intl.Translation{T: "%s Markt bei %s ist nun für ab %v zur Aussetzung geplant."},
  1507  	},
  1508  	TopicMarketSuspended: {
  1509  		subject:  intl.Translation{T: "Markt ausgesetzt"},
  1510  		template: intl.Translation{T: "Der Handel für den %s Markt bei %s ist nun ausgesetzt."},
  1511  	},
  1512  	TopicMarketSuspendedWithPurge: {
  1513  		subject:  intl.Translation{T: "Markt ausgesetzt, Aufträge gelöscht"},
  1514  		template: intl.Translation{T: "Der Handel für den %s Markt bei %s ist nun ausgesetzt. Alle gebuchten Aufträge werden jetzt ENTFERNT."},
  1515  	},
  1516  	TopicMarketResumeScheduled: {
  1517  		subject:  intl.Translation{T: "Wiederaufnahme des Marktes geplant"},
  1518  		template: intl.Translation{T: "Der %s Markt bei %s wird nun zur Wiederaufnahme ab %v geplant"},
  1519  	},
  1520  	TopicMarketResumed: {
  1521  		subject:  intl.Translation{T: "Markt wiederaufgenommen"},
  1522  		template: intl.Translation{T: "Der %s Markt bei %s hat den Handel mit der Epoche %d wieder aufgenommen"},
  1523  	},
  1524  	TopicUpgradeNeeded: {
  1525  		subject:  intl.Translation{T: "Upgrade notwendig"},
  1526  		template: intl.Translation{T: "Du musst deinen Klient aktualisieren um bei %s zu Handeln."},
  1527  	},
  1528  	TopicDEXConnected: {
  1529  		subject:  intl.Translation{T: "Server verbunden"},
  1530  		template: intl.Translation{T: "Erfolgreich verbunden mit %s"},
  1531  	},
  1532  	TopicDEXDisconnected: {
  1533  		subject:  intl.Translation{T: "Verbindung zum Server getrennt"},
  1534  		template: intl.Translation{T: "Verbindung zu %s unterbrochen"},
  1535  	},
  1536  	TopicDexConnectivity: {
  1537  		subject:  intl.Translation{T: "Internet Connectivity"},
  1538  		template: intl.Translation{T: "Die Internet Verbindung zu %s ist instabil, Überprüfe deine Internet Verbindung", Notes: "args: [host]"},
  1539  	},
  1540  	TopicPenalized: {
  1541  		subject:  intl.Translation{T: "Bestrafung durch einen Server erhalten"},
  1542  		template: intl.Translation{T: "Bestrafung von DEX %s\nletzte gebrochene Regel: %s\nZeitpunkt: %v\nDetails:\n\"%s\"\n"},
  1543  	},
  1544  	TopicSeedNeedsSaving: {
  1545  		subject:  intl.Translation{T: "Vergiss nicht deinen App-Seed zu sichern"},
  1546  		template: intl.Translation{T: "Es wurde ein neuer App-Seed erstellt. Erstelle jetzt eine Sicherungskopie in den Einstellungen."},
  1547  	},
  1548  	TopicUpgradedToSeed: {
  1549  		subject:  intl.Translation{T: "Sichere deinen neuen App-Seed"},
  1550  		template: intl.Translation{T: "Dein Klient wurde aktualisiert und nutzt nun einen App-Seed. Erstelle jetzt eine Sicherungskopie in den Einstellungen."},
  1551  	},
  1552  	TopicDEXNotification: {
  1553  		subject:  intl.Translation{T: "Nachricht von DEX"},
  1554  		template: intl.Translation{T: "%s: %s"},
  1555  	},
  1556  	TopicQueuedCreationFailed: {
  1557  		subject:  intl.Translation{T: "Token-Wallet konnte nicht erstellt werden"},
  1558  		template: intl.Translation{T: "Nach dem Erstellen des %s-Wallet kam es zu einen Fehler, konnte das %s-Wallet nicht erstellen"},
  1559  	},
  1560  	TopicRedemptionResubmitted: {
  1561  		subject:  intl.Translation{T: "Redemption Resubmitted"},
  1562  		template: intl.Translation{T: "Deine Redemption für Match %s für Order %s wurde neu eingereicht."},
  1563  	},
  1564  	TopicSwapRefunded: {
  1565  		subject:  intl.Translation{T: "Swap Refunded"},
  1566  		template: intl.Translation{T: "Match %s für Order %s wurde von der Gegenpartei zurückerstattet."},
  1567  	},
  1568  	TopicRedemptionConfirmed: {
  1569  		subject:  intl.Translation{T: "Redemption Confirmed"},
  1570  		template: intl.Translation{T: "Deine Redemption für Match %s für Order %s wurde bestätigt."},
  1571  	},
  1572  	TopicWalletTypeDeprecated: {
  1573  		subject:  intl.Translation{T: "Wallet Disabled"},
  1574  		template: intl.Translation{T: "Dein %s Wallet wird nicht länger unterstützt. Erstelle eine neues Wallet."},
  1575  	},
  1576  	TopicOrderResumeFailure: {
  1577  		subject:  intl.Translation{T: "Resume order failure"},
  1578  		template: intl.Translation{T: "Wiederaufnahme des Orders nicht möglich: %v"},
  1579  	},
  1580  	TopicBondConfirming: {
  1581  		subject:  intl.Translation{T: "Kauftions-Bestätigung"},
  1582  		template: intl.Translation{T: "Warte auf %d Bestätigungen für die Kaution %v (%s) bei %s", Notes: "args: [reqConfs, bondCoinStr, assetID, acct.host]"},
  1583  	},
  1584  	TopicBondConfirmed: {
  1585  		subject:  intl.Translation{T: "Kaution Bestätigt"},
  1586  		template: intl.Translation{T: "Neuer Konto-Tier = %d (Ziel = %d).", Notes: "args: [effectiveTier, targetTier]"},
  1587  	},
  1588  	TopicBondExpired: {
  1589  		subject:  intl.Translation{T: "Kaution ausgelaufen"},
  1590  		template: intl.Translation{T: "Neuer Konto-Tier = %d (Ziel = %d).", Notes: "args: [effectiveTier, targetTier]"},
  1591  	},
  1592  	TopicBondRefunded: {
  1593  		subject:  intl.Translation{T: "Kaution zurückerstattet"},
  1594  		template: intl.Translation{T: "Kaution %v bei %v zurückerstattet in %v, fordere %v als Rückerstattung %v nach Abzug der Transaktionsgebühren", Notes: "args: [bondIDStr, acct.host, refundCoinStr, refundVal, Amount]"},
  1595  	},
  1596  	TopicBondPostError: {
  1597  		subject:  intl.Translation{T: "Bond post error"},
  1598  		template: intl.Translation{T: "Fehler beim Einreichen der Kaution (versuche weiter): %v (%T)", Notes: "args: [err, err]"},
  1599  	},
  1600  	TopicBondPostErrorConfirm: {
  1601  		subject:  intl.Translation{T: "Bond post error"},
  1602  		template: intl.Translation{T: "Fehler beim warten auf Bestätigungen der Kaution %s: %v"},
  1603  	},
  1604  	TopicDexAuthErrorBond: {
  1605  		subject:  intl.Translation{T: "Authentication error"},
  1606  		template: intl.Translation{T: "Kauftion bestätigt, aber Fehler bei Authentifizierung der Verbindung: %v", Notes: "args: [err]"},
  1607  	},
  1608  	TopicAccountRegTier: {
  1609  		subject:  intl.Translation{T: "Account registered"},
  1610  		template: intl.Translation{T: "Neurer Konto-Tier = %d", Notes: "args: [effectiveTier]"},
  1611  	},
  1612  	TopicUnknownBondTierZero: {
  1613  		subject: intl.Translation{T: "Unknown bond found"},
  1614  		template: intl.Translation{
  1615  			T: "Unbekannte %s Kautionen wurden gefunden und den aktiven Bonds hinzugefügt " +
  1616  				"aber dein Ziel-Tier bei %s ist auf 0 konfiguriert. Setze deinen " +
  1617  				"Ziel-Tier in den Einstellungen um deine Kaution automatisch zu verlängern.",
  1618  			Notes: "args: [bond asset, dex host]",
  1619  		},
  1620  	},
  1621  }
  1622  
  1623  // ar is the Arabic translations.
  1624  var ar = map[Topic]*translation{
  1625  	TopicAccountRegistered: {
  1626  		subject:  intl.Translation{T: "تم تسجيل الحساب"},
  1627  		template: intl.Translation{T: "يمكنك الآن التداول عند \u200e%s"},
  1628  	},
  1629  	TopicFeePaymentInProgress: {
  1630  		subject:  intl.Translation{T: "جارٍ دفع الرسوم"},
  1631  		template: intl.Translation{T: "في انتظار \u200e%d تأكيدات قبل التداول عند \u200e%s"},
  1632  	},
  1633  	TopicRegUpdate: {
  1634  		subject:  intl.Translation{T: "تحديث التسجيل"},
  1635  		template: intl.Translation{T: "تأكيدات دفع الرسوم \u200e%v/\u200e%v"},
  1636  	},
  1637  	TopicFeePaymentError: {
  1638  		subject:  intl.Translation{T: "خطأ في دفع الرسوم"},
  1639  		template: intl.Translation{T: "عثر على خطأ أثناء دفع الرسوم إلى \u200e%s: \u200e%v"},
  1640  	},
  1641  	TopicAccountUnlockError: {
  1642  		subject:  intl.Translation{T: "خطأ فتح الحساب"},
  1643  		template: intl.Translation{T: "خطأ فتح الحساب لأجل \u200e%s: \u200e%v"},
  1644  	},
  1645  	TopicFeeCoinError: {
  1646  		subject:  intl.Translation{T: "خطأ في رسوم العملة"},
  1647  		template: intl.Translation{T: "رسوم العملة \u200e%s فارغة."},
  1648  	},
  1649  	TopicWalletConnectionWarning: {
  1650  		subject:  intl.Translation{T: "تحذير اتصال المحفظة"},
  1651  		template: intl.Translation{T: "تم الكشف عن تسجيل غير مكتمل لـ  \u200e%s، لكنه فشل في الاتصال بمحفظة ديكريد"},
  1652  	},
  1653  	TopicWalletUnlockError: {
  1654  		subject:  intl.Translation{T: "خطأ في فتح المحفظة"},
  1655  		template: intl.Translation{T: "متصل بالمحفظة لإكمال التسجيل عند \u200e%s، لكنه فشل في فتح القفل: \u200e%v"},
  1656  	},
  1657  	TopicWalletCommsWarning: {
  1658  		subject:  intl.Translation{T: "مشكلة الإتصال بالمحفظة"},
  1659  		template: intl.Translation{T: "غير قادر على الاتصال بمحفظة !\u200e%v السبب: \u200e%v"},
  1660  	},
  1661  	TopicWalletPeersWarning: {
  1662  		subject:  intl.Translation{T: "مشكلة في شبكة المحفظة"},
  1663  		template: intl.Translation{T: "!لا يوجد لدى المحفظة \u200e%v نظراء على الشبكة"},
  1664  	},
  1665  	TopicWalletPeersRestored: {
  1666  		subject:  intl.Translation{T: "تمت استعادة الاتصال بالمحفظة"},
  1667  		template: intl.Translation{T: "تمت اعادة الاتصال بالمحفظة \u200e%v."},
  1668  	},
  1669  	TopicSendError: {
  1670  		subject:  intl.Translation{T: "إرسال الخطأ"},
  1671  		template: intl.Translation{Version: 1, T: "حدث خطأ أثناء إرسال %s: %v"},
  1672  	},
  1673  	TopicSendSuccess: {
  1674  		subject:  intl.Translation{T: "تم الإرسال بنجاح"},
  1675  		template: intl.Translation{Version: 1, T: "تم إرسال %s %s إلى %s بنجاح. معرف المعاملة Tx ID = %s"},
  1676  	},
  1677  	TopicOrderLoadFailure: {
  1678  		subject:  intl.Translation{T: "فشل تحميل الطلب"},
  1679  		template: intl.Translation{T: "فشل تحميل بعض الطلبات من قاعدة البيانات: \u200e%v"},
  1680  	},
  1681  	TopicYoloPlaced: {
  1682  		subject:  intl.Translation{T: "تم تقديم طلب السوق"},
  1683  		template: intl.Translation{T: "بيع \u200e%s \u200e%s بسعر السوق (\u200e%s)"},
  1684  	},
  1685  	TopicBuyOrderPlaced: {
  1686  		subject:  intl.Translation{T: "تم وضع الطلب"},
  1687  		template: intl.Translation{Version: 1, T: "شراء %s %s، السعر = %s (%s)"},
  1688  	},
  1689  	TopicSellOrderPlaced: {
  1690  		subject:  intl.Translation{T: "تم وضع الطلب"},
  1691  		template: intl.Translation{Version: 1, T: "بيع %s %s، بمعدل = %s (%s)"},
  1692  	},
  1693  	TopicMissingMatches: {
  1694  		subject:  intl.Translation{T: "مطابقات مفقودة"},
  1695  		template: intl.Translation{T: "لم يتم الإبلاغ عن \u200e%d تطابقات للطلب \u200e%s من قبل \u200e%q وتعتبر باطلة"},
  1696  	},
  1697  	TopicWalletMissing: {
  1698  		subject:  intl.Translation{T: "المحفظة مفقودة"},
  1699  		template: intl.Translation{T: "خطأ في استرداد المحفظة للطلب النشط \u200e%s: \u200e%v"},
  1700  	},
  1701  	TopicMatchErrorCoin: {
  1702  		subject:  intl.Translation{T: "خطأ في مطابقة العملة"},
  1703  		template: intl.Translation{T: "مطابقة \u200e%s للطلب \u200e%s في الحالة \u200e%s، لكن لا توجد عملة مقايضة من الصانع."},
  1704  	},
  1705  	TopicMatchErrorContract: {
  1706  		subject:  intl.Translation{T: "خطأ في عقد المطابقة"},
  1707  		template: intl.Translation{T: "تطابق \u200e%s للطلب \u200e%s في الحالة \u200e%s، لكن لا يوجد عقد مقايضة من الصانع."},
  1708  	},
  1709  	TopicMatchRecoveryError: {
  1710  		subject:  intl.Translation{T: "خطأ استعادة المطابقة"},
  1711  		template: intl.Translation{T: "خطأ في تدقيق عقد مقايضة الطرف المقابل (\u200e%s \u200e%v) أثناء استرداد المقايضة عند الطلب \u200e%s: \u200e%v"},
  1712  	},
  1713  	TopicOrderCoinError: {
  1714  		subject:  intl.Translation{T: "خطأ عند طلب العملة"},
  1715  		template: intl.Translation{T: "لم يتم تسجيل عملات تمويل للطلب النشط \u200e%s"},
  1716  	},
  1717  	TopicOrderCoinFetchError: {
  1718  		subject:  intl.Translation{T: "خطأ في جلب طلب العملة"},
  1719  		template: intl.Translation{T: "خطأ في استرداد عملات المصدر للطلب \u200e%s (\u200e%s): \u200e%v"},
  1720  	},
  1721  	TopicMissedCancel: {
  1722  		subject:  intl.Translation{T: "تفويت الإلغاء"},
  1723  		template: intl.Translation{T: "طلب الإلغاء لم يتطابق مع الطلب \u200e%s. يمكن أن يحدث هذا إذا تم تقديم طلب الإلغاء في نفس حقبة التداول أو إذا تم تنفيذ الطلب المستهدف بالكامل قبل المطابقة مع طلب الإلغاء."},
  1724  	},
  1725  	TopicBuyOrderCanceled: {
  1726  		subject:  intl.Translation{T: "تم إلغاء الطلب"},
  1727  		template: intl.Translation{Version: 1, T: "تم إلغاء (%s) طلب الشراء على %s-%s بسعر %s"},
  1728  	},
  1729  	TopicSellOrderCanceled: {
  1730  		subject:  intl.Translation{T: "تم إلغاء الطلب"},
  1731  		template: intl.Translation{Version: 1, T: "تم إلغاء (%s) طلب البيع على %s-%s بسعر %s"},
  1732  	},
  1733  	TopicBuyMatchesMade: {
  1734  		subject:  intl.Translation{T: "تم وضع المطابقات"},
  1735  		template: intl.Translation{Version: 1, T: "طلب شراء على %s-%s %.1f%% مُنفّذ بنسبة (%s) "},
  1736  	},
  1737  	TopicSellMatchesMade: {
  1738  		subject:  intl.Translation{T: "تم وضع المطابقات"},
  1739  		template: intl.Translation{Version: 1, T: "طلب بيع على %s-%s مُنفّذ بنسبة (%s) "},
  1740  	},
  1741  	TopicSwapSendError: {
  1742  		subject:  intl.Translation{T: "خطأ في إرسال المقايضة"},
  1743  		template: intl.Translation{T: "تمت مصادفة خطأ في إرسال إخراج (مخرجات) مقايضة بقيمة \u200e%s \u200e%s عند الطلب \u200e%s"},
  1744  	},
  1745  	TopicInitError: {
  1746  		subject:  intl.Translation{T: "خطأ إبلاغ مقايضة"},
  1747  		template: intl.Translation{T: "خطأ إخطار منصة المبادلات اللامركزية بالمقايضة من أجل المطابقة \u200e%s: \u200e%v"},
  1748  	},
  1749  	TopicReportRedeemError: {
  1750  		subject:  intl.Translation{T: "خطأ إبلاغ الإسترداد"},
  1751  		template: intl.Translation{T: "خطأ في إعلام منصة المبادلات اللامركزية بالاسترداد من أجل المطابقة \u200e%s: \u200e%v"},
  1752  	},
  1753  	TopicSwapsInitiated: {
  1754  		subject:  intl.Translation{T: "بدأت المقايضات"},
  1755  		template: intl.Translation{T: "تم إرسال مقايضات بقيمة \u200e%s \u200e%s عند الطلب \u200e%s"},
  1756  	},
  1757  	TopicRedemptionError: {
  1758  		subject:  intl.Translation{T: "خطأ في الاسترداد"},
  1759  		template: intl.Translation{T: "حدث خطأ أثناء إرسال عمليات استرداد بقيمة \u200e%s \u200e%s للطلب \u200e%s"},
  1760  	},
  1761  	TopicMatchComplete: {
  1762  		subject:  intl.Translation{T: "اكتملت المطابقة"},
  1763  		template: intl.Translation{T: "تم استرداد \u200e%s \u200e%s عند الطلب \u200e%s"},
  1764  	},
  1765  	TopicRefundFailure: {
  1766  		subject:  intl.Translation{T: "فشل الاسترداد"},
  1767  		template: intl.Translation{T: "تم استرداد \u200e%s \u200e%s للطلب \u200e%s، مع وجود بعض الأخطاء"},
  1768  	},
  1769  	TopicMatchesRefunded: {
  1770  		subject:  intl.Translation{T: "تم استرداد مبالغ المطابقات"},
  1771  		template: intl.Translation{T: "تم استرداد مبلغ \u200e%s \u200e%s للطلب \u200e%s"},
  1772  	},
  1773  	TopicMatchRevoked: {
  1774  		subject:  intl.Translation{T: "تم إبطال المطابقة"},
  1775  		template: intl.Translation{T: "تم إبطال المطابقة \u200e%s"},
  1776  	},
  1777  	TopicOrderRevoked: {
  1778  		subject:  intl.Translation{T: "تم إبطال الطلب"},
  1779  		template: intl.Translation{T: "تم إبطال الطلب \u200e%s في السوق \u200e%s عند \u200e%s من قبل الخادم"},
  1780  	},
  1781  	TopicOrderAutoRevoked: {
  1782  		subject:  intl.Translation{T: "تم إبطال الطلب تلقائيًا"},
  1783  		template: intl.Translation{T: "تم إبطال الطلب \u200e%s في السوق \u200e%s عند \u200e%s بسبب تعليق عمليات السوق"},
  1784  	},
  1785  	TopicMatchRecovered: {
  1786  		subject:  intl.Translation{T: "تم استرداد المطابقة"},
  1787  		template: intl.Translation{T: "تم إيجاد استرداد (\u200e%s: \u200e%v) صانع القيمة وسر المطابقة الذي تم التحقق منه \u200e%s"},
  1788  	},
  1789  	TopicCancellingOrder: {
  1790  		subject:  intl.Translation{T: "إلغاء الطلب"},
  1791  		template: intl.Translation{T: "تم إرسال إلغاء طلب للطلب \u200e%s"},
  1792  	},
  1793  	TopicOrderStatusUpdate: {
  1794  		subject:  intl.Translation{T: "تحديث حالة الطلب"},
  1795  		template: intl.Translation{T: "تمت مراجعة حالة الطلب \u200e%v من \u200e%v إلى \u200e%v"},
  1796  	},
  1797  	TopicMatchResolutionError: {
  1798  		subject:  intl.Translation{T: "خطأ في دقة المطابقة"},
  1799  		template: intl.Translation{T: "لم يتم العثور على \u200e%d تطابقات تم الإبلاغ عنها بواسطة \u200e%s لـ \u200e%s."},
  1800  	},
  1801  	TopicFailedCancel: {
  1802  		subject:  intl.Translation{T: "فشل الإلغاء"},
  1803  		template: intl.Translation{Version: 1, T: "فشل إلغاء الطلب للطلب %s وتم حذفه الآن."},
  1804  	},
  1805  	TopicAuditTrouble: {
  1806  		subject:  intl.Translation{T: "مشكلة في التدقيق"},
  1807  		template: intl.Translation{T: "لا يزال البحث جارٍ عن عقد عملة \u200e%v (\u200e%s) الطرف الثاني للمطابقة \u200e%s. هل إتصالك بكل من الإنترنت و المحفظة جيد؟"},
  1808  	},
  1809  	TopicDexAuthError: {
  1810  		subject:  intl.Translation{T: "خطأ في مصادقة منصة المبادلات اللامركزية"},
  1811  		template: intl.Translation{T: "\u200e%s: \u200e%v"},
  1812  	},
  1813  	TopicUnknownOrders: {
  1814  		subject:  intl.Translation{T: "أبلغت منصة المبادلات اللامركزية عن طلبات غير معروفة"},
  1815  		template: intl.Translation{T: "لم يتم العثور على \u200e%d من الطلبات النشطة التي تم الإبلاغ عنها بواسطة منصة المبادلات اللامركزية \u200e%s."},
  1816  	},
  1817  	TopicOrdersReconciled: {
  1818  		subject:  intl.Translation{T: "تمت تسوية الطلبات مع منصة المبادلات اللامركزية"},
  1819  		template: intl.Translation{T: "تم تحديث الحالات لـ \u200e%d من الطلبات."},
  1820  	},
  1821  	TopicWalletConfigurationUpdated: {
  1822  		subject:  intl.Translation{T: "تم تحديث تهيئة المحفظة"},
  1823  		template: intl.Translation{T: "تم تحديث تهيئة المحفظة \u200e%s. عنوان الإيداع = \u200e%s"},
  1824  	},
  1825  	TopicWalletPasswordUpdated: {
  1826  		subject:  intl.Translation{T: "تم تحديث كلمة مرور المحفظة"},
  1827  		template: intl.Translation{T: "تم تحديث كلمة المرور لمحفظة \u200e%s."},
  1828  	},
  1829  	TopicMarketSuspendScheduled: {
  1830  		subject:  intl.Translation{T: "تمت جدولة تعليق السوق"},
  1831  		template: intl.Translation{T: "تمت جدولة تعليق \u200e%v السوق \u200e%s عند \u200e%s"},
  1832  	},
  1833  	TopicMarketSuspended: {
  1834  		subject:  intl.Translation{T: "تعليق السوق"},
  1835  		template: intl.Translation{T: "تم تعليق التداول في السوق \u200e%s عند \u200e%s."},
  1836  	},
  1837  	TopicMarketSuspendedWithPurge: {
  1838  		subject:  intl.Translation{T: "تم تعليق السوق، وألغيت الطلبات"},
  1839  		template: intl.Translation{T: "تم تعليق التداول في السوق \u200e%s عند \u200e%s. كما تمت إزالة جميع الطلبات المحجوزة."},
  1840  	},
  1841  	TopicMarketResumeScheduled: {
  1842  		subject:  intl.Translation{T: "تمت جدولة استئناف السوق"},
  1843  		template: intl.Translation{T: "تمت جدولة السوق \u200e%s في \u200e%s للاستئناف في \u200e%v"},
  1844  	},
  1845  	TopicMarketResumed: {
  1846  		subject:  intl.Translation{T: "استئناف السوق"},
  1847  		template: intl.Translation{T: "استأنف السوق \u200e%s في \u200e%s التداول في الحقبة الزمنية \u200e%d"},
  1848  	},
  1849  	TopicUpgradeNeeded: {
  1850  		subject:  intl.Translation{T: "التحديث مطلوب"},
  1851  		template: intl.Translation{T: "قد تحتاج إلى تحديث عميلك للتداول في \u200e%s."},
  1852  	},
  1853  	TopicDEXConnected: {
  1854  		subject:  intl.Translation{T: "الخادم متصل"},
  1855  		template: intl.Translation{T: "\u200e%s متصل"},
  1856  	},
  1857  	TopicDEXDisconnected: {
  1858  		subject:  intl.Translation{T: "قطع الاتصال بالخادم"},
  1859  		template: intl.Translation{T: "\u200e%s غير متصل"},
  1860  	},
  1861  	TopicPenalized: {
  1862  		subject:  intl.Translation{T: "لقد عاقبك الخادم"},
  1863  		template: intl.Translation{T: "عقوبة من منصة المبادلات اللامركزية في \u200e%s\nآخر قاعدة مكسورة: \u200e%s\nالوقت: \u200e%v\nالتفاصيل:\n\"\u200e%s\"\n"},
  1864  	},
  1865  	TopicSeedNeedsSaving: {
  1866  		subject:  intl.Translation{T: "لا تنس عمل نسخة احتياطية من بذرة التطبيق"},
  1867  		template: intl.Translation{T: "تم إنشاء بذرة تطبيق جديدة. قم بعمل نسخة احتياطية الآن في عرض الإعدادات."},
  1868  	},
  1869  	TopicUpgradedToSeed: {
  1870  		subject:  intl.Translation{T: "قم بعمل نسخة احتياطية من بذرة التطبيق الجديدة"},
  1871  		template: intl.Translation{T: "تم تحديث العميل لاستخدام بذرة التطبيق. قم بعمل نسخة احتياطية من البذرة الآن في عرض الإعدادات."},
  1872  	},
  1873  	TopicDEXNotification: {
  1874  		subject:  intl.Translation{T: "رسالة من منصة المبادلات اللامركزية"},
  1875  		template: intl.Translation{T: "\u200e%s: \u200e%s"},
  1876  	},
  1877  	TopicQueuedCreationFailed: {
  1878  		subject:  intl.Translation{T: "فشل إنشاء توكن المحفظة"},
  1879  		template: intl.Translation{T: "بعد إنشاء محفظة \u200e%s، فشل في إنشاء \u200e%s للمحفظة"},
  1880  	},
  1881  	TopicRedemptionResubmitted: {
  1882  		subject:  intl.Translation{T: "أعيد تقديم المبلغ المسترد"},
  1883  		template: intl.Translation{T: "تمت إعادة إرسال مبلغك المسترد للمطابقة \u200e%s في الطلب .\u200e%s"},
  1884  	},
  1885  	TopicSwapRefunded: {
  1886  		subject:  intl.Translation{T: "مقايضة مستردة"},
  1887  		template: intl.Translation{T: "تمت استعادة تطابق \u200e%s للطلب \u200e%s من قبل الطرف الثاني."},
  1888  	},
  1889  	TopicRedemptionConfirmed: {
  1890  		subject:  intl.Translation{T: "تم تأكيد الاسترداد"},
  1891  		template: intl.Translation{T: "تم تأكيد استردادك للمطابقة \u200e%s للطلب \u200e%s"},
  1892  	},
  1893  	TopicBondPostErrorConfirm: {
  1894  		subject:  intl.Translation{T: "خطأ في وظيفة السندات"},
  1895  		template: intl.Translation{T: "تم مواجهة خطأ أثناء انتظار تأكيدات السند لـ %s: %v"},
  1896  	},
  1897  	TopicBondConfirming: {
  1898  		subject:  intl.Translation{T: "تأكيد السند"},
  1899  		template: intl.Translation{T: "في انتظار %d تأكيدات لنشر السند %v (%s) إلى %s"},
  1900  	},
  1901  	TopicDexConnectivity: {
  1902  		subject:  intl.Translation{T: "الاتصال بالإنترنت"},
  1903  		template: intl.Translation{T: "اتصالك بالإنترنت إلى %s غير مستقر، تحقق من اتصالك بالإنترنت"},
  1904  	},
  1905  	TopicOrderQuantityTooHigh: {
  1906  		subject:  intl.Translation{T: "تم تجاوز حدود التداول"},
  1907  		template: intl.Translation{T: "كمية الطلب تتجاوز حد التداول الحالي على %s"},
  1908  	},
  1909  	TopicBondWalletNotConnected: {
  1910  		subject:  intl.Translation{T: "محفظة السندات غير متصلة"},
  1911  		template: intl.Translation{T: "المحفظة الخاصة بأصل السندات المحدد %s غير متصلة"},
  1912  	},
  1913  	TopicAccountRegTier: {
  1914  		subject:  intl.Translation{T: "حساب مسجل"},
  1915  		template: intl.Translation{T: "المستوى الجديد = %d"},
  1916  	},
  1917  	TopicDexAuthErrorBond: {
  1918  		subject:  intl.Translation{T: "خطأ في المصادقة"},
  1919  		template: intl.Translation{T: "تم تأكيد السند، ولكن فشل في التحقق من صحة الاتصال: %v"},
  1920  	},
  1921  	TopicBondPostError: {
  1922  		subject:  intl.Translation{T: "خطأ في وظيفة السندات"},
  1923  		template: intl.Translation{T: "خطأ في طلب السند (سيتم إعادة المحاولة): %v (%T)"},
  1924  	},
  1925  	TopicWalletTypeDeprecated: {
  1926  		subject:  intl.Translation{T: "المحفظة معطلة"},
  1927  		template: intl.Translation{T: "لم يعد نوع محفظتك %s مدعوماً. قم بإنشاء محفظة جديدة."},
  1928  	},
  1929  	TopicOrderResumeFailure: {
  1930  		subject:  intl.Translation{T: "استئناف فشل الطلب"},
  1931  		template: intl.Translation{T: "فشل في استئناف معالجة عملية التداول: %v"},
  1932  	},
  1933  	TopicBondRefunded: {
  1934  		subject:  intl.Translation{T: "استرداد السندات"},
  1935  		template: intl.Translation{T: "تم استرداد السند %v لـ %v بـ %v، واستعادة %v من %v بعد رسوم المعاملات"},
  1936  	},
  1937  	TopicBondExpired: {
  1938  		subject:  intl.Translation{T: "انتهت صلاحية السند"},
  1939  		template: intl.Translation{T: "المستوى الجديد = %d (الهدف = %d)."},
  1940  	},
  1941  	TopicUnknownBondTierZero: {
  1942  		subject:  intl.Translation{T: "تم العثور على سند غير معروف"},
  1943  		template: intl.Translation{T: "تم العثور على سندات %s مجهولة وأضيفت إلى السندات النشطة ولكن الفئة المستهدفة الخاصة بك هي صفر لمنصة المبادلات اللامركزية dex في %s. قم بتعيين الفئة المستهدفة في الإعدادات للبقاء مرتبطًا بتجديدات تلقائية."},
  1944  	},
  1945  	TopicBondConfirmed: {
  1946  		subject:  intl.Translation{T: "تم تأكيد السند"},
  1947  		template: intl.Translation{T: "الفئة الجديدة = %d (الهدف = %d)."},
  1948  	},
  1949  	TopicAsyncOrderFailure: {
  1950  		subject:  intl.Translation{T: "خطأ في الطلب القيد التنفيذ"},
  1951  		template: intl.Translation{T: "فشل: %v الطلب قيد التنفيذ بالمعرف %v"},
  1952  	},
  1953  }
  1954  
  1955  // The language string key *must* parse with language.Parse.
  1956  var locales = map[string]map[Topic]*translation{
  1957  	originLang: originLocale,
  1958  	"pt-BR":    ptBR,
  1959  	"zh-CN":    zhCN,
  1960  	"pl-PL":    plPL,
  1961  	"de-DE":    deDE,
  1962  	"ar":       ar,
  1963  }
  1964  
  1965  func init() {
  1966  	for lang, translations := range locales {
  1967  		langtag, err := language.Parse(lang)
  1968  		if err != nil {
  1969  			panic(err.Error())
  1970  		} // otherwise would fail in core.New parsing the languages
  1971  		for topic, translation := range translations {
  1972  			err := message.SetString(langtag, string(topic), translation.template.T)
  1973  			if err != nil {
  1974  				panic(fmt.Sprintf("SetString(%s): %v", lang, err))
  1975  			}
  1976  		}
  1977  	}
  1978  }
  1979  
  1980  // RegisterTranslations registers translations with the init package for
  1981  // translator worksheet preparation.
  1982  func RegisterTranslations() {
  1983  	const callerID = "notifications"
  1984  
  1985  	for lang, m := range locales {
  1986  		r := intl.NewRegistrar(callerID, lang, len(m)*2)
  1987  		for topic, t := range m {
  1988  			r.Register(string(topic)+" subject", &t.subject)
  1989  			r.Register(string(topic)+" template", &t.template)
  1990  		}
  1991  	}
  1992  }
  1993  
  1994  // CheckTopicLangs is used to report missing notification translations.
  1995  func CheckTopicLangs() (missingTranslations int) {
  1996  	for topic := range originLocale {
  1997  		for _, m := range locales {
  1998  			if _, found := m[topic]; !found {
  1999  				missingTranslations += len(m)
  2000  			}
  2001  		}
  2002  	}
  2003  	return
  2004  }