X-Git-Url: http://nitlanguage.org diff --git a/contrib/benitlux/src/client/features/translations.nit b/contrib/benitlux/src/client/features/translations.nit new file mode 100644 index 0000000..02deb61 --- /dev/null +++ b/contrib/benitlux/src/client/features/translations.nit @@ -0,0 +1,103 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and + +# Support for translating the app to different languages, implements French +module translations + +redef class Text + # Translate `self` according to the current language `sys.lang` + fun t: String + do + var lang = sys.lang_map + if lang == null then return to_s + + if lang.keys.has(self) then return lang[self] + + print "Translation miss ({sys.lang}): {self}" + return to_s + end +end + +redef class Sys + # Name of the language in use + var lang = "C" + + # Translation map for the language in use + var lang_map: nullable Map[Text, String] = null +end + +# Set French as the current language +fun set_fr +do + var map = new Map[Text, String] + + # Home views + map["Welcome %0"] = "Bienvenue %0" + map["Welcome"] = "Bienvenue" + map["Beer Menu"] = "Menu de bières" + map["View all"] = "Menu complet" + map["Preferences"] = "Préférences" + map["Friends"] = "Amis" + map["Manage"] = "Gérer" + map["Events"] = "Événements" + map["Loading..."] = "Chargement..." + map["Login or signup"] = "S'authentifier" + map["On location?"] = "Sur place?" + map["Leaving?"] = "Vous quittez?" + + # User/login views + map["Account options"] = "Options du compte" + map["Share options"] = "Options de partage" + map["Notifications options"] = "Options de notification" + map["Please login"] = "Veuillez vous identifier" + map["Welcome %0!"] = "Bienvenue %0!" + map["Logged in as %0"] = "Connecté en tant que %0" + map["Username"] = "Nom d'utilisateur" + map["Invalid name"] = "Nom d'utilisateur invalide" + map["Password"] = "Mot de passe" + map["Passwords must be composed of at least 6 characters."] = "Le mot de passe doit avoir au moins 6 charactères." + map["Email"] = "Courriel" + map["Login"] = "Se connecter" + map["Logout"] = "Se déconnecter" + map["Signup"] = "Créer un compte" + + # Social views + map["Follow"] = "Suivre" + map["Unfollow"] = "Ne plus suivre" + map["Search"] = "Rechercher" + map["Favorites: %0"] = "Favoris: %0" + map["No favorites yet"] = "Pas de favoris" + map["List followed"] = "Personnes suivies" + map["List followers"] = "Personnes vous suivant" + + # Beer views + map["Review %0"] = "Évaluer %0" + map["%0★ %1 reviews"] = "%0★ %1 avis" + map["No reviews yet"] = "Aucun avis" + map[", friends: %0☆ %1 reviews"] = ", amis: %0☆ %1 avis" + map[" (New)"] = " (Nouveau)" + map["Similar to %0."] = "Similaire à %0." + map["Favorite beer on the menu."] = "Bière préférée sur le menu." + map["Favorite of %0"] = "Préférée de %0" + + # Preferences + map["Notify when a friend checks in"] = "Lorsqu'un ami est sur place" + map["Show the menu every work day"] = "Menu journalier en semaine" + map["Notify when there are new beers"] = "Lorsqu'il y a de nouvelles bières" + map["Share checkins with your friends"] = "Partager lorsque vous êtes sur place" + map["Passing by the Benelux?"] = "De passage au Bénélux?" + + # Update Sys + sys.lang = "fr" + sys.lang_map = map +end