Merge branch 'main' into docker-compose

This commit is contained in:
Jeremiah Butler 2021-03-19 14:52:27 -04:00
commit 62744725ba
10 changed files with 359 additions and 5 deletions

12
.vscode/settings.json vendored
View File

@ -45,5 +45,15 @@
// "source.organizeImports": true,
},
},
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false,
"go.delveConfig": {
"useApiV1": false,
"dlvLoadConfig": {
"followPointers": true,
"maxVariableRecurse": 3,
"maxStringLen": 2048,
"maxArrayValues": 64,
"maxStructFields": -1
}
}
}

View File

@ -4,6 +4,7 @@ package model
// It should be maintained in chronological order with most current
// release at the front of the list.
var versions = []string{
"0.6.1",
"0.6.0",
"0.5.0",
}

View File

@ -4,9 +4,130 @@
"BoardCard.untitled": "Unbenannt",
"BoardComponent.add-a-group": "+ Hinzufügen einer Gruppe",
"BoardComponent.delete": "Löschen",
"BoardComponent.hidden-columns": "Versteckte Spalten",
"BoardComponent.hide": "Ausblenden",
"BoardComponent.neww": "+ Neu",
"BoardComponent.no-property": "Keine {property}",
"BoardComponent.no-property-title": "Elemente mit einer leeren {property} Eigenschaft erscheinen hier. Diese Spalte kann nicht entfernt werden.",
"BoardComponent.show": "Anzeigen",
"BoardPage.syncFailed": "Dieses Board wurde gelöscht oder die Zugriffsberechtigung entzogen.",
"CardDetail.add-content": "Inhalt hinzufügen",
"CardDetail.new-comment-placeholder": "Kommentar hinzufügen..."
"CardDetail.add-icon": "Symbol hinzufügen",
"CardDetail.add-property": "+ Eigenschaft hinzufügen",
"CardDetail.addCardText": "Kartentext hinzufügen",
"CardDetail.new-comment-placeholder": "Kommentar hinzufügen...",
"CardDialog.editing-template": "Sie bearbeiten eine Vorlage",
"CardDialog.nocard": "Diese Karte existiert nicht oder ist nicht verfügbar",
"Comment.delete": "Löschen",
"CommentsList.send": "Abschicken",
"ContentBlock.Delete": "Löschen",
"ContentBlock.DeleteAction": "löschen",
"ContentBlock.addElement": "{type} hinzufügen",
"ContentBlock.insertAbove": "Darüber einfügen",
"ContentBlock.moveDown": "Runter bewegen",
"ContentBlock.moveUp": "Hoch bewegen",
"Filter.includes": "beinhaltet",
"Filter.is-empty": "ist leer",
"Filter.is-not-empty": "ist nicht leer",
"Filter.not-includes": "beinhaltet nicht",
"FilterComponent.add-filter": "+ Filter hinzufügen",
"FilterComponent.delete": "Löschen",
"Mutator.duplicate-board": "Board duplizieren",
"Mutator.new-board-from-template": "neues Board aus Vorlage",
"Mutator.new-card-from-template": "neue Karte aus Vorlage",
"Mutator.new-template-from-board": "neue Vorlage aus Board",
"Mutator.new-template-from-card": "neue Vorlage aus Karte",
"PropertyMenu.changeType": "Eigenschaftstyp ändern",
"PropertyMenu.typeTitle": "Art",
"PropertyType.Checkbox": "Optionsfeld",
"PropertyType.CreatedBy": "Erstellt von",
"PropertyType.CreatedTime": "Erstellzeit",
"PropertyType.Email": "E-Mail",
"PropertyType.File": "Datei oder Medien",
"PropertyType.MultiSelect": "Mehrfachauswahl",
"PropertyType.Number": "Zahl",
"PropertyType.Person": "Person",
"PropertyType.Phone": "Telefon",
"PropertyType.Select": "Auswählen",
"PropertyType.Text": "Text",
"PropertyType.URL": "URL",
"PropertyType.UpdatedBy": "Aktualisiert von",
"PropertyType.UpdatedTime": "Aktualisierungszeit",
"RegistrationLink.confirmRegenerateToken": "Diese Aktion invalidiert zuvor geteilte Links. Trotzdem fortfahren?",
"RegistrationLink.copiedLink": "Kopiert!",
"RegistrationLink.copyLink": "Link kopieren",
"RegistrationLink.description": "Teile diesen Link mit anderen zur Accounterstellung:",
"RegistrationLink.regenerateToken": "Token neu generieren",
"RegistrationLink.tokenRegenerated": "Registrierungslink neu generiert",
"ShareBoard.confirmRegenerateToken": "Diese Aktion invalidiert zuvor geteilte Links. Trotzdem fortfahren?",
"ShareBoard.copiedLink": "Kopiert!",
"ShareBoard.copyLink": "Link kopieren",
"ShareBoard.regenerateToken": "Token neu generieren",
"ShareBoard.share": "Im Web veröffentlichen und dieses Board mit beliebigen Personen teilen",
"ShareBoard.tokenRegenrated": "Token neu generiert",
"ShareBoard.unshare": "Jeder mit dem Link can dieses Board sehen",
"Sidebar.about": "Über Focalboard",
"Sidebar.add-board": "+ Board hinzufügen",
"Sidebar.add-template": "+ Neue Vorlage",
"Sidebar.changePassword": "Password ändern",
"Sidebar.dark-theme": "Dunkles Theme",
"Sidebar.default-theme": "Standard Theme",
"Sidebar.delete-board": "Board löschen",
"Sidebar.delete-template": "Löschen",
"Sidebar.duplicate-board": "Board duplizieren",
"Sidebar.edit-template": "Bearbeiten",
"Sidebar.empty-board": "Leeres Board",
"Sidebar.english": "Englisch",
"Sidebar.export-archive": "Archiv exportieren",
"Sidebar.german": "Deutsch",
"Sidebar.import-archive": "Archiv importieren",
"Sidebar.invite-users": "Nutzer einladen",
"Sidebar.japanese": "Japanisch",
"Sidebar.light-theme": "Helles Theme",
"Sidebar.logout": "Ausloggen",
"Sidebar.no-views-in-board": "Keine Seiten enthalten",
"Sidebar.select-a-template": "Vorlage auswählen",
"Sidebar.set-language": "Sprache übernehmen",
"Sidebar.set-theme": "Theme übernehmen",
"Sidebar.settings": "Einstellungen",
"Sidebar.spanish": "Spanisch",
"Sidebar.template-from-board": "Neue Vorlage aus Board",
"Sidebar.untitled": "Unbenannt",
"Sidebar.untitled-board": "(Unbenanntes Board)",
"Sidebar.untitled-view": "(Unbenannte Ansicht)",
"TableComponent.add-icon": "Symbol hinzufügen",
"TableComponent.name": "Name",
"TableComponent.plus-new": "+ Neu",
"TableHeaderMenu.delete": "Löschen",
"TableHeaderMenu.duplicate": "Duplizieren",
"TableHeaderMenu.hide": "Verstecken",
"TableHeaderMenu.insert-left": "Links einfügen",
"TableHeaderMenu.insert-right": "Rechts einfügen",
"TableHeaderMenu.sort-ascending": "Aufsteigend sortieren",
"TableHeaderMenu.sort-descending": "Absteigend sortieren",
"TableRow.open": "Offen",
"View.NewBoardTitle": "Boardansicht",
"View.NewTableTitle": "Tabellenansicht",
"ViewHeader.add-template": "+ Neue Vorlage",
"ViewHeader.delete-template": "Löschen",
"ViewHeader.edit-template": "Bearbeiten",
"ViewHeader.empty-card": "Leere Karte",
"ViewHeader.export-csv": "Als CSV exportieren",
"ViewHeader.filter": "Filter",
"ViewHeader.group-by": "Gruppiere nach: {property}",
"ViewHeader.new": "Neu",
"ViewHeader.properties": "Eigenschaften",
"ViewHeader.search": "Suchen",
"ViewHeader.search-text": "Suchtext",
"ViewHeader.select-a-template": "Vorlage auswählen",
"ViewHeader.share-board": "Board teilen",
"ViewHeader.sort": "Sortieren",
"ViewHeader.untitled": "Unbenannt",
"ViewTitle.hide-description": "Beschreibung ausblenden",
"ViewTitle.pick-icon": "Symbol auswählen",
"ViewTitle.random-icon": "Zufällig",
"ViewTitle.remove-icon": "Symbol entfernen",
"ViewTitle.show-description": "Beschreibung anzeigen",
"ViewTitle.untitled-board": "Unbenanntes Board",
"WorkspaceComponent.editing-board-template": "Sie bearbeiten eine Board Vorlage"
}

