pgkiln 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/migrations/106_form_designer.sql +102 -0
- package/db/migrations/107_app_version.sql +9 -0
- package/docs/apex-feature-parity.md +6 -3
- package/docs/guide/03-builder.md +36 -12
- package/docs/guide/04-pages-and-regions.md +74 -2
- package/docs/guide/05-items.md +14 -2
- package/docs/guide/09-reference.md +1 -1
- package/docs/guide/11-from-apex.md +2 -1
- package/docs/guide/12-development.md +6 -1
- package/examples/hr/hr_61_form_designer.sql +80 -0
- package/package.json +1 -1
- package/public/app.css +62 -2
- package/public/app.js +244 -35
- package/public/builder.css +21 -1
- package/public/builder.js +67 -0
- package/public/sw.js +2 -1
- package/src/app.ts +9 -1
- package/src/builder/appwizard.ts +22 -6
- package/src/builder/arrange.ts +33 -12
- package/src/builder/code-editor.ts +1 -1
- package/src/builder/components.ts +1 -1
- package/src/builder/designer.ts +44 -17
- package/src/builder/errors.ts +65 -0
- package/src/builder/form-designer.ts +229 -0
- package/src/builder/locks.ts +6 -0
- package/src/builder/newapp.ts +2 -1
- package/src/builder/object-browser.ts +81 -18
- package/src/builder/region-help.ts +2 -0
- package/src/builder/region-settings.ts +2 -0
- package/src/builder/reporter.ts +1 -1
- package/src/builder/routes.ts +7 -5
- package/src/builder/search.ts +3 -3
- package/src/builder/shared.ts +2 -2
- package/src/builder/ui.ts +2 -0
- package/src/cli/replace.ts +10 -0
- package/src/i18n/ar.ts +62 -0
- package/src/i18n/cs.ts +62 -0
- package/src/i18n/da.ts +62 -0
- package/src/i18n/de.ts +62 -0
- package/src/i18n/el.ts +62 -0
- package/src/i18n/es.ts +62 -0
- package/src/i18n/fi.ts +62 -0
- package/src/i18n/fr.ts +62 -0
- package/src/i18n/he.ts +62 -0
- package/src/i18n/it.ts +62 -0
- package/src/i18n/ja.ts +62 -0
- package/src/i18n/ko.ts +62 -0
- package/src/i18n/nb.ts +62 -0
- package/src/i18n/pl.ts +62 -0
- package/src/i18n/pt.ts +62 -0
- package/src/i18n/ru.ts +62 -0
- package/src/i18n/sv.ts +62 -0
- package/src/i18n/tr.ts +62 -0
- package/src/i18n/uk.ts +62 -0
- package/src/i18n/zh.ts +62 -0
- package/src/i18n.ts +124 -0
- package/src/metadata.ts +4 -2
- package/src/runtime/devbar.ts +1 -1
- package/src/runtime/facet-state.ts +10 -5
- package/src/runtime/facets.ts +29 -5
- package/src/runtime/form-designer.ts +676 -0
- package/src/runtime/grid.ts +15 -8
- package/src/runtime/items.ts +33 -21
- package/src/runtime/lists.ts +1 -1
- package/src/runtime/pdf.ts +2 -1
- package/src/runtime/regions.ts +4 -0
- package/src/runtime/render.ts +7 -3
- package/src/runtime/report.ts +2 -2
- package/src/runtime/routes.ts +3 -1
- package/src/runtime/smart-filters.ts +2 -1
- package/src/runtime/tasks.ts +6 -3
package/src/i18n/ja.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const ja: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "戻る",
|
|
64
64
|
'common.home': "ホームページへ",
|
|
65
65
|
'common.skip': "本文へスキップ",
|
|
66
|
+
'common.back_to_top': "ページの先頭へ",
|
|
66
67
|
'common.toggle_nav': "ナビゲーションの表示切替",
|
|
67
68
|
'common.dismiss': "閉じる",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const ja: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "星 {n} つ以上",
|
|
391
392
|
'facets.star_up': "星 1 つ以上",
|
|
392
393
|
'facets.clear_short': "クリア",
|
|
394
|
+
'facets.menu': "{facet} のオプション",
|
|
395
|
+
'facets.sort_count': "件数順に並べ替え",
|
|
396
|
+
'facets.sort_name': "名前順に並べ替え",
|
|
393
397
|
'facets.show_all': "すべて表示 ({n})",
|
|
394
398
|
'facets.total': "合計行数 {n}",
|
|
395
399
|
'smart.placeholder': "検索またはフィルター…",
|
|
@@ -685,6 +689,64 @@ export const ja: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "{date} に変更",
|
|
686
690
|
'reporter.no_match': "検索に一致するレポートはありません。",
|
|
687
691
|
'reporter.chart_tag': "グラフ",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "この領域にはまだテーブルが設定されていません。",
|
|
694
|
+
'formdesigner.no_forms': "フォームはまだありません。",
|
|
695
|
+
'formdesigner.new': "新しいフォーム",
|
|
696
|
+
'formdesigner.create': "デザイン",
|
|
697
|
+
'formdesigner.draft': "下書き",
|
|
698
|
+
'formdesigner.design': "フォームをデザイン",
|
|
699
|
+
'formdesigner.design_of': "{name} のデザイン",
|
|
700
|
+
'formdesigner.back': "すべてのフォーム",
|
|
701
|
+
'formdesigner.add': "追加",
|
|
702
|
+
'formdesigner.edit_row': "編集",
|
|
703
|
+
'formdesigner.rows': "{form} の行",
|
|
704
|
+
'formdesigner.save': "保存",
|
|
705
|
+
'formdesigner.delete': "削除",
|
|
706
|
+
'formdesigner.delete_confirm': "この行を削除しますか?",
|
|
707
|
+
'formdesigner.cancel': "キャンセル",
|
|
708
|
+
'formdesigner.saved_row': "保存しました。",
|
|
709
|
+
'formdesigner.deleted_row': "削除しました。",
|
|
710
|
+
'formdesigner.required': "{field} は必須です。",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: リストから値を選んでください。",
|
|
712
|
+
'formdesigner.changed': "その間に別のユーザーがこの行を変更しました。確認してからもう一度保存してください。",
|
|
713
|
+
'formdesigner.row_not_found': "この行は存在しないか、表示する権限がありません。",
|
|
714
|
+
'formdesigner.not_allowed': "この行に対してその操作はできません。",
|
|
715
|
+
'formdesigner.form_not_found': "このフォームは存在しません (もうありません)。",
|
|
716
|
+
'formdesigner.unknown_source': "このフォームのテーブルはもう提供されていません。",
|
|
717
|
+
'formdesigner.nothing': "このフォームにはまだフィールドがありません。",
|
|
718
|
+
'formdesigner.choose': "- 選択 -",
|
|
719
|
+
'formdesigner.name': "名前",
|
|
720
|
+
'formdesigner.description': "説明",
|
|
721
|
+
'formdesigner.published': "公開: このページを見られる人は誰でもフォームを使えます",
|
|
722
|
+
'formdesigner.fields': "フィールド",
|
|
723
|
+
'formdesigner.field_on': "フォームに表示",
|
|
724
|
+
'formdesigner.column': "列",
|
|
725
|
+
'formdesigner.key': "キー",
|
|
726
|
+
'formdesigner.order': "順序",
|
|
727
|
+
'formdesigner.label': "ラベル",
|
|
728
|
+
'formdesigner.help': "ヘルプテキスト",
|
|
729
|
+
'formdesigner.required_short': "必須",
|
|
730
|
+
'formdesigner.display': "表示形式",
|
|
731
|
+
'formdesigner.default': "既定値",
|
|
732
|
+
'formdesigner.in_list': "一覧に表示",
|
|
733
|
+
'formdesigner.display_auto': "フィールド",
|
|
734
|
+
'formdesigner.display_textarea': "テキストエリア",
|
|
735
|
+
'formdesigner.display_select': "選択リスト",
|
|
736
|
+
'formdesigner.display_radio': "ラジオグループ",
|
|
737
|
+
'formdesigner.actions': "ユーザーができること",
|
|
738
|
+
'formdesigner.allow_insert': "行の追加",
|
|
739
|
+
'formdesigner.allow_update': "行の変更",
|
|
740
|
+
'formdesigner.allow_delete': "行の削除",
|
|
741
|
+
'formdesigner.list_help': "行の一覧には「一覧に表示」にチェックした列が表示されます。チェックがなければ、フォームは行を追加するだけです。",
|
|
742
|
+
'formdesigner.save_form': "フォームを保存",
|
|
743
|
+
'formdesigner.delete_form': "フォームを削除",
|
|
744
|
+
'formdesigner.delete_form_confirm': "フォーム「{name}」を削除しますか? 保存された行は残ります。",
|
|
745
|
+
'formdesigner.form_saved': "フォーム「{name}」を保存しました。",
|
|
746
|
+
'formdesigner.form_deleted': "フォームを削除しました。",
|
|
747
|
+
'formdesigner.name_required': "フォームに名前を付けてください。",
|
|
748
|
+
'formdesigner.no_fields': "フォームに少なくとも 1 つの列を置いてください。",
|
|
749
|
+
'formdesigner.changed_by': "{date} に {user} が変更",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "会話",
|
|
690
752
|
'assistant.you': "あなた",
|
package/src/i18n/ko.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const ko: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "돌아가기",
|
|
64
64
|
'common.home': "홈페이지로 이동",
|
|
65
65
|
'common.skip': "본문으로 건너뛰기",
|
|
66
|
+
'common.back_to_top': "맨 위로",
|
|
66
67
|
'common.toggle_nav': "탐색 메뉴 표시/숨기기",
|
|
67
68
|
'common.dismiss': "닫기",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const ko: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "별 {n}개 이상",
|
|
391
392
|
'facets.star_up': "별 1개 이상",
|
|
392
393
|
'facets.clear_short': "지우기",
|
|
394
|
+
'facets.menu': "{facet} 옵션",
|
|
395
|
+
'facets.sort_count': "개수순 정렬",
|
|
396
|
+
'facets.sort_name': "이름순 정렬",
|
|
393
397
|
'facets.show_all': "모두 표시 ({n})",
|
|
394
398
|
'facets.total': "전체 행 수 {n}",
|
|
395
399
|
'smart.placeholder': "검색 또는 필터…",
|
|
@@ -685,6 +689,64 @@ export const ko: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "{date} 변경됨",
|
|
686
690
|
'reporter.no_match': "검색과 일치하는 보고서가 없습니다.",
|
|
687
691
|
'reporter.chart_tag': "차트",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "이 영역에는 아직 테이블이 설정되지 않았습니다.",
|
|
694
|
+
'formdesigner.no_forms': "아직 양식이 없습니다.",
|
|
695
|
+
'formdesigner.new': "새 양식",
|
|
696
|
+
'formdesigner.create': "디자인",
|
|
697
|
+
'formdesigner.draft': "초안",
|
|
698
|
+
'formdesigner.design': "양식 디자인",
|
|
699
|
+
'formdesigner.design_of': "{name} 디자인",
|
|
700
|
+
'formdesigner.back': "모든 양식",
|
|
701
|
+
'formdesigner.add': "추가",
|
|
702
|
+
'formdesigner.edit_row': "편집",
|
|
703
|
+
'formdesigner.rows': "{form}의 행",
|
|
704
|
+
'formdesigner.save': "저장",
|
|
705
|
+
'formdesigner.delete': "삭제",
|
|
706
|
+
'formdesigner.delete_confirm': "이 행을 삭제할까요?",
|
|
707
|
+
'formdesigner.cancel': "취소",
|
|
708
|
+
'formdesigner.saved_row': "저장했습니다.",
|
|
709
|
+
'formdesigner.deleted_row': "삭제했습니다.",
|
|
710
|
+
'formdesigner.required': "{field}은(는) 필수입니다.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: 목록에서 값을 선택하세요.",
|
|
712
|
+
'formdesigner.changed': "그사이에 다른 사람이 이 행을 변경했습니다. 확인한 후 다시 저장하세요.",
|
|
713
|
+
'formdesigner.row_not_found': "이 행이 없거나 볼 권한이 없습니다.",
|
|
714
|
+
'formdesigner.not_allowed': "이 행에는 그렇게 할 수 없습니다.",
|
|
715
|
+
'formdesigner.form_not_found': "이 양식이 (더 이상) 없습니다.",
|
|
716
|
+
'formdesigner.unknown_source': "이 양식의 테이블은 더 이상 제공되지 않습니다.",
|
|
717
|
+
'formdesigner.nothing': "이 양식에는 아직 필드가 없습니다.",
|
|
718
|
+
'formdesigner.choose': "- 선택 -",
|
|
719
|
+
'formdesigner.name': "이름",
|
|
720
|
+
'formdesigner.description': "설명",
|
|
721
|
+
'formdesigner.published': "게시됨: 이 페이지를 볼 수 있는 누구나 양식을 사용할 수 있습니다",
|
|
722
|
+
'formdesigner.fields': "필드",
|
|
723
|
+
'formdesigner.field_on': "양식에 표시",
|
|
724
|
+
'formdesigner.column': "열",
|
|
725
|
+
'formdesigner.key': "키",
|
|
726
|
+
'formdesigner.order': "순서",
|
|
727
|
+
'formdesigner.label': "레이블",
|
|
728
|
+
'formdesigner.help': "도움말",
|
|
729
|
+
'formdesigner.required_short': "필수",
|
|
730
|
+
'formdesigner.display': "표시 방식",
|
|
731
|
+
'formdesigner.default': "기본값",
|
|
732
|
+
'formdesigner.in_list': "목록에 표시",
|
|
733
|
+
'formdesigner.display_auto': "필드",
|
|
734
|
+
'formdesigner.display_textarea': "텍스트 영역",
|
|
735
|
+
'formdesigner.display_select': "선택 목록",
|
|
736
|
+
'formdesigner.display_radio': "라디오 그룹",
|
|
737
|
+
'formdesigner.actions': "사용자가 할 수 있는 일",
|
|
738
|
+
'formdesigner.allow_insert': "행 추가",
|
|
739
|
+
'formdesigner.allow_update': "행 변경",
|
|
740
|
+
'formdesigner.allow_delete': "행 삭제",
|
|
741
|
+
'formdesigner.list_help': "행 목록에는 '목록에 표시'를 선택한 열이 나옵니다. 선택한 열이 없으면 양식은 행을 추가하기만 합니다.",
|
|
742
|
+
'formdesigner.save_form': "양식 저장",
|
|
743
|
+
'formdesigner.delete_form': "양식 삭제",
|
|
744
|
+
'formdesigner.delete_form_confirm': "양식 \"{name}\"을(를) 삭제할까요? 저장된 행은 남습니다.",
|
|
745
|
+
'formdesigner.form_saved': "양식 \"{name}\"을(를) 저장했습니다.",
|
|
746
|
+
'formdesigner.form_deleted': "양식을 삭제했습니다.",
|
|
747
|
+
'formdesigner.name_required': "양식에 이름을 지정하세요.",
|
|
748
|
+
'formdesigner.no_fields': "양식에 열을 하나 이상 넣으세요.",
|
|
749
|
+
'formdesigner.changed_by': "{date}에 {user}이(가) 변경",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "대화",
|
|
690
752
|
'assistant.you': "나",
|
package/src/i18n/nb.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const nb: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "Tilbake",
|
|
64
64
|
'common.home': "Gå til forsiden",
|
|
65
65
|
'common.skip': "Gå til innholdet",
|
|
66
|
+
'common.back_to_top': "Til toppen",
|
|
66
67
|
'common.toggle_nav': "Vis eller skjul navigasjonen",
|
|
67
68
|
'common.dismiss': "Lukk",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const nb: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "{n} stjerner og opp",
|
|
391
392
|
'facets.star_up': "1 stjerne og opp",
|
|
392
393
|
'facets.clear_short': "Fjern",
|
|
394
|
+
'facets.menu': "Alternativer for {facet}",
|
|
395
|
+
'facets.sort_count': "Sorter etter antall",
|
|
396
|
+
'facets.sort_name': "Sorter etter navn",
|
|
393
397
|
'facets.show_all': "Vis alle ({n})",
|
|
394
398
|
'facets.total': "Totalt antall rader {n}",
|
|
395
399
|
'smart.placeholder': "Søk eller filtrer…",
|
|
@@ -685,6 +689,64 @@ export const nb: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "endret {date}",
|
|
686
690
|
'reporter.no_match': "Ingen rapporter samsvarer med søket.",
|
|
687
691
|
'reporter.chart_tag': "diagram",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "Det er ennå ikke satt opp tabeller for denne regionen.",
|
|
694
|
+
'formdesigner.no_forms': "Det finnes ingen skjemaer ennå.",
|
|
695
|
+
'formdesigner.new': "Nytt skjema",
|
|
696
|
+
'formdesigner.create': "Utform",
|
|
697
|
+
'formdesigner.draft': "Utkast",
|
|
698
|
+
'formdesigner.design': "Utform skjema",
|
|
699
|
+
'formdesigner.design_of': "Utforming av {name}",
|
|
700
|
+
'formdesigner.back': "Alle skjemaer",
|
|
701
|
+
'formdesigner.add': "Legg til",
|
|
702
|
+
'formdesigner.edit_row': "Rediger",
|
|
703
|
+
'formdesigner.rows': "Rader i {form}",
|
|
704
|
+
'formdesigner.save': "Lagre",
|
|
705
|
+
'formdesigner.delete': "Slett",
|
|
706
|
+
'formdesigner.delete_confirm': "Slette denne raden?",
|
|
707
|
+
'formdesigner.cancel': "Avbryt",
|
|
708
|
+
'formdesigner.saved_row': "Lagret.",
|
|
709
|
+
'formdesigner.deleted_row': "Slettet.",
|
|
710
|
+
'formdesigner.required': "{field} er påkrevd.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: velg en verdi fra listen.",
|
|
712
|
+
'formdesigner.changed': "Noen andre har endret denne raden i mellomtiden. Kontroller den og lagre på nytt.",
|
|
713
|
+
'formdesigner.row_not_found': "Denne raden finnes ikke, eller du har ikke lov til å se den.",
|
|
714
|
+
'formdesigner.not_allowed': "Det har du ikke lov til å gjøre med denne raden.",
|
|
715
|
+
'formdesigner.form_not_found': "Dette skjemaet finnes ikke (lenger).",
|
|
716
|
+
'formdesigner.unknown_source': "Tabellen til dette skjemaet tilbys ikke lenger.",
|
|
717
|
+
'formdesigner.nothing': "Dette skjemaet har ingen felt ennå.",
|
|
718
|
+
'formdesigner.choose': "- Velg -",
|
|
719
|
+
'formdesigner.name': "Navn",
|
|
720
|
+
'formdesigner.description': "Beskrivelse",
|
|
721
|
+
'formdesigner.published': "Publisert: alle som kan se denne siden, kan bruke skjemaet",
|
|
722
|
+
'formdesigner.fields': "Felt",
|
|
723
|
+
'formdesigner.field_on': "På skjemaet",
|
|
724
|
+
'formdesigner.column': "Kolonne",
|
|
725
|
+
'formdesigner.key': "nøkkel",
|
|
726
|
+
'formdesigner.order': "Rekkefølge",
|
|
727
|
+
'formdesigner.label': "Etikett",
|
|
728
|
+
'formdesigner.help': "Hjelpetekst",
|
|
729
|
+
'formdesigner.required_short': "Påkrevd",
|
|
730
|
+
'formdesigner.display': "Visning",
|
|
731
|
+
'formdesigner.default': "Standard",
|
|
732
|
+
'formdesigner.in_list': "I listen",
|
|
733
|
+
'formdesigner.display_auto': "Felt",
|
|
734
|
+
'formdesigner.display_textarea': "Tekstområde",
|
|
735
|
+
'formdesigner.display_select': "Valgliste",
|
|
736
|
+
'formdesigner.display_radio': "Radioknapper",
|
|
737
|
+
'formdesigner.actions': "Brukere kan",
|
|
738
|
+
'formdesigner.allow_insert': "legge til rader",
|
|
739
|
+
'formdesigner.allow_update': "endre rader",
|
|
740
|
+
'formdesigner.allow_delete': "slette rader",
|
|
741
|
+
'formdesigner.list_help': "Radlisten viser kolonnene som er krysset av for \"I listen\"; uten noen legger skjemaet bare til rader.",
|
|
742
|
+
'formdesigner.save_form': "Lagre skjema",
|
|
743
|
+
'formdesigner.delete_form': "Slett skjema",
|
|
744
|
+
'formdesigner.delete_form_confirm': "Slette skjemaet \"{name}\"? Radene det har lagret, blir værende.",
|
|
745
|
+
'formdesigner.form_saved': "Skjemaet \"{name}\" er lagret.",
|
|
746
|
+
'formdesigner.form_deleted': "Skjemaet er slettet.",
|
|
747
|
+
'formdesigner.name_required': "Gi skjemaet et navn.",
|
|
748
|
+
'formdesigner.no_fields': "Sett minst én kolonne på skjemaet.",
|
|
749
|
+
'formdesigner.changed_by': "endret av {user} {date}",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "Samtale",
|
|
690
752
|
'assistant.you': "Du",
|
package/src/i18n/pl.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const pl: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "Wróć",
|
|
64
64
|
'common.home': "Przejdź do strony głównej",
|
|
65
65
|
'common.skip': "Przejdź do treści",
|
|
66
|
+
'common.back_to_top': "Do góry",
|
|
66
67
|
'common.toggle_nav': "Pokaż lub ukryj nawigację",
|
|
67
68
|
'common.dismiss': "Zamknij",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const pl: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "{n} gwiazdki i więcej",
|
|
391
392
|
'facets.star_up': "1 gwiazdka i więcej",
|
|
392
393
|
'facets.clear_short': "Wyczyść",
|
|
394
|
+
'facets.menu': "Opcje: {facet}",
|
|
395
|
+
'facets.sort_count': "Sortuj według liczby",
|
|
396
|
+
'facets.sort_name': "Sortuj według nazwy",
|
|
393
397
|
'facets.show_all': "Pokaż wszystkie ({n})",
|
|
394
398
|
'facets.total': "Łączna liczba wierszy {n}",
|
|
395
399
|
'smart.placeholder': "Szukaj lub filtruj…",
|
|
@@ -685,6 +689,64 @@ export const pl: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "zmieniono {date}",
|
|
686
690
|
'reporter.no_match': "Żaden raport nie pasuje do wyszukiwania.",
|
|
687
691
|
'reporter.chart_tag': "wykres",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "Dla tego regionu nie ustawiono jeszcze tabel.",
|
|
694
|
+
'formdesigner.no_forms': "Nie ma jeszcze formularzy.",
|
|
695
|
+
'formdesigner.new': "Nowy formularz",
|
|
696
|
+
'formdesigner.create': "Projektuj",
|
|
697
|
+
'formdesigner.draft': "Wersja robocza",
|
|
698
|
+
'formdesigner.design': "Projektuj formularz",
|
|
699
|
+
'formdesigner.design_of': "Projekt: {name}",
|
|
700
|
+
'formdesigner.back': "Wszystkie formularze",
|
|
701
|
+
'formdesigner.add': "Dodaj",
|
|
702
|
+
'formdesigner.edit_row': "Edytuj",
|
|
703
|
+
'formdesigner.rows': "Wiersze: {form}",
|
|
704
|
+
'formdesigner.save': "Zapisz",
|
|
705
|
+
'formdesigner.delete': "Usuń",
|
|
706
|
+
'formdesigner.delete_confirm': "Usunąć ten wiersz?",
|
|
707
|
+
'formdesigner.cancel': "Anuluj",
|
|
708
|
+
'formdesigner.saved_row': "Zapisano.",
|
|
709
|
+
'formdesigner.deleted_row': "Usunięto.",
|
|
710
|
+
'formdesigner.required': "Pole {field} jest wymagane.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: wybierz wartość z listy.",
|
|
712
|
+
'formdesigner.changed': "Ktoś inny zmienił w międzyczasie ten wiersz. Sprawdź go i zapisz ponownie.",
|
|
713
|
+
'formdesigner.row_not_found': "Ten wiersz nie istnieje albo nie możesz go zobaczyć.",
|
|
714
|
+
'formdesigner.not_allowed': "Nie możesz tego zrobić z tym wierszem.",
|
|
715
|
+
'formdesigner.form_not_found': "Ten formularz nie istnieje (już).",
|
|
716
|
+
'formdesigner.unknown_source': "Tabela tego formularza nie jest już oferowana.",
|
|
717
|
+
'formdesigner.nothing': "Ten formularz nie ma jeszcze pól.",
|
|
718
|
+
'formdesigner.choose': "- Wybierz -",
|
|
719
|
+
'formdesigner.name': "Nazwa",
|
|
720
|
+
'formdesigner.description': "Opis",
|
|
721
|
+
'formdesigner.published': "Opublikowany: każdy, kto widzi tę stronę, może używać formularza",
|
|
722
|
+
'formdesigner.fields': "Pola",
|
|
723
|
+
'formdesigner.field_on': "Na formularzu",
|
|
724
|
+
'formdesigner.column': "Kolumna",
|
|
725
|
+
'formdesigner.key': "klucz",
|
|
726
|
+
'formdesigner.order': "Kolejność",
|
|
727
|
+
'formdesigner.label': "Etykieta",
|
|
728
|
+
'formdesigner.help': "Tekst pomocy",
|
|
729
|
+
'formdesigner.required_short': "Wymagane",
|
|
730
|
+
'formdesigner.display': "Wyświetlanie",
|
|
731
|
+
'formdesigner.default': "Domyślnie",
|
|
732
|
+
'formdesigner.in_list': "Na liście",
|
|
733
|
+
'formdesigner.display_auto': "Pole",
|
|
734
|
+
'formdesigner.display_textarea': "Obszar tekstowy",
|
|
735
|
+
'formdesigner.display_select': "Lista wyboru",
|
|
736
|
+
'formdesigner.display_radio': "Grupa opcji",
|
|
737
|
+
'formdesigner.actions': "Użytkownicy mogą",
|
|
738
|
+
'formdesigner.allow_insert': "dodawać wiersze",
|
|
739
|
+
'formdesigner.allow_update': "zmieniać wiersze",
|
|
740
|
+
'formdesigner.allow_delete': "usuwać wiersze",
|
|
741
|
+
'formdesigner.list_help': "Lista wierszy pokazuje kolumny zaznaczone „Na liście”; bez nich formularz tylko dodaje wiersze.",
|
|
742
|
+
'formdesigner.save_form': "Zapisz formularz",
|
|
743
|
+
'formdesigner.delete_form': "Usuń formularz",
|
|
744
|
+
'formdesigner.delete_form_confirm': "Usunąć formularz „{name}”? Zapisane nim wiersze pozostaną.",
|
|
745
|
+
'formdesigner.form_saved': "Zapisano formularz „{name}”.",
|
|
746
|
+
'formdesigner.form_deleted': "Usunięto formularz.",
|
|
747
|
+
'formdesigner.name_required': "Nadaj formularzowi nazwę.",
|
|
748
|
+
'formdesigner.no_fields': "Umieść na formularzu co najmniej jedną kolumnę.",
|
|
749
|
+
'formdesigner.changed_by': "zmienione przez {user} dnia {date}",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "Rozmowa",
|
|
690
752
|
'assistant.you': "Ty",
|
package/src/i18n/pt.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const pt: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "Voltar",
|
|
64
64
|
'common.home': "Ir para a página inicial",
|
|
65
65
|
'common.skip': "Saltar para o conteúdo",
|
|
66
|
+
'common.back_to_top': "Voltar ao topo",
|
|
66
67
|
'common.toggle_nav': "Mostrar ou ocultar a navegação",
|
|
67
68
|
'common.dismiss': "Fechar",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const pt: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "{n} estrelas ou mais",
|
|
391
392
|
'facets.star_up': "1 estrela ou mais",
|
|
392
393
|
'facets.clear_short': "Limpar",
|
|
394
|
+
'facets.menu': "Opções de {facet}",
|
|
395
|
+
'facets.sort_count': "Ordenar por quantidade",
|
|
396
|
+
'facets.sort_name': "Ordenar por nome",
|
|
393
397
|
'facets.show_all': "Mostrar tudo ({n})",
|
|
394
398
|
'facets.total': "Total de linhas {n}",
|
|
395
399
|
'smart.placeholder': "Pesquisar ou filtrar…",
|
|
@@ -685,6 +689,64 @@ export const pt: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "alterado em {date}",
|
|
686
690
|
'reporter.no_match': "Nenhum relatório corresponde à pesquisa.",
|
|
687
691
|
'reporter.chart_tag': "gráfico",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "Ainda não há tabelas configuradas para esta região.",
|
|
694
|
+
'formdesigner.no_forms': "Ainda não há formulários.",
|
|
695
|
+
'formdesigner.new': "Novo formulário",
|
|
696
|
+
'formdesigner.create': "Desenhar",
|
|
697
|
+
'formdesigner.draft': "Rascunho",
|
|
698
|
+
'formdesigner.design': "Desenhar formulário",
|
|
699
|
+
'formdesigner.design_of': "Desenho de {name}",
|
|
700
|
+
'formdesigner.back': "Todos os formulários",
|
|
701
|
+
'formdesigner.add': "Adicionar",
|
|
702
|
+
'formdesigner.edit_row': "Editar",
|
|
703
|
+
'formdesigner.rows': "Linhas de {form}",
|
|
704
|
+
'formdesigner.save': "Guardar",
|
|
705
|
+
'formdesigner.delete': "Eliminar",
|
|
706
|
+
'formdesigner.delete_confirm': "Eliminar esta linha?",
|
|
707
|
+
'formdesigner.cancel': "Cancelar",
|
|
708
|
+
'formdesigner.saved_row': "Guardado.",
|
|
709
|
+
'formdesigner.deleted_row': "Eliminado.",
|
|
710
|
+
'formdesigner.required': "{field} é obrigatório.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: escolha um valor da lista.",
|
|
712
|
+
'formdesigner.changed': "Outra pessoa alterou esta linha entretanto. Verifique-a e guarde novamente.",
|
|
713
|
+
'formdesigner.row_not_found': "Esta linha não existe, ou não a pode ver.",
|
|
714
|
+
'formdesigner.not_allowed': "Não pode fazer isso com esta linha.",
|
|
715
|
+
'formdesigner.form_not_found': "Este formulário não existe (já).",
|
|
716
|
+
'formdesigner.unknown_source': "A tabela deste formulário já não é oferecida.",
|
|
717
|
+
'formdesigner.nothing': "Este formulário ainda não tem campos.",
|
|
718
|
+
'formdesigner.choose': "- Escolher -",
|
|
719
|
+
'formdesigner.name': "Nome",
|
|
720
|
+
'formdesigner.description': "Descrição",
|
|
721
|
+
'formdesigner.published': "Publicado: qualquer pessoa que veja esta página pode usar o formulário",
|
|
722
|
+
'formdesigner.fields': "Campos",
|
|
723
|
+
'formdesigner.field_on': "No formulário",
|
|
724
|
+
'formdesigner.column': "Coluna",
|
|
725
|
+
'formdesigner.key': "chave",
|
|
726
|
+
'formdesigner.order': "Ordem",
|
|
727
|
+
'formdesigner.label': "Rótulo",
|
|
728
|
+
'formdesigner.help': "Texto de ajuda",
|
|
729
|
+
'formdesigner.required_short': "Obrigatório",
|
|
730
|
+
'formdesigner.display': "Apresentação",
|
|
731
|
+
'formdesigner.default': "Predefinição",
|
|
732
|
+
'formdesigner.in_list': "Na lista",
|
|
733
|
+
'formdesigner.display_auto': "Campo",
|
|
734
|
+
'formdesigner.display_textarea': "Área de texto",
|
|
735
|
+
'formdesigner.display_select': "Lista de seleção",
|
|
736
|
+
'formdesigner.display_radio': "Grupo de opções",
|
|
737
|
+
'formdesigner.actions': "Os utilizadores podem",
|
|
738
|
+
'formdesigner.allow_insert': "adicionar linhas",
|
|
739
|
+
'formdesigner.allow_update': "alterar linhas",
|
|
740
|
+
'formdesigner.allow_delete': "eliminar linhas",
|
|
741
|
+
'formdesigner.list_help': "A lista de linhas mostra as colunas marcadas «Na lista»; sem nenhuma, o formulário apenas adiciona linhas.",
|
|
742
|
+
'formdesigner.save_form': "Guardar formulário",
|
|
743
|
+
'formdesigner.delete_form': "Eliminar formulário",
|
|
744
|
+
'formdesigner.delete_form_confirm': "Eliminar o formulário «{name}»? As linhas guardadas permanecem.",
|
|
745
|
+
'formdesigner.form_saved': "Formulário «{name}» guardado.",
|
|
746
|
+
'formdesigner.form_deleted': "Formulário eliminado.",
|
|
747
|
+
'formdesigner.name_required': "Dê um nome ao formulário.",
|
|
748
|
+
'formdesigner.no_fields': "Coloque pelo menos uma coluna no formulário.",
|
|
749
|
+
'formdesigner.changed_by': "alterado por {user} em {date}",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "Conversa",
|
|
690
752
|
'assistant.you': "Você",
|
package/src/i18n/ru.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const ru: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "Назад",
|
|
64
64
|
'common.home': "На главную страницу",
|
|
65
65
|
'common.skip': "Перейти к содержимому",
|
|
66
|
+
'common.back_to_top': "Наверх",
|
|
66
67
|
'common.toggle_nav': "Показать или скрыть навигацию",
|
|
67
68
|
'common.dismiss': "Закрыть",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const ru: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "{n} звезды и выше",
|
|
391
392
|
'facets.star_up': "1 звезда и выше",
|
|
392
393
|
'facets.clear_short': "Очистить",
|
|
394
|
+
'facets.menu': "Параметры: {facet}",
|
|
395
|
+
'facets.sort_count': "Сортировать по количеству",
|
|
396
|
+
'facets.sort_name': "Сортировать по названию",
|
|
393
397
|
'facets.show_all': "Показать все ({n})",
|
|
394
398
|
'facets.total': "Всего строк {n}",
|
|
395
399
|
'smart.placeholder': "Поиск или фильтр…",
|
|
@@ -685,6 +689,64 @@ export const ru: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "изменён {date}",
|
|
686
690
|
'reporter.no_match': "Нет отчётов, подходящих под поиск.",
|
|
687
691
|
'reporter.chart_tag': "диаграмма",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "Для этой области ещё не настроены таблицы.",
|
|
694
|
+
'formdesigner.no_forms': "Форм пока нет.",
|
|
695
|
+
'formdesigner.new': "Новая форма",
|
|
696
|
+
'formdesigner.create': "Создать",
|
|
697
|
+
'formdesigner.draft': "Черновик",
|
|
698
|
+
'formdesigner.design': "Изменить форму",
|
|
699
|
+
'formdesigner.design_of': "Конструктор: {name}",
|
|
700
|
+
'formdesigner.back': "Все формы",
|
|
701
|
+
'formdesigner.add': "Добавить",
|
|
702
|
+
'formdesigner.edit_row': "Изменить",
|
|
703
|
+
'formdesigner.rows': "Строки: {form}",
|
|
704
|
+
'formdesigner.save': "Сохранить",
|
|
705
|
+
'formdesigner.delete': "Удалить",
|
|
706
|
+
'formdesigner.delete_confirm': "Удалить эту строку?",
|
|
707
|
+
'formdesigner.cancel': "Отмена",
|
|
708
|
+
'formdesigner.saved_row': "Сохранено.",
|
|
709
|
+
'formdesigner.deleted_row': "Удалено.",
|
|
710
|
+
'formdesigner.required': "Поле «{field}» обязательно.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: выберите значение из списка.",
|
|
712
|
+
'formdesigner.changed': "Кто-то другой тем временем изменил эту строку. Проверьте её и сохраните снова.",
|
|
713
|
+
'formdesigner.row_not_found': "Этой строки нет, или вам нельзя её видеть.",
|
|
714
|
+
'formdesigner.not_allowed': "С этой строкой так делать нельзя.",
|
|
715
|
+
'formdesigner.form_not_found': "Этой формы нет (больше нет).",
|
|
716
|
+
'formdesigner.unknown_source': "Таблица этой формы больше не предлагается.",
|
|
717
|
+
'formdesigner.nothing': "В этой форме пока нет полей.",
|
|
718
|
+
'formdesigner.choose': "- Выберите -",
|
|
719
|
+
'formdesigner.name': "Название",
|
|
720
|
+
'formdesigner.description': "Описание",
|
|
721
|
+
'formdesigner.published': "Опубликована: форму может использовать каждый, кто видит эту страницу",
|
|
722
|
+
'formdesigner.fields': "Поля",
|
|
723
|
+
'formdesigner.field_on': "В форме",
|
|
724
|
+
'formdesigner.column': "Столбец",
|
|
725
|
+
'formdesigner.key': "ключ",
|
|
726
|
+
'formdesigner.order': "Порядок",
|
|
727
|
+
'formdesigner.label': "Подпись",
|
|
728
|
+
'formdesigner.help': "Подсказка",
|
|
729
|
+
'formdesigner.required_short': "Обязательно",
|
|
730
|
+
'formdesigner.display': "Вид",
|
|
731
|
+
'formdesigner.default': "По умолчанию",
|
|
732
|
+
'formdesigner.in_list': "В списке",
|
|
733
|
+
'formdesigner.display_auto': "Поле",
|
|
734
|
+
'formdesigner.display_textarea': "Многострочное поле",
|
|
735
|
+
'formdesigner.display_select': "Список выбора",
|
|
736
|
+
'formdesigner.display_radio': "Переключатели",
|
|
737
|
+
'formdesigner.actions': "Пользователи могут",
|
|
738
|
+
'formdesigner.allow_insert': "добавлять строки",
|
|
739
|
+
'formdesigner.allow_update': "изменять строки",
|
|
740
|
+
'formdesigner.allow_delete': "удалять строки",
|
|
741
|
+
'formdesigner.list_help': "Список строк показывает столбцы, отмеченные «В списке»; без них форма только добавляет строки.",
|
|
742
|
+
'formdesigner.save_form': "Сохранить форму",
|
|
743
|
+
'formdesigner.delete_form': "Удалить форму",
|
|
744
|
+
'formdesigner.delete_form_confirm': "Удалить форму «{name}»? Сохранённые ею строки останутся.",
|
|
745
|
+
'formdesigner.form_saved': "Форма «{name}» сохранена.",
|
|
746
|
+
'formdesigner.form_deleted': "Форма удалена.",
|
|
747
|
+
'formdesigner.name_required': "Дайте форме название.",
|
|
748
|
+
'formdesigner.no_fields': "Добавьте в форму хотя бы один столбец.",
|
|
749
|
+
'formdesigner.changed_by': "изменил(а) {user} {date}",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "Беседа",
|
|
690
752
|
'assistant.you': "Вы",
|
package/src/i18n/sv.ts
CHANGED
|
@@ -63,6 +63,7 @@ export const sv: Record<MessageKey, string> = {
|
|
|
63
63
|
'common.back': "Tillbaka",
|
|
64
64
|
'common.home': "Gå till startsidan",
|
|
65
65
|
'common.skip': "Hoppa till innehållet",
|
|
66
|
+
'common.back_to_top': "Till toppen",
|
|
66
67
|
'common.toggle_nav': "Visa eller dölj navigeringen",
|
|
67
68
|
'common.dismiss': "Stäng",
|
|
68
69
|
// messages and errors
|
|
@@ -390,6 +391,9 @@ export const sv: Record<MessageKey, string> = {
|
|
|
390
391
|
'facets.stars_up': "{n} stjärnor och uppåt",
|
|
391
392
|
'facets.star_up': "1 stjärna och uppåt",
|
|
392
393
|
'facets.clear_short': "Rensa",
|
|
394
|
+
'facets.menu': "Alternativ för {facet}",
|
|
395
|
+
'facets.sort_count': "Sortera efter antal",
|
|
396
|
+
'facets.sort_name': "Sortera efter namn",
|
|
393
397
|
'facets.show_all': "Visa alla ({n})",
|
|
394
398
|
'facets.total': "Totalt antal rader {n}",
|
|
395
399
|
'smart.placeholder': "Sök eller filtrera…",
|
|
@@ -685,6 +689,64 @@ export const sv: Record<MessageKey, string> = {
|
|
|
685
689
|
'reporter.changed': "ändrad {date}",
|
|
686
690
|
'reporter.no_match': "Inga rapporter matchar sökningen.",
|
|
687
691
|
'reporter.chart_tag': "diagram",
|
|
692
|
+
// Form Designer (form-designer.ts)
|
|
693
|
+
'formdesigner.no_sources': "Inga tabeller är inställda för den här regionen ännu.",
|
|
694
|
+
'formdesigner.no_forms': "Det finns inga formulär ännu.",
|
|
695
|
+
'formdesigner.new': "Nytt formulär",
|
|
696
|
+
'formdesigner.create': "Utforma",
|
|
697
|
+
'formdesigner.draft': "Utkast",
|
|
698
|
+
'formdesigner.design': "Utforma formulär",
|
|
699
|
+
'formdesigner.design_of': "Utformning av {name}",
|
|
700
|
+
'formdesigner.back': "Alla formulär",
|
|
701
|
+
'formdesigner.add': "Lägg till",
|
|
702
|
+
'formdesigner.edit_row': "Redigera",
|
|
703
|
+
'formdesigner.rows': "Rader i {form}",
|
|
704
|
+
'formdesigner.save': "Spara",
|
|
705
|
+
'formdesigner.delete': "Ta bort",
|
|
706
|
+
'formdesigner.delete_confirm': "Ta bort den här raden?",
|
|
707
|
+
'formdesigner.cancel': "Avbryt",
|
|
708
|
+
'formdesigner.saved_row': "Sparat.",
|
|
709
|
+
'formdesigner.deleted_row': "Borttaget.",
|
|
710
|
+
'formdesigner.required': "{field} är obligatoriskt.",
|
|
711
|
+
'formdesigner.not_in_list': "{field}: välj ett värde i listan.",
|
|
712
|
+
'formdesigner.changed': "Någon annan har ändrat raden under tiden. Kontrollera den och spara igen.",
|
|
713
|
+
'formdesigner.row_not_found': "Raden finns inte, eller så får du inte se den.",
|
|
714
|
+
'formdesigner.not_allowed': "Det får du inte göra med den här raden.",
|
|
715
|
+
'formdesigner.form_not_found': "Formuläret finns inte (längre).",
|
|
716
|
+
'formdesigner.unknown_source': "Formulärets tabell erbjuds inte längre.",
|
|
717
|
+
'formdesigner.nothing': "Formuläret har inga fält ännu.",
|
|
718
|
+
'formdesigner.choose': "- Välj -",
|
|
719
|
+
'formdesigner.name': "Namn",
|
|
720
|
+
'formdesigner.description': "Beskrivning",
|
|
721
|
+
'formdesigner.published': "Publicerat: alla som kan se den här sidan får använda formuläret",
|
|
722
|
+
'formdesigner.fields': "Fält",
|
|
723
|
+
'formdesigner.field_on': "På formuläret",
|
|
724
|
+
'formdesigner.column': "Kolumn",
|
|
725
|
+
'formdesigner.key': "nyckel",
|
|
726
|
+
'formdesigner.order': "Ordning",
|
|
727
|
+
'formdesigner.label': "Etikett",
|
|
728
|
+
'formdesigner.help': "Hjälptext",
|
|
729
|
+
'formdesigner.required_short': "Obligatoriskt",
|
|
730
|
+
'formdesigner.display': "Visning",
|
|
731
|
+
'formdesigner.default': "Standard",
|
|
732
|
+
'formdesigner.in_list': "I listan",
|
|
733
|
+
'formdesigner.display_auto': "Fält",
|
|
734
|
+
'formdesigner.display_textarea': "Textområde",
|
|
735
|
+
'formdesigner.display_select': "Väljlista",
|
|
736
|
+
'formdesigner.display_radio': "Alternativknappar",
|
|
737
|
+
'formdesigner.actions': "Användare får",
|
|
738
|
+
'formdesigner.allow_insert': "lägga till rader",
|
|
739
|
+
'formdesigner.allow_update': "ändra rader",
|
|
740
|
+
'formdesigner.allow_delete': "ta bort rader",
|
|
741
|
+
'formdesigner.list_help': "Radlistan visar kolumnerna som är markerade \"I listan\"; utan några lägger formuläret bara till rader.",
|
|
742
|
+
'formdesigner.save_form': "Spara formulär",
|
|
743
|
+
'formdesigner.delete_form': "Ta bort formulär",
|
|
744
|
+
'formdesigner.delete_form_confirm': "Ta bort formuläret \"{name}\"? Raderna det har sparat finns kvar.",
|
|
745
|
+
'formdesigner.form_saved': "Formuläret \"{name}\" har sparats.",
|
|
746
|
+
'formdesigner.form_deleted': "Formuläret har tagits bort.",
|
|
747
|
+
'formdesigner.name_required': "Ge formuläret ett namn.",
|
|
748
|
+
'formdesigner.no_fields': "Lägg minst en kolumn på formuläret.",
|
|
749
|
+
'formdesigner.changed_by': "ändrat av {user} den {date}",
|
|
688
750
|
// AI assistant region and natural-language report filters (assistant.ts, ai-filter.ts)
|
|
689
751
|
'assistant.conversation': "Konversation",
|
|
690
752
|
'assistant.you': "Du",
|