# @file          RBManager
# @fileEncoding  sv
# @fileLanguage  Swedish
# @fileCountry   
# @fileVariant   
# @fileManager   Stefan Edlund
# @fileComment   


#
# @group Base Class Groups Pane
#
# @groupComment Translation Items for the Base Class Group tabbed pane

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basegroup_group_comment=Grupp\ kommentar
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basegroup_group_name=Grupp\ namn
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basegroup_group_options=Resursgrupp\ alternativ
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basegroup_item_options=Resurs\ sak\ alternativ

#
# @group Base Class Statistics Pane
#
# @groupComment All translations for strings appearing on the statistics pane for the base class

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_duplicates_count=Antal\ kopierade\ resursnycklar
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_file_count=Antal\ resursfiler
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_group_count=Antal\ resursgrupper
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_group_group=Resurs\ grupper
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_item_count=Antal\ resurs\ saker
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_item_group=Resurssak

#
# @group Base Class Untranslated Items Pane
#
# @groupComment Translations appearing on the Base Class Untranslated Items pane

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Indication of the file being viewed
baseuntrans_file=Fil\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Indication of the number of resource items not translated in the file
baseuntrans_untrans_count=Antal\ ooversatta\ saker

#
# @group Button Names
#
# @groupComment The names displayed on the various buttons

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
basestats_file_group=Resurs\ filer
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Button for creating a new resource language file
button_add_file=Lagg\ till\ ny\ resursfil
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_add_file_trigger=n
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Button for creating a new resource group
button_add_group=Lagg\ till\ resurs\ grupp
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_add_group_trigger=g
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Button for creating a new resource translation item
button_add_resource=Lagg\ till\ resurssak
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_add_resource_trigger=r
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Generic button for canceling actions
button_cancel=Avbryt
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Generic button for a choice or selection option
button_choose=V\u00E4lj
# @translated true @created 2001-01-26 @modified 2001-01-26 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_choose_trigger=c
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Button for generic creation of groups, items, files, etc.
button_create=Skapa
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment For creation of a resource group
button_create_group=Skapa\ grupp
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_create_group_trigger=g
# @translated true @created 2001-02-02 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Button title for creating an item then continuing creating more items
button_create_more=Skapa\ och\ Forts\u00E4tt
# @translated true @created 2001-02-02 @modified 2001-02-02 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_create_more_trigger=r
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Button for creating a resource translation item
button_create_resource=Skapa\ resurs
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_create_resource_trigger=c
# @translated true @created 2001-02-02 @modified 2001-02-02 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_create_trigger=c
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Button for removing a group and its contents
button_delete_group=Ta\ bort\ grupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Button for permanently removing a resource from the bundle
button_delete_resource=Ta\ bort\ resurs
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_delete_resource_trigger=d
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Generic edit button
button_edit=Editera
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Button for editing group name and comment
button_edit_group=Editera\ grupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator a @modifier Stefan Edlund
# @comment Button for editing resource information, including key and translation
button_edit_resource=Editera\ resurs
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_edit_resource_trigger=e
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Button title for initiating an import of resources from an alternate source
button_import=Importera
# @translated true @created 2001-01-26 @modified 2001-01-26 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_import_trigger=i
# @translated true @created 2001-01-23 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Button allows a selected resource to be marked as translated without further editing
button_mark_translated=Markera\ som\ \u00F6versatt
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_mark_translated_trigger=t
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for adding the current resource bundle in the main application to the project
button_project_add=Add\ Current\ Bundle
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_add_trigger=a
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for closing the project window
button_project_close=Close\ Project
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_close_trigger=c
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for creating a new resource bundle project
button_project_new=New\ Project
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_new_trigger=n
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for opening a project file
button_project_open=Open\ Project
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_open_trigger=o
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for removing the currently selected resource bundle from the project
button_project_remove=Remove\ Selection
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_remove_trigger=r
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Button for causing the selected resource bundle to be the one being edited in the main application
button_project_select=Edit\ Selected
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
button_project_select_trigger=e
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for performing a complete search
button_search_find_all=Hitta\ alla
# @translated true @created 2001-02-06 @modified 2001-02-06 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_search_find_all_trigger=f
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for performing complete search and replace
button_search_replace_all=Ers\u00E4tt\ alla
# @translated true @created 2001-02-06 @modified 2001-02-06 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_search_replace_all_trigger=r
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Generic button for updating information
button_update=Updatera
# @translated true @created 2001-01-23 @modified 2001-01-23 @creator Jared Jackson @modifier Jared Jackson
# @comment 
button_update_trigger=u