View File

@ -79,8 +79,10 @@
"Sidebar.empty-board": "Empty board",
"Sidebar.english": "English",
"Sidebar.export-archive": "Export archive",
"Sidebar.german": "German",
"Sidebar.import-archive": "Import archive",
"Sidebar.invite-users": "Invite Users",
"Sidebar.japanese": "Japanese",
"Sidebar.light-theme": "Light theme",
"Sidebar.logout": "Log out",
"Sidebar.no-views-in-board": "No pages inside",

View File

@ -10,30 +10,89 @@
"BoardComponent.no-property": "Sin {property}",
"BoardComponent.no-property-title": "Elementos sin la propiedad {property} irán aquí. Esta columna no se puede eliminar.",
"BoardComponent.show": "Mostrar",
"BoardPage.syncFailed": "Puede que el panel haya sido borrado o el acceso revocado.",
"CardDetail.add-content": "Añadir contenido",
"CardDetail.add-icon": "Añadir icono",
"CardDetail.add-property": "+ Añadir propiedad",
"CardDetail.addCardText": "añade texto a la tarjeta",
"CardDetail.new-comment-placeholder": "Añadir un comentario...",
"CardDialog.editing-template": "Está editando una plantilla",
"CardDialog.nocard": "Esta tarjeta no existe o es inaccesible",
"Comment.delete": "Borrar",
"CommentsList.send": "Enviar",
"ContentBlock.Delete": "Borrar",
"ContentBlock.DeleteAction": "borrar",
"ContentBlock.addElement": "añadir {type}",
"ContentBlock.insertAbove": "Insertar encima",
"ContentBlock.moveDown": "Mover hacia abajo",
"ContentBlock.moveUp": "Mover hacia arriba",
"Filter.includes": "incluye",
"Filter.is-empty": "está vacío",
"Filter.is-not-empty": "no está vacío",
"Filter.not-includes": "no incluye",
"FilterComponent.add-filter": "+ Añadir filtro",
"FilterComponent.delete": "Borrar",
"Mutator.duplicate-board": "duplicar panel",
"Mutator.new-board-from-template": "nuevo panel desde una plantilla",
"Mutator.new-card-from-template": "nueva tarjeta desde una plantilla",
"Mutator.new-template-from-board": "nueva plantilla a partir de un panel",
"Mutator.new-template-from-card": "nueva plantilla a partir de una tarjeta",
"PropertyMenu.changeType": "Cambiar el tipo de propiedad",
"PropertyMenu.typeTitle": "Tipo",
"PropertyType.Checkbox": "Casilla de selección",
"PropertyType.CreatedBy": "Creado Por",
"PropertyType.CreatedTime": "Hora de Creación",
"PropertyType.Email": "Email",
"PropertyType.File": "Fichero o Multimedia",
"PropertyType.MultiSelect": "Selección Múltiple",
"PropertyType.Number": "Número",
"PropertyType.Person": "Persona",
"PropertyType.Phone": "Teléfono",
"PropertyType.Select": "Selector",
"PropertyType.Text": "Texto",
"PropertyType.URL": "URL",
"PropertyType.UpdatedBy": "Actualizado Por",
"PropertyType.UpdatedTime": "Hora de Actualización",
"RegistrationLink.confirmRegenerateToken": "Esto invalidará los enlaces compartidos previos. ¿Continuar?",
"RegistrationLink.copiedLink": "¡Copiado!",
"RegistrationLink.copyLink": "Copiar enlace",
"RegistrationLink.description": "Comparte este enlace para que otros se creen sus cuentas:",
"RegistrationLink.regenerateToken": "Regenerar token",
"RegistrationLink.tokenRegenerated": "Enlace de registro regenerado",
"ShareBoard.confirmRegenerateToken": "Esto invalidará los enlaces compartidos previos. ¿Continuar?",
"ShareBoard.copiedLink": "¡Copiado!",
"ShareBoard.copyLink": "Copiar enlace",
"ShareBoard.regenerateToken": "Regenerar token",
"ShareBoard.share": "Publicar en la red y compartir este panel con cualquiera",
"ShareBoard.tokenRegenrated": "Token regenerado",
"ShareBoard.unshare": "Cualquiera con este enlace puede ver este panel",
"Sidebar.about": "Sobre Focalboard",
"Sidebar.add-board": "+ Añadir Panel",
"Sidebar.add-template": "+ Nueva plantilla",
"Sidebar.changePassword": "Cambiar contraseña",
"Sidebar.dark-theme": "Apariencia Oscura",
"Sidebar.default-theme": "Tema por defecto",
"Sidebar.delete-board": "Borrar Panel",
"Sidebar.delete-template": "Borrar",
"Sidebar.duplicate-board": "Duplicar panel",
"Sidebar.edit-template": "Editar",
"Sidebar.empty-board": "Panel vacío",
"Sidebar.english": "Inglés",
"Sidebar.export-archive": "Exportar Archivo",
"Sidebar.german": "Alemán",
"Sidebar.import-archive": "Importar Archivo",
"Sidebar.invite-users": "Invitar Usuarios",
"Sidebar.japanese": "Japonés",
"Sidebar.light-theme": "Apariencia Clara",
"Sidebar.logout": "Cerrar sesión",
"Sidebar.no-views-in-board": "No hay páginas dentro",
"Sidebar.select-a-template": "Seleccionar una plantilla",
"Sidebar.set-language": "Establecer idioma",
"Sidebar.set-theme": "Establecer apariencia",
"Sidebar.settings": "Configuración",
"Sidebar.spanish": "Español",
"Sidebar.template-from-board": "Nueva plantilla desde un panel",
"Sidebar.untitled": "Sin título",
"Sidebar.untitled-board": "(Panel sin titulo)",
"Sidebar.untitled-view": "(Vista sin titulo)",
"TableComponent.add-icon": "Añadir Icono",
@ -47,6 +106,12 @@
"TableHeaderMenu.sort-ascending": "Orden ascendente",
"TableHeaderMenu.sort-descending": "Orden descendente",
"TableRow.open": "Abrir",
"View.NewBoardTitle": "Vista de panel",
"View.NewTableTitle": "Vista de tabla",
"ViewHeader.add-template": "+ Nueva plantilla",
"ViewHeader.delete-template": "Borrar",
"ViewHeader.edit-template": "Editar",
"ViewHeader.empty-card": "Tarjeta vacía",
"ViewHeader.export-csv": "Exportar a CSV",
"ViewHeader.filter": "Filtrar",
"ViewHeader.group-by": "Agrupar por: {property}",
@ -54,9 +119,15 @@
"ViewHeader.properties": "Propiedades",
"ViewHeader.search": "Buscar",
"ViewHeader.search-text": "Texto de búsqueda",
"ViewHeader.select-a-template": "Seleccionar una plantilla",
"ViewHeader.share-board": "Compartir panel",
"ViewHeader.sort": "Ordenar",
"ViewHeader.untitled": "Sin título",
"ViewTitle.hide-description": "ocultar descripción",
"ViewTitle.pick-icon": "Escoger Icono",
"ViewTitle.random-icon": "Aleatorio",
"ViewTitle.remove-icon": "Quitar Icono",
"ViewTitle.untitled-board": "Panel sin título"
"ViewTitle.show-description": "mostrar descripción",
"ViewTitle.untitled-board": "Panel sin título",
"WorkspaceComponent.editing-board-template": "Está editando un plantilla de panel"
}

