41222
> 晩ご飯が作ってある  
>  Dinner has been made. (intentional)
>
> 晩ご飯を作っておいた.  
>  (I) made dinner (so I can eat it).

They seem quite the same. Btw what are some cases in which -てあった are used? I
can't recreate one.
CC BY-SA 3.0
2016-11-19T16:42:47.903
41028
2019-02-06T00:04:07.500
2020-06-17T08:18:27.500
-1
15891
question
grammar word-choice subsidiary-verbs
How ~てある and ~ておいた differs?
According to "A Dictionary of Basic Japanese Grammar", page76:  

> ある: Something has been done to something, and the resultant state of that
> action remains.
>
> Examples:  
>  それはもうジョンに話してある。  
>  It has been told to John already.
>
> 飲み物はもう買ってあります。  
>  Drinks have already been bought.
>
> 窓が開けてある。  
>  The window is open.
>
> おく: do something in advance for future convenience.
>
> Examples:  
>  話しておく: talk in advance.  
>  食べておく: eat something in advance.

Verbて+ある: represents a state.  
Verbて+おく: represents an action.
CC BY-SA 3.0
2016-11-20T15:25:25.070
41050
2016-11-25T22:52:51.840
2016-11-25T22:52:51.840
9831
18157
41028
answer
* ～ておく is used for doing something in advance, so one doesn't have to do it later

  * ～てある simply describes the state of something already having been done

>   1. 晩ご飯が作ってある。  
>  Dinner is ready.
>
>   2. 晩ご飯を作っておいた。  
>  I already prepared dinner (in advance) [so that we wouldn't have to make
> dinner now].
>
>

The difference in meaning is I think the emphasis of ～ておく on the fact that
something was done as a preliminary measure / pre-emptively / in advance.

There is also an important difference in grammar: In the first sentence 晩ご飯 is
the _subject_ ; in the second sentence 晩ご飯 is the _object_ and the subject is
missing (and only implied by the context).
CC BY-SA 3.0
2016-11-25T23:29:26.590
41202
2016-11-25T23:29:26.590
2020-06-17T08:18:27.500
-1
1628
41028
answer
> 1)「晩{ばん}ご飯{はん}が作{つく} **ってある** 。」
>
> Dinner has been made ( **and it is still there untouched**.)
>
> 2)「晩ご飯を作っ **ておいた**.」
>
> Someone made dinner some time ago ( **so that I/someone could eat it later
> on** ).

The difference in meaning between the two sentences would depend heavily on
the current situation of the meal that one made.

Sentence #1, even without any further context, would always mean that the meal
(or at least the speaker's portion) is still there uneaten and available as
the speaker utters the sentence. This is because of the use of 「～～ってある」. " _
**Dinner was made and it is still there**_." The temporal point of reference
is **NOW**.

Sentence #2 without any further context, however, leaves one unsure of what
has happened to the dinner that was made. Someone may already have eaten it or
it may still be there untouched. The temporal point of reference is in the
**PAST**.

Thus, the two sentences would describe practically the same situation only on
the condition that the dinner in question is still there.

Moving on to 「～～てあった」...

> 「晩ご飯が作って **あった** 。」

means:

> "Dinner _**had**_ been made." (You found that situation some time ago.)

The temporal point of reference is in the past. For instance, you could say
"When I got home from school yesterday, dinner had already been made." The
meal was there ready to eat. Once again, the sentence says nothing about
whether or not you actually ate it.
CC BY-SA 4.0
2016-11-26T07:36:07.067
41222
2019-02-06T00:04:07.500
2020-06-17T08:18:27.500
-1
41028
answer