---
name: "Builtins.translate"
section: "3kaya"
platform: "linux"
package: "kaya"
version: "0.4.4-6.2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Builtins.translate"
---

# Builtins.translate(3kaya)

Translate characters in a String

## NAME

Builtins::translate - Translate characters in a String

## SYNOPSIS

**Void translate(** *var String s, Char(Char) rule* **)**

## ARGUMENTS

**s** The string to translate

**rule** The rule to apply

## DESCRIPTION

Replace characters in a String in place, applying the translation function to each character in turn.

-

   Char rot13(Char c) {\
        if ((c \>= 'A' && c \<= 'M') \|\| \
            (c \>= 'a' && c \<= 'm')) {\
            return Char(c+13);\
        } else if ((c \>= 'N' && c \<= 'Z') \|\| \
                   (c \>= 'n' && c \<= 'z')) {\
            return Char(c-13);\
        } else {\
            return c;\
        }\
    }

   Void main() {\
        str = "Hello World";\
        translate(str, rot13);\
        // str = "Uryyb Jbeyq";\
    }

## AUTHORS

Kaya standard library by Edwin Brady, Chris Morris and others (kaya@kayalang.org). For further information see http://kayalang.org/

## LICENSE

The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.