#
# @group Dialogs
#
# @groupComment Translations associated with the applications various dialog boxes

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dailog_title_preferences=Installningar
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Indication of wether or not a new file will be populated from the elements in the base class
dialog_checkbox_copy_elements=Kopiera\ saker\ fran\ basklass\ till\ ny\ fil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Indicator of wether an item is translated or not
dialog_checkbox_translated=Oversatt
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_comment=Komentar\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_country=Land
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_created=Skapad\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_creator=Skapare\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @{1} The date
# @{0} The name of the person involved
# @comment The date and person associated with a creation or modification of an item
dialog_date_person={0}\ av\ {1}
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_default_comment=Skonsvarde\ for\ kommentar\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_default_translation=Skonsvarde\ for\ oversattning
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_delete_file=Ta\ bort\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_delete_group=Ta\ bort\ resurs\ grupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_delete_item=Ta\ bort\ resurssak
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Warning displayed when a user asks for a deletion of a file. Prompts for 'Yes' or 'No'
dialog_delete_warning=Varning\!\ Raderingen\ kan\ inte\ \u00E5ngras.\n\u00C4r\ du\ s\u00E4ker\ att\ du\ vill\ forts\u00E4tta?
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_encoding=Kodning\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_file_comment=Kommentar\ for\ resursfil\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_file_filter_description=Basklass\ egenskapsfil
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Description of File Filter for RBReporter XML scan configuration files
dialog_file_filter_description_scan=XML\ RBReporter\ l\u00E4s\ filer
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_file_info=Fil\ information
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_file_manager=Namn\ for\ resursagare\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_file_title=Titel\ for\ resursfil\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_group=Grupp\ namn\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_group_comment=Grupp\ kommentar\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_key=Nyckel\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_language=Sprak
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_lookups=Uppletningar\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_modified=Senast\ modifierad\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_modifier=Senast\ modifierad\ av\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The name of a language, country, or variant of a language file
dialog_name=Namn\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Prompts the user to enter a name for the resource bundle, before creating that bundle
dialog_new_baseclass=Mata\ in\ en\ ny\ basklassnamn\ for\ resursfilen.
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Dialog popup window text prompting the user for the name of a resource bundle project
dialog_new_project=Please\ enter\ a\ title\ for\ your\ new\ Resource\ Bundle\ Project.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment A description of the files making it through the filter upon opening a resource bundle
dialog_open_file_filter=Basklass\ egenskapsfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment This is a section heading for setting the locale
dialog_preferences_locale=Lokal
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Locales currently defined in the properties files for the application
dialog_preferences_locale_defined=Definierad\ for\ RBManager
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared Jackson @modifier Stefan Edlund
# @comment 
dialog_preferences_locale_iso=ISO\ Standarder\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Locales that are supported by the host Java Virtual Machine
dialog_preferences_locale_machine=Kompatibel\ utrustning\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared Jackson @modifier Stefan Edlund
# @comment 
dialog_preferences_locale_warning=OBS.\ Andringar\ till\ lokalen\ ar\ inte\ aktiva\ tills\ applikatoinen\ aterstartas
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_preferences_lookandfeel='Look\ and\ Feel'
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_preferences_username=Anvandarnamn\:
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Descriptor that goes into GUI file chooser
dialog_project_file_filter_description=RBManager\ Project\ Files
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment File Filter description for resource bundle project files
dialog_project_filter_description=Resource\ Bundle\ Projects
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment An indication that no project is open, placed in the title of the dialog where the project name would normally go
dialog_project_none_selected=No\ Active\ Project
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @{0} The name of the project
# @comment Title for the window showing all the resource bundles in a project
dialog_project_title=Resource\ Bundle\ Project\:\ {0}
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Prompts the user if they would like to save changes before exiting
dialog_quit_save=Vill\ du\ spara\ innan\ du\ avslutar\ RBManager?
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Jared Jackson @modifier Jared Jackson
# @comment A generic propmpt to ask the user if they wish to save changes
dialog_save=Vill\ du\ spara\ andringar\ till\ resursgrupen?
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_search_options=Sokningsalternativ
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_search_param=Leta\ efter\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The title of the about dialog box
dialog_title_about_rbmanager=Om\ RBManager
# @translated true @created 2001-01-22 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for dialog prompting for deletion of an entire resource group
dialog_title_delete_group=Ta\ bort\ resurs\ grupp
# @translated true @created 2001-01-22 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title when prompting to delete a resource
dialog_title_delete_item=Ta\ bort\ resurs
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_edit_group=Editera\ Resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_edit_item=Editera\ resurssak
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment 
dialog_title_error=Error
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_error_creating_bundle=Fel\ vid\ skapande\ av\ resursfil
# @translated true @created 2001-01-22 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Dialog title when opening a resource bundle not created by RBManager
dialog_title_error_not_rbmanager_format=Fel\:\ Ol\u00E4sbar\ resursgrupp
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Title on a warning dialog that I/O malfunctioned opening a file
dialog_title_error_opening_file=Fel\ vid\ \u00F6ppnande\ av\ fil
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Dialog title for a dialog box for entering special parameters needed to export a resource bundle to java class code
dialog_title_export_java_options=Export\ parametrar\:\ Java\ klass
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for a dialog with a progress bar governing import status
dialog_title_import_progress=Importeringsframg\u00E5ng
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Title for creating new bundle
dialog_title_new_bundle=Skapa\ ny\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Title for creating a new resource file
dialog_title_new_file=Skapa\ ny\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Title for creating a new resource group
dialog_title_new_group=Skapa\ ny\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Title for creating resource
dialog_title_new_item=Skapa\ ny\ resurssak
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Title of the dialog box showing when creating a new project
dialog_title_new_project=New\ Resource\ Bundle\ Project
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_preferences=Installningar
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Title for confirming exit from application
dialog_title_quit=Avsluta\ RBManager
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_search=Sok
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_title_user_name=Mata\ in\ anvandarnamn
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_translation=Oversattning\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_user_name=Mata\ in\ namn.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_variant=Variant\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_warning_delete_group=Om\ du\ tar\ bort\ den\ ar\ gruppen\ sa\ forsvinner\ alla\ saker\ i\ gruppen.\ Vill\ du\ forsatta?
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
dialog_warning_delete_item=Resurssaken\ kommer\ att\ forsvinna.\ Vill\ du\ forsatta?

