Merge branch 'release' into stable

pull/69/head
Paal Joergensen 2021-01-20 13:14:37 +01:00
commit 81d533d809
9 changed files with 301 additions and 171 deletions

View File

@ -3,117 +3,117 @@
{ {
"widgets": [ "widgets": [
{ {
"label": "Default" "label": "Opció predeterminada"
} }
], ],
"label": "Cards", "label": "Cartes",
"entity": "card", "entity": "carta",
"field": { "field": {
"label": "Card", "label": "Carta",
"fields": [ "fields": [
{ {
"label": "Image" "label": "Imatge"
}, },
{ {
"label": "Alternative text for Image", "label": "Text alternatiu per a la imatge",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "Descriu el que es pot veure a la foto. El text és llegit per les eines de text a veu que necessiten els usuaris amb deficiència visual."
}, },
{ {
"label": "Audio Track", "label": "Pista dàudio",
"description": "An optional sound that plays when the card is turned." "description": "So opcional que es reprodueix en girar una carta."
}, },
{ {
"label": "Matching Image", "label": "Imatge coincident",
"description": "An optional image to match against instead of using two cards with the same image." "description": "Imatge opcional per emparellar en lloc dutilitzar dues cartes amb la mateixa imatge."
}, },
{ {
"label": "Alternative text for Matching Image", "label": "Text alternatiu per a la imatge",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "Descriu el que es pot veure a la foto. El text és llegit per les eines de text a veu que necessiten els usuaris amb deficiència visual."
}, },
{ {
"label": "Matching Audio Track", "label": "Pista dàudio per a una coincidència",
"description": "An optional sound that plays when the second card is turned." "description": "So opcional que es reprodueix quan es gira la segona carta."
}, },
{ {
"label": "Description", "label": "Descripció",
"description": "An optional short text that will pop up once the two matching cards are found." "description": "Text breu opcional que es mostrarà quan es trobin les dues cartes coincidents."
} }
] ]
} }
}, },
{ {
"label": "Behavioural settings", "label": "Opcions de comportament",
"description": "These options will let you control how the game behaves.", "description": "Aquestes opcions us permeten controlar com es comporta el joc.",
"fields": [ "fields": [
{ {
"label": "Position the cards in a square", "label": "Distribueix les cartes formant un quadrat",
"description": "Will try to match the number of columns and rows when laying out the cards. Afterward, the cards will be scaled to fit the container." "description": "Es provarà de fer coincidir el nombre de files i de columnes en disposar les cartes. Després, les cartes sajustaran al contenidor."
}, },
{ {
"label": "Number of cards to use", "label": "Nombre de targetes a utilitzar",
"description": "Setting this to a number greater than 2 will make the game pick random cards from the list of cards." "description": "Si configureu aquest valor amb un número més gran que 2, el joc seleccionarà les cartes aleatòriament de la llista de cartes."
}, },
{ {
"label": "Add button for retrying when the game is over" "label": "Afegeix el botó per tornar-ho a provar quan el joc finalitzi"
} }
] ]
}, },
{ {
"label": "Look and feel", "label": "Aspecte visual",
"description": "Control the visuals of the game.", "description": "Controleu els elements visuals del joc.",
"fields": [ "fields": [
{ {
"label": "Theme Color", "label": "Color del tema",
"description": "Choose a color to create a theme for your card game." "description": "Trieu un color per crear un tema per al joc de cartes."
}, },
{ {
"label": "Card Back", "label": "Revers de la carta",
"description": "Use a custom back for your cards." "description": "Utilitzeu un revers personalitzat per a les cartes."
} }
] ]
}, },
{ {
"label": "Localization", "label": "Localització",
"fields": [ "fields": [
{ {
"label": "Card turns text", "label": "Text dels girs de cartes",
"default": "Card turns" "default": "Girs de cartes"
}, },
{ {
"label": "Time spent text", "label": "Text de temps transcorregut",
"default": "Time spent" "default": "Temps dedicat"
}, },
{ {
"label": "Feedback text", "label": "Text del suggeriment",
"default": "Good work!" "default": "Correcte!"
}, },
{ {
"label": "Try again button text", "label": "Text del botó \"Torna-ho a provar\"",
"default": "Try again?" "default": "Voleu tornar-ho a provar?"
}, },
{ {
"label": "Close button label", "label": "Etiqueta del botó de tancar",
"default": "Close" "default": "Tanca"
}, },
{ {
"label": "Game label", "label": "Etiqueta del joc",
"default": "Memory Game. Find the matching cards." "default": "Joc de memòria. Cerca les targetes coincidents."
}, },
{ {
"label": "Game finished label", "label": "Etiqueta \"El joc ha finalitzat\"",
"default": "All of the cards have been found." "default": "Shan emparellat totes les cartes."
}, },
{ {
"label": "Card indexing label", "label": "Etiqueta dindexació de les cartes",
"default": "Card %num:" "default": "Carta %num:"
}, },
{ {
"label": "Card unturned label", "label": "Etiqueta per a les cartes no girades",
"default": "Unturned." "default": "Sense girar."
}, },
{ {
"label": "Card matched label", "label": "Etiqueta per a les cartes coincidents",
"default": "Match found." "default": "Sha trobat una coincidència."
} }
] ]
} }