133
webapp/i18n/ja.json Normal file
View File

@ -0,0 +1,133 @@
{
"BoardCard.delete": "削除",
"BoardCard.duplicate": "複製",
"BoardCard.untitled": "Untitled",
"BoardComponent.add-a-group": "+ グループを追加する",
"BoardComponent.delete": "削除",
"BoardComponent.hidden-columns": "非表示",
"BoardComponent.hide": "非表示",
"BoardComponent.neww": "+ 新規",
"BoardComponent.no-property": "{property} がありません",
"BoardComponent.no-property-title": "{property}が空のアイテムがここに表示されます。このカラムは削除できません。",
"BoardComponent.show": "表示",
"BoardPage.syncFailed": "ボードが削除されたか、アクセスが取り消されました。",
"CardDetail.add-content": "内容を追加する",
"CardDetail.add-icon": "アイコンを追加する",
"CardDetail.add-property": "+ プロパティを追加する",
"CardDetail.addCardText": "カードテキストを追加する",
"CardDetail.new-comment-placeholder": "コメントを追加する...",
"CardDialog.editing-template": "テンプレートを編集しています",
"CardDialog.nocard": "このカードは存在しないか、アクセスできません",
"Comment.delete": "削除",
"CommentsList.send": "送信",
"ContentBlock.Delete": "削除",
"ContentBlock.DeleteAction": "削除する",
"ContentBlock.addElement": "{type} を追加する",
"ContentBlock.insertAbove": "上に挿入する",
"ContentBlock.moveDown": "下へ移動する",
"ContentBlock.moveUp": "上へ移動する",
"Filter.includes": "を含む",
"Filter.is-empty": "が空である",
"Filter.is-not-empty": "が空でない",
"Filter.not-includes": "を含まない",
"FilterComponent.add-filter": "+ フィルターを追加する",
"FilterComponent.delete": "削除",
"Mutator.duplicate-board": "ボードを複製する",
"Mutator.new-board-from-template": "テンプレートから新しいボードを作成",
"Mutator.new-card-from-template": "テンプレートから新しいカードを作成",
"Mutator.new-template-from-board": "ボードから新しいテンプレートを作成",
"Mutator.new-template-from-card": "カードから新しいテンプレートを作成",
"PropertyMenu.changeType": "プロパティのタイプを変更する",
"PropertyMenu.typeTitle": "タイプ",
"PropertyType.Checkbox": "チェックボックス",
"PropertyType.CreatedBy": "作成者",
"PropertyType.CreatedTime": "作成日時",
"PropertyType.Email": "メールアドレス",
"PropertyType.File": "ファイルまたはメディア",
"PropertyType.MultiSelect": "マルチセレクト",
"PropertyType.Number": "数字",
"PropertyType.Person": "人物",
"PropertyType.Phone": "電話番号",
"PropertyType.Select": "セレクト",
"PropertyType.Text": "テキスト",
"PropertyType.URL": "URL",
"PropertyType.UpdatedBy": "更新者",
"PropertyType.UpdatedTime": "更新日時",
"RegistrationLink.confirmRegenerateToken": "実行すると以前に共有されたリンクは無効になります。続行しますか?",
"RegistrationLink.copiedLink": "コピーしました!",
"RegistrationLink.copyLink": "リンクをコピーする",
"RegistrationLink.description": "アカウントを作成には、このリンクを共有してください:",
"RegistrationLink.regenerateToken": "トークンを再生成する",
"RegistrationLink.tokenRegenerated": "登録リンクが再生成されました",
"ShareBoard.confirmRegenerateToken": "実行すると以前に共有されたリンクは無効になります。続行しますか?",
"ShareBoard.copiedLink": "コピーしました!",
"ShareBoard.copyLink": "リンクをコピーする",
"ShareBoard.regenerateToken": "トークンを再生成する",
"ShareBoard.share": "Webに公開し、このボードをみんなと共有する",
"ShareBoard.tokenRegenrated": "トークンが再生成されました",
"ShareBoard.unshare": "リンクを知る誰もがこのボードを閲覧できます",
"Sidebar.about": "Focalboardについて",
"Sidebar.add-board": "+ ボードを追加する",
"Sidebar.add-template": "+ 新しいテンプレート",
"Sidebar.changePassword": "パスワードを変更する",
"Sidebar.dark-theme": "Dark theme",
"Sidebar.default-theme": "Default theme",
"Sidebar.delete-board": "ボードを削除",
"Sidebar.delete-template": "削除",
"Sidebar.duplicate-board": "ボードを複製する",
"Sidebar.edit-template": "編集",
"Sidebar.empty-board": "空のボード",
"Sidebar.english": "English",
"Sidebar.export-archive": "エクスポート",
"Sidebar.german": "German",
"Sidebar.import-archive": "インポート",
"Sidebar.invite-users": "ユーザーを招待する",
"Sidebar.japanese": "日本語",
"Sidebar.light-theme": "Light theme",
"Sidebar.logout": "ログアウト",
"Sidebar.no-views-in-board": "ページがありません",
"Sidebar.select-a-template": "テンプレート選択",
"Sidebar.set-language": "言語設定",
"Sidebar.set-theme": "テーマ設定",
"Sidebar.settings": "設定",
"Sidebar.spanish": "Spanish",
"Sidebar.template-from-board": "ボードから新しいテンプレートを作成",
"Sidebar.untitled": "ボード",
"Sidebar.untitled-board": "(Untitled Board)",
"Sidebar.untitled-view": "(Untitled View)",
"TableComponent.add-icon": "アイコンを追加する",
"TableComponent.name": "名前",
"TableComponent.plus-new": "+ 新規",
"TableHeaderMenu.delete": "削除",
"TableHeaderMenu.duplicate": "複製",
"TableHeaderMenu.hide": "非表示",
"TableHeaderMenu.insert-left": "左に挿入",
"TableHeaderMenu.insert-right": "右に挿入",
"TableHeaderMenu.sort-ascending": "昇順でソート",
"TableHeaderMenu.sort-descending": "降順でソート",
"TableRow.open": "開く",
"View.NewBoardTitle": "ボード表示",
"View.NewTableTitle": "テーブル表示",
"ViewHeader.add-template": "+ 新しいテンプレート",
"ViewHeader.delete-template": "削除",
"ViewHeader.edit-template": "編集",
"ViewHeader.empty-card": "空のカード",
"ViewHeader.export-csv": "CSVエクスポート",
"ViewHeader.filter": "フィルター",
"ViewHeader.group-by": "{property} でグループ化",
"ViewHeader.new": "新規",
"ViewHeader.properties": "プロパティ",
"ViewHeader.search": "検索",
"ViewHeader.search-text": "検索ワード",
"ViewHeader.select-a-template": "テンプレート選択",
"ViewHeader.share-board": "ボードを共有する",
"ViewHeader.sort": "ソート",
"ViewHeader.untitled": "Untitled",
"ViewTitle.hide-description": "説明を非表示",
"ViewTitle.pick-icon": "アイコンを選ぶ",
"ViewTitle.random-icon": "ランダム",
"ViewTitle.remove-icon": "アイコンを削除する",
"ViewTitle.show-description": "説明を表示",
"ViewTitle.untitled-board": "Untitled board",
"WorkspaceComponent.editing-board-template": "ボードテンプレートを編集しています"
}