#
# @group Error Messages
#
# @groupComment 

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error=Fel
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment General error message when trying to add a resource bundle to a project.
error_adding_project_bundle=An\ error\ occurred\ trying\ to\ add\ the\ Resource\ Bundle\ you\ selected.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_baseclass_whitespace=Resursnamn\ kan\ inte\ ha\ space\ i\ dem.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_bundle_not_created=Ingen\ resursfil\ var\ skapad
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_create_file=Ett\ fel\ uppstod\ nar\ vi\ forsokte\ skapa\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_create_group=Ett\ problem\ uppstod\ nar\ gruppen\ forsokte\ skapas
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_create_item=Ett\ fel\ uppstod\ vid\ skapande\ av\ ny\ oversattning
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment General error message when creating a project
error_creating_project=An\ error\ was\ encountered\ trying\ to\ create\ a\ Resource\ Bundle\ Project.
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @{0} The message from an IOException that is thrown
# @comment Error message when trying to delete a file
error_deleting=Ett\ fel\ uppstod\ n\u00E4r\ jag\ f\u00F6rs\u00F6kte\ ta\ bort\ fil\:\ {0}
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment An error that occurs when an attempt is made to delete a file, but the virtual machine can not do so
error_deletion_not_possible=RBManager\ kunde\ ej\ ta\ bort\ fil.\ Tillst\u00E5nd\ f\u00F6rbjuden.
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment General error message for exporting resource bundles
error_export=Ett\ fel\ uppstod\ vid\ exportering\ av\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_internal=Internt\ fel
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_modify_file=Ett\ fel\ uppstod\ vid\ modifiering\ av\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_modify_group=Ett\ fel\ uppstod\ nar\ grupp\ modifierades.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_modify_item=Ett\ fel\ uppstod\ nar\ oversattning\ andrades
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_no_bundle_for_file=For\ att\ skapa\ en\ resursfil\ sa\ maste\ du\ forst\ skapa\ en\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_no_bundle_for_group=For\ att\ skapa\ en\ grupp\ sa\ maste\ du\ forst\ skapa\ en\ resursgrupp.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Error message displayed when the user tries to create a resource, without an open resource bundle
error_no_bundle_for_item=Oppna\ en\ resursgrupp\ innan\ du\ forsoker\ skapa\ en\ ny\ oversattning
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
error_no_key_replace=Ers\u00E4tt\ fungerar\ ej\ f\u00F6r\ resurs\ nycklar.\ Alla\ andra\ ers\u00E4ttningar\ kommer\ att\ utf\u00F6ras.
# @translated true @created 2001-01-22 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Indication that RBManager can not read the file as created by RBManager
error_not_rbmanager_format=Den\ valda\ resurs\ gruppen\ var\ ej\ skapad\ av\ RBManager,\ eller\ filen\ \u00E4r\ skadad.
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @{0} The name of the file that would not open
# @comment Error message occuring on an I/O error trying to open a file
error_opening_file=Kunde\ ej\ \u00F6ppna\ fil\ {0}
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Error message displayed when RBManager encounters an error writing preferences to the file system
error_preferences_save=Ett\ fel\ uppstod\ n\u00E4r\ jag\ f\u00F6rs\u00F6kte\ spara\ dina\ inst\u00E4llingar.
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Jared Jackson @modifier Jared Jackson
# @{0} The error message generated
# @comment A message presented to the user when an error occurs in saving the resource bundle
error_saving=Problem\ vid\ sparande\ av\ resursgruppen\:\ \ {0}
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment General error message when saving a project
error_saving_project=An\ error\ was\ encountered\ trying\ to\ save\ the\ Resource\ Bundle\ Project.
# @translated true @created 2001-01-22 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Suggest trying to import the resource bundle instead of opening it.
error_suggest_import_properties=F\u00F6rs\u00F6k\ importera\ resursgruppen\ ist\u00E4llet.
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_try_again_file=Forsok\ igen\ med\ en\ annan\ kodning
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_try_again_group=Forsok\ igen\ med\ en\ annan\ gruppnamn
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
error_try_again_item=Forsok\ igen\ med\ en\ annan\ nyckel
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Value inserted into table cells when an error has occured
table_cell_error=*Fel*