View File

@ -3,40 +3,40 @@
{ {
"widgets": [ "widgets": [
{ {
"label": "Default" "label": "ברירת מחדל"
} }
], ],
"label": "Cards", "label": "קלפים",
"entity": "card", "entity": "קלף",
"field": { "field": {
"label": "Card", "label": "קלף",
"fields": [ "fields": [
{ {
"label": "Image" "label": "תמונה"
}, },
{ {
"label": "Alternative text for Image", "label": "תוכן חלופי לתמונה",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "תאר מה אפשר לראות בתמונה. הטקסט נקרא על ידי כלי טקסט-לדיבור הנחוצים למשתמשים בעלי לקויות ראייה."
}, },
{ {
"label": "Audio Track", "label": "ערוץ שמע",
"description": "An optional sound that plays when the card is turned." "description": "צליל אופציונלי שמתנגן כאשר הופכים את הקלף."
}, },
{ {
"label": "Matching Image", "label": "תמונה תואמת",
"description": "An optional image to match against instead of using two cards with the same image." "description": "תמונה אופציונלית להתאמה במקום להשתמש בשני קלפים עם אותה התמונה."
}, },
{ {
"label": "Alternative text for Matching Image", "label": "טקסט חליפי לתמונה תואמת",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "תאר מה אפשר לראות בתמונה. הטקסט נקרא על ידי כלי טקסט-לדיבור שנחוצים למשתמשים בעלי לקויות ראייה."
}, },
{ {
"label": "Matching Audio Track", "label": "ערוץ שמע תואם",
"description": "An optional sound that plays when the second card is turned." "description": "צליל אופציונלי שמתנן כאשר הופכים את הקלף השני."
}, },
{ {
"label": "Description", "label": "תיאור",
"description": "An optional short text that will pop up once the two matching cards are found." "description": "טקסט קצר אופציונלי יקפוץ ברגע ששני הקלפים התואמים יימצאו."
} }
] ]
} }
@ -46,74 +46,74 @@
"description": "These options will let you control how the game behaves.", "description": "These options will let you control how the game behaves.",
"fields": [ "fields": [
{ {
"label": "Position the cards in a square", "label": "סדרו את הכרטיסים בריבוע",
"description": "Will try to match the number of columns and rows when laying out the cards. Afterward, the cards will be scaled to fit the container." "description": "ניסיון להתאים בין מספר הטורים והשורות בעת סידור הכרטיסים. לאחר מכן, גודל הכרטיסים יותאם למכל."
}, },
{ {
"label": "Number of cards to use", "label": "מספר קלפים לשימוש",
"description": "Setting this to a number greater than 2 will make the game pick random cards from the list of cards." "description": "להגדיר את זה למספר גדול מ-2 יגרום למשחק לבחור כרטיסים אקראיים מרשימת הכרטיסים."
}, },
{ {
"label": "Add button for retrying when the game is over" "label": "הוסף כפתור כדי לנסות שוב כאשר המשחק נגמר"
} }
] ]
}, },
{ {
"label": "Look and feel", "label": "הבט וחוש",
"description": "Control the visuals of the game.", "description": "שליטה בהגדרות החזותיות של המשחק.",
"fields": [ "fields": [
{ {
"label": "Theme Color", "label": "צבע נושא",
"description": "Choose a color to create a theme for your card game." "description": "בחרו צבע ליצירת נושא למשחק הכרטיסים."
}, },
{ {
"label": "Card Back", "label": "גב הכרטיס",
"description": "Use a custom back for your cards." "description": "השתמש בגב מותאם אישית עבור הקלפים שלך."
} }
] ]
}, },
{ {
"label": "Localization", "label": "תרגום מקומי",
"fields": [ "fields": [
{ {
"label": "Card turns text", "label": "תוכן הפיכת כרטיס",
"default": "Card turns" "default": "הפיכת כרטיס"
}, },
{ {
"label": "Time spent text", "label": "טקסט זמן שהושקע",
"default": "Time spent" "default": "זמן שהושקע"
}, },
{ {
"label": "משוב", "label": "משוב",
"default": "Good work!" "default": "עבודה טובה!"
}, },
{ {
"label": "Try again button text", "label": "תוכן של כפתור ניסיון חוזר",
"default": "Try again?" "default": "נסה שוב?"
}, },
{ {
"label": "Close button label", "label": "תווית כפתור סגור",
"default": "Close" "default": "סגור"
}, },
{ {
"label": "Game label", "label": "תווית משחק",
"default": "Memory Game. Find the matching cards." "default": "משחק זיכרון. מצאו את הכרטיסים המתאימים."
}, },
{ {
"label": "Game finished label", "label": "תווית המשחק נגמר",
"default": "All of the cards have been found." "default": "נמצאו כל הכרטיסים."
}, },
{ {
"label": "Card indexing label", "label": "תווית מפתוח כרטיס",
"default": "Card %num:" "default": "כרטיס %num:"
}, },
{ {
"label": "Card unturned label", "label": "תווית כרטיס לא הפוך",
"default": "Unturned." "default": "לא הפוך."
}, },
{ {
"label": "Card matched label", "label": "תווית כרטיס מותאם",
"default": "Match found." "default": "נמצאה התאמה."
} }
] ]
} }