View File

@ -1,6 +1,6 @@
{
"name": "focalboard",
"version": "0.6.0",
"version": "0.6.1",
"private": true,
"description": "",
"scripts": {

View File

@ -327,6 +327,16 @@ class Sidebar extends React.Component<Props, State> {
name={intl.formatMessage({id: 'Sidebar.spanish', defaultMessage: 'Spanish'})}
onClick={async () => this.props.setLanguage('es')}
/>
<Menu.Text
id='german-lang'
name={intl.formatMessage({id: 'Sidebar.german', defaultMessage: 'German'})}
onClick={async () => this.props.setLanguage('de')}
/>
<Menu.Text
id='japanese-lang'
name={intl.formatMessage({id: 'Sidebar.japanese', defaultMessage: 'Japanese'})}
onClick={async () => this.props.setLanguage('ja')}
/>
</Menu.SubMenu>
<Menu.SubMenu
id='theme'

View File

@ -19,7 +19,7 @@ class Constants {
static readonly defaultTitleColumnWidth = 280
static readonly titleColumnId = '__title'
static readonly versionString = '0.6.0'
static readonly versionString = '0.6.1'
}
export {Constants}

View File

@ -3,9 +3,15 @@
import messages_en from '../i18n/en.json'
import messages_es from '../i18n/es.json'
import messages_de from '../i18n/de.json'
import messages_ja from '../i18n/ja.json'
export function getMessages(lang: string): {[key: string]: string} {
switch (lang) {
case 'de':
return messages_de
case 'ja':
return messages_ja
case 'es':
return messages_es
}