#
# @group Export
#
# @groupComment Resources dealing with export options

# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Option for the parameter for created a protected class
export_java_class_protected=Skapa\ en\ skyddad\ klass
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Option for parameter setting the created class as public
export_java_class_public=Skapa\ en\ publik\ klass
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Option for parameter for creating protected methods in the java class
export_java_methods_protected=Skapa\ en\ skyddad\ metod
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Option for parameter for creating public methods
export_java_methods_public=Skapa\ publik\ metod
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Title of a check box followed by a text field for specifying whether or not to use a package in the generated java class and what the package should be called
export_java_package=Specifiera\ Java\ package\:
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Text placed in a label at the top of the dialog box for specifying parameters concerning the export of resource bundles into a java class
export_java_title=Var\ god\ specificera\ f\u00F6ljande\ parametrar\ f\u00F6r\ din\ Java\ klass\:

#
# @group General
#
# @groupComment Some items that are common accross groups

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The file or class composed of the default translations for the bundle
baseclass=Basklass
# @translated true @created 2000-11-10 @modified 2004-06-29 @creator Jared @modifier George
# @comment This is the legal copyright notice
copyright=(C)\ Kopieringsskyddad\ IBM\ Corp.\ 2000-2004\ -\ Alla\ rattigheter\ reserverade
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Gerneral use for file directories
directory=Folder
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
groups=Grupper
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Jared @modifier Jared Jackson
# @comment The name of the image file in the 'Images' directory that represents the logo seen at the top of the application
logo_filename=TitleLogo_transparent.gif
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Tree node title when viewing a resource bundle in the project view when there is no active project
no_project=Default\ Project
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Tree node title defaulted to when no resource bundle or project has been opened by the user
no_project_bundle=No\ Project\ or\ Resource\ Bundle\ Open
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The top tree node title, when no resource bundle has been opened or created
no_resource_bundle=Ingen\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
none=Ingen
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Project table column name - Location of a resource bundle
project_table_file_location=File\ Location
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Table Column Name for resource bundle name
project_table_resource_bundle=Resource\ Bundle
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Jared @modifier Jared Jackson
# @comment An abbreviated name of this application
rbmanager=RBManager
# @translated true @created 2000-11-10 @modified 2004-06-29 @creator Jared @modifier George
# @comment 
rbmanager_contact=Skapare\:\ Jared\ Jackson\ &\ George\ Rhoten
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The full name of this application
resource_bundle_manager=Resursgrupp\ Agare
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
table_column_error=Fel\ i\ kolumn
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @{0} 
# @comment Node title, under which all files of the same country, language reside
tree_country_node=Landskod\:\ {0}
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @{0} Language Encoding
# @comment The node below which languages of one encoding are grouped
tree_language_node=Sprakkod\:\ {0}
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
tree_variant_node=Varianter\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The name assigned as a user name when the user name is not specified
unknown_user=Okand
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
untitled=Ingen\ titel
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
untranslated_items=Ooversatta\ saker
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @{0} The version number
# @comment The version of this application
version=Version\ {0}
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment general use Warning
warning=Varning

#
# @group Import
#
# @groupComment Resources dealing with import options

# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for file chooser for choosing TMX files
import_TMX_file_description=TMX\ filer
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Dialog title for importing from TMX XML files
import_TMX_title=TMX\ filimport
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment Title for the file chooser for choosing XLIFF (.xlf) files
import_XLF_file_description=XLIFF\ filer
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment Dialot title for importing from XLIFF (.xlf) files
import_XLF_title=XLIFF\ filimport
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for resolving conflcits on a case by case basis
import_conflict_prompt=Fr\u00E5ga\ vid\ varje\ konflikt
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option specifying whether a group found in the target but not found in the active resource bundle should be created in the resource bundle or not
import_default_group_creation=Skapa\ grupper\ som\ inte\ existerar\ i\ nuvarande\ bundle
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Optoin for marking the incoming values as translated or not
import_default_translated=Markera\ som\ \u00F6versatt
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for options specifying the meta data to be applied to individual resources if it is not available in the import source
import_default_values=Sk\u00F6nsv\u00E4rden
# @translated true @created 2001-02-02 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @{0} The locale encoding of the file in question
# @comment Instructions for prompting the user to resolve a conflict when importing resources from a locale that does not exist in the current resource bundle
import_file_conflict_choose=Kodningen\ {0}\ finns\ ej.\ V\u00E4lj\ ett\ val\ f\u00F6r\ att\ fixa\ konflikten,\ eller\ avbryt\ f\u00F6r\ att\ ignorera.
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for file conflicts in which a new file is generated, but not populated
import_file_conflict_generate_empty=Skapa\ en\ ny,\ tom\ resursfil
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for resolving file conflicts in which a new file is generated and populated with all the existing resources
import_file_conflict_generate_populate=Skapa\ en\ ny\ resursfil\ och\ fyll\ i\ med\ bas-klassens\ resurer
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for file conflicts in which the conflicts are ignored
import_file_conflict_ignore=Skippa\ och\ ignorera\ alla\ resurser\ fr\u00E5n\ lokaler\ som\ inte\ existerar\ i\ nuvarande\ bunt.
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for section listing options for what to do when an imported value exists in a locale not defined in the existing resource bundle
import_file_conflicts=Resursfil\ saknas
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Selection of the default group. A list of groups will appear to the right of this resource in a ComboBox
import_insert_group=L\u00E4gg\ till\ grupp\:
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for the types of files accepted for this import type
import_java_file_description=Java\ ListResourceBundle\ Bas\ klasser
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for dialog prompting for import from java classes
import_java_title=Java\ ListResourceBundle\ Klass\ importering
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title indicating section containing user options
import_options=Importeringsinst\u00E4llningar
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for file chooser for selection of resource bundles stored in .properties files
import_properties_file_description=Resursbunt\ basklasser
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Dialog title for importing from properties files (created or not by RBManager)
import_properties_title=Resursbunt\ inst\u00E4llningsimportering
# @translated true @created 2001-02-02 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @{1} Encoding of the resource value with a conflict
# @{0} The key value of the resource in conflict
# @comment This is a warning and instruction for when a resource conflict occurs during an import
import_resource_conflict_choose=Nyckeln\ {0}\ finns\ redan\ i\ {1}\ resursbunt.\ V\u00E4lj\ ett\ alternativ\ f\u00F6r\ att\ l\u00F6sa\ problemet.
# @translated true @created 2001-02-02 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @{0} The translation value associated with the resource item
# @comment An indication of the value of the resource according to the import file
import_resource_conflict_choose_source=Import\u00F6vers\u00E4ttning\:\ {0}
# @translated true @created 2001-02-02 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @{0} The translation value of the resource item
# @comment An indication of the translation value held by the active resource bundle during a translation resource conflict
import_resource_conflict_choose_target=Resursbunt\ \u00F6vers\u00E4ttning\:\ {0}
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for resolving resource conflicts by ignoring import value
import_resource_conflict_ignore=Ignorera\ konfliten\ och\ l\u00E4mna\ originalresursen\ o\u00E4ndrad
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Option for resolving conflicts by using the import value
import_resource_conflict_overwrite=Skriv\ \u00F6ver\ resursen\ med\ v\u00E4rden\ fr\u00E5n\ importerad\ fil
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title listing options for resolving conflicts between resources
import_resource_conflicts=Resurs\ konflikter
# @translated true @created 2001-01-26 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @{0} The path and name of the source file
# @comment Indication of the source file for the import
import_source_file=K\u00E4llfil\:\ {0}