121
language/km.json Normal file
View File

@ -0,0 +1,121 @@
{
"semantics": [
{
"widgets": [
{
"label": "Default"
}
],
"label": "Cards",
"entity": "card",
"field": {
"label": "Card",
"fields": [
{
"label": "Image"
},
{
"label": "Alternative text for Image",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users."
},
{
"label": "Audio Track",
"description": "An optional sound that plays when the card is turned."
},
{
"label": "Matching Image",
"description": "An optional image to match against instead of using two cards with the same image."
},
{
"label": "Alternative text for Matching Image",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users."
},
{
"label": "Matching Audio Track",
"description": "An optional sound that plays when the second card is turned."
},
{
"label": "Description",
"description": "An optional short text that will pop up once the two matching cards are found."
}
]
}
},
{
"label": "Behavioural settings",
"description": "These options will let you control how the game behaves.",
"fields": [
{
"label": "Position the cards in a square",
"description": "Will try to match the number of columns and rows when laying out the cards. Afterward, the cards will be scaled to fit the container."
},
{
"label": "Number of cards to use",
"description": "Setting this to a number greater than 2 will make the game pick random cards from the list of cards."
},
{
"label": "Add button for retrying when the game is over"
}
]
},
{
"label": "Look and feel",
"description": "Control the visuals of the game.",
"fields": [
{
"label": "Theme Color",
"description": "Choose a color to create a theme for your card game."
},
{
"label": "Card Back",
"description": "Use a custom back for your cards."
}
]
},
{
"label": "Localization",
"fields": [
{
"label": "Card turns text",
"default": "កាតបង្វិល"
},
{
"label": "Time spent text",
"default": "ពេលចំណាយ"
},
{
"label": "Feedback text",
"default": "ល្អណាស់!"
},
{
"label": "Try again button text",
"default": "សាកម្តងទៀត?"
},
{
"label": "Close button label",
"default": "បិទ"
},
{
"label": "Game label",
"default": "ល្បែងចងចាំ! រកកាតដែលផ្គូផ្គង"
},
{
"label": "Game finished label",
"default": "អ្នកបានរកឃើញកាតទាំងអស់ហើយ!"
},
{
"label": "Card indexing label",
"default": "កាត %num:"
},
{
"label": "Card unturned label",
"default": "មិនបានបង្វិល។"
},
{
"label": "Card matched label",
"default": "រកឃើញកាតផ្គូផ្គង។"
}
]
}
]
}

View File

