diff --git a/scripts/i18n-update.mjs b/scripts/i18n-update.mjs index 65ed67128e..7437dc3e55 100644 --- a/scripts/i18n-update.mjs +++ b/scripts/i18n-update.mjs @@ -11,7 +11,7 @@ import { request as octokitRequest } from '@octokit/request' const baseDir = 'tmp/translations' const i18nBaseDir = '../www/i18n' const lilaSourcePath = `${baseDir}/source` -const lilaTranslationsPath = `${baseDir}/[lichess-org.lila] master/translation/dest` +const lilaTranslationsPath = `${baseDir}/[ornicar.lila] master/translation/dest` const lichobileTranslationsPath = '../translation/dest/' const unzipMaxBufferSize = 1024 * 1024 * 10 // Set maxbuffer to 10MB to avoid errors when default 1MB used diff --git a/www/i18n/bn-BD.js b/www/i18n/bn-BD.js index ba45a5bc16..809120ba80 100644 --- a/www/i18n/bn-BD.js +++ b/www/i18n/bn-BD.js @@ -1001,5 +1001,12 @@ export default { "declineStandard": "ভ্যারিয়েন্ট চ্যালেঞ্জ এখন গ্রহন থেকে বিরত রয়েছি.", "declineVariant": "ভেরিয়েন্ট গেম খেলতে ইচ্ছে করছে না এখন.", "declineNoBot": "বোট থেকে এখন চ্যালেঞ্জ গ্রহন থেকে বিরত রয়েছি.", - "declineOnlyBot": "বর্তমানে সুধু বোট থেকে চ্যালেঞ্জ গ্রহন করছি." + "declineOnlyBot": "বর্তমানে সুধু বোট থেকে চ্যালেঞ্জ গ্রহন করছি.", + "apiUnsupported": "আপনার লিচেস্‌ অ্যাপের ভার্সন অনেক পুরনো! দয়া করে সর্বশেষ ভার্সনে হালনাগাদ করুন ফ্রিতে ।", + "apiDeprecated": "ফ্রিতে লিচেস্‌ অ্যাপ সর্বশেষ ভার্সনে হালনাগাদ করুন ! %s তারিখে এই ভার্সনের সাপোর্ট বন্ধ হয়ে যাবে । ", + "comments": "মন্তব্য", + "gameInformation": "খেলা তথ্য", + "home": "হোম", + "lastScore": "শেষ স্কোর​ %s", + "playerisInvitingYou": "%s আপনাকে আমন্ত্রণ জানিয়েছে" } \ No newline at end of file diff --git a/www/i18n/cs-CZ.js b/www/i18n/cs-CZ.js index de069f9acb..b02f4e7b11 100644 --- a/www/i18n/cs-CZ.js +++ b/www/i18n/cs-CZ.js @@ -1322,6 +1322,10 @@ export default { "imageAlt": "Alternativní text obrázku", "apiUnsupported": "Vaše verze aplikace je příliš stará. Aktualizujte ji prosím zdarma na nejnovější verzi.", "apiDeprecated": "Aktualizujte zdarma na nejnovější lichess aplikaci! Tato verze nebude podporována po %s.", + "comments": "Komentáře", + "gameInformation": "Informace o hře", + "home": "Hlavní stránka", + "lastScore": "Poslední skóre: %s", "playerisInvitingYou": "%s vás zve", "unsupportedVariant": "Varianta %s není v této verzi aplikace podporována", "notesSynchronizationHasFailed": "Synchronizace poznámek se nezdařila, zkuste to prosím později.", @@ -1332,6 +1336,9 @@ export default { "settingsClockPosition": "Pozice hodin", "positionRight": "Vpravo", "positionLeft": "Vlevo", + "landscapeBoardSide": "Strana se šachovnicí (v režímu na šířku)", + "toggleSound": "Zapnout/vypnout zvuk", + "overTheBoard": "Jako na šachovnici", "sharePgn": "Sdílet PGN", "shareGameUrl": "Sdílet URL hry", "playOnline": "Hrát online", diff --git a/www/i18n/de-CH.js b/www/i18n/de-CH.js index 9bfee0f577..dc1edfbc09 100644 --- a/www/i18n/de-CH.js +++ b/www/i18n/de-CH.js @@ -1279,10 +1279,10 @@ export default { "positionRight": "Rächts", "positionLeft": "Linggs", "landscapeBoardSide": "Bildschirmsiitä vom Brett (im Quärformat)", - "toggleSound": "Ton ein-/ausschalten", - "overTheBoard": "Offline gegen Mensch", - "sharePgn": "PGN teilen", - "shareGameUrl": "Link der Partie teilen", - "playOnline": "Spiele online", - "playOffline": "Spiele offline" + "toggleSound": "Ton ii/uus schalte", + "overTheBoard": "Schpill offline gäg än Mänsch", + "sharePgn": "PGN teilä", + "shareGameUrl": "Partiä-URL teilä", + "playOnline": "Online schpilä", + "playOffline": "Offline schpilä" } \ No newline at end of file diff --git a/www/i18n/de-DE.js b/www/i18n/de-DE.js index 8844d2b686..587e686bff 100644 --- a/www/i18n/de-DE.js +++ b/www/i18n/de-DE.js @@ -1273,7 +1273,7 @@ export default { "notesSynchronizationHasFailed": "Die Synchronisation der Anmerkungen mit Lichess ist fehlgeschlagen, bitte versuche es später erneut.", "vibrateOnGameEvents": "Bei Spielereignissen vibrieren", "offline": "Offline", - "otbUseSymmetricPieces": "Benutze symmetrische Figuren", + "otbUseSymmetricPieces": "Verwende symmetrische Figuren", "otbFlipPiecesAndInfoAfterMove": "Drehe Figuren und Gegnerinfo nach dem Zug", "settingsClockPosition": "Uhrposition", "positionRight": "Rechts", diff --git a/www/i18n/en-GB.js b/www/i18n/en-GB.js index 3bd123c2f9..941ba74f8d 100644 --- a/www/i18n/en-GB.js +++ b/www/i18n/en-GB.js @@ -334,6 +334,7 @@ export default { "countryOrFlag": "Country or flag", "thankYou": "Thank you!", "socialMediaLinks": "Social media links", + "oneUrlPerLine": "One URL per line.", "inlineNotation": "Inline notation", "previouslyOnLichessTV": "Previously on Lichess TV", "onlinePlayers": "Online players", @@ -373,6 +374,7 @@ export default { "reportDescriptionHelp": "Paste the link to the game(s) and explain what is wrong about this user's behaviour. Don't just say \"they cheat\", but tell us how you came to this conclusion. Your report will be processed faster if written in English.", "error.provideOneCheatedGameLink": "Please provide at least one link to a cheated game.", "by": "by %s", + "importedByX": "Imported by %s", "thisTopicIsNowClosed": "This topic is now closed.", "blog": "Blog", "notes": "Notes", @@ -632,7 +634,7 @@ export default { "currentMatchScore": "Current match score", "agreementAssistance": "I agree that I will at no time receive assistance during my games (from a chess computer, book, database or another person).", "agreementNice": "I agree that I will always be respectful to other players.", - "agreementAccount": "I agree that I will not create multiple accounts.", + "agreementMultipleAccounts": "I agree that I will not create multiple accounts (except for the reasons stated in the %s).", "agreementPolicy": "I agree that I will follow all Lichess policies.", "searchOrStartNewDiscussion": "Search or start new conversation", "edit": "Edit", @@ -876,9 +878,10 @@ export default { "pinnedChapterComment": "Pinned chapter comment", "saveChapter": "Save chapter", "clearAnnotations": "Clear annotations", + "clearVariations": "Clear variations", "deleteChapter": "Delete chapter", - "deleteThisChapter": "Delete this chapter? There is no going back!", - "clearAllCommentsInThisChapter": "Clear all comments, glyphs and drawn shapes in this chapter?", + "deleteThisChapter": "Delete this chapter. There is no going back!", + "clearAllCommentsInThisChapter": "Clear all comments, glyphs and drawn shapes in this chapter", "rightUnderTheBoard": "Right under the board", "noPinnedComment": "None", "normalAnalysis": "Normal analysis", @@ -1033,6 +1036,7 @@ export default { "pgnLetter": "Letter (K, Q, R, B, N)", "zenMode": "Zen mode", "showPlayerRatings": "Show player ratings", + "explainShowPlayerRatings": "This allows hiding all ratings from the website, to help focus on the chess. Games can still be rated, this is only about what you get to see.", "displayBoardResizeHandle": "Show board resize handle", "onlyOnInitialPosition": "Only on initial position", "blindfoldChess": "Blindfold chess (invisible pieces)", @@ -1051,6 +1055,7 @@ export default { "takebacksWithOpponentApproval": "Takebacks (with opponent approval)", "inCasualGamesOnly": "In casual games only", "promoteToQueenAutomatically": "Promote to Queen automatically", + "explainPromoteToQueenAutomatically": "Hold the key while promoting to temporarily disable auto-promotion", "whenPremoving": "When premoving", "claimDrawOnThreefoldRepetitionAutomatically": "Claim draw on threefold repetition automatically", "whenTimeRemainingLessThanThirtySeconds": "When time remaining < 30 seconds", @@ -1066,6 +1071,7 @@ export default { "sayGgWpAfterLosingOrDrawing": "Say \"Good game, well played\" upon defeat or draw", "yourPreferencesHaveBeenSaved": "Your preferences have been saved.", "scrollOnTheBoardToReplayMoves": "Scroll on the board to replay moves", + "correspondenceEmailNotification": "Daily mail notification listing your correspondence games", "settings": "Settings", "closeAccount": "Close account", "closingIsDefinitive": "Closing is definitive. There is no going back. Are you sure?", @@ -1095,6 +1101,7 @@ export default { "include": "Include", "descending": "Descending", "ascending": "Ascending", + "ratingExplanation": "The average rating of both players", "searchInXGames:one": "Search in %s chess game", "searchInXGames:other": "Search in %s chess games", "xGamesFound:one": "One game found", @@ -1140,6 +1147,7 @@ export default { "upcomingTourns": "Upcoming tournaments", "completedTourns": "Completed tournaments", "declinedRequests": "Declined Requests", + "joinLichessVariantTeam": "Join the official %s team for news and events", "teamLeaders:one": "Team leader", "teamLeaders:other": "Team leaders", "xJoinRequests:one": "%s join request", diff --git a/www/i18n/eu-ES.js b/www/i18n/eu-ES.js index e6452f7b29..f2785f12fa 100644 --- a/www/i18n/eu-ES.js +++ b/www/i18n/eu-ES.js @@ -1264,6 +1264,10 @@ export default { "viewAllNbPosts:other": "%s sarrera guztiak ikusi", "apiUnsupported": "Zure Lichess aplikazioa zaharregia da! Eguneratu azken bertsiora mesedez.", "apiDeprecated": "Eguneratu zure Lichess aplikazioa azken bertsiora! Bertsio hau %s-n kenduko dugu.", + "comments": "Iruzkinak", + "gameInformation": "Partidaren informazioa", + "home": "Hasiera", + "lastScore": "Azken emaitza: %s", "playerisInvitingYou": "%s erabiltzaileak gonbidatu egin zaitu", "unsupportedVariant": "%s aldaera ezin da erabili bertsio honetan", "notesSynchronizationHasFailed": "Oharrak Lichessekin sinkronizatzeak huts egin du.", diff --git a/www/i18n/he-IL.js b/www/i18n/he-IL.js index b49ce04234..8ed3c1fc8f 100644 --- a/www/i18n/he-IL.js +++ b/www/i18n/he-IL.js @@ -1191,6 +1191,9 @@ export default { "declineOnlyBot": "מאשר הזמנות למשחק רק מבוטים.", "apiUnsupported": "גרסת אפליקציית ליצ'ס שברשותך ישנה מדי! אנא שדרג לגרסה העדכנית ביותר בחינם.", "apiDeprecated": "שדרג בחינם לאפליקציית ליצ'ס העדכנית ביותר! תמיכה בגרסה זו תוסר ב-%s.", + "comments": "תגובה", + "gameInformation": "מידע על המשחק", + "home": "בית", "playerisInvitingYou": "%s מזמין אותך", "unsupportedVariant": "%s לא נתמך בגרסה זו", "notesSynchronizationHasFailed": "סנכרון הערות עם ליצ'ס נכשל, אנא נסה שנית מאוחר יותר.", diff --git a/www/i18n/hi-IN.js b/www/i18n/hi-IN.js index fa986457bc..602226ac19 100644 --- a/www/i18n/hi-IN.js +++ b/www/i18n/hi-IN.js @@ -1153,7 +1153,10 @@ export default { "declineOnlyBot": "मैं केवल कंप्यूटर से चुनौतियों को स्वीकार कर रहा हूं", "apiUnsupported": "आपका lichess version बहुत पुराना ह​ै | क्ृप्या उसे मुफ़्त मे Upgrade करे।", "apiDeprecated": "Lichess के नुतन सन्सकरण से मुफ़्त मे जुड़े | यह सन्सकरण %s के पश्चात कार्य नही करेगा।", + "comments": "टिप्पणियाँ", + "gameInformation": "खेल की जानकारी ।", "home": "घर", + "lastScore": "पिछला स्कोर​ %s", "playerisInvitingYou": "%s ने आपको न्योता दिया है।", "offline": "ऑफलाइन", "settingsClockPosition": "घड़ी के लिए स्थान", diff --git a/www/i18n/hr-HR.js b/www/i18n/hr-HR.js index c2c3937037..347cab4b42 100644 --- a/www/i18n/hr-HR.js +++ b/www/i18n/hr-HR.js @@ -1173,10 +1173,23 @@ export default { "declineVariant": "Trenutačno ne želim igrati ovu varijantu.", "declineNoBot": "Ne prihvaćam izazove od botova.", "declineOnlyBot": "Prihvaćam izazove isključivo od botova.", + "apiUnsupported": "Tvoja verzija lichess aplikacije je zastarjela! Molimo da ju besplatno ažuriraš na posljednju verziju.", + "apiDeprecated": "Besplatno ažuriraj lichess aplikaciju na posljednju verziju! Podrška za ovu verziju bit će obustavljena od %s.", "comments": "Komentari", "gameInformation": "Informacije o igri", "home": "Početna", "lastScore": "Zadnji rezultat: %s", + "playerisInvitingYou": "Poziva te %s", + "unsupportedVariant": "Varijanta %s nije podržana u ovoj verziji", + "notesSynchronizationHasFailed": "Sinkronizacija bilješki s lichessom nije uspjela, molimo pokušaj kasnije.", + "vibrateOnGameEvents": "Vibriranje prilikom događanja u partiji", + "offline": "Izvan mreže", + "otbUseSymmetricPieces": "Koristi simetrične figure", + "otbFlipPiecesAndInfoAfterMove": "Obrni figure i informacije o protivniku nakon poteza", + "settingsClockPosition": "Pozicija sata", + "positionRight": "Desno", + "positionLeft": "Lijevo", + "landscapeBoardSide": "Strana zaslona ploče (u pejzažnom načinu)", "toggleSound": "Uključi/isključi zvuk", "overTheBoard": "Igraj bez mreže, preko uređaja", "sharePgn": "Podijeli PGN", diff --git a/www/i18n/la-LA.js b/www/i18n/la-LA.js index c2db88ec3f..05c77c77a2 100644 --- a/www/i18n/la-LA.js +++ b/www/i18n/la-LA.js @@ -676,6 +676,7 @@ export default { "imageCredit": "Imaginis auctoritas", "apiUnsupported": "Haec Lichess versio est obsoletissima! Gratis recentissimam te accipere quaeso.", "apiDeprecated": "Gratis recentissimam Lichess versionem accipe! Huius versionis fulcimentum desinetur in %s.", + "lastScore": "Status proximus: %s", "playerisInvitingYou": "%s te invitat", "unsupportedVariant": "Hac in versione varietas %s non fulcitur", "notesSynchronizationHasFailed": "Synchronizatio notarum cum Lichess defecta est. Posterius proba.", diff --git a/www/i18n/sq-AL.js b/www/i18n/sq-AL.js index d38263912e..7c101bfb11 100644 --- a/www/i18n/sq-AL.js +++ b/www/i18n/sq-AL.js @@ -1131,5 +1131,25 @@ export default { "declineVariant": "Nuk dua te luaj këtë variant.", "declineNoBot": "Nuk pranoj sfida prej bots.", "declineOnlyBot": "Pranoj vëtëm sfida prej bots.", - "offline": "Offline" + "apiUnsupported": "Versioni juaj i lichess-it është shumë i vjetër! Ju lutemi, përmirësojeni falas me versionin më të ri.", + "apiDeprecated": "Përmirësojeni falas me aplikacionin më të ri për lichess! Mbulimi i këtij versioni do të reshtë më %s.", + "comments": "Komente", + "gameInformation": "Hollësi loje", + "home": "Kreu", + "lastScore": "Pikët e fundit: %s", + "playerisInvitingYou": "%s po ju fton", + "unsupportedVariant": "Varianti %s nuk mbulohet në këtë version", + "notesSynchronizationHasFailed": "Njëkohësimi i shënimeve me lichess-in dështoi, ju lutemi, riprovoni më vonë.", + "vibrateOnGameEvents": "Dridhu kur diçka ndodh në lojë", + "offline": "Jashtë linje", + "otbUseSymmetricPieces": "Përdor pjesë simetrike", + "settingsClockPosition": "Pozicion sahati", + "positionRight": "Djathtas", + "positionLeft": "Majtas", + "landscapeBoardSide": "Anë skene fushe (nën mënyrën peizazh)", + "toggleSound": "Aktivizoni/Çaktivizoni zërin", + "sharePgn": "Ndani PGN me të tjerë", + "shareGameUrl": "Ndani URL loje me të tjerë", + "playOnline": "Luani në internet", + "playOffline": "Luani jashtë interneti" } \ No newline at end of file diff --git a/www/i18n/te-IN.js b/www/i18n/te-IN.js index bb1f447afb..dd7e23ae93 100644 --- a/www/i18n/te-IN.js +++ b/www/i18n/te-IN.js @@ -323,5 +323,28 @@ export default { "needNbMoreGames:one": "మీరు%s ఎక్కువ రేటెడ్ గేమ్ ఆడాలి", "needNbMoreGames:other": "మీరు%s ఎక్కువ రేటెడ్ ఆటలను ఆడాలి", "lessThanNbMinutes:one": "%s నిమిషం కన్నా తక్కువ", - "lessThanNbMinutes:other": "%s నిమిషాల కన్నా తక్కువ" + "lessThanNbMinutes:other": "%s నిమిషాల కన్నా తక్కువ", + "apiUnsupported": "లిచెస్ యాప్ యొక్క మీ వెర్షన్ చాలా పాతది! దయచేసి తాజా వెర్షన్ కు ఉచితంగా అప్ గ్రేడ్ చేయండి.", + "apiDeprecated": "తాజా లైచెస్ యాప్ కు ఉచితంగా అప్ గ్రేడ్ చేయండి! ఈ వెర్షన్ కు మద్దతు డ్రాప్ చేయబడుతుంది", + "comments": "వ్యాఖ్యలు", + "gameInformation": "ఆట సమాచారం", + "home": "హోమ్", + "lastScore": "చివరి స్కోరు: %s", + "playerisInvitingYou": "%s మిమ్మల్ని ఆహ్వానిస్తున్నారు", + "unsupportedVariant": "వేరియంట్ %s ఈ వెర్షన్ లో మద్దతు లేదు", + "notesSynchronizationHasFailed": "లైచెస్ తో నోట్స్ సింక్రనైజేషన్ విఫలమైంది, దయచేసి తరువాత ప్రయత్నించండి.", + "vibrateOnGameEvents": "గేమ్ ఈవెంట్ లపై వైబ్రేట్", + "offline": "ఆఫ్ లైన్", + "otbUseSymmetricPieces": "సౌష్టవ ముక్కలను ఉపయోగించండి", + "otbFlipPiecesAndInfoAfterMove": "తరలించిన తరువాత పీస్ లు మరియు ప్రత్యర్థి సమాచారాన్ని ఫ్లిప్ చేయండి", + "settingsClockPosition": "గడియారం స్థానం", + "positionRight": "కుడివైపు", + "positionLeft": "ఎడమవైపు", + "landscapeBoardSide": "బోర్డ్ స్క్రీన్ సైడ్ (ల్యాండ్ స్కేప్ మోడ్ లో)", + "toggleSound": "టోగుల్ ధ్వని", + "overTheBoard": "బోర్డు పై", + "sharePgn": "పిజిఎన్ పంచుకోండి", + "shareGameUrl": "గేమ్ యుఆర్ఎల్ పంచుకోండి", + "playOnline": "ఆన్ లైన్ లో ప్లే చేయండి", + "playOffline": "ఆఫ్ లైన్ ప్లే చేయండి" } \ No newline at end of file diff --git a/www/i18n/tp-TP.js b/www/i18n/tp-TP.js index 0090a65488..d7d8a556b8 100644 --- a/www/i18n/tp-TP.js +++ b/www/i18n/tp-TP.js @@ -981,6 +981,10 @@ export default { "declineOnlyBot": "mi wile e ni: jan ilo li utala musi e mi.", "apiUnsupported": "ilo kon \"lichess\" pi ilo toki sina li kama tan tenpo pini mute a! o kama jo e ante sin.", "apiDeprecated": "o kama jo e ante sin pi ilo kon \"lichess\"! sina pali ala e ni la, ona li pini pali lon tenpo %s.", + "comments": "toki sin", + "gameInformation": "sona musi", + "home": "lipu lawa", + "lastScore": "nanpa pi musi pini: %s", "playerisInvitingYou": "jan %s li wile musi lon poka sina", "unsupportedVariant": "ante ni pi ilo kon \"lichess\" ni li sona ala e ante \"%s\"", "notesSynchronizationHasFailed": "mi ken ala linja e sitelen musi pi ilo ni, e sitelen musi pi ilo lawa \"lichess\". o pali sin lon tenpo kama.", @@ -991,5 +995,11 @@ export default { "settingsClockPosition": "ma pi ilo tenpo", "positionRight": "poka teje", "positionLeft": "poka soto", - "landscapeBoardSide": "poka sama pi supa musi" + "landscapeBoardSide": "poka sama pi supa musi", + "toggleSound": "o ante: kalama li lon ala lon?", + "overTheBoard": "musi pi jan tu pi ilo toki wan", + "sharePgn": "o pana e lipu PGN tawa jan ante", + "shareGameUrl": "o pana e nimi nasin musi", + "playOnline": "o musi kepeken linja sona", + "playOffline": "o musi kepeken linja sona ala" } \ No newline at end of file diff --git a/www/i18n/vi-VN.js b/www/i18n/vi-VN.js index 292efc676a..9ba3c90249 100644 --- a/www/i18n/vi-VN.js +++ b/www/i18n/vi-VN.js @@ -1159,7 +1159,7 @@ export default { "uploadAnImageForYourPost": "Tải một bức ảnh cho bài viết của bạn", "publishedNbBlogPosts:other": "Đã đăng %s bài", "nbViews:other": "%s lượt xem", - "apiUnsupported": "Phiên bản ứng dụng lichess của bạn quá cũ! Vui lòng nâng cấp miễn phí lên phiên bản mới nhất.", + "apiUnsupported": "Phiên bản ứng dụng lichess của bạn quá cũ! Vui lòng cập nhật miễn phí lên phiên bản mới nhất.", "apiDeprecated": "Nâng cấp miễn phí lên phiên bản mới nhất của lichess! Hỗ trợ cho phiên bản này có ở %s.", "gameInformation": "Thông tin ván đấu", "home": "Trang chủ", diff --git a/www/i18n/zh-TW.js b/www/i18n/zh-TW.js index 0a8c5c4752..8f0ab7eb15 100644 --- a/www/i18n/zh-TW.js +++ b/www/i18n/zh-TW.js @@ -1079,13 +1079,25 @@ export default { "declineOnlyBot": "我目前只接受機器人的對弈。", "apiUnsupported": "您的 lichess 版本過舊!請更新至最新版本。", "apiDeprecated": "免費更新到最新的版本。 對於目前版本的支援會在%s結束", + "comments": "評論", + "gameInformation": "對局信息", + "home": "主頁", + "lastScore": "上次得分: %s", "playerisInvitingYou": "%s 邀請了您", "unsupportedVariant": "此版本不支援變體 %s", + "notesSynchronizationHasFailed": "同步棋譜到 Lichess 失敗,請稍後重試。", "vibrateOnGameEvents": "有新動作時震動", "offline": "離線", "otbUseSymmetricPieces": "使用對稱棋子", "otbFlipPiecesAndInfoAfterMove": "下棋後翻轉棋子及對手資訊", "settingsClockPosition": "時鐘位置", "positionRight": "靠右", - "positionLeft": "靠左" + "positionLeft": "靠左", + "landscapeBoardSide": "棋盤方向(橫向模式)", + "toggleSound": "聲音開關", + "overTheBoard": "面對面", + "sharePgn": "分享PGN", + "shareGameUrl": "分享對局網址", + "playOnline": "線上對弈", + "playOffline": "離線對弈" } \ No newline at end of file