#
# @group Menu Items
#
# @groupComment These resources represent all of the menu and menu item titles

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment The menu title covering copying, pasting, deleting of items
menu_edit=Editera
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_copy=Kopiera
# @translated true @created 2001-02-07 @modified 2001-02-07 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_copy_trigger=c
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_cut=Ta\ bort
# @translated true @created 2001-02-07 @modified 2001-02-07 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_cut_trigger=t
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_delete=Radera
# @translated true @created 2001-02-07 @modified 2001-02-07 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_delete_trigger=d
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_paste=Klistra\ in
# @translated true @created 2001-02-07 @modified 2001-02-07 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_edit_paste_trigger=p
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment The trigger is a letter from the translation of 'menu_edit' which provides a keyboard shortcut to the menu
menu_edit_trigger=e
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu title for the opening, saving, etc. documents and exiting the program
menu_file=Fil
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Ability to export resource bundles in a variety of formats
menu_file_export=Exportera\ resursbunt
# @translated true @created 2002-05-17 @modified 2002-05-17 @creator George Rhoten @modifier George Rhoten
# @comment Ablity to export to ICU Resource Bundle files
menu_file_export_ICU=ICU\ Filer...
# @translated true @created 2002-05-17 @modified 2002-05-17 @creator George Rhoten @modifier George Rhoten
# @comment 
menu_file_export_ICU_trigger=i
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Ablity to export to TMX XML files
menu_file_export_TMX=TMX\ Filer...
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_export_TMX_trigger=t
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment x
menu_file_export_XLF=XLIFF\ Filer...
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment 
menu_file_export_XLF_trigger=x
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Ability to export to java files that compile to be ListResourceBundle class extensions
menu_file_export_java=Kompatibla\ Java\ filer...
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_export_java_trigger=j
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Export ability to properties files minus the metadata
menu_file_export_properties=Minimal\ inst\u00E4llningsfil...
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_export_properties_trigger=s
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_export_trigger=x
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item for import and merging another resource file with the bundle being worked with
menu_file_import=Importera\ resursgrupp\ fran\ fil...
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Import abliity from XML TMX documents
menu_file_import_TMX=TMX\ document...
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_import_TMX_trigger=t
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment Import ability from XML XLIFF (.xlf) files
menu_file_import_XLF=XLIFF\ document...
# @translated true @created 2004-07-01 @modified 2004-07-01 @creator George Rhoten @modifier George Rhoten
# @comment X
menu_file_import_XLF_trigger=x
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Import ability from java classes (ListResourceBundle)
menu_file_import_java=ListResourceBundle\ Java\ Klasser...
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_import_java_trigger=j
# @translated true @created 2001-01-15 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Import ability from properties files not generated by RBManager
menu_file_import_properties=Enkel\ resursbunt...
# @translated true @created 2001-01-15 @modified 2001-01-15 @creator Jared Jackson @modifier Jared Jackson
# @comment 
menu_file_import_properties_trigger=S
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_file_import_trigger=m
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item for creating a new resource bundle
menu_file_new=Ny\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_file_new_trigger=n
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu Item for opening a resource bundle
menu_file_open=Oppna\ resursgrupp...
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_file_open_trigger=o
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item for closing the application
menu_file_quit=Avsluta
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment 
menu_file_quit_trigger=a
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item for saving the resource bundle being worked with
menu_file_save=Spara\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_file_save_trigger=s
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu Item for saving a resource bundle to a particular location and file name
menu_file_saveas=Spara\ resursgrupp\ som...
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_file_saveas_trigger=a
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment The trigger is a letter from the translation of 'menu_file' which provides a keyboard shortcut to the menu
menu_file_trigger=f
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu title for help information and general information about the program
menu_help=Hjalp
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment Menu item which brings up a dialog describing the application
menu_help_about=Om\ RBManager...
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_help_about_trigger=a
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment The trigger is a letter from the translation of 'menu_help' which provides a keyboard shortcut to the menu
menu_help_trigger=h
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu title for options such as creating new resources, groups, and resource files
menu_options=Installningar
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment Menu Item for creating a new resource item
menu_options_addentry=Skapa\ ny\ oversattning...
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment 
menu_options_addentry_trigger=i
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu Item for creating a new resource file for a particular language/country/variant
menu_options_addfile=Skapa\ ny\ resursfil
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_options_addfile_trigger=f
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item for creating a new resource group
menu_options_addgroup=Skapa\ ny\ grupp
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_options_addgroup_trigger=g
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Menu item for editing the user's preferences for the application
menu_options_preferences=Personliga\ installningar...
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Jared @modifier Jared Jackson
# @comment 
menu_options_preferences_trigger=p
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment Menu item that makes visible the project viewer
menu_options_project_viewer=Open\ Project\ Viewer
# @translated false @created 2001-11-20 @modified 2001-11-20 @creator Unknown @modifier Unknown
# @comment 
menu_options_project_viewer_trigger=v
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment The trigger is a letter from the translation of 'menu_options' which provides a keyboard shortcut to the menu
menu_options_trigger=i
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Popup menu item for adding a new resource bundle to the project
menu_tree_add_project_bundle=Add\ Resource\ Bundle...
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Popup menu item for deleting permanently a resource file
menu_tree_delete=Ta\ bort\ resurs\ fil
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Popup menu item for removing a specific resource file from the tree view of the resource bundle
menu_tree_hide=G\u00F6m\ resurs\ fil
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Popup menu item for creating a new project
menu_tree_new_project=New\ Resource\ Bundle\ Project...
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Popup menu item for opening a resource bundle project
menu_tree_open_project=Open\ Resource\ Bundle\ Project...
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Popup menu associated with a resource bundle in the project tree
menu_tree_remove_project_bundle=Remove\ from\ Project
# @translated true @created 2001-06-27 @modified 2001-07-02 @creator Unknown @modifier Stefan Edlund
# @comment Popup menu item for saving a specific resource bundle file
menu_tree_save=Spara\ resurs\ fil
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Popup menu item for saving changes to the resource project file, not the resource bundles themselves within the project
menu_tree_save_project=Save\ Resource\ Bundle\ Project\ File...
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment Popup menu for selecting a resource bundle from the project tree to be edited in the resource bundle tree
menu_tree_select_project_bundle=Work\ with\ this\ Resource\ Bundle
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu title for changing the display being seen by the user
menu_view=Visa
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Unknown @modifier Stefan Edlund
# @comment Menu item that takes you directly to the statistics panel for the entire bundle
menu_view_statistics=Statistik\ for\ resursgrupp
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment 
menu_view_statistics_trigger=s
# @translated true @created 2000-11-10 @modified 2000-11-10 @creator Unknown @modifier Jared Jackson
# @comment The trigger is a letter from the translation of 'menu_view' which provides a keyboard shortcut to the menu
menu_view_trigger=v