@ -3,117 +3,118 @@
{ {
"widgets": [ "widgets": [
{ {
"label": "Default" "label": "기본값"
} }
], ],
"label": "Cards", "label": "카드",
"entity": "card", "entity": "카드",
"field": { "field": {
"label": "Card", "label": "카드",
"fields": [ "fields": [
{ {
"label": "Image" "label": "이미지"
}, },
{ {
"label": "Alternative text for Image", "label": "이미지의 대체 텍스트",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "사진에서 볼 수 있는 것을 묘사하세요. 이 텍스트는 시각 장애 사용자가 필요로 하는 텍스트 음성 변환 도구로 읽힌다."
}, },
{ {
"label": "Audio Track", "label": "오디오 트랙",
"description": "An optional sound that plays when the card is turned." "description": "카드를 돌렸을 때 재생되는 선택적 사운드."
}, },
{ {
"label": "Matching Image", "label": "매칭 이미지",
"description": "An optional image to match against instead of using two cards with the same image." "description": "(선택사항) 같은 이미지의 두 카드를 사용하는 대신에 매칭할 수 있는 선택적 이미지."
}, },
{ {
"label": "Alternative text for Matching Image", "label": "매칭 이미지에 대한 대체 텍스트",
"description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users." "description": "사진에서 볼 수 있는 것을 묘사하세요. 이 텍스트는 시각 장애 사용자가 필요로 하는 텍스트 음성 변환 도구로 읽힌다.."
}, },
{ {
"label": "Matching Audio Track", "label": "매칭 오디오 트랙",
"description": "An optional sound that plays when the second card is turned." "description": "(선택사항)두 번째 카드를 돌릴 때 재생되는 사운드"
}, },
{ {
"label": "Description", "label": "설명",
"description": "An optional short text that will pop up once the two matching cards are found." "description": "(선택사항) 일치되는 두 장의 카드가 발견되면 팝업될 짧은 텍스트."
} }
] ]
} }
}, },
{ {
"label": "Behavioural settings", "label": "과제가 수행되는 방법 설정.",
"description": "These options will let you control how the game behaves.", "description": "이 옵션은 과제가 어떻게 수행될 지 환경을 설정합니다.",
"fields": [ "fields": [
{ {
"label": "Position the cards in a square", "label": "카드를 정사각형으로 배열하기",
"description": "Will try to match the number of columns and rows when laying out the cards. Afterward, the cards will be scaled to fit the container." "description": "카드를 놓을 때 열과 행의 개수를 맞추려고 할 것이다. 이후, 카드는 용기에 맞게 크기가 조정될 것이다."
}, },
{ {
"label": "Number of cards to use", "label": "사용할 카드 수",
"description": "Setting this to a number greater than 2 will make the game pick random cards from the list of cards." "description": "이것을 2보다 큰 숫자로 설정하면 게임이 카드 목록에서 무작위 카드를 선택하게 될 것이다."
}, },
{ {
"label": "Add button for retrying when the game is over" "label": "게임 종료 시 재시도하기 위한 버튼 추가"
} }
] ]
}, },
{ {
"label": "Look and feel", "label": "외관과 느낌",
"description": "Control the visuals of the game.", "description": "게임의 비주얼 관리",
"fields": [ "fields": [
{ {
"label": "Theme Color", "label": "테마 색깔",
"description": "Choose a color to create a theme for your card game." "description": "카드 게임의 테마를 만들 색을 선택하십시오."
}, },
{ {
"label": "Card Back", "label": "카드 뒷면",
"description": "Use a custom back for your cards." "description": "카드의 뒷면을 맞춤형으로 사용하십시오."
} }
] ]
}, },
{ {
"label": "Localization", "label": "맞춤형 설정",
"fields": [ "fields": [
{ {
"label": "Card turns text", "label": "카드가 돌려질 때 텍스트",
"default": "Card turns" "default": "카드가 돌려집니다."
}, },
{ {
"label": "Time spent text", "label": "걸린 시간 텍스트",
"default": "Time spent" "default": "걸린 시간"
}, },
{ {
"label": "Feedback text", "label": "피드백 텍스트",
"default": "Good work!" "default": "잘 했습니다.!"
}, },
{ {
"label": "Try again button text", "label": "재시도 버튼 텍스트",
"default": "Try again?" "default": "다시 시도하시겠습니까?"
}, },
{ {
"label": "Close button label", "label": "닫기 버튼 텍스트",
"default": "Close" "default": "닫기"
}, },
{ {
"label": "Game label", "label": "게임 라벨",
"default": "Memory Game. Find the matching cards." "default": "메모리 게임. 매칭되는 카드를 찾으세요."
}, },
{ {
"label": "Game finished label", "label": "게임 완료 텍스트",
"default": "All of the cards have been found." "default": "모든 카드가 발견되었습니다."
}, },
{ {
"label": "Card indexing label", "label": "카드 색인 라벨",
"default": "Card %num:" "default": "카드 %num:"
}, },
{ {
"label": "Card unturned label", "label": "돌려지지 않은 카드 라벨",
"default": "Unturned." "default": "돌려지지 않음."
}, },
{ {
"label": "Card matched label", "label": "매칭된 카드 라벨",
"default": "Match found." "default": "매칭되었습니다."
} }
] ]
} }

