Existen dos versiones de Translate: una función y un procedimiento. La función devuelve una ristra, S, de la misma longitud que Source, tal que S(I)es el carácter que corresponde a Source(I) según la equivalencia establecida por Mapping. El procedimiento es equivalente a: Source := Translate(Source, Mapping);. Para utilizarlos hay que incluir las librerías que correspondan según el tipo de ristra (Ada.Strings.Fixed, Ada.Strings.Bounded, Ada.Strings.Unbounded).
En lo que sigue, el tipo Ristra representa uno de los tres tipos de ristras, según corresponda.
function Translate (Source : in Ristra; Mapping : in Mapa_de_Caracteres) return Ristra; procedure Translate (Source : in out Ristra; Mapping : in Mapa_de_Caracteres); Mapa_de_Caracteres ::= Maps.Character_Mapping | Maps.Character_Mapping_Function
-- En Ada.Strings están definidas algunas constantes -- como Inside, Outside y Backward. with Ada.Strings; use Ada.Strings with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; -- En Strings.Maps se encuentra la función To_Mapping with Ada.Strings.Maps; use Ada.Strings.Maps; ... Din1, Din2 : Unbounded_String; P : Integer; ... Din1 := To_Unbounded_String ("Universidad de Las Palmas de Gran Canaria"); Din2 := Translate (Din1, To_Mapping ("aeiou", "12345")); -- Din2 = "Un3v2rs3d1d d2 L1s P1lm1s d2 Gr1n C1n1r31"