#
# @group Project Panel
#
# @groupComment Panel associated with Project editing

# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @{0} The name of the resource bundle
# @comment Label indicator associating a text box containing a translation with the resource bundle the translation comes from
project_panel_bundle=Resource\ Bundle\:\ {0}
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @{0} Name of the resource bundle
# @comment Special indicator of the resource item resource bundle when the item is untranslated
project_panel_bundle_untranslated=Resource\ Bundle\:\ {0}\ (Untranslated)
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Label text marking the line above or to the left of a resource comment
project_panel_comment=Base\ Class\ Resource\ Comment\:
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Label text for a comment when none is found for a resource
project_panel_comment_none=No\ comment\ supplied
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Button title shown on the project panel for committing change to one resource only
project_panel_commit_button=Commit\ Change
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Button title on the project panel for saving all of the resources displayed. This means multiple resource files get saved.
project_panel_commit_button_all=Commit\ All\ Resource\ Changes
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Default title shown on the project panel when no particular resource has been selected
project_panel_default_title=Project\ Resource\ Editing
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @comment Text field marker for the translation of a resource when that resource does not exist for the encoding file it is associated with
project_panel_item_inherits=<No\ Translation\:\ Resource\ Inherits\ from\ parent>
# @translated false @created 2001-12-19 @modified 2001-12-19 @creator Unknown @modifier Unknown
# @{0} The key of the selected resource
# @comment Title on the project panel while a resource is selected
project_panel_title=Project\ Resource\ Editing\:\ {0}

#
# @group RBReporter
#
# @groupComment Translations for the RBReporter application

# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Button title for selecting file locations for input/output
reporter_button_choose=V\u00E4lj...
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Button indicating the report generation should occur immediately
reporter_button_now=Updatera\ nu...
# @translated true @created 2000-11-29 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Button title for saving the current settings as default
reporter_button_save_defaults=Spara\ inst\u00E4llningar\ som\ sk\u00F6nsv\u00E4rden
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Button to activate the reporter
reporter_button_start=Starta
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Button to deactive the reporter
reporter_button_stop=Stoppa
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Level of detail: most information available
reporter_detail_high=H\u00F6g
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Indication of a selection option of the level of detail in reporting
reporter_detail_level=Detaljniv\u00E5\:
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Level of detail: standard
reporter_detail_normal=Normal
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment An output format: HTML
reporter_format_html=HTML
# @translated true @created 2000-11-17 @modified 2000-11-17 @creator Jared @modifier Jared
# @comment An output format type: plain text
reporter_format_text=Text
# @translated true @created 2000-11-17 @modified 2000-11-17 @creator Jared @modifier Jared
# @comment An output format: XML
reporter_format_xml=XML
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Indication of file location of the resource bundle to report on
reporter_input_bundle=Resursbunt\:
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Indication that reporting will happen at a speciified time of day. Followed by a time and day option.
reporter_interval_defined=Rapportera\ vid
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Text indication of sequential reporting paused for a defined interval between reporting. Immediately followed by a number and a unit of measure of time
reporter_interval_sequential=Raportera\ varje
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @{0} Date/Time of last report generation
# @comment Indication of the time of the last report
reporter_last_report=Senaste\ rapport\:\ {0
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @{0} Date/Time of next report
# @comment Indication of when the next report will be generated
reporter_next_report=N\u00E4sta\ rapport\:\ {0}
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Indication of the output directory into which the reports are placed
reporter_output_directory=Utfolder\:
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment An indication of the name of the output file for a particular output format
reporter_output_file=Filnamn\:
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Panel title for setting interval of reporting
reporter_panel_interval=Rapportintervall
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Panel title for configurable options of the reporting
reporter_panel_options=Rapport\ inst\u00E4llningar
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Subpanel title for choosing output formats for the reports
reporter_panel_output_format=Utformat
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Panel title for indication of running status of the reporter
reporter_panel_status=Status
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Short title for selecting a code scan configuration file
reporter_perform_scan=Koda\ filer
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Quick indication that the reporter is active (perhaps waiting)
reporter_status_running=Startad
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Quick status indication that the reporter is not active
reporter_status_stopped=Stoppad
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment days option
reporter_time_days=Dagar
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment every day option
reporter_time_everyday=Varje\ dag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment friday option
reporter_time_friday=Fredag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment hours option
reporter_time_hours=Timmar
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment minutes option
reporter_time_minutes=Minuter
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment monday option
reporter_time_monday=M\u00E5ndag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment saturday option
reporter_time_saturday=L\u00F6rdag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment sunday option
reporter_time_sunday=S\u00F6ndag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment thursday option
reporter_time_thursday=Torsdag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment tuesday option
reporter_time_tuesday=Tisdag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment wednesday option
reporter_time_wednesday=Onsdag
# @translated true @created 2000-11-17 @modified 2001-02-19 @creator Jared @modifier Jared Jackson
# @comment Title of the application
resource_bundle_reporter=RBReporter

#
# @group Search and Replace
#
# @groupComment Resources found on the search tab pane

# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment General search title
search=Leta
# @translated true @created 2001-02-07 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Check box option for making the search case sensitive or not
search_case_sensitive=Bokstavsk\u00E4nslig\ s\u00F6kning\:
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Check box option for searching through resource comments
search_comments=Kommentarer
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Text indication of the field for entering text to search on
search_find=Hitta\:
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Check box selection for searching option through resource keys
search_keys=Resursnycklar
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Text indication of the field for entering text for replacing the found value
search_replace=Ers\u00E4tt\:
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Check box option for searching through translation values
search_values=\u00D6vers\u00E4ttningar

#
# @group Tabs
#
# @groupComment GUI Tabs in the main panel

# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment GUI Tab for Tabbed Pane over the tree showing a single resource bundle and its various files
tab_bundle=Bundle
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Tab for the display of the various groups in the bundle
tab_groups=Grupper
# @translated false @created 2001-12-17 @modified 2001-12-17 @creator Unknown @modifier Unknown
# @comment GUI Tab for tab over tree showing a resource bundle project
tab_project=Project
# @translated true @created 2001-02-06 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Title for pane allowing for search and replace functions
tab_search=Leta
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Tab for statistics display for either the Resource Bundle as a whole or particular language files
tab_statistics=Statistik
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Tab for display of untranslated items in the different language files
tab_untranslated=Ooversatt

#
# @group Translation File Groups Pane
#
# @groupComment 

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Column title for item comments
languagegroup_column_comment=Kommentar
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Column title for item's resource key
languagegroup_column_key=Resursnyckel
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment 
languagegroup_column_translation=Oversattning

#
# @group Translation File Statistics Pane
#
# @groupComment Translations for strings in the language file statistics pane

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment A comment given to the file
languagestats_comment=Kommentar\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The country being described by the file
languagestats_country=Land\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The number of resources in the file
languagestats_item_count=Antal\ resurser\ i\ den\ har\ filen\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The language described by the file
languagestats_language=Sprak\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The name of a person responsible for the translations in this language file
languagestats_manager=Resursfil\ agare\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The name given to the language file
languagestats_title=Resurs\ titel\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment Number of resources needing translation in the file
languagestats_translation_count=Antal\ ooversatta\ resurssaker\ i\ den\ har\ filen\:
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The language/region variant described by the file
languagestats_variant=Variant\ \:

#
# @group Translation File Untranslated Items Pane
#
# @groupComment 

# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The column title for group names of items in the rows
languageuntrans_column_group=Grupp
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The key of the item a row
languageuntrans_column_key=Resursnyckel
# @translated true @created 2000-11-10 @modified 2000-11-08 @creator Jared @modifier Stefan Edlund
# @comment The translated value of an item in a row
languageuntrans_column_translation=Oversattning
# @translated true @created 2001-01-23 @modified 2001-02-19 @creator Jared Jackson @modifier Jared Jackson
# @comment Panel title covering buttons that apply to a selected resource from a table of resources
languageuntrans_selected_resources_options=Inst\u00E4llningar\ f\u00F6r\ vald\ resurs
