mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 03:54:08 +00:00
Merge pull request #719 from nuno-am/refactor-import-export-sections
refactor: Import and Export sections
This commit is contained in:
@@ -1,77 +0,0 @@
|
||||
<%= turbo_frame_tag "family_exports",
|
||||
data: exports.any? { |e| e.pending? || e.processing? } ? {
|
||||
turbo_refresh_url: family_exports_path,
|
||||
turbo_refresh_interval: 3000
|
||||
} : {} do %>
|
||||
<div class="space-y-0 max-h-96 overflow-y-auto">
|
||||
<% if exports.any? %>
|
||||
<% exports.each do |export| %>
|
||||
<div class="flex items-center justify-between mx-4 py-4">
|
||||
<div class="flex items-center gap-2 mb-1">
|
||||
<div>
|
||||
<p class="text-sm font-medium text-primary"><%= t("family_exports.list.export_from", date: l(export.created_at, format: :long)) %></p>
|
||||
<p class="text-xs text-secondary"><%= export.filename %></p>
|
||||
</div>
|
||||
|
||||
<% if export.processing? || export.pending? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-gray-500/5 text-secondary border border-alpha-black-50">
|
||||
<%= t(".in_progress") %>
|
||||
</span>
|
||||
<% elsif export.completed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-green-500/5 text-green-500 border border-alpha-black-50">
|
||||
<%= t(".complete") %>
|
||||
</span>
|
||||
<% elsif export.failed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-red-500/5 text-red-500 border border-alpha-black-50">
|
||||
<%= t(".failed") %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if export.processing? || export.pending? %>
|
||||
<div class="flex items-center gap-2 text-secondary">
|
||||
<div class="animate-spin h-4 w-4 border-2 border-secondary border-t-transparent rounded-full"></div>
|
||||
<span class="text-sm"><%= t("family_exports.exporting") %></span>
|
||||
</div>
|
||||
<% elsif export.completed? %>
|
||||
<div class="flex items-center gap-2">
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_confirmation"),
|
||||
turbo_frame: "_top"
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to download_family_export_path(export),
|
||||
class: "flex items-center gap-2 text-primary hover:text-primary-hover",
|
||||
data: { turbo_frame: "_top" } do %>
|
||||
<%= icon "download", class: "w-5 h-5" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% elsif export.failed? %>
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="flex items-center gap-2 text-destructive">
|
||||
<%= icon "alert-circle", class: "w-4 h-4" %>
|
||||
</div>
|
||||
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_failed_confirmation"),
|
||||
turbo_frame: "_top"
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<p class="text-sm text-primary text-center py-4 mb-1 font-medium"><%= t("family_exports.index.no_exports") %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
@@ -1,83 +1,127 @@
|
||||
<%= settings_section title: t(".title") do %>
|
||||
<div class="space-y-4">
|
||||
<% if @exports.empty? %>
|
||||
<p class="text-sm text-primary text-center py-4 mb-1 font-medium"><%= t(".no_exports") %></p>
|
||||
<% else %>
|
||||
<div class="bg-container rounded-lg shadow-border-xs">
|
||||
<% @exports.each do |export| %>
|
||||
<div class="flex items-center justify-between mx-4 py-4">
|
||||
<div class="flex items-center gap-2 mb-1">
|
||||
<div>
|
||||
<p class="text-sm font-medium text-primary"><%= t("family_exports.list.export_from", date: l(export.created_at, format: :long)) %></p>
|
||||
<p class="text-xs text-secondary"><%= export.filename %></p>
|
||||
</div>
|
||||
|
||||
<% if export.processing? || export.pending? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-gray-500/5 text-secondary border border-alpha-black-50">
|
||||
<%= t("family_exports.list.in_progress") %>
|
||||
</span>
|
||||
<% elsif export.completed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-green-500/5 text-green-500 border border-alpha-black-50">
|
||||
<%= t("family_exports.list.complete") %>
|
||||
</span>
|
||||
<% elsif export.failed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-red-500/5 text-red-500 border border-alpha-black-50">
|
||||
<%= t("family_exports.list.failed") %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if export.processing? || export.pending? %>
|
||||
<div class="flex items-center gap-2 text-secondary">
|
||||
<div class="animate-spin h-4 w-4 border-2 border-secondary border-t-transparent rounded-full"></div>
|
||||
<span class="text-sm"><%= t("family_exports.exporting") %></span>
|
||||
</div>
|
||||
<% elsif export.completed? %>
|
||||
<div class="flex items-center gap-2">
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_confirmation")
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to download_family_export_path(export),
|
||||
class: "flex items-center gap-2 text-primary hover:text-primary-hover" do %>
|
||||
<%= icon "download", class: "w-5 h-5" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% elsif export.failed? %>
|
||||
<div class="flex items-center gap-2">
|
||||
<div class="flex items-center gap-2 text-destructive">
|
||||
<%= icon "alert-circle", class: "w-4 h-4" %>
|
||||
</div>
|
||||
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_failed_confirmation")
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="rounded-xl bg-container-inset space-y-1 p-1">
|
||||
<div class="flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-secondary uppercase">
|
||||
<p>
|
||||
<%= t("family_exports.table.title") %>
|
||||
</p>
|
||||
<span class="text-subdued">·</span>
|
||||
<p><%= @pagy.count %></p>
|
||||
</div>
|
||||
|
||||
<% if @pagy.pages > 1 %>
|
||||
<div class="mt-4">
|
||||
<%= render "shared/pagination", pagy: @pagy %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="bg-container rounded-lg shadow-border-xs overflow-x-auto">
|
||||
<% if @exports.any? %>
|
||||
<table class="w-full overflow-x-auto">
|
||||
<thead>
|
||||
<tr class="text-xs uppercase font-medium text-secondary border-b border-divider">
|
||||
<th class="px-2 py-3 text-left min-w-44">
|
||||
<%= t("family_exports.table.header.date") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-left min-w-64">
|
||||
<%= t("family_exports.table.header.filename") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-left min-w-24">
|
||||
<%= t("family_exports.table.header.status") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-right min-w-20">
|
||||
<%= t("family_exports.table.header.actions") %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @exports.ordered.each do |export| %>
|
||||
<tr class="border-b border-subdued hover:bg-surface-hover">
|
||||
<td class="px-2 py-3">
|
||||
<span class="text-sm text-secondary">
|
||||
<%= l(export.created_at, format: :long) %>
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-2 py-3">
|
||||
<span class="text-xs text-secondary truncate">
|
||||
<%= export.filename %>
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-2 py-3">
|
||||
<% if export.processing? || export.pending? %>
|
||||
<%= render 'shared/badge' do %>
|
||||
<%= t("family_exports.table.row.status.in_progress") %>
|
||||
<% end %>
|
||||
<% elsif export.completed? %>
|
||||
<%= render 'shared/badge', color: 'success' do %>
|
||||
<%= t("family_exports.table.row.status.complete") %>
|
||||
<% end %>
|
||||
<% elsif export.failed? %>
|
||||
<%= render 'shared/badge', color: 'error' do %>
|
||||
<%= t("family_exports.table.row.status.failed") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="px-2 py-3 text-right">
|
||||
<% if export.processing? || export.pending? %>
|
||||
<div class="flex items-center justify-end gap-2 text-secondary">
|
||||
<div class="animate-spin h-4 w-4 border-2 border-secondary border-t-transparent rounded-full"></div>
|
||||
<span class="text-sm"><%= t("family_exports.exporting") %></span>
|
||||
</div>
|
||||
<% elsif export.completed? %>
|
||||
<div class="flex items-center gap-2 justify-end">
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
aria: { label: t("family_exports.table.row.actions.delete") },
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_confirmation"),
|
||||
turbo_frame: "_top"
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to download_family_export_path(export),
|
||||
class: "flex items-center gap-2 text-primary hover:text-primary-hover",
|
||||
aria: { label: t("family_exports.table.row.actions.download") },
|
||||
data: { turbo_frame: "_top" } do %>
|
||||
<%= icon "download", class: "w-5 h-5" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% elsif export.failed? %>
|
||||
<div class="flex items-center gap-2 justify-end">
|
||||
<div class="flex items-center gap-2 text-destructive">
|
||||
<%= icon "alert-circle", class: "w-4 h-4" %>
|
||||
</div>
|
||||
|
||||
<%= button_to family_export_path(export),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
aria: { label: t("family_exports.table.row.actions.delete") },
|
||||
data: {
|
||||
turbo_confirm: t("family_exports.delete_failed_confirmation"),
|
||||
turbo_frame: "_top"
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="text-sm text-secondary text-center py-8 font-medium">
|
||||
<%= t("family_exports.table.empty") %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if @pagy.pages > 1 %>
|
||||
<div class="mt-4">
|
||||
<%= render "shared/pagination", pagy: @pagy %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= link_to new_family_export_path,
|
||||
class: "bg-container-inset flex items-center justify-center gap-2 text-secondary mt-1 hover:bg-container-inset-hover rounded-lg px-4 py-2 w-full text-center",
|
||||
data: { turbo_frame: :modal } do %>
|
||||
class: "bg-container-inset inline-flex items-center justify-center gap-2 hover:bg-container-inset-hover rounded-lg px-4 py-2 w-full font-medium text-primary text-sm text-center",
|
||||
data: { turbo_frame: :modal } do %>
|
||||
<%= icon("plus") %>
|
||||
<%= t(".new") %>
|
||||
<% end %>
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
<div id="<%= dom_id import %>" class="flex items-center justify-between mx-4 py-4">
|
||||
|
||||
<div class="flex items-center gap-2 mb-1">
|
||||
<%= link_to import_path(import), class: "text-sm text-primary hover:underline" do %>
|
||||
<% if import.account.present? %>
|
||||
<%= import.account.name + " " %>
|
||||
<% end %>
|
||||
|
||||
<%= t(".label", type: import.type.titleize, datetime: import.updated_at.strftime("%b %-d, %Y at %l:%M %p")) %>
|
||||
<% end %>
|
||||
|
||||
<% if import.pending? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-gray-500/5 text-secondary border border-alpha-black-50">
|
||||
<%= t(".in_progress") %>
|
||||
</span>
|
||||
<% elsif import.importing? %>
|
||||
<span class="px-1 py text-xs animate-pulse rounded-full bg-orange-500/5 text-orange-500 border border-alpha-black-50">
|
||||
<%= t(".uploading") %>
|
||||
</span>
|
||||
<% elsif import.failed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-red-500/5 text-red-500 border border-alpha-black-50">
|
||||
<%= t(".failed") %>
|
||||
</span>
|
||||
<% elsif import.reverting? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-orange-500/5 text-orange-500 border border-alpha-black-50">
|
||||
<%= t(".reverting") %>
|
||||
</span>
|
||||
<% elsif import.revert_failed? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-red-500/5 text-red-500 border border-alpha-black-50">
|
||||
<%= t(".revert_failed") %>
|
||||
</span>
|
||||
<% elsif import.complete? %>
|
||||
<span class="px-1 py text-xs rounded-full bg-green-500/5 text-green-500 border border-alpha-black-50">
|
||||
<%= t(".complete") %>
|
||||
</span>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
|
||||
<% if import.complete? || import.revert_failed? %>
|
||||
<%= button_to revert_import_path(import),
|
||||
method: :put,
|
||||
class: "flex items-center gap-2 text-orange-500 hover:text-orange-600",
|
||||
data: {
|
||||
turbo_confirm: "This will delete transactions that were imported, but you will still be able to review and re-import your data at any time."
|
||||
} do %>
|
||||
<%= icon "rotate-ccw", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
|
||||
<% else %>
|
||||
<%= button_to import_path(import),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
data: {
|
||||
turbo_confirm: CustomConfirm.for_resource_deletion("import")
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to import_path(import),
|
||||
class: "flex items-center gap-2 text-primary hover:text-primary-hover" do %>
|
||||
<%= icon "eye", class: "w-5 h-5" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,24 +1,131 @@
|
||||
<%= settings_section title: t(".title") do %>
|
||||
<div class="space-y-4">
|
||||
<% if @imports.empty? %>
|
||||
<%= render partial: "imports/empty" %>
|
||||
<% else %>
|
||||
<div class="bg-container rounded-lg shadow-border-xs">
|
||||
<%= render partial: "imports/import", collection: @imports %>
|
||||
<div class="rounded-xl bg-container-inset space-y-1 p-1">
|
||||
<div class="flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-secondary uppercase">
|
||||
<p>
|
||||
<%= t("imports.table.title") %>
|
||||
</p>
|
||||
<span class="text-subdued">·</span>
|
||||
<p><%= @pagy.count %></p>
|
||||
</div>
|
||||
|
||||
<% if @pagy.pages > 1 %>
|
||||
<div class="mt-4">
|
||||
<%= render "shared/pagination", pagy: @pagy %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<div class="bg-container rounded-lg shadow-border-xs overflow-x-auto">
|
||||
<% if @imports.any? %>
|
||||
<table class="w-full overflow-x-auto">
|
||||
<thead>
|
||||
<tr class="text-xs uppercase font-medium text-secondary border-b border-divider">
|
||||
<th class="px-2 py-3 text-left min-w-44">
|
||||
<%= t("imports.table.header.date") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-left min-w-32">
|
||||
<%= t("imports.table.header.operation") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-left min-w-24">
|
||||
<%= t("imports.table.header.status") %>
|
||||
</th>
|
||||
<th class="px-2 py-3 text-right min-w-20">
|
||||
<%= t("imports.table.header.actions") %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @imports.ordered.each do |import| %>
|
||||
<tr id="<%= dom_id import %>" class="border-b border-subdued hover:bg-surface-hover">
|
||||
<td class="px-2 py-3">
|
||||
<span class="text-sm text-secondary">
|
||||
<%= l(import.updated_at, format: :long) %>
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-2 py-3">
|
||||
<%= link_to import_path(import), class: "font-medium text-sm text-primary hover:underline" do %>
|
||||
<% if import.account.present? %>
|
||||
<%= import.account.name + " " %>
|
||||
<% end %>
|
||||
<%= import.type.titleize.gsub(/ Import\z/, '') %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="px-2 py-3">
|
||||
<% if import.pending? %>
|
||||
<%= render 'shared/badge' do %>
|
||||
<%= t("imports.table.row.status.in_progress") %>
|
||||
<% end %>
|
||||
<% elsif import.importing? %>
|
||||
<%= render 'shared/badge', color: 'warning', pulse: true do %>
|
||||
<%= t("imports.table.row.status.uploading") %>
|
||||
<% end %>
|
||||
<% elsif import.failed? %>
|
||||
<%= render 'shared/badge', color: 'error' do %>
|
||||
<%= t("imports.table.row.status.failed") %>
|
||||
<% end %>
|
||||
<% elsif import.reverting? %>
|
||||
<%= render 'shared/badge', color: 'warning' do %>
|
||||
<%= t("imports.table.row.status.reverting") %>
|
||||
<% end %>
|
||||
<% elsif import.revert_failed? %>
|
||||
<%= render 'shared/badge', color: 'error' do %>
|
||||
<%= t("imports.table.row.status.revert_failed") %>
|
||||
<% end %>
|
||||
<% elsif import.complete? %>
|
||||
<%= render 'shared/badge', color: 'success' do %>
|
||||
<%= t("imports.table.row.status.complete") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="px-2 py-3 text-right">
|
||||
<div class="flex items-center justify-end gap-2">
|
||||
<% if import.complete? || import.revert_failed? %>
|
||||
<%= button_to revert_import_path(import),
|
||||
method: :put,
|
||||
class: "flex items-center gap-2",
|
||||
aria: { label: t("imports.table.row.actions.revert") },
|
||||
data: {
|
||||
turbo_confirm: t("imports.table.row.actions.confirm_revert")
|
||||
} do %>
|
||||
<%= icon "rotate-ccw", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to new_import_path,
|
||||
class: "bg-container-inset flex items-center justify-center gap-2 text-secondary mt-1 hover:bg-container-inset-hover rounded-lg px-4 py-2 w-full text-center",
|
||||
data: { turbo_frame: :modal } do %>
|
||||
<%= icon("plus") %>
|
||||
<%= t(".new") %>
|
||||
<% else %>
|
||||
<%= button_to import_path(import),
|
||||
method: :delete,
|
||||
class: "flex items-center gap-2 text-destructive hover:text-destructive-hover",
|
||||
aria: { label: t("imports.table.row.actions.delete") },
|
||||
data: {
|
||||
turbo_confirm: CustomConfirm.for_resource_deletion("import")
|
||||
} do %>
|
||||
<%= icon "trash-2", class: "w-5 h-5 text-destructive" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= link_to import_path(import),
|
||||
aria: { label: t("imports.table.row.actions.view") },
|
||||
class: "flex items-center gap-2 text-primary hover:text-primary-hover" do %>
|
||||
<%= icon "eye", class: "w-5 h-5" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% else %>
|
||||
<p class="text-sm text-secondary text-center py-8 font-medium">
|
||||
<%= t("imports.table.empty") %>
|
||||
</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if @pagy.pages > 1 %>
|
||||
<div class="mt-4">
|
||||
<%= render "shared/pagination", pagy: @pagy %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= link_to new_import_path,
|
||||
class: "bg-container-inset inline-flex items-center justify-center gap-2 hover:bg-container-inset-hover rounded-lg px-4 py-2 w-full font-medium text-primary text-sm text-center",
|
||||
data: { turbo_frame: :modal } do %>
|
||||
<%= icon("plus") %>
|
||||
<%= t("imports.index.new") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
22
app/views/shared/_badge.html.erb
Normal file
22
app/views/shared/_badge.html.erb
Normal file
@@ -0,0 +1,22 @@
|
||||
<%# locals: (color: nil, pulse: false) %>
|
||||
|
||||
<%
|
||||
def badge_classes(c, p)
|
||||
classes = case c
|
||||
when 'success'
|
||||
'bg-green-500/5 text-green-500'
|
||||
when 'error'
|
||||
'bg-red-500/5 text-red-500'
|
||||
when 'warning'
|
||||
'bg-orange-500/5 text-orange-500'
|
||||
else
|
||||
'bg-gray-500/5 text-secondary'
|
||||
end
|
||||
|
||||
p ? "#{classes} animate-pulse" : classes
|
||||
end
|
||||
%>
|
||||
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded-full ring ring-alpha-black-50 text-xs <%= badge_classes(color, pulse) %>">
|
||||
<%= yield %>
|
||||
</span>
|
||||
@@ -6,7 +6,7 @@
|
||||
<% if pagy.prev %>
|
||||
<%= link_to pagy_url_for(pagy, pagy.prev),
|
||||
data: { turbo_frame: :_top },
|
||||
class: "inline-flex items-center p-2 text-sm font-medium text-secondary bg-container-inset hover:border-secondary hover:text-secondary" do %>
|
||||
class: "inline-flex items-center p-2 text-sm font-medium text-secondary hover:border-secondary hover:text-secondary" do %>
|
||||
<%= icon("chevron-left") %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
|
||||
@@ -13,10 +13,19 @@ ca:
|
||||
index:
|
||||
title: Exportacions
|
||||
new: Nova exportació
|
||||
no_exports: Encara no hi ha exportacions.
|
||||
list:
|
||||
export_from: "Exportació del %{date}"
|
||||
in_progress: En curs
|
||||
complete: Completat
|
||||
failed: Error
|
||||
in_progress: En curs
|
||||
table:
|
||||
title: Exportacions
|
||||
header:
|
||||
date: Data
|
||||
filename: Nom del fitxer
|
||||
status: Estat
|
||||
actions: Accions
|
||||
row:
|
||||
status:
|
||||
in_progress: En curs
|
||||
complete: Completat
|
||||
failed: Error
|
||||
actions:
|
||||
delete: Elimina
|
||||
download: Descarregar
|
||||
empty: Encara no hi ha exportacions.
|
||||
|
||||
@@ -13,9 +13,19 @@ de:
|
||||
index:
|
||||
title: Exporte
|
||||
new: Neuer Export
|
||||
no_exports: Noch keine Exporte vorhanden.
|
||||
list:
|
||||
export_from: "Export vom %{date}"
|
||||
in_progress: Wird ausgeführt
|
||||
complete: Abgeschlossen
|
||||
failed: Fehlgeschlagen
|
||||
table:
|
||||
title: Exporte
|
||||
header:
|
||||
date: Datum
|
||||
filename: Dateiname
|
||||
status: Status
|
||||
actions: Aktionen
|
||||
row:
|
||||
status:
|
||||
in_progress: Wird ausgeführt
|
||||
complete: Abgeschlossen
|
||||
failed: Fehlgeschlagen
|
||||
actions:
|
||||
delete: Löschen
|
||||
download: Herunterladen
|
||||
empty: Noch keine Exporte vorhanden.
|
||||
|
||||
@@ -13,9 +13,19 @@ en:
|
||||
index:
|
||||
title: Exports
|
||||
new: New Export
|
||||
no_exports: No exports yet.
|
||||
list:
|
||||
export_from: "Export from %{date}"
|
||||
in_progress: In progress
|
||||
complete: Complete
|
||||
failed: Failed
|
||||
table:
|
||||
title: Exports
|
||||
header:
|
||||
date: Date
|
||||
filename: File name
|
||||
status: Status
|
||||
actions: Actions
|
||||
row:
|
||||
status:
|
||||
in_progress: In progress
|
||||
complete: Complete
|
||||
failed: Failed
|
||||
actions:
|
||||
delete: Delete
|
||||
download: Download
|
||||
empty: No exports yet.
|
||||
|
||||
@@ -13,9 +13,19 @@ es:
|
||||
index:
|
||||
title: Exportaciones
|
||||
new: Nueva exportación
|
||||
no_exports: Aún no hay exportaciones.
|
||||
list:
|
||||
export_from: "Exportación del %{date}"
|
||||
in_progress: En progreso
|
||||
complete: Completo
|
||||
failed: Fallido
|
||||
table:
|
||||
title: Exportaciones
|
||||
header:
|
||||
date: Fecha
|
||||
filename: Nombre del archivo
|
||||
status: Estado
|
||||
actions: Acciones
|
||||
row:
|
||||
status:
|
||||
in_progress: En progreso
|
||||
complete: Completo
|
||||
failed: Fallido
|
||||
actions:
|
||||
delete: Eliminar
|
||||
download: Descargar
|
||||
empty: Aún no hay exportaciones.
|
||||
|
||||
@@ -1,7 +1,31 @@
|
||||
---
|
||||
fr:
|
||||
family_exports:
|
||||
list:
|
||||
in_progress: En cours
|
||||
complete: Terminé
|
||||
failed: Échoué
|
||||
access_denied: Accès refusé
|
||||
create:
|
||||
success: L'exportation a commencé. Vous pourrez bientôt la télécharger.
|
||||
delete_confirmation: Êtes-vous sûr de vouloir supprimer cette exportation ? Cette action est irréversible.
|
||||
delete_failed_confirmation: Êtes-vous sûr de vouloir supprimer cette exportation qui a échoué ?
|
||||
destroy:
|
||||
success: Exportation supprimée avec succès
|
||||
export_not_ready: Exportation non prête pour le téléchargement
|
||||
exporting: Exporte...
|
||||
index:
|
||||
title: Exportations
|
||||
new: Nouvelle exportation
|
||||
table:
|
||||
title: Exportations
|
||||
header:
|
||||
date: Date
|
||||
filename: Nom de fichier
|
||||
status: Statut
|
||||
actions: Actions
|
||||
row:
|
||||
status:
|
||||
in_progress: En cours
|
||||
complete: Terminé
|
||||
failed: Échoué
|
||||
actions:
|
||||
delete: Supprimer
|
||||
download: Télécharger
|
||||
empty: Aucune exportation pour l'instant.
|
||||
|
||||
@@ -13,9 +13,19 @@ nb:
|
||||
index:
|
||||
title: Eksporter
|
||||
new: Ny Eksport
|
||||
no_exports: Ingen eksporter ennå.
|
||||
list:
|
||||
export_from: "Eksport fra %{date}"
|
||||
in_progress: Pågår
|
||||
complete: Fullført
|
||||
failed: Mislykket
|
||||
table:
|
||||
title: Eksporter
|
||||
header:
|
||||
date: Dato
|
||||
filename: Filnavn
|
||||
status: Status
|
||||
actions: Handlinger
|
||||
row:
|
||||
status:
|
||||
in_progress: Pågår
|
||||
complete: Fullført
|
||||
failed: Mislykket
|
||||
actions:
|
||||
delete: Slett
|
||||
download: Laste ned
|
||||
empty: Ingen eksporter ennå.
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
---
|
||||
nl:
|
||||
family_exports:
|
||||
list:
|
||||
in_progress: Bezig
|
||||
complete: Voltooid
|
||||
failed: Mislukt
|
||||
table:
|
||||
title: Exporten
|
||||
header:
|
||||
date: Datum
|
||||
filename: Bestandsnaam
|
||||
status: Status
|
||||
actions: Acties
|
||||
row:
|
||||
status:
|
||||
in_progress: Bezig
|
||||
complete: Voltooid
|
||||
failed: Mislukt
|
||||
actions:
|
||||
delete: Verwijderen
|
||||
download: Downloaden
|
||||
empty: Nog geen export.
|
||||
|
||||
@@ -13,9 +13,19 @@ pt-BR:
|
||||
index:
|
||||
title: Exportações
|
||||
new: Nova Exportação
|
||||
no_exports: Nenhuma exportação ainda.
|
||||
list:
|
||||
export_from: "Exportação de %{date}"
|
||||
in_progress: Em andamento
|
||||
complete: Concluído
|
||||
failed: Falhou
|
||||
table:
|
||||
title: Exportações
|
||||
header:
|
||||
date: Data
|
||||
filename: Nome do arquivo
|
||||
status: Estado
|
||||
actions: Ações
|
||||
row:
|
||||
status:
|
||||
in_progress: Em andamento
|
||||
complete: Concluído
|
||||
failed: Falhou
|
||||
actions:
|
||||
delete: Excluir
|
||||
download: Descarregar
|
||||
empty: Nenhuma exportação ainda.
|
||||
|
||||
@@ -13,9 +13,19 @@ ro:
|
||||
index:
|
||||
title: Exporturi
|
||||
new: Export nou
|
||||
no_exports: Nu există încă exporturi.
|
||||
list:
|
||||
export_from: "Export din %{date}"
|
||||
in_progress: În curs de desfășurare
|
||||
complete: Finalizat
|
||||
failed: Eșuat
|
||||
table:
|
||||
title: Exporturi
|
||||
header:
|
||||
date: Data
|
||||
filename: Nume de fișier
|
||||
status: Stare
|
||||
actions: Acțiuni
|
||||
row:
|
||||
status:
|
||||
in_progress: În curs de desfășurare
|
||||
complete: Finalizat
|
||||
failed: Eșuat
|
||||
actions:
|
||||
delete: Șterge
|
||||
download: Descărcare
|
||||
empty: Nu există încă exporturi.
|
||||
|
||||
@@ -13,9 +13,19 @@ tr:
|
||||
index:
|
||||
title: Dışa aktarmalar
|
||||
new: Yeni Dışa Aktarma
|
||||
no_exports: Henüz hiç dışa aktarma yok.
|
||||
list:
|
||||
export_from: "%{date} tarihli dışa aktarma"
|
||||
in_progress: Devam ediyor
|
||||
complete: Tamamlandı
|
||||
failed: Başarısız
|
||||
table:
|
||||
title: Dışa aktarmalar
|
||||
header:
|
||||
date: Tarih
|
||||
filename: Dosya adı
|
||||
status: Durum
|
||||
actions: Eylemler
|
||||
row:
|
||||
status:
|
||||
in_progress: Devam ediyor
|
||||
complete: Tamamlandı
|
||||
failed: Başarısız
|
||||
actions:
|
||||
delete: Sil
|
||||
download: İndirmek
|
||||
empty: Henüz hiç dışa aktarma yok.
|
||||
|
||||
@@ -13,9 +13,19 @@ zh-CN:
|
||||
index:
|
||||
title: 导出
|
||||
new: 新建导出
|
||||
no_exports: 暂无导出记录
|
||||
list:
|
||||
export_from: "导出自 %{date}"
|
||||
complete: 已完成
|
||||
failed: 已失败
|
||||
in_progress: 进行中
|
||||
table:
|
||||
title: 导出
|
||||
header:
|
||||
date: 日期
|
||||
filename: 文件名
|
||||
status: 状态
|
||||
actions: 操作
|
||||
row:
|
||||
status:
|
||||
complete: 已完成
|
||||
failed: 已失败
|
||||
in_progress: 进行中
|
||||
actions:
|
||||
delete: 删除
|
||||
download: 下载
|
||||
empty: 暂无导出记录
|
||||
|
||||
@@ -7,7 +7,19 @@ zh-TW:
|
||||
destroy:
|
||||
success: 匯出已成功刪除
|
||||
export_not_ready: 匯出尚未準備好下載
|
||||
list:
|
||||
complete: 已完成
|
||||
failed: 已失敗
|
||||
in_progress: 進行中
|
||||
table:
|
||||
title: 匯出
|
||||
header:
|
||||
date: 日期
|
||||
filename: 檔案名稱
|
||||
status: 狀態
|
||||
actions: 操作
|
||||
row:
|
||||
status:
|
||||
in_progress: 進行中
|
||||
complete: 已完成
|
||||
failed: 已失敗
|
||||
actions:
|
||||
delete: 刪除
|
||||
download: 下載
|
||||
empty: 目前尚無匯出記錄。
|
||||
|
||||
@@ -70,26 +70,30 @@ ca:
|
||||
instructions_5: Sense comes, símbols de moneda ni parèntesis als números.
|
||||
title: Importa les teves dades
|
||||
imports:
|
||||
empty:
|
||||
message: Encara no hi ha importacions.
|
||||
new: Nova importació
|
||||
import:
|
||||
complete: Completat
|
||||
delete: Elimina
|
||||
failed: Error
|
||||
in_progress: En curs
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Reversió fallida
|
||||
reverting: Revertint
|
||||
uploading: Processant files
|
||||
view: Veure
|
||||
index:
|
||||
title: Importacions
|
||||
new: Nova importació
|
||||
exports: Exportacions
|
||||
imports: Importacions
|
||||
new_export: Nova exportació
|
||||
no_exports: Encara no hi ha exportacions.
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Data
|
||||
operation: Operació
|
||||
status: Estat
|
||||
actions: Accions
|
||||
row:
|
||||
status:
|
||||
in_progress: En curs
|
||||
uploading: Processant files
|
||||
reverting: Revertint
|
||||
revert_failed: Reversió fallida
|
||||
complete: Completat
|
||||
failed: Error
|
||||
actions:
|
||||
revert: Revertir
|
||||
confirm_revert: Això suprimirà les transaccions que s'han importat, però encara podràs revisar i tornar a importar les teves dades en qualsevol moment.
|
||||
delete: Elimina
|
||||
view: Veure
|
||||
empty: Encara no hi ha importacions.
|
||||
new:
|
||||
description: Pots importar manualment diversos tipus de dades via CSV o utilitzar
|
||||
una de les nostres plantilles d'importació com Mint.
|
||||
|
||||
@@ -44,22 +44,30 @@ de:
|
||||
instructions_5: Keine Kommas, Währungssymbole oder Klammern in Zahlen verwenden.
|
||||
title: Daten importieren
|
||||
imports:
|
||||
empty:
|
||||
message: Noch keine Importe vorhanden.
|
||||
new: Neuer Import
|
||||
import:
|
||||
complete: Abgeschlossen
|
||||
delete: Löschen
|
||||
failed: Fehlgeschlagen
|
||||
in_progress: Wird ausgeführt
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Rückgängig machen fehlgeschlagen
|
||||
reverting: Wird rückgängig gemacht
|
||||
uploading: Zeilen werden verarbeitet
|
||||
view: Anzeigen
|
||||
index:
|
||||
title: Importe
|
||||
new: Neuer Import
|
||||
table:
|
||||
title: Importe
|
||||
header:
|
||||
date: Datum
|
||||
operation: Operation
|
||||
status: Status
|
||||
actions: Aktionen
|
||||
row:
|
||||
status:
|
||||
in_progress: Wird ausgeführt
|
||||
uploading: Zeilen werden verarbeitet
|
||||
reverting: Wird rückgängig gemacht
|
||||
revert_failed: Rückgängig machen fehlgeschlagen
|
||||
complete: Abgeschlossen
|
||||
failed: Fehlgeschlagen
|
||||
actions:
|
||||
revert: Zurücksetzen
|
||||
confirm_revert: Dadurch werden importierte Transaktionen gelöscht, Sie können Ihre Daten aber jederzeit wieder einsehen und erneut importieren.
|
||||
delete: Löschen
|
||||
view: Anzeigen
|
||||
empty: Noch keine Importe vorhanden.
|
||||
new:
|
||||
description: Du kannst verschiedene Datentypen manuell über CSV importieren oder eine unserer Importvorlagen wie Mint verwenden.
|
||||
import_accounts: Konten importieren
|
||||
|
||||
@@ -69,22 +69,30 @@ en:
|
||||
instructions_5: No commas, no currency symbols, and no parentheses in numbers.
|
||||
title: Import your data
|
||||
imports:
|
||||
empty:
|
||||
message: No imports yet.
|
||||
new: New Import
|
||||
import:
|
||||
complete: Complete
|
||||
delete: Delete
|
||||
failed: Failed
|
||||
in_progress: In progress
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Revert failed
|
||||
reverting: Reverting
|
||||
uploading: Processing rows
|
||||
view: View
|
||||
index:
|
||||
title: Imports
|
||||
new: New Import
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Date
|
||||
operation: Operation
|
||||
status: Status
|
||||
actions: Actions
|
||||
row:
|
||||
status:
|
||||
in_progress: In progress
|
||||
uploading: Processing rows
|
||||
reverting: Reverting
|
||||
revert_failed: Revert failed
|
||||
complete: Complete
|
||||
failed: Failed
|
||||
actions:
|
||||
revert: Revert
|
||||
confirm_revert: This will delete transactions that were imported, but you will still be able to review and re-import your data at any time.
|
||||
delete: Delete
|
||||
view: View
|
||||
empty: No imports yet.
|
||||
new:
|
||||
description: You can manually import various types of data via CSV or use one
|
||||
of our import templates like Mint.
|
||||
|
||||
@@ -48,22 +48,30 @@ es:
|
||||
instructions_5: Sin comas, sin símbolos de moneda y sin paréntesis en los números.
|
||||
title: Importa tus datos
|
||||
imports:
|
||||
empty:
|
||||
message: Aún no hay importaciones.
|
||||
new: Nueva importación
|
||||
import:
|
||||
complete: Completado
|
||||
delete: Eliminar
|
||||
failed: Fallido
|
||||
in_progress: En progreso
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Reversión fallida
|
||||
reverting: Revirtiendo
|
||||
uploading: Procesando filas
|
||||
view: Ver
|
||||
index:
|
||||
title: Importaciones
|
||||
new: Nueva importación
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Fecha
|
||||
operation: Operation
|
||||
status: Estado
|
||||
actions: Acciones
|
||||
row:
|
||||
status:
|
||||
in_progress: En progreso
|
||||
uploading: Procesando filas
|
||||
reverting: Revirtiendo
|
||||
revert_failed: Reversión fallida
|
||||
complete: Completado
|
||||
failed: Fallido
|
||||
actions:
|
||||
revert: Revertir
|
||||
confirm_revert: Esto eliminará las transacciones que se importaron, pero aún podrá revisar y volver a importar sus datos en cualquier momento.
|
||||
delete: Eliminar
|
||||
view: Ver
|
||||
empty: Aún no hay importaciones.
|
||||
new:
|
||||
description: Puedes importar manualmente varios tipos de datos mediante CSV o usar una de nuestras plantillas de importación como Mint.
|
||||
import_accounts: Importar cuentas
|
||||
|
||||
@@ -55,26 +55,30 @@ fr:
|
||||
instructions_5: Pas de virgules, pas de symboles monétaires et pas de parenthèses dans les nombres.
|
||||
title: Importez vos données
|
||||
imports:
|
||||
empty:
|
||||
message: Aucune importation pour l'instant.
|
||||
new: Nouvelle importation
|
||||
import:
|
||||
complete: Terminé
|
||||
delete: Supprimer
|
||||
failed: Échoué
|
||||
in_progress: En cours
|
||||
label: "%{type} : %{datetime}"
|
||||
revert_failed: Annulation échouée
|
||||
reverting: Annulation en cours
|
||||
uploading: Traitement des lignes
|
||||
view: Afficher
|
||||
index:
|
||||
imports: Importations
|
||||
imports: Imports
|
||||
new: Nouvelle importation
|
||||
title: Import/Export
|
||||
exports: Exportations
|
||||
new_export: Nouvelle exportation
|
||||
no_exports: Aucune exportation pour l'instant.
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Date
|
||||
operation: Opération
|
||||
status: Statut
|
||||
actions: Actions
|
||||
row:
|
||||
status:
|
||||
in_progress: En cours
|
||||
uploading: Traitement des lignes
|
||||
reverting: Annulation en cours
|
||||
revert_failed: Annulation échouée
|
||||
complete: Terminé
|
||||
failed: Échoué
|
||||
actions:
|
||||
revert: Revenir
|
||||
confirm_revert: Cette opération supprimera les transactions importées, mais vous pourrez toujours consulter et réimporter vos données à tout moment.
|
||||
delete: Supprimer
|
||||
view: Afficher
|
||||
empty: Aucune importation pour l'instant.
|
||||
new:
|
||||
description: Vous pouvez manuellement importer divers types de données via CSV ou utiliser un des modèles d'importation que nous proposons comme Mint.
|
||||
import_accounts: Importer les comptes
|
||||
|
||||
@@ -57,22 +57,30 @@ nb:
|
||||
instructions_5: Ingen komma, ingen valutasymboler og ingen parenteser i tall.
|
||||
title: Importer dataene dine
|
||||
imports:
|
||||
empty:
|
||||
message: Ingen importer ennå.
|
||||
new: Ny Import
|
||||
import:
|
||||
complete: Fullført
|
||||
delete: Slett
|
||||
failed: Mislykket
|
||||
in_progress: Pågår
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Tilbakestilling mislykket
|
||||
reverting: Tilbakestiller
|
||||
uploading: Behandler rader
|
||||
view: Vis
|
||||
index:
|
||||
title: Importer
|
||||
new: Ny Import
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Dato
|
||||
operation: Operasjon
|
||||
status: Status
|
||||
actions: Handlinger
|
||||
row:
|
||||
status:
|
||||
in_progress: Pågår
|
||||
uploading: Behandler rader
|
||||
reverting: Tilbakestiller
|
||||
revert_failed: Tilbakestilling mislykket
|
||||
complete: Fullført
|
||||
failed: Mislykket
|
||||
actions:
|
||||
revert: Gå tilbake
|
||||
confirm_revert: Dette vil slette transaksjoner som ble importert, men du vil fortsatt kunne se gjennom og importere dataene dine på nytt når som helst.
|
||||
delete: Slett
|
||||
view: Vis
|
||||
empty: Ingen importer ennå.
|
||||
new:
|
||||
description: Du kan manuelt importere ulike typer data via CSV eller bruke en av
|
||||
våre importmaler som Mint.
|
||||
|
||||
@@ -55,26 +55,30 @@ nl:
|
||||
instructions_5: Geen komma's, geen valutasymbolen en geen haakjes in getallen.
|
||||
title: Uw gegevens importeren
|
||||
imports:
|
||||
empty:
|
||||
message: Nog geen imports.
|
||||
new: Nieuwe import
|
||||
import:
|
||||
complete: Voltooid
|
||||
delete: Verwijderen
|
||||
failed: Mislukt
|
||||
in_progress: Bezig
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Terugdraaien mislukt
|
||||
reverting: Terugdraaien
|
||||
uploading: Rijen verwerken
|
||||
view: Bekijken
|
||||
index:
|
||||
imports: Imports
|
||||
new: Nieuwe import
|
||||
title: Import/Export
|
||||
exports: Exports
|
||||
new_export: Nieuwe export
|
||||
no_exports: Nog geen exports.
|
||||
table:
|
||||
title: Imports
|
||||
header:
|
||||
date: Datum
|
||||
operation: Operatie
|
||||
status: Status
|
||||
actions: Acties
|
||||
row:
|
||||
status:
|
||||
in_progress: Bezig
|
||||
uploading: Rijen verwerken
|
||||
reverting: Terugdraaien
|
||||
revert_failed: Terugdraaien mislukt
|
||||
complete: Voltooid
|
||||
failed: Mislukt
|
||||
actions:
|
||||
revert: Terugdraaien
|
||||
confirm_revert: Hierdoor worden de geïmporteerde transacties verwijderd, maar u kunt uw gegevens nog steeds op elk gewenst moment bekijken en opnieuw importeren.
|
||||
delete: Verwijderen
|
||||
view: Bekijken
|
||||
empty: Nog geen imports.
|
||||
new:
|
||||
description: U kunt handmatig verschillende soorten gegevens importeren via CSV of een van onze importsjablonen zoals Mint gebruiken.
|
||||
import_accounts: Accounts importeren
|
||||
|
||||
@@ -62,22 +62,30 @@ pt-BR:
|
||||
instructions_5: Sem vírgulas (para separar milhares), sem símbolos de moeda e sem parênteses em números.
|
||||
title: Importar seus dados
|
||||
imports:
|
||||
empty:
|
||||
message: Nenhuma importação ainda.
|
||||
new: Nova Importação
|
||||
import:
|
||||
complete: Concluída
|
||||
delete: Excluir
|
||||
failed: Falhou
|
||||
in_progress: Em andamento
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Falha na reversão
|
||||
reverting: Revertendo
|
||||
uploading: Processando linhas
|
||||
view: Visualizar
|
||||
index:
|
||||
title: Importações
|
||||
new: Nova Importação
|
||||
table:
|
||||
title: Importações
|
||||
header:
|
||||
date: Data
|
||||
operation: Operação
|
||||
status: Estado
|
||||
actions: Ações
|
||||
row:
|
||||
status:
|
||||
in_progress: Em andamento
|
||||
uploading: Processando linhas
|
||||
reverting: Revertendo
|
||||
revert_failed: Falha na reversão
|
||||
complete: Concluída
|
||||
failed: Falhou
|
||||
actions:
|
||||
revert: Reverter
|
||||
confirm_revert: Isso excluirá as transações importadas, mas você ainda poderá revisar e importar seus dados novamente a qualquer momento.
|
||||
delete: Excluir
|
||||
view: Visualizar
|
||||
empty: Nenhuma importação ainda.
|
||||
new:
|
||||
description: Você pode importar manualmente vários tipos de dados via CSV ou usar um
|
||||
de nossos modelos de importação, como o do Mint.
|
||||
|
||||
@@ -44,22 +44,30 @@ ro:
|
||||
instructions_5: Fără virgule, fără simboluri monetare și fără paranteze în numere.
|
||||
title: Importă-ți datele
|
||||
imports:
|
||||
empty:
|
||||
message: Nu există încă importuri.
|
||||
new: Import nou
|
||||
import:
|
||||
complete: Finalizat
|
||||
delete: Șterge
|
||||
failed: Eșuat
|
||||
in_progress: În curs
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Anulare eșuată
|
||||
reverting: Se anulează
|
||||
uploading: Se procesează rândurile
|
||||
view: Vezi
|
||||
index:
|
||||
title: Importuri
|
||||
new: Import nou
|
||||
table:
|
||||
title: Importuri
|
||||
header:
|
||||
date: Data
|
||||
operation: Operațiune
|
||||
status: Stare
|
||||
actions: Acțiuni
|
||||
row:
|
||||
status:
|
||||
in_progress: În curs
|
||||
uploading: Se procesează rândurile
|
||||
reverting: Se anulează
|
||||
revert_failed: Anulare eșuată
|
||||
complete: Finalizat
|
||||
failed: Eșuat
|
||||
actions:
|
||||
revert: Reveni
|
||||
confirm_revert: Aceasta operațiune va șterge tranzacțiile importate, dar veți putea în continuare să revizuiți și să reimportați datele în orice moment.
|
||||
delete: Șterge
|
||||
view: Vezi
|
||||
empty: Nu există încă importuri.
|
||||
new:
|
||||
description: Poți importa manual diverse tipuri de date prin CSV sau poți folosi unul dintre șabloanele noastre de import, cum ar fi Mint.
|
||||
import_accounts: Importă conturi
|
||||
|
||||
@@ -44,22 +44,30 @@ tr:
|
||||
instructions_5: Sayılarda virgül, para birimi simgesi veya parantez kullanmayın.
|
||||
title: Verilerinizi içe aktarın
|
||||
imports:
|
||||
empty:
|
||||
message: Henüz hiç içe aktarma yok.
|
||||
new: Yeni İçe Aktarma
|
||||
import:
|
||||
complete: Tamamlandı
|
||||
delete: Sil
|
||||
failed: Başarısız
|
||||
in_progress: Devam ediyor
|
||||
label: "%{type}: %{datetime}"
|
||||
revert_failed: Geri alma başarısız
|
||||
reverting: Geri alınıyor
|
||||
uploading: Satırlar işleniyor
|
||||
view: Görüntüle
|
||||
index:
|
||||
title: İçe aktarmalar
|
||||
new: Yeni İçe Aktarma
|
||||
table:
|
||||
title: İçe aktarmalar
|
||||
header:
|
||||
date: Tarih
|
||||
operation: Operasyon
|
||||
status: Durum
|
||||
actions: Eylemler
|
||||
row:
|
||||
status:
|
||||
in_progress: Devam ediyor
|
||||
uploading: Satırlar işleniyor
|
||||
reverting: Geri alınıyor
|
||||
revert_failed: Geri alma başarısız
|
||||
complete: Tamamlandı
|
||||
failed: Başarısız
|
||||
actions:
|
||||
revert: Geri al
|
||||
confirm_revert: Bu işlem, içe aktarılan işlemleri silecektir, ancak verilerinizi istediğiniz zaman inceleyebilir ve yeniden içe aktarabilirsiniz.
|
||||
delete: Sil
|
||||
view: Görüntüle
|
||||
empty: Henüz hiç içe aktarma yok.
|
||||
new:
|
||||
description: Farklı veri türlerini CSV ile manuel olarak içe aktarabilir veya Mint gibi içe aktarma şablonlarımızı kullanabilirsiniz.
|
||||
import_accounts: Hesapları içe aktar
|
||||
|
||||
@@ -52,22 +52,30 @@ zh-CN:
|
||||
instructions_5: 数字中请勿包含逗号、货币符号或括号。
|
||||
title: 导入数据
|
||||
imports:
|
||||
empty:
|
||||
message: 暂无导入记录。
|
||||
new: 新建导入
|
||||
import:
|
||||
complete: 已完成
|
||||
delete: 删除
|
||||
failed: 已失败
|
||||
in_progress: 进行中
|
||||
label: "%{type}:%{datetime}"
|
||||
revert_failed: 回滚失败
|
||||
reverting: 回滚中
|
||||
uploading: 处理行数据中
|
||||
view: 查看
|
||||
index:
|
||||
title: 导入记录
|
||||
new: 新建导入
|
||||
table:
|
||||
title: 导入记录
|
||||
header:
|
||||
date: 日期
|
||||
operation: 操作
|
||||
status: 状态
|
||||
actions: 操作
|
||||
row:
|
||||
status:
|
||||
in_progress: 进行中
|
||||
uploading: 处理行数据中
|
||||
reverting: 回滚中
|
||||
revert_failed: 回滚失败
|
||||
complete: 已完成
|
||||
failed: 已失败
|
||||
actions:
|
||||
revert: 恢复
|
||||
confirm_revert: 这将删除已导入的交易记录,但您仍然可以随时查看和重新导入您的数据。
|
||||
delete: 删除
|
||||
view: 查看
|
||||
empty: 暂无导入记录。
|
||||
new:
|
||||
description: 您可以通过 CSV 手动导入多种类型数据,或使用我们的导入模板(如 Mint 格式)。
|
||||
import_accounts: 导入账户
|
||||
|
||||
@@ -52,26 +52,30 @@ zh-TW:
|
||||
instructions_5: 數字中請勿包含逗號、貨幣符號或括號。
|
||||
title: 匯入您的資料
|
||||
imports:
|
||||
empty:
|
||||
message: 尚無匯入紀錄。
|
||||
new: 新增匯入
|
||||
import:
|
||||
complete: 已完成
|
||||
delete: 刪除
|
||||
failed: 失敗
|
||||
in_progress: 處理中
|
||||
label: "%{type}:%{datetime}"
|
||||
revert_failed: 還原失敗
|
||||
reverting: 還原中
|
||||
uploading: 正在處理資料列
|
||||
view: 查看
|
||||
index:
|
||||
imports: 匯入紀錄
|
||||
title: 匯入紀錄
|
||||
new: 新增匯入
|
||||
title: 匯入/匯出
|
||||
exports: 匯出紀錄
|
||||
new_export: 新增匯出
|
||||
no_exports: 尚無匯出紀錄。
|
||||
table:
|
||||
title: 匯入紀錄
|
||||
header:
|
||||
date: 日期
|
||||
operation: 操作
|
||||
status: 狀態
|
||||
actions: 行動
|
||||
row:
|
||||
status:
|
||||
in_progress: 處理中
|
||||
uploading: 正在處理資料列
|
||||
reverting: 還原中
|
||||
revert_failed: 還原失敗
|
||||
complete: 已完成
|
||||
failed: 失敗
|
||||
actions:
|
||||
revert: 恢復
|
||||
confirm_revert: 這將刪除已匯入的交易記錄,但您仍然可以隨時查看和重新匯入您的資料。
|
||||
delete: 刪除
|
||||
view: 查看
|
||||
empty: 尚無匯入紀錄。
|
||||
new:
|
||||
description: 您可以透過 CSV 手動匯入各種類型的資料,或使用我們提供的匯入範本(如 Mint)。
|
||||
import_accounts: 匯入帳戶
|
||||
|
||||
Reference in New Issue
Block a user