Skip to content

Instantly share code, notes, and snippets.

@r-lyeh-archived
Created March 6, 2017 18:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save r-lyeh-archived/cbe7ebd681149af7b335b5f981651311 to your computer and use it in GitHub Desktop.
Save r-lyeh-archived/cbe7ebd681149af7b335b5f981651311 to your computer and use it in GitHub Desktop.
// from PolyGlot master sheet 0.9 - CC1.0 licensed
// https://github.com/PolyglotGamedev/mastersheet/blob/master/PolyglotGamedev-Master.csv
enum {
comment,
enUS/*enGB*/,frFR,
esES/*esAR esMX*/,
deDE/*deCH deAT*/,
itIT/*itCH*/,
ptBR,ptPT,ruRU,elGR,trTR,daDK,noNB,svSE,nlNL,plPL,fiFI,jaJP,zhCN/* zhSG*/,zhTW/* zhHK zhMO*/,koKR,csCZ,huHU,roRO,thTH,bgBG,heIL
};
const char *STRINGID = ",DESCRIPTION,ENGLISH,FRENCH / FRANÇAIS,SPANISH / ESPAÑOL,GERMAN / DEUTSCH,ITALIAN / ITALIANO,PORTUGUESE / PORTUGUÊS (BR),PORTUGUESE / PORTUGUÊS (PT),RUSSIAN / РУССКИЙ,GREEK / ΕΛΛΗΝΙΚΑ,TURKISH / TÜRKÇE,DANISH / DANSK,NORWEGIAN (NB) / NORSK BOKMÅL,SWEDISH / SVENSKA,DUTCH / NEDERLANDS,POLISH / POLSKI,FINNISH / SUOMI,JAPANESE / 日本語,SIMPLIFIED CHINESE / 简体中文,TRADITIONAL CHINESE / 繁体中文,KOREAN / 한국어,CZECH / ČEŠTINA,HUNGARIAN / MAGYAR,ROMANIAN / ROMÂNĂ,THAI / ภาษาไทย,BULGARIAN / БЪЛГАРСКИ,עברית / HEBREW";
const char *LANGUAGE_CODE = ",IETF language tag(s) without dash,enUS enGB,frFR,esES esAR esMX,deDE deCH deAT,itIT itCH,ptBR,ptPT,ruRU,elGR,trTR,daDK,noNB,svSE,nlNL,plPL,fiFI,jaJP,zhCN zhSG,zhTW zhHK zhMO,koKR,csCZ,huHU,roRO,thTH,bgBG,heIL";
const char *LANGUAGE_EN = ",[LanguageName] in english,English,French,Spanish,German,Italian ,Portuguese (Brazil),Portuguese,Russian,Greek,Turkish,Danish,Norwegian,Swedish,Dutch,Polish,Finnish,Japanese,Simplified Chinese,Traditional Chinese,Korean,Czech,Hungarian,Romanian,Thai,Bulgarian,Hebrew";
const char *LANGUAGE_DIRECTION = ",ltr or rtl (text direction used by game code),ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,ltr,rtl";
const char *ERROR_DEVICE_NOT_FOUND = ",Use {0} in place of [device],No {0} detected,Aucun {0} détecté.,No se detectó {0},{0} nicht erkannt,Nessun {dispositivo} trovato,{0} não encontrado,O dispositivo {0} não foi detectado.,{0} не обнаружен,Δεν εντοπίστηκε {0},{0} aygıt algılanamadı.,Ingen {0} detekteret.,Ingen {0} funnet.,{0} kunde inte hittas.,Geen {apparaat} gevonden.,Nie wykryto {0},{0} ei havaittu,{0} が接続されていません,未检测到{0},未檢測到{0},{0}을(를) 찾을 수 없습니다.,Zařízení {0} nenalezeno,{0} nem található,Nu s-a detectat niciun {0},ตรวจไม่พบอุปกรณ์ {0},Няма засечен {0}.,לא נמצא רכיב {0}";
const char *ERROR_DEVICE_VR_LEAVING_TRACKAREA = ",,Leaving tracking area,Vous quittez la zone de détection.,Saliendo del area de seguimiento,Außerhalb des Tracking-Bereichs,Lasciando la zona di tracciamento,Deixando área de rastreamento,À deixar área de rastreamento,За пределами зоны отслеживания,Απομάκρυνση από την περιοχή καταγραφής,Takip alanı terkediliyor.,Forlader sporingsområdet,Forlater sporingsområdet,Lämnar spårningsområde,Het zoekgebied wordt verlaten,Opuszczanie strefy śledzenia,Poistut seuranta-alueelta,通信圏外です,无信号,無信號,인식 범위 밖입니다.,Opouštíte trackovací zónu,Elhagyod az érzékelési területet.,Se părăsește zona de urmărire,ออกจากพื้นที่ติดตาม,Напускате следената площ,יציאה מגבולות מפוקחים";
const char *ERROR_DEVICE_VR_NO_HMD = ",Using abbrev. \"HMD\" (Head Mounted Display),No HMD detected,Aucun HDM détecté.,No se detectó ningún HMD,Kein HMD erkannt,HMD non rilevato,HMD não encontrado,HMD não detectado.,VR-шлем не обнаружен,Δεν εντοπίστηκε HMD,Görüş Ünitesi algılanamadı.,Intet HMD detekteret.,Ingen HMD funnet.,Ingen VR-hjälm funnen,Geen HMD gedetecteerd.,Nie wykryto HMD,HMD ei havaittu,HMDが接続されていません,未检测到HMD,未檢測到HMD,HMD를 찾을 수 없습니다.,HMD nenalezeno,HMD nem található,Nu s-a detectat niciun HMD,ตรวจไม่พบหน่วยแสดงผลสวมศีรษะ,Няма засечен HMD.,HMD לא נמצא";
const char *ERROR_GENERIC_CHEATING = ",,Cheats detected!,Codes triche détectés !,¡Trampas Detectadas!,Cheats entdeckt!,Trucchi individuati!,Trapaças detectadas!,Batota Detetada!,Используются читы!,Ανιχνεύτηκε κλεψιά!,Hile Algılandı!,Snydekoder opdaget!,Juksekoder oppdaget!,Fusk hittades!,Cheats gebruikt!,Wykryto użycie kodów!,Huijauksia havaittu!,チート検出!,检测到作弊!,已偵測到作弊!,치트 발견!,Detekovány cheaty!,Csalást észleltünk!,Cheat-uri detectate!,Cheats ตรวจสอบพบ!,Засечени чийтове!,רמאות!";
const char *ERROR_GENERIC_ERRCODE = ",,Error code:,Code d'erreur :,Código de error:,Fehlercode:,Codice errore:,Código de erro:,Código de erro:,Код ошибки:,Κωδικός σφάλματος:,Hata kodu:,Fejlkode:,Feilkode:,Felkod:,Foutcode:,Kod błędu:,Virhekoodi: ,エラーコード:,错误代码:,錯誤代碼:,오류 코드:,Kód chyby:,Hibakód:,Cod de eroare:,รหัสข้อผิดพลาด,Код на грешката:,טעות מספר:";
const char *ERROR_GENERIC_INVALID_KEY = ",,Invalid CD Key.,Clé CD incorrecte.,La clave de producto no es válida.,Ungültiger Produktschlüssel.,CD Key non valida.,Código de produto (CD Key) inválido.,Código de produto (CD Key) inválido.,Неверный цифровой ключ.,Μη έγκυρο κλειδί CD.,Geçersiz CD Anahtarı.,Ugyldig CD-nøgle.,Ugyldig CD-nøkkel.,Ogiltig CD-nyckel.,Ongeldige cd-code.,Nieprawidłowy numer seryjny.,Virheellinen tuotetunnus.,無効なCDキーです。,序列号无效。,無效的遊戲序號。,잘못된 CD키입니다.,Neplatný CD klíč.,Érvénytelen CD-kulcs.,Cod de activare invalid.,CD Key ไม่ถูกต้อง,Невалиден ключ за активация.,סיסמה לא נכונה!";
const char *ERROR_GENERIC_INVALID_NAME = ",,Invalid name!,Nom incorrect !,El nombre no es válido,Ungültiger Name!,Nome non valido!,Nome inválido!,Nome Inválido!,Недопустимое название!,Μη έγκυρο όνομα!,Geçersiz İsim!,Ugyldigt navn!,Ugyldig navn!,Ogiltigt Namn!,Ongeldige naam!,Błędna nazwa!,Virheellinen nimi!,無効な名前です!,名称无效!,名稱無效!,이름이 잘못되었습니다.,Neplatný název!,Érvénytelen név!,Nume Invalid!,ชื่อไม่ถูกต้อง!,Невалидно име!,שם לא נכון!";
const char *ERROR_GENERIC_TEXT = ",,An error has occured.,Une erreur s'est produite.,Ha ocurrido un error,Ein Fehler ist aufgetreten.,È stato riscontrato un errore.,Ocorreu um erro.,Ocorreu um erro.,Произошла ошибка.,Γενικό σφάλμα.,Bir hata oluştu.,Der er sket en fejl.,Det har skjedd en feil.,Ett fel har uppstått.,Er is een fout opgetreden.,Wystąpił jakiś błąd.,On tapahtunut virhe.,エラーが発生しました。,发生了错误。,發生了錯誤。,오류가 발생했습니다.,Vyskytla se chyba,Hiba történt.,A apărut o eroare.,เกิดความผิดพลาดบางประการ,Грешка в изпълнението.,ארעה טעות.";
const char *ERROR_NETWORK_CONNECTION_LOST = ",,Connection lost.,Connexion perdue.,Conexión perdida,Verbindung verloren.,Connessione persa.,Conexão perdida.,Ligação perdida.,Соединение потеряно.,Χάθηκε η σύνδεση.,Bağlantı kesildi.,Mistet forbindelse.,Mistet forbindelsen.,Anslutningen bröts.,Verbinding verloren.,Stracono połączenie.,Yhteys menetetty.,接続が切断されました。,网络连接失败。,網絡連接失敗。,연결이 끊어졌습니다.,Spojení ztraceno.,A kapcsolat megszakadt.,S-a întrerupt conexiunea.,การเชื่อมต่อผิดพลาด,Връзката е изгубена.,החיבור לרשת אבד.";
const char *ERROR_NETWORK_DISCONNECTED_YOUR_OPPONENT = ",,Your opponent has disconnected.,Votre adversaire s'est déconnecté.,Tu oponente se ha desconectado,Dein Gegner hat die Verbindung getrennt.,Il tuo avversario si è disconnesso.,Seu oponente foi desconectado.,O seu adversário perdeu a ligação.,Ваш соперник отключился.,Ο/η αντίπαλός σου αποσυνδέθηκε.,Rakibinizin bağlantısı kesildi.,Din modstander har afbrudt forbindelsen.,Din motstander har koblet fra.,Din motspelare har kopplat ifrån.,Je tegenstander heeft het spel verlaten.,Twój przeciwnik się rozłączył.,Vastustajasi on menettänyt yhteyden.,相手プレイヤーが接続を切断しました。,你的对手断开连接。,你的對手斷線,상대가 연결을 끊었습니다.,Tvůj protivník se odpojil,Megszakadt a kapcsolat az ellenfeleddel.,Inamicul tău s-a deconectat.,คู่ต่อสู้หลุดการเชื่อมต่อ,Изгубена връзка с противник.,היריב התנתק מהרשת.";
const char *ERROR_NETWORK_DISCONNECTED_YOUR_PLAYER = ",,The other player has disconnected.,L'autre joueur s'est déconnecté.,El otro jugador se ha desconectado,Der andere Spieler hat die Verbindung getrennt.,L'altro giocatore si è disconnesso.,O outro jogador foi desconectado.,O outro jogador perdeu a ligação.,Другой игрок отключился.,Ο/η άλλος παίχτης αποσυνδέθηκε.,Diğer oyuncunun bağlantısı kesildi.,Den anden spiller har afbrudt forbindelsen.,Den andre spilleren har koblet ifra.,Den andra spelaren har kopplat ifrån.,De andere speler heeft het spel verlaten.,Gracz się rozłączył.,Toinen pelaaja on menettänyt yhteyden.,他のプレイヤーが接続を切断しました。,另一个玩家断开了连接。,另一個玩家斷線,다른 플레이어가 연결을 끊었습니다.,Hráč se odpojil,Megszakadt a kapcsolat a másik játékossal.,Celalalt jucator s-a deconectat.,ผู้เล่นอื่นหลุดการเชื่อมต่อ,Изгубена връзка с играч.,השחקן התנתק מהרשת.";
const char *ERROR_NETWORK_DISCONNECTED_YOUR_TEAMMATE = ",,Your teammate has disconnected.,Votre coéquipier s'est déconnecté.,Tu compañero se ha desconectado,Dein Mitspieler hat die Verbindung getrennt,Il tuo compagno si è disconnesso.,Seu companheiro de equipe foi desconectado.,O seu companeiro de equipa perdeu a ligação.,Ваш союзник отключился.,Ο/η συμπαίχτης σου αποσυνθέθηκε.,Takım arkadaşınızın bağlantısı kesildi.,Din medspiller har afbrudt forbindelsen.,Din medspiller har koblet fra.,Din medspelare har kopplat ifrån.,Je teamgenoot heeft het spel verlaten.,Członek Twojej drużyny się rozłączył.,Tiimikaverisi on menettänyt yhteyden.,味方プレイヤーが接続を切断しました。,你的队友断开了连接。,你的隊友斷線,팀원이 연결을 끊었습니다.,Tvůj spojenec se odpojil,Megszakadt a kapcsolat a csapattársaddal.,Aliatul tău s-a deconectat.,เพื่อนร่วมทีมหลุดการเชื่อมต่อ,Изгубена връзка със съотборник.,החבר לקבוצה התנתק מהרשת.";
const char *ERROR_NETWORK_SERVER = ",,Cannot connect to server.,Impossible de se connecter au serveur.,No se pudo conectar con el servidor,Es konnte keine Verbindung zum Server hergestellt werden.,Impossibile connettersi al server.,Não foi possível conectar-se ao servidor.,Não é possível ligar ao servidor.,Не удалось подключиться к серверу.,Δεν μπορώ να συνδεθώ στον διακομιστή.,Sunucuya bağlanılamıyor.,Kan ikke få forbindelse til serveren.,Kan ikke koble til serveren.,Kan inte ansluta till servern.,Kan geen verbinding maken met server.,Nie można połączyć się z serwerem.,Palvelimeen ei saada yhteyttä.,サーバーに接続できません。,不能连接至服务器。,不能連接至服務器。,서버에 연결할 수 없습니다.,Nelze se připojit k serveru,Nem lehet a kiszolgálóhoz csatlakozni.,Nu se poate face conexiunea la server.,ไม่สามารถเชื่อมต่อระบบ,Няма връзка със сървъра.,אי אפשר להתחבר לשרת.";
const char *ERROR_SAVE_CORRUPTED = ",,Save file corrupted.,Fichier de sauvegarde corrompu.,Achivo de guardado corrupto,Speicherstand beschädigt.,Salvataggio corrotto.,Arquivo de jogo salvo corrompido.,Ficheiro de jogo corrompido.,Файл сохранения повреждён.,Το αποθηκευμένο αρχείο είναι κατεστραμμένο.,Kayıt dosyası bozuk.,Spildata er korrupt.,Lagringsfil er korrupt.,Sparfilen är korrupt. ,Opgeslagen spel is beschadigd.,Uszkodzony plik zapisu gry.,Tallennus on vioittunut.,セーブデータが破損しています。,存档文件已被破坏。,存檔文件已被破壞。,저장된 게임에 오류가 있습니다.,Uložený soubor je poškozen,A játékmentés megsérült.,Fișierul salvat este stricat.,Save เกิดความเสียหาย,Повреден файл със запис.,הקובץ השמור פגום.";
const char *ERROR_SAVE_NO_GAMES_FOUND = ",In previously saved games,No games found.,Aucune sauvegarde trouvée.,No se encontraron partidas,Keine Speicherstände gefunden.,Nessuna partita trovata.,Nenhum jogo encontrado.,Sem jogos.,Сохранения не найдены.,Δεν βρέθηκαν παιχνίδια.,Oyun bulunamadı.,Ingen gemte spil fundet.,Ingen lagrede spill funnet.,Inga sparade spel hittades.,Geen spellen gevonden.,Nie znaleziono zapisanych gier.,Pelejä ei löytynyt.,セーブデータが見つかりません。,找不到游戏。,找不到游戲。,저장된 게임이 없습니다.,Nenalezeny žádné hry,Nem található elmentett játékállás.,Nu s-a găsit niciun joc.,ไม่เจอเกมที่สร้าง,Няма намерени игри.,לא נמצאו משחקים שמורים.";
const char *ERROR_SAVE_NO_OPEN_GAMES = ",For empty online game lobby,No open games.,Aucune partie trouvée.,No hay partidas abiertas,Keine Spiele gefunden.,Nessuna partita aperta,Nenhum jogo ativo.,Não existem jogos a decorrer.,Нет свободных игр.,Κανένα ανοιχτό παιχνίδι,Açık oyun yok.,Ingen åbne spil.,Ingen åpne spill.,Inga öppna spel är tillgängliga.,Geen open spellen gevonden.,Brak gier,Avoimia pelejä ei ole.,参加可能なゲームがありません。,没有招募中的游戏,沒有招募中的游戲,현재 열린 방이 없습니다.,Žádné probíhající hry,Nem található nyitott játék.,Nu s-a găsit niciun joc.,ไม่เจอเกม,Няма отворени игри.,אין משחקים פתוחים.";
#include <stdlib.h>
#include <string.h>
const char *lang( const char *buf, int locale ) {
const char *end;
for( int i = 0; i <= locale; ++i ) {
buf = strstr( buf, ",") + 1;
}
end = strstr( buf, "," );
int len = (end ? end - buf : strlen(end));
char *dup = (char *)realloc( 0, len + 1 );
sprintf(dup, "%.*s", len, buf );
return dup;
}
#include <stdio.h>
int main() {
puts( lang(ERROR_NETWORK_DISCONNECTED_YOUR_OPPONENT,esES) );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment