Personalizzazione delle email
Quando un utente interagisce con la vostra applicazione, potreste voler inviare una risposta o chiedere una verifica. App ID fornisce modelli predefiniti che potete usare per le interazioni. Puoi anche utilizzare i template come una guida e personalizzare la tua messaggistica per rispondere alle esigenze del tuo marchio.
App ID utilizza SendGrid come servizio di consegna della posta. Tutte le email vengono inviate con un unico account SendGrid.
Configurazione delle impostazioni email
Con App ID, è possibile scegliere di utilizzare le credenziali predefinite di App ID SendGrid o aggiungere il proprio account SendGrid o configurare un webhook personalizzato per inviare messaggi e-mail in Cloud Directory.
Utilizzo del provider di email predefinito IBM
Per impostazione predefinita, App ID utilizza SendGrid come servizio di consegna delle e-mail per Cloud Directory.
-
Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.
-
Seleziona Default. Vengono visualizzate le informazioni che devi immettere.
-
Configura i tuoi dettagli del mittente (Sender details).
-
In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.
-
In Sender name, immetti il nome che vuoi che sia associato alla mail "From".
-
In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte che qualcuno potrebbe avere all'email.
-
-
Fai clic su Test per provare la tua configurazione con una email di prova.
-
Fai clic su Save per abilitare la tua configurazione.
Aggiunta di un tuo account SendGrid
Utilizzando un tuo account SendGrid per inviare le tue email Cloud Directory, hai il pieno controllo. Puoi decidere come vengono inviate le email, utilizzare un tuo nome dominio e definire i dettagli del mittente. Con le impostazioni di email personalizzate, puoi ridurre le possibilità che una email venga filtrata come posta indesiderata incrementando anche, al tempo stesso, il riconoscimento del marchio per la tua applicazione.
Una connessione diretta al tuo provider di email può aiutarti a ottenere informazioni sui singoli messaggi quali il numero di persone che ha aperto le email e quali messaggi non sono stati recapitati. Puoi anche vedere le statistiche complessive che puoi utilizzare per gestire meglio le tue campagne email.
Non hai un account SendGrid? Registrati.
-
Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.
-
Seleziona SendGrid. Vengono visualizzate le informazioni che devi immettere.
-
In SendGrid API key, immetti la tua chiave API.
-
Configura i tuoi dettagli del mittente (Sender details).
-
In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.
-
In Sender name, immetti il nome che vuoi che sia associato alla mail "From".
-
In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte che qualcuno potrebbe avere all'email.
-
-
Fai clic su Test per provare la tua configurazione con una email di prova.
-
Fai clic su Save per abilitare la tua configurazione.
Personalizzazione del tuo provider email
Definendo il tuo punto di estensione personalizzato per inviare le tue email Cloud Directory, hai il pieno controllo. Puoi decidere come vengono inviate le email, utilizzare un tuo nome dominio e definire i dettagli del mittente. Con le impostazioni di email personalizzate, puoi ridurre le possibilità che una email venga filtrata come posta indesiderata incrementando anche, al tempo stesso, il riconoscimento del marchio per la tua applicazione.
Una connessione diretta al tuo provider di email può aiutarti a ottenere informazioni sui singoli messaggi quali il numero di persone che ha aperto le email e quali messaggi non sono stati recapitati. Puoi anche vedere le statistiche complessive che puoi utilizzare per gestire meglio le tue campagne email.
Configurazione di un provider personalizzato con la GUI
Puoi utilizzare il dashboard del servizio per configurare il tuo provider personalizzato.
-
Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.
-
Seleziona Custom. Vengono visualizzate le informazioni che devi immettere.
-
In Webhook, immetti il tuo URL di estensione personalizzato.
-
Seleziona un tipo di autorizzazione (Authorization type). Puoi scegliere dalle seguenti opzioni:
- None: l'URL o l'endpoint webhook non richiede un'intestazione di autorizzazione.
- Basic: L'endpoint webhook richiede un'intestazione di autorizzazione HTTP con ogni richiesta nel formato di un nome utente e una password.
- Authorization headers: La richiesta webhook richiede che passi le informazioni di autorizzazione per il tuo endpoint in un'autorizzazione HTTP. Ad esempio, potesti passare un token OAuth 2.0:
Authorization: Bearer eyJraWQiOiIyMDIwMDEyNTE2MzMiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQiOiJJ.
-
Configura i tuoi dettagli del mittente (Sender details).
-
In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.
-
In Sender name, immetti il nome che vuoi che sia associato alla mail "From".
-
In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte all'email.
-
-
Fai clic su Test per provare la tua configurazione con una email di prova.
-
Fai clic su Save per abilitare la tua configurazione.
Configurazione di un provider personalizzato con l'API
È possibile utilizzare le API di gestione di Cloud Directory per configurare il mittente e-mail personalizzato.
-
Configura un punto di estensione che possa restare in ascolto per una richiesta POST. L'endpoint deve essere in grado di:
- Leggere il payload che arriva da App ID.
- Inviare l'email dal tuo provider personalizzato.
- Opzionalmente, convalidare il payload JSON restituito da App ID non è stato alterato da terzi in alcun modo. Viene restituita una stringa formattata come
{"jws": "jws-format-string"}che contiene il vostro ID inquilino, l'emittente del vostro token JWS, il timestamp di quando il messaggio è stato inviato, un ID di transazione univoco e le informazioni effettive del messaggio che includono i dettagli del mittente e il contenuto del corpo dell'e-mail.
Il tuo punto di estensione potrebbe essere simile al seguente esempio:
const sgMail = require('@sendgrid/mail'); const {promisify} = require('bluebird'); const request = promisify(require('request')); const jwtVerify = promisify(require('jsonwebtoken').verify); const jwtDecode = require('jsonwebtoken').decode; const jwkToPem = require('jwk-to-pem'); async function obtainPublicKeys() { // Your instance tenant ID const tenantId = '<tenantID>'; // Send request to App ID's public keys endpoint const keysOptions = { method: 'GET', url: `https://<region>.appid.cloud.ibm.com/oauth/v4/$<tenantID>/publickeys` }; const keysResponse = await request(keysOptions); return JSON.parse(keysResponse.body).keys; } async function verifySignature(keysArray, kid, jws) { const keyJson = keysArray.find(key => key.kid === kid); if (keyJson) { const pem = jwkToPem(keyJson); await jwtVerify(jws, pem); return; } throw new Error ("Unable to verify signature"); } async function verifyAndSendMail(jws) { // The API key for Sendgrid const sgApiKey = '<SengridApiKey>'; // Init Sendgrind sgMail.setApiKey(sgApiKey); // Decode message to get information const data = jwtDecode(jws, {complete: true}); // Extract kid from header const kid = data.header.kid; const keysArray = await obtainPublicKeys(); // Verify the signature of the payload with the public keys await verifySignature(keysArray, kid ,jws); // Send the email with Your Sendgrid account const message = data.payload.message; const msg = { to: message.to, from: message.from.address, subject: message.subject, html: message.body, }; console.log(`Sending email to ${message.to}`); let sendgridResponse = await sgMail.send(msg); return {result : 'email_sent',sendgridResponse}; } -
Fare una richiesta PUT a
/management/v4/<tenantID>/config/cloud_directory/email_dispatcherper fornire il webhook URL. Facoltativamente, puoi fornire le informazioni di autorizzazione. I tipi di autorizzazione supportati includono:Basic authorizationeconstant authorization header value.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/email_dispatcher' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{ "provider": "custom", "custom": { "url": "https://example.com/send_mail", "authorization": { "type": "basic", "username": "<username>", "password": "<password>" } } }' -
Verifica che la tua configurazione sia impostata correttamente verificando il tuo dispatcher email. Utilizzare il sito test API per attivare una richiesta al mittente e-mail personalizzato configurato.
Template di email
Quando invii messaggi ai tuoi utenti, puoi utilizzare qualsiasi combinazione dei seguenti template. In alternativa, puoi modificare i template per personalizzare il tuo messaggio.
Oltre ai seguenti tipi di messaggio, puoi anche avvalerti dei template MFA.
Per un'ulteriore personalizzazione, puoi usare i parametri nei tuoi messaggi. La tabella seguente mostra i parametri che possono essere utilizzati in tutti i tipi di messaggio.
| Parametro | Descrizione |
|---|---|
%{display.logo} |
Visualizza l'immagine che hai configurato per il tuo Widget di accesso. |
%{user.displayName} |
Visualizza il nome della schermata che un utente ha scelto di utilizzare durante l'interazione con l'applicazione. |
%{user.email} |
Visualizza l'indirizzo email registrato dell'utente. |
%{user.username} |
Visualizza il nome utente specificato dall'utente quando il metodo di autenticazione è impostato su nome utente e password. |
%{user.firstName} |
Visualizza il nome specificato dall'utente. |
%{user.formattedName} |
Visualizza il nome completo dell'utente. |
%{user.lastName} |
Visualizza il cognome specificato dall'utente. |
Email: benvenuto
Quando un utente si registra per la tua applicazione, potresti volergli inviare un messaggio di benvenuto alla tua applicazione.
-
Vai alla scheda Cloud Directory > Email templates > Welcome email del dashboard del servizio.
-
Imposta Welcome email su Enabled.
-
Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. La tabella seguente mostra l'elenco delle tabelle che è possibile utilizzare in questo messaggio e in tutti gli altri messaggi che è possibile inviare. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.
-
Fare clic su Salva.
Email: verifica
Quando un utente si registra per la tua applicazione utilizzando la sua email, puoi inviargli una email che gli chiede di confermare la sua identità. Richiedendo una verifica, limiti il numero di account falsi che possono registrarsi alla tua applicazione. Puoi limitare l'accesso alla tua applicazione finché un utente verifica la propria email o utilizzarla come un modo per gestire per quali utenti crei i profili.
Gli utenti che vengono aggiunti manualmente tramite il dashboard App ID o l'API utente di creazione non ricevono automaticamente questa email.
-
Vai alla scheda Cloud Directory > Email templates > Email verification del dashboard del servizio.
-
Imposta Email verification su Enabled.
-
Imposta Allow users to sign in to your app without first verifying their email address su Yes. Quando per questa impostazione viene specificato Yes, gli utenti possono interagire con la tua applicazione dopo aver eseguito la registrazione ma prima di verificare il loro indirizzo email. L'impostazione predefinita è no.
-
Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.
Parametri che si possono usare nei messaggi relativi alla verifica Parametro Descrizione %{linkExpiration.hours}Visualizza il numero di ore per cui il link è valido. %{linkExpiration.minutes}Visualizza il numero di minuti per cui il link è valido. %{verify.code}Visualizza un URL di verifica monouso. %{verify.link}Verifica l'URL di azione che hai specificato nelle impostazioni. Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.
-
Definisci un tempo di scadenza per l'URL dell'azione. La scadenza dell'URL è la quantità di tempo, in minuti, entro cui l'utente deve completare l'azione prima che il link di verifica scada. Questa impostazione influenza anche la quantità di tempo per cui il tuo link di reimpostazione della password è valido.
-
Immetti un URL per la pagina che vuoi visualizzare dopo che un utente ha eseguito la verifica della sua email nella casella Thank you page URL. Se scegli di lasciare vuoto questo campo, viene visualizzata una pagina predefinita App ID.
-
Fare clic su Salva.
Email: reimposta password
Quando un utente interagisce con la tua applicazione, potrebbe dimenticare la sua password o dovere aggiornarla. Puoi personalizzare la risposta dell'email alla loro richiesta. Quando un utente richiede una modifica della sua password, la password rimane invariata finché non fa clic sul link in questa email.
-
Vai alla scheda Cloud Directory > Email templates > Reset password del dashboard del servizio.
-
Imposta Forgot password email su Enabled.
-
Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.
Parametri che possono essere utilizzati nei messaggi relativi alle password dimenticate Parametro Descrizione %{linkExpiration.hours}Visualizza il numero di ore per cui il link è valido. %{linkExpiration.minutes}Visualizza il numero di minuti per cui il link è valido. %{resetPassword.code}Visualizza il passcode monouso come parte dell'URL. Ciò significa che ogni persona ha un codice diverso. Esempio: https://us-south.appid.cloud.ibm.com/wfm/verify/6574839563478%{resetPassword.link}Visualizza il link su cui può fare clic un utente per reimpostare la propria password. Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.
-
Definisci un tempo di scadenza per l'URL dell'azione. La scadenza dell'URL è la quantità di tempo, in minuti, entro cui l'utente deve completare l'azione prima che il link di verifica scada. Questa impostazione influenza anche la quantità di tempo per cui il tuo link di reimpostazione della password è valido.
-
Immetti un URL per la pagina che vuoi visualizzare dopo che un utente ha eseguito la verifica della sua email nella casella Reset password page URL. Se scegli di lasciare vuoto questo campo, viene visualizzata una pagina predefinita App ID.
-
Fare clic su Salva.
Email: modifica della password
Puoi inviare una notifica a un utente quando la sua password viene aggiornata. La notifica può essere utile nel caso in cui l'utente non abbia richiesto una modifica della sua password. Gli utenti possono prendere le misure appropriate per riproteggere i propri account.
-
Vai alla scheda Cloud Directory > Email templates > Password change del dashboard del servizio.
-
Imposta Password changed email su Enabled.
-
Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.
Parametri che si possono utilizzare nei messaggi relativi alla modifica della password Parametro Descrizione %{passwordChangeInfo.time}Visualizza l'ora in cui una nuova password entra in vigore. %{passwordChangeInfo.ipAddress}Visualizza l'indirizzo IP da cui è stata richiesta la modifica della password. Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.
-
Fare clic su Salva.
Lingue supportate
È possibile utilizzare le API di gestione della lingua per impostare la lingua in cui scrivere le comunicazioni con gli utenti. Tuttavia per impostazione predefinita è disponibile solo l'inglese. Sei responsabile della conversione dei messaggi. Dopo aver impostato la configurazione con l'API, la GUI viene aggiornata in modo che puoi modificare il testo del modello.
| Codice | Lingua | Regione |
|---|---|---|
af-ZA |
Afrikaans | Sud Africa |
sq-AL |
Albanese | Albania |
am-ET |
Amarico | Etiopia |
ar-DZ |
Arabo | Algeria |
ar-BH |
Arabo | Bahrain |
ar-EG |
Arabo | Egitto |
ar-IQ |
Arabo | Iraq |
ar-JO |
Arabo | Giordania |
ar-KW |
Arabo | Kuwait |
ar-LB |
Arabo | Libano |
ar-LY |
Arabo | Libia |
ar-MR |
Arabo | Mauritania |
ar-MA |
Arabo | Marocco |
ar-OM |
Arabo | Oman |
ar-QA |
Arabo | Qatar |
ar-SA |
Arabo | Arabia Saudita |
ar-SY |
Arabo | Siria |
ar-YE |
Arabo | Tunisia |
ar-AE |
Arabo | Emirati Arabi Uniti |
ar-YE |
Arabo | Yemen |
hy-AM |
Armeno | Armenia |
as-IN |
Assamese | India |
az-AZ |
Azero | Azerbaijan |
eu-ES |
Basco | Spagna |
be-BY |
Bielorusso | Bielorussia |
bn-BD |
Bengalese | Bangladesh |
be-BY |
Bielorusso | Bielorussia |
bn-BD |
Bengalese | Bangladesh |
bn-IN |
Bengalese | India |
bs-Latn-BA |
Bosniaco | Bosnia |
bg-BG |
Bulgaro | Bulgaria |
my-MM |
Birmano | Myanmar |
ca-ES |
Catalano | Spagna |
zh-Hans-CN |
Cinese semplificato | Cina |
zh-Hans-SG |
Cinese semplificato | Singapore |
zh-Hant-HK |
Cinese tradizionale | Hong Kong R.A.S (Cina) |
zh-Hant-MO |
Cinese tradizionale | Macao S.A.R. della Repubblica Popolare Cinese |
zh-Hant-TW |
Cinese tradizionale | Taiwan |
hr-HR |
Croato | Croazia |
cs-CZ |
Ceco | Repubblica Ceca |
da-DK |
Danese | Danimarca |
nl-BE |
Olandese | Belgio |
nl-NL |
Olandese | Paesi Bassi |
en-AU |
Inglese | Australia |
eu-BE |
Inglese | Belgio |
en-CM |
Inglese | Camerun |
eu-CA |
Inglese | Canada |
en-GH |
Inglese | Ghana |
eu-HK |
Inglese | Hong Kong R.A.S (Cina) |
en-IN |
Inglese | India |
en-IE |
Inglese | Irlanda |
en-KE |
Inglese | Kenya |
en-MU |
Inglese | Mauritius |
en-NZ |
Inglese | Nuova Zelanda |
en-NG |
Inglese | Nigeria |
en-PH |
Inglese | Filippine |
en-SG |
Inglese | Singapore |
en-ZA |
Inglese | Sud Africa |
en-TZ |
Inglese | Tanzania |
en-GB |
Inglese | Regno Unito |
en-US |
Inglese | Stati Uniti |
en-ZM |
Inglese | Zambia |
en |
Inglese | |
et-EE |
Estone | Estonia |
fil-PH |
Filippino | Filippine |
fi-FI |
Finlandese | Finlandia |
fr-DZ |
Francese | Algeria |
fr-CM |
Francese | Camerun |
fr-CD |
Francese | Repubblica democratica del Congo |
fr-BE |
Francese | Belgio |
fr-CA |
Francese | Canada |
fr-FR |
Francese | Francia |
fr-CI |
Francese | Costa d'Avorio (Côte d'Ivoire) |
fr-LU |
Francese | Lussemburgo |
fr-MR |
Francese | Mauritania |
fr-MU |
Francese | Mauritius |
fr-MA |
Francese | Marocco |
fr-SN |
Francese | Senegal |
fr-CH |
Francese | Svizzera |
fr-TN |
Francese | Tunisia |
gl-ES |
Gallego | Spagna |
lg-UG |
Ganda | Uganda |
ka-GE |
Georgiano | Georgia |
de-AT |
Tedesco | Austria |
de-DE |
Tedesco | Germania |
de-LU |
Tedesco | Lussemburgo |
de-CH |
Tedesco | Svizzera |
el-GR |
Greco | Grecia |
gu-IN |
Gujarati | India |
ha-NG |
Hausa | Nigeria |
he-IL |
Ebraico | Israele |
hi-IN |
Hindi | India |
hu-HU |
Ungherese | Ungheria |
is-IS |
Islandese | Islanda |
ig-NG |
Igbo | Nigeria |
id-ID |
Indonesiano | Indonesia |
it-IT |
Italiano | Italia |
it-CH |
Italiano | Svizzera |
ja-JP |
Giapponese | Giappone |
kn-IN |
Kannada | India |
kk-KZ |
Kazaco | Kazakistan |
km-KH |
Khmer | Cambogia |
rw-RW |
Kinyarwanda | Rwanda |
kok-IN |
Konkani | India |
ko-KR |
Coreano | Corea del Sud |
lo-LA |
Lituano | Lituania |
lv-LV |
Lettone | Lettonia |
lt-LT |
Khmer | Cambogia |
mk-MK |
Macedone | Macedonia |
ms-Latn-MY |
Malese (alfabeto latino) | Malaysia |
ml-IN |
Malayalam | India |
mt-MT |
Maltese | Malta |
mr-IN |
Marathi | India |
mn-Cyrl-MN |
Mongolo (alfabeto cirillico) | Mongolia |
ne-IN |
Nepalese | India |
ne-NP |
Nepalese | Nepal |
nb-NO |
Norvegese (Bokmål) | Norvegia |
nn-NO |
Norvegese (Nynorsk) | Norvegia |
or-IN |
Oriya (Odia) | India |
om-ET |
Oromo | Etiopia |
pl-PL |
Polacco | Polonia |
pt-AO |
Portoghese | Angola |
pt-BR |
Portoghese | Brasile |
pt-MO |
Portoghese | Macao S.A.R. della Repubblica Popolare Cinese |
pt-MZ |
Portoghese | Mozambico |
pt-PT |
Portoghese | Portogallo |
pa-IN |
Punjabi | India |
ro-RO |
Romeno | Romania |
ru-RU |
Russo | Russia |
sr-Cyrl-RS |
Serbo (alfabeto cirillico) | Serbia |
sr-Latn-ME |
Serbo (alfabeto latino) | Montenegro |
sr-Latn-RS |
Serbo (alfabeto latino) | Serbia |
si-LK |
Singalese | Sri Lanka |
sk-SK |
Slovacco | Slovacchia |
sl-SI |
Sloveno | Slovenia |
es-AR |
Spagnolo | Argentina |
es-BO |
Spagnolo | Bolivia |
es-CL |
Spagnolo | Cile |
es-CO |
Spagnolo | Colombia |
es-CR |
Spagnolo | Costa Rica |
es-DO |
Spagnolo | Repubblica Dominicana |
es-EC |
Spagnolo | Ecuador |
es-SV |
Spagnolo | El Salvador |
es-GT |
Spagnolo | Guatemala |
es-HN |
Spagnolo | Honduras |
es-MX |
Spagnolo | Messico |
es-NI |
Spagnolo | Nicaragua |
es-PA |
Spagnolo | Panama |
es-PY |
Spagnolo | Paraguay |
es-PE |
Spagnolo | Perù |
es-PR |
Spagnolo | Portorico |
es-ES |
Spagnolo | Spagna |
es-US |
Spagnolo | Stati Uniti |
es-UY |
Spagnolo | Uruguay |
es-VE |
Spagnolo | Venezuela |
sw-KE |
Swahili | Kenya |
sw-TZ |
Swahili | Tanzania |
sv-SE |
Svedese | Svezia |
ta-IN |
Tamil | India |
te-IN |
Telugu | India |
th-TH |
Tailandese | Thailandia |
tr-TR |
Turco | Turchia |
uk-UA |
Ucraino | Ucraina |
ur-IN |
Urdu | India |
ur-PK |
Urdu | Pakistan |
uz-Cyrl-UZ |
Uzbeco (Alfabeto cirillico) | Uzbekistan |
uz-Latn-UZ |
Uzbeco (alfabeto latino) | Uzbekistan |
vi-VN |
Vietnamita | Vietnam |
cy-GB |
Gallese | Regno Unito |
yo-NG |
Yoruba | Nigeria |
zu-ZA |
Zulu | Sud Africa |