View File

@ -20,7 +20,7 @@
}, },
{ {
"label": "Audio Track", "label": "Audio Track",
"description": "An optional sound that plays when the card is turned." "description": "Een optioneel geluid dat afspeelt wanneer de kaart wordt omgedraaid."
}, },
{ {
"label": "Omschrijving", "label": "Omschrijving",
@ -32,7 +32,7 @@
}, },
{ {
"label": "Matching Audio Track", "label": "Matching Audio Track",
"description": "An optional sound that plays when the second card is turned." "description": "Een optioneel geluid dat afspeelt wanneer de tweede kaart wordt omgedraaid."
}, },
{ {
"label": "Omschrijving", "label": "Omschrijving",

View File

@ -77,43 +77,43 @@
"fields": [ "fields": [
{ {
"label": "Card turns text", "label": "Card turns text",
"default": "Card turns" "default": "Kort snur"
}, },
{ {
"label": "Time spent text", "label": "Time spent text",
"default": "Time spent" "default": "Tid brukt"
}, },
{ {
"label": "Feedback text", "label": "Feedback text",
"default": "Good work!" "default": "Bra jobba!"
}, },
{ {
"label": "Try again button text", "label": "Try again button text",
"default": "Try again?" "default": "prøv igjen?"
}, },
{ {
"label": "Close button label", "label": "Close button label",
"default": "Close" "default": "Lukk"
}, },
{ {
"label": "Game label", "label": "Game label",
"default": "Memory Game. Find the matching cards." "default": "Memory-spel. Finn dei matchande korta."
}, },
{ {
"label": "Game finished label", "label": "Game finished label",
"default": "All of the cards have been found." "default": "Alle korta har blitt funne."
}, },
{ {
"label": "Card indexing label", "label": "Card indexing label",
"default": "Card %num:" "default": "Kort %num:"
}, },
{ {
"label": "Card unturned label", "label": "Card unturned label",
"default": "Unturned." "default": "Ikkje snudd."
}, },
{ {
"label": "Card matched label", "label": "Card matched label",
"default": "Match found." "default": "Match funne."
} }
] ]
} }

View File

@ -42,7 +42,7 @@
} }
}, },
{ {
"label": "Behavioural settings", "label": "Beteende-inställningar",
"description": "These options will let you control how the game behaves.", "description": "These options will let you control how the game behaves.",
"fields": [ "fields": [
{ {

View File

@ -3,7 +3,7 @@
"description": "See how many cards you can remember!", "description": "See how many cards you can remember!",
"majorVersion": 1, "majorVersion": 1,
"minorVersion": 3, "minorVersion": 3,
"patchVersion": 5, "patchVersion": 6,
"runnable": 1, "runnable": 1,
"author": "Joubel", "author": "Joubel",
"license": "MIT", "license": "MIT",

View File

@ -436,9 +436,10 @@ H5P.MemoryGame = (function (EventDispatcher, $) {
for (var i = 0; i < cards.length; i++) { for (var i = 0; i < cards.length; i++) {
cards[i].appendTo($list); cards[i].appendTo($list);
} }
cards[0].makeTabbable();
if ($list.children().length) { if ($list.children().length) {
cards[0].makeTabbable();
$('<div/>', { $('<div/>', {
id: 'h5p-intro-' + numInstances, id: 'h5p-intro-' + numInstances,
'class': 'h5p-memory-hidden-read', 'class': 'h5p-memory-hidden-read',
@ -476,6 +477,13 @@ H5P.MemoryGame = (function (EventDispatcher, $) {
popup.close(); popup.close();
}); });
} }
else {
const $foo = $('<div/>')
.text('No card was added to the memory game!')
.appendTo($list);
$list.appendTo($container);
}
}; };
